下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、A1、声明、定义、函数原形、函数定义、函数体定义(define):创建变量或分配存储单元。声明(declaration):讲明变量的性质,但并不分配存 储单元。函数原形: 即函数声明, 编译器专门容易检测出函数调 用中参数数目和类型方面的错误。函数定义、 函数体:函数声明后, 对函数所做的程序块。首先定义,然后是在 中的程序块,即函数体。记号:标识符(identifier)、关键字(keyword)、常量(constant)、 字 符 串 字 面 值(string)、 运 算 符(operator)、分隔符(punctuator、separator)、char *argvargv:pointe
2、r to pointer to char. argv是指向字符串 指针的指针。int (*daytab)13daytab:pointer to arry13 of int.daytab是指向131 / 562 / 56个整数元素数组的指针。int *daytab13daytab: arry13 of pointer to int. daytab是13元素的数组,该一维数组的元素为指向整数的 指针。void *comp( )comp:fu ncti on retur ning poin ter to p是指向返回void指针的函数。void (*comp)( )comp:po in ter to
3、 fun cti on retur ning p是指向函数的指针,该函数返回值为void类型。char (*(*x( ) )( )x:function returningpointer to arry ofpointer to function returning char. X是一个函数,它返回一个指针,该指针指向一个一维 数组,该一维数组的元素为指针, 这些指针分不 指向多个函数,这些函数返回值为char类型。3 / 56(X是一个函数返回的指向一维数组的指针,该 一维数组的元素为指向返回值为char类型函数的指针。)char (*(*x3)( ) )5x: arry3 of pointe
4、r to function returningpointer to arry5 of char.X是一个3元素数组,该数组的3元素为指针,这3个指针分不指向1个函数,这3个函数分不返回指向一个5元素数组的指针, 该5元素数组为char类型。(X是一个指向3个函数的指针为元素的数组,这3个函数分不返回指向一个指向char类型5元素数组的指针。)A2、ANSI C语言中全部转义字符a007响零符b010回退符4 / 56f014换页符n015换行符r012回车符t011横向制表符5 / 56v013纵向制表符反斜杠?问号单引号双引号000八进制数xhh十六进制数A3、运算符优先级与结合性运算符结合
5、性优先级()一从左至右!+ - + - *从右至左高&(type) sizeof* / %从左至右+ -从左至右从左至右 =从左至右=!=从左至右1r&从左至右A从左至右6 / 56|从左至右&从左至右II从左至右?:从右至左=+= -= *= /= %= &=A= |=从右至左=低从左至右关键字:autobreakcase charcon stcon ti nuedefaultdodoubleelseenum exter nfloatforgotoifintlongregisterreturnshort sig nedsizeofstaticstructswi
6、tchtypedefunionun signedvoidvolatilewhileA4、Shell排序法1959 D.L.Shell发明的Shell排序法:先比较交换距离远的元素,可减少大量无序情况。被比较 的元素之间的距离逐渐减少,直到减少为1,这时排序变成相邻元素的互换。/* shellsort函数:按递增顺序对V0Vn-1进行排序*/voidshellsort ( int v , int n ) int gap , j , temp;for ( gap = n/2; gap 0; gap /= 2 )for ( i = gap; i = 0 & vj vj+gap; j-= ga
7、p ) temp = vj;vj = vj+gap;vj+gap = temp;A5、函数的递归1962 C.A.R.Hoare发明的快速排序法。 关于给定的数组, 从中选择一个元素, 以该元素为界将其余元素划分为两个子 集,其一的所有元素都小于该元素, 另一的所有元素都大于 或等于该元素。对这两个子集递归执行这一过程, 某子集的 元素小于2时,终止递归。该法是最简单的算法之一。/* qsort函数:以递增顺序vleftvright */6 / 569 / 56void qsort ( int v , int left ,int right ) int i , last ;void swap
8、(int v , int i ,int j) ;if (left = right )return ;swap ( v , left ,( left + right ) / 2 ) ;last = left ;for ( i = left + 1 ; i = right ; i+ )if ( v i v left )swap ( v , +last , i ) ;swap ( v , left , last) ;qsort ( v , left , last-1 );qsort ( v , last + 1 , right ) ;void swap ( int v ,int i , int j ) int temp ;temp = v i ;v i = v j ;v j = temp ;10 / 56A6、头文件一C预处理器A6、1文件包含#in elude“文件名”或#include 文件名#in elude用于在编译期间把指定文件的内容包含进当前文件中。#inelude是将所有声明捆绑在一起的较好的方法。A6、2宏替换A6、2、1 #define 名字 替换文本后续所有出现名字的地点都将被替换为替换文
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论