资源描述:
《程序设计(C)复习大纲.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、程序设计(C)复习大纲l第一部分初级篇(第1-3章)程序设计基础包括C语言概述、数据类型、运算符与表达式、基本控制结构l第二部分中级篇(第4-5章)数组和函数包括数组和函数的使用、模块化开发思想l第三部分高级篇(第6-8章)指针、结构体和文件l第四部分考试题型及举例说明:以标准C的内容为准(包括标准库函数)。第一部分初级篇程序设计基础1.1简单的C程序介绍例求两数a和b的较大值。main()/*主函数*/{inta,b,c;scanf("%d,%d",&a,&b);c=max(a,b);printf("max=%d”,c);}intmax(intx,inty)
2、/*定义max函数*/{intz;/*max函数的声明部分*/if(x>y)z=x;elsez=y;return(z);}注意:C程序由1~n个函数组成;函数=首部+函数体;函数体=声明部分+执行部分;一个C程序总是从main()开始执行;“;”是语句的必要组成部分;注释/*…..*/1.2C的数据类型基本类型:整型int,long,short,unsigned;实型float,double;字符型char;枚举型enum构造类型:数组类型结构体类型struct共用体类型union指针类型:int*p;空类型:void1.3常量与变量1.普通常量与符号常量l普
3、通常量:在程序运行中,其值不能被改变的量。(整型—12,实型—5.4,字符型—'a',字符串常量—“pen”)l符号常量:用一个标识符代表一个常量,称为符号常量。定义形式为:#define符号常量常量#definePRICE550//#define是宏定义//带参数的宏:#defineM(a,b)(a)>(b)?(a):(b)main(){inti=10,j=15;printf(“%d”,10*M(i,j));}//运行结果:102.变量l变量:在程序运行中,其值可以改变的量。l变量名:一个变量应有一个名字,在内存中占据一定的存储单元,该单元中存放变量的值
4、。l变量名的定义:标识符命名的规则由字母、数字、下划线三种字符组成,首字符必须为字母或下划线例:Class_totala68a_bc合法#3356_mfh*5_99.9不合法注意:(1)字母的大小写SUNsun不同的变量名(2)变量先定义后使用intsun;sun=0;1.4表达式1.4.1C语言的运算符分类(1)算术运算符(2)关系运算符(3)逻辑运算符(4)条件运算符(5)赋值运算符(6)求字节数运算符(7)逗号运算符(8)指针运算符(9)成员运算符(10)强制类型转换运算符(11)下标运算符1.4.2算术表达式l用算术运算符和括号将运算对象连接起来,符合
5、C语法规则的式子称为C算术表达式。例:a*b/c-1.5+'a'l基本算术运算符:+-*/%注意:%的两侧应为整型数据(7%4=3)l运算符的优先级和结合性例a-b*c<=>a-(b*c)(先*后-)a-b+c同级时按结合方向——自左向右10/3%2+4=55/2.0=2.55/2=26-7%3*4+1=3l混合运算中的自动类型转换若有定义:inta=7;floatx=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是(2.50)。1.4.3强制类型转换运算符l一般形式:(类型名)表达式例(double)a(int)(x+y)1.5/(
6、float)2=2.5(双精度数)2.(int)4.5+5.5=9.5(双精度数)3.(int)(4.5+5.5)=101.4.4自增和自减运算符(++,--)l作用:使变量的值增1或减1例:++k表示在引用k值之前先加1--k表示在引用k值之前先减1k++表示在引用k值之后再加1k--表示在引用k值之后再减1如:k=3;j=++k;(k=k+1,j=k=4)j=k++;(j=3,k=k+1=4)(1)"++","--"只能用于变量,不能用于常量或表达式5++,(a+b)++不合法(2)"++","--"的结合方向: 自右至左例:-k++=-(k++);pri
7、ntf("%d",-k++);如:k=3先取的k值3,加负号,即输出-3,然后再对k值增1,即k=41.4.5赋值表达式赋值表达式l一般形式:<变量><赋值运算符><表达式>例:a=5a=(b=5)即 a=b=5复合赋值运算符l在赋值符之前加上其它运算符,可构成复合运算符。如:+=,-=,*=,/=,%= 例:a+=3等价于a=a+3x*=y+8等价于x=x*(y+8)x%=3等价于x=x%3目的是使程序简练。l需注意的问题:1.赋值号与数学中的等于号的区别。2.赋值号左、右类型不一致时,自动进行转换。例如: a=2a+=a-=a*a结果为 -4a+=a-=a
8、*=a结果为 0a/=a+a结果为 0