2011级《C程序设计技术》课程期末复习要点.doc
上传人:sy****28 上传时间:2024-09-12 格式:DOC 页数:4 大小:31KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

2011级《C程序设计技术》课程期末复习要点.doc

2011级《C程序设计技术》课程期末复习要点.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

2011级《C程序设计技术》课程期末复习要点一.基本概念部分C语言的基本概念(数据类型,常量,变量,表达式的书写方法等)命名规则:首字符只能是_或字母,其他字母可以是_或字母或数字典型运算符的使用(++,--,复合赋值等)a++:先引用然后a+1++a:a加一之后引用赋值运算由右至左阅读关系运算和逻辑运算大于>大于等于>=等于==不大于!=或:||且:&&非:!0为假非0为真逻辑运算时当能确定结果时就不再继续运算了例如:Inta,b,c;a=b=c=1;a--||++b&&++c;程序执行到a--时,先引用a引用完之后a的值减一;因为a!=0,此表达式为逻辑真,按照||的规则,此ウ￯ョレ/pト\Z?,罅不再计算a--后面的表达式,因而b,c的值为1。基本控制结构(特别注意++,--运算符进入条件表达式)自加(++)自减(--)运算见上例分支结构If(exp1){exp01;.....}else{exp02;.....}exp1的值为真的时候执行exp01,为假则执行exp02;else语句可以省略If(){}elseif(){}……elseif(){}else{}Ifelse的扩展,从上往下执行,当某一个if里面的表达式成立的时候,则执行该if后面的语句,然后跳出整个结构,即从else{}后面一条语句执行(不是else的语句),如果全部都不成立,则执行else语句。switch(y){casex1:exp1;casex2:exp2;……dafult:exp;//所有xi都不等于y的时候执行,可以缺省}xi为常值表达式,当y的值等于xi的时候执行expi,然后执行exp(i+1)……直到执行到最后一个exp,但是,若这个过程中的表达式有break,则跳出整个switch循环结构do{需要循环的语句;……}while(exp1)exp1为真的时候循环,该语法使得需要循环的语句至少执行了一次while(exp2){循环语句;……}exp2为真时才执行循环语句,可能循环语句一次都不执行,但exp2至少执行一次for(exp3;exp4;exp5){循环语句;……}先执行exp3,然后判断exp4的真假,为真则执行循环,为假则跳过该循环,循环体执行完之后执行exp5,然后判断exp4的真假,重复刚才步骤。exp3,exp4,exp5可以缺省其他break跳出循环,用于siwtch、for、while、do..while语句continue循环语句中,提前结束本轮循环,跳到下一循环开始处或判断处goto跳到某指定地址数组的定义和数组元素的访问inta[NUM];//定义一个包含NUM个元素的数组a函数的定义,声明和调用返回数据类型函数名(形参){语句;……return**;}除了void数据类型外,其他函数有且仅有一个数据类型和定义函数时相同的返回值当函数的定义语句书写在调用语句之后,必须在使用前对函数声明,声明方式和定义差不多,只是没有{}这一部分。宏代换(不带参,带参)p149以下情况不需要宏代换:1,宏名出现在一个标识符中,2,宏名出现在字符串常量中注意:宏代换时不要自己加括号,如defineN2+a,则2*N等价于2*2+a,而不是2*(2+a)返回指针函数和指向函数指针的定义和简单应用若函数的原型为voidswap(intx,inty);则相应的指针变量应定义为void(*fp)(intx,inty);(tips:函数声明和指向函数的指针变量的定义后都有分号)。将函数swap的入口地址赋值给指针变量fp的表达式为fp=swap;返回指针值的函数的头部:float*fb(floats,floaty),(fb是函数名)用指针引用数组元素的方式P184表6.1p189表6.3p191表6.4对于一个二维数组a,其所占存储区域的首地址有4种表示方式:a、a[0]、&a[0][0]、*a,其中a是二级地址,其余3个为一级地址。a+1与*(a+1)的区别p188一级指针不能指向二级地址值Int(*p)[10]定义了指针变量p,指针p的一次移动即可移动10个整型数据所占用的连续存储区域。二.重点知识点/*举例,见附件中的PPT*/1.整型数据的拆分以及特定数码的统计输入一个数15542154统计5出现的个数(省略部分代码下同)scanf("%d",&num);//将数字录入numwhile(num)//判断num是否为0,即是否执行循环{tmp=num%10;//tmp是num的最末一位数字if(tmp==5)flag++