1、主讲教师主讲教师:陈美莲陈美莲共 73 页 第 2 2 页课程安排 总课时总课时72,其中理论,其中理论36学时,实验学时,实验36学时学时 课程基本要求 1. 了解基本算法了解基本算法 2. 了解了解C语言的数据类型、运算符与表达式语言的数据类型、运算符与表达式的使用方法。的使用方法。 3. 熟练三种基本设计语句编程。熟练三种基本设计语句编程。 4. 熟练使用数组编程。熟练使用数组编程。 5. 熟练函数的定义和设计。熟练函数的定义和设计。 6. 了解指针的运算与使用了解指针的运算与使用。 共 73 页 第 3 3 页 教学方法及要求教学方法及要求1. 课堂教学课堂教学 采用大屏幕投影仪授课,
2、操作示范。采用大屏幕投影仪授课,操作示范。 要求:认真听课、作笔记、遵守课堂纪律。要求:认真听课、作笔记、遵守课堂纪律。2. 实验课实验课 培养实际操作能力、自学能力。培养实际操作能力、自学能力。 要求:遵守机房规则。独立完成各个实验(期未要要求:遵守机房规则。独立完成各个实验(期未要进行上机考试)。进行上机考试)。3. 课后练习课后练习 每章交一次作业、上机前预习、争取多上机每章交一次作业、上机前预习、争取多上机4. 成绩评定成绩评定 根据理论考试、上机操作和平时成绩评定。根据理论考试、上机操作和平时成绩评定。共 73 页 第 4 4 页 机位安排及机房清洁卫生机位安排及机房清洁卫生1. 换
3、鞋上机,对号入座换鞋上机,对号入座 要求:按学号顺序,固定机位。学习委员填写机要求:按学号顺序,固定机位。学习委员填写机位表位表3份,交任课教师、实验室各一份。份,交任课教师、实验室各一份。 注意: 不要穿太昂贵的鞋上机。2. 为防止病毒,严禁自带磁盘上机为防止病毒,严禁自带磁盘上机 要求:磁盘集中保管,专人负责(上机发磁盘,要求:磁盘集中保管,专人负责(上机发磁盘,下课收磁盘)。下课收磁盘)。3. 保持机房清洁保持机房清洁 要求:每天下午搞一次清洁,每周大搞一次。要求:每天下午搞一次清洁,每周大搞一次。共 73 页 第 5 5 页 目录共 73 页 第 6 6 页8.共 73 页 第 7 7
4、 页第一章第一章 C语言概述语言概述1.1C语言出现的历史背景语言出现的历史背景汇编语言编写的程序太依赖硬件汇编语言编写的程序太依赖硬件,程序的可程序的可读性和移植性都差读性和移植性都差,C语言既有高级语言语言既有高级语言的特点又有低级语言特点的特点又有低级语言特点.C语言是在语言是在B语言中发展起来的语言中发展起来的.1960 ALGOL语言语言1970 B语言语言,开发出开发出UNIX系统系统(贝尔实验室贝尔实验室)1972 C语言语言共 73 页 第 8 8 页1975C语言开始被人们所接受语言开始被人们所接受,并开始并开始流行流行.C语言有各种不同版本语言有各种不同版本:TURBO C
5、, BORLAND C, QUICK C,MICROSOFT C.共 73 页 第 9 9 页1.2 1.2 C C语言的特点语言的特点1 1、语言简洁,使用方便。、语言简洁,使用方便。3232个关键字、个关键字、9 9种控制语句,书写形式自由。种控制语句,书写形式自由。2 2、运算符丰富。有、运算符丰富。有3434种运算符,包括算术、种运算符,包括算术、逻辑、逗号运算、移位运算等等。逻辑、逗号运算、移位运算等等。3 3、数据结构丰富。有整型、实型、字符型、数据结构丰富。有整型、实型、字符型、数组类型,指针类型、结构类型、共同数组类型,指针类型、结构类型、共同体类型等等。体类型等等。4 4、具
6、有结构化的控制语句,函数模块化。、具有结构化的控制语句,函数模块化。5 5、允许直接访问物理地址,进行位操作,、允许直接访问物理地址,进行位操作,可直接对硬件进行操作。可直接对硬件进行操作。共 73 页 第 1010 页1.2 C语言的特点6、生成目标代码质量高,执行效率高,可以直接生成EXE文件。7、可移植性好。8、C语言比其它语言相对来说难掌握。共 73 页 第 1111 页main( )printf ( “This is a C program.n”); This is a C program.共 73 页 第 1212 页main( )int a,b,sum;a=123;b=456;s
7、um=a+b;printf ( “sum is %dn”,sum);sum is 579共 73 页 第 1313 页main( )int a,b,c;scanf(“%d,%d”,&a,&b);c=max(a,b);printf ( “max is %dn”,max); sum=a+b;printf ( “sum is %dn”,sum);共 73 页 第 1414 页int max(int x,int y )int z;if(xy) z=x;else z=y;return(z);输出结果为: max is xxx sum is xxx共 73 页 第 1515 页1 、C程序是由函数构成,至
8、少有一个main函数和若干个其它函数。2、一个函数由两部分组成:(1)函数的首部:在函数的第一行。int max(int x,int y )(2)函数体:包含两部分(声明部分和执行部分)3、C程序总是从main函数开始执行的。共 73 页 第 1616 页4 、一行可以有多个语句,一个语句也可以写在不同行上。5、但每个语句后一定要有分号;数据定义后也要有分号;6、C语言没有专门的输入输出语句。由scanf和printf两个函数提供。7、用/*.*/来作注释,不执行。共 73 页 第 1717 页我们用的是turbo C。共 73 页 第 1818 页本本 章章 要要 点点共 73 页 第 19
9、19 页基本类型基本类型字符型字符型 charchar整型整型 intint浮点型浮点型单精度单精度 floatfloat双精度双精度 doubledouble指针类型指针类型构造类型构造类型数组数组结构结构 structstruct联合联合 unionunion枚举枚举 enumenum 空类型空类型第三章第三章第七章第七章第十一章第十一章指针类型指针类型共 73 页 第 2020 页 程序加工处理的对象及其结果程序加工处理的对象及其结果 数据在计算机内部的存储形式(占用的数据在计算机内部的存储形式(占用的内存单元内存单元数量数量、编码方式编码方式、取值范围取值范围等)等) 在程序运行过程中
10、在程序运行过程中不允许不允许改变的量可用一个标识改变的量可用一个标识符来代表一个常量。符来代表一个常量。 在程序运行过程中在程序运行过程中允许允许改变的量改变的量共 73 页 第 2121 页例题:例题:#define PRICE 30Main( ) int num,total; num=10; total=num* PRICE;Printf( “total=%d”,total); 共 73 页 第 2222 页l常量定义形式常量定义形式# #definedefine 标识符标识符 常量常量 用定义的一个用定义的一个标识符标识符来代表一个来代表一个常量常量,称为称为符号常量符号常量# # 宏命
11、令专用定义符号宏命令专用定义符号definedefine 命令命令 标识符标识符宏替换名(一般采用大写字符)宏替换名(一般采用大写字符)共 73 页 第 2323 页l 整型常量整型常量(3种形式种形式)10进制进制 8进制进制16进制进制l实型常量实型常量(2种形式种形式)十进制十进制 指数指数 l字符常量字符常量l字符串常量字符串常量9 9, 、或或共 73 页 第 2424 页共 73 页 第 2525 页注:符号常量名一般用大写,变量用小写。注:符号常量名一般用大写,变量用小写。符号常量在程序的执行部分不能再赋值。符号常量在程序的执行部分不能再赋值。值在程序执行过程中可随时改变的量称为
12、变量。一个变量在内存中占据一定的存储单元,在该单元中存放变量的值。变量名实际上是一个符号地址。 A 变量名 变量值 存储单元13共 73 页 第 2626 页l变量的说明格式:变量的说明格式: 类型修饰符类型修饰符 类型说明符类型说明符 变量列表变量列表;l例如:例如:intint i;i; charchar chch, , strstr; ; longlong k=1, m=0 x12345678; k=1, m=0 x12345678; double x, y=1; double x, y=1;l变量说明意味着确定了:该变量变量说明意味着确定了:该变量 占用占用内存内存单元的数量,单元的数
13、量, 数据在内存的数据在内存的表示方式表示方式, 数据的数据的取值范围取值范围。共 73 页 第 2727 页(1 1)标识符只能由字母、数字和下划线组)标识符只能由字母、数字和下划线组成,且第一个字符是字母或下划线。成,且第一个字符是字母或下划线。例:例:sum,_total,a123-e,Basic,sum,_total,a123-e,Basic, m.e.12, m.e.12, erer#we,1asd,ab#we,1asd,ab(2 2)大写字母和小写字母被认为是两个不大写字母和小写字母被认为是两个不同的字符。同的字符。(3 3)一般只认前面的)一般只认前面的8 8个字符。个字符。共
14、73 页 第 2828 页(1 1)变量要先定义再使用)变量要先定义再使用例:例:intint student; student; stuentstuent=10;=10;(2 2)每个变量有一确定的类型每个变量有一确定的类型例:例:intint student; student; student=15 student=15;student=34.56;student=34.56;(3 3)每个变量所进行的运算必须合法。每个变量所进行的运算必须合法。Float a,b,c;Float a,b,c;a=10.4;b=3.6;c=a%b;a=10.4;b=3.6;c=a%b;共 73 页 第 29
15、29 页3.3 整型数据3.3.1共 73 页 第 3030 页3.3.2整型变量1、在内存中的存放形式。以二进制的补码形式,占两个字节,左边一位表示符号,“0”为正,“1”为负。补码的表示:正数的补码与原码相同。 负数的补码是将该数的绝对 值的二进制形式,按位取反 后再加1。如-10 的表示方法10的原码:0000000000001010取反 1111111111110101再加1 1111111111110110 (-10的补码)共 73 页 第 3131 页2.整型数据的分类整型数据的分类类型类型比特数比特数取值范围取值范围Int16-32768 +32767Unsigned int 1
16、6065535Short16 -32768 +32767Unsigned short16065535Long32-21474836482147483647Unsigned long3204294967295共 73 页 第 3232 页3、整型变量的定义、整型变量的定义例:例:main( ) int a,b,c,d; unsigned u; a=12;b=-24;u=10; c=a+u;d=b+u; printf(“a+u=%d,b+u=%d”,c,d); 4、整型数据的溢出整型数据的溢出共 73 页 第 3333 页共 73 页 第 3434 页i=2i=2i=6i=6i=24i=24i=1
17、20i=120i=720i=720i=5040i=5040i=i=-25216-25216i=i=-30336-30336i=i=2432024320共 73 页 第 3535 页例:例:main( ) int a,b,; a=32767; b=a+1; printf(“%d,%d”,a,b); 结果为:结果为:32767,-32768共 73 页 第 3636 页3.3.3、整型常量的类型、整型常量的类型1、整数的范围如果在、整数的范围如果在-32768+32767,可以是可以是int型或型或 long int型。型。2、整数的范围如果在、整数的范围如果在-2147483648+214748
18、3647,则是则是long int型。型。3、int 型与型与short int型是等同的。型是等同的。4、unsigned型是无符号的,注意范围。型是无符号的,注意范围。5、在一个整常量后加字母、在一个整常量后加字母l或或L,则认为则认为是是long int型。型。共 73 页 第 3737 页3.4 3.4 实型数据实型数据l3.4.1实型常量的表示方法实型常量的表示方法两种表示形式:十进制小数形式两种表示形式:十进制小数形式 指数形式:指数形式:123e-4,e后面后面 的数必须为整数。的数必须为整数。3.4.2实型变量实型变量1、存放形式:占、存放形式:占4位,按指数形式存储,位,按指
19、数形式存储,分成小数和指数部分来存放。分成小数和指数部分来存放。共 73 页 第 3838 页2.2.实型变量的分类实型变量的分类类型类型比特数比特数 有效数字有效数字 数值范围数值范围float326710-371038Double64151610-30710308Long double128181910-4931104932共 73 页 第 3939 页3 3。实型数据的舍入误差。实型数据的舍入误差由于实型变量的有效位有限,有效位外的由于实型变量的有效位有限,有效位外的数字将被舍去,所以会产生一些误差。数字将被舍去,所以会产生一些误差。例:例:main( ) float a,b; a=12
20、3456.789e5; b=a+20; printf(“%f”,b); 共 73 页 第 4040 页3.5 3.5 字符型数据字符型数据共 73 页 第 4141 页表表3.3 3.3 转义字符及其含义转义字符及其含义字符形式字符形式 含义含义ASCII码码n换行换行,将当前位置移到下一行开头将当前位置移到下一行开头 10t水平制表水平制表(跳到下一个跳到下一个tab位置位置)9b退格退格,将当前位置移到前一列将当前位置移到前一列8r回车回车,将当前位置移到本行开头将当前位置移到本行开头13f换页换页,将当前位置移到下页开头将当前位置移到下页开头12反斜杠字符反斜杠字符“”92单引号字符单引
21、号字符39“双引号字符双引号字符34ddd1到到3位位8进制数所代表的字符进制数所代表的字符xhh1到到2位位16进制数所代表的字符进制数所代表的字符共 73 页 第 4242 页3.5.2 3.5.2 字符变量字符变量l每个字符变量只能放一个字符每个字符变量只能放一个字符.l字符变量在内存中是以二进制的形式来字符变量在内存中是以二进制的形式来存放的存放的,与整形数据可以通用与整形数据可以通用.一个字符数一个字符数据既可以用字符形式来输出据既可以用字符形式来输出,也可以用整也可以用整形形式来输出形形式来输出.C语言允许字符与整数直语言允许字符与整数直接进行算术运算接进行算术运算.共 73 页
22、第 4343 页例子例子1: main( ) char c1,c2; c1=97;c2=98; printf(“%c %cn”,c1,c2); printf(“%d %dn”,c1,c2); 共 73 页 第 4444 页例子例子2: main( ) char c1,c2; c1=a;c2=b; c1=c1-32; c2=c2-32; printf(“%c %cn”,c1,c2); printf(“%d %dn”,c1,c2); 共 73 页 第 4545 页3.5.4 3.5.4 字符串常量字符串常量l字符常量是由单引号括起来的字符常量是由单引号括起来的,字符串常字符串常量是由双引号括起来的
23、量是由双引号括起来的.如如“china”.l如如a和和“a”是两个不同的概念是两个不同的概念.lC语言规定语言规定:每个字符串是以每个字符串是以0为结为结束标志的束标志的.所以所以“a”其实在内存中是占两其实在内存中是占两个字节的位置个字节的位置,而而a在内存中是占一个在内存中是占一个字节的位置字节的位置.Char cC=“a” (X) 共 73 页 第 4646 页实例:实例:”This is C string.This is C string.” ”a a” ” ” (1 1个个空格)空格) ” (不含空格)不含空格) 串定界符:串定界符:双引号双引号 ”字符串长度字符串长度:字符串中包含
24、的:字符串中包含的字符数量字符数量。tNameAddressntNameAddressnC is very easy.C is very easy. a a 与与 字符字符a a 的区别的区别 He saidHe said ok.ok. nn共 73 页 第 4747 页3.6 3.6 变量赋初值变量赋初值l对变量对变量,可以在定义时给定初值可以在定义时给定初值l如如int a=3,b,c;l float f=3.14;l char c=a;l但不能但不能 int a=b=c=3;l int a=3,b=3,c=3;la=b=c=3;共 73 页 第 4848 页3.7 3.7 各类数值型数据
25、间的混合运算各类数值型数据间的混合运算l 高高double floatl l longl l unsignedl 低低 int char,short共 73 页 第 4949 页3.8 3.8 算术运算符和算术表达式算术运算符和算术表达式l3.8.1 C运算符简介运算符简介1、算术运算符、算术运算符 +、*、/、%2、关系运算符、关系运算符 、 =、 = 、!= 3、逻辑运算符、逻辑运算符 !、!、&、|4、位运算符、位运算符 、|、&5、赋值运算符、赋值运算符 =6、条件运算符、条件运算符 ? :7、逗号运算符、逗号运算符 ,共 73 页 第 5050 页8、指针运算符、指针运算符 *、&9
26、、求字节数运算符、求字节数运算符 sizeof10、强制类型转换运算符强制类型转换运算符 (类型)(类型)|11、分量运算符、分量运算符 .、12、下标运算符、下标运算符 13、其它运算符、其它运算符3.8.2 算术运算符和算术表达式算术运算符和算术表达式1、基本的算术运算符、基本的算术运算符2、算术表达式和运算符的优先级与结合性、算术表达式和运算符的优先级与结合性 先乘除后加减,同一级的结合方向先乘除后加减,同一级的结合方向“自左而自左而右右”共 73 页 第 5151 页l运算符(运算符(双双目运算符目运算符/ /单单目运算符)目运算符) + + 加法运算加法运算 1212 正正值运算值运
27、算 1414 - - 减法运算减法运算 1212 负负值运算值运算 1414 * * 乘法运算乘法运算 1313 / / 除法运算除法运算 1313 % % 求余运算求余运算 1313l优先级优先级:* * / % / % 同级(高),同级(高),+ + - - 同级(低)同级(低)l结合性结合性:相同优先级运算符进行运算时的次序:相同优先级运算符进行运算时的次序 自自左左向向右右共 73 页 第 5252 页1.1.参加运算的对象都是参加运算的对象都是intint型,结果截取为型,结果截取为intint型型 9%3 9%31%31%310%310%310%-310%-3-10%3-10%3-
28、10%-3-10%-3=3=3=3.3333=3.66667=0=0.5=6=0=0=1 1=1= =1 1= =-1-1= =-1-1共 73 页 第 5353 页3、强制类型转换运算符、强制类型转换运算符格式:(类型名)(表达式)格式:(类型名)(表达式)如如 float x,y; x=5.67;y=78.6; (int)x+y 的结果为的结果为83.6 x=5.67 (int)x 5 (int)(x+y) 84共 73 页 第 5454 页l运算符运算符+ l+和和 为单目运算,只能作用于变量为单目运算,只能作用于变量l只能对只能对intint、charchar、longlong和和指针
29、变量指针变量进行运算进行运算l功能:功能: +x x=x+1 ( (前缀:使用前缀:使用X X之前,先改之前,先改 x x=x1 变变X X的值的值) x+ x=x+1 ( (后缀:使用后缀:使用X X之后,再改之后,再改 x x=x1 变变X X的值的值) 共 73 页 第 5555 页l前缀与后缀的区别:前缀与后缀的区别: y=+x; x=x+1; y=x; x先先加加1再再赋值赋值 y=x+; y=x; x=x+1; x先先赋值赋值再再加加1共 73 页 第 5656 页如如 I=3;j=+I-4; (j=0,l=4) j=I+; (j=3,l=4)说明:说明:1、自增或自减,只能用于变
30、量,不能用、自增或自减,只能用于变量,不能用于常量和表达式。于常量和表达式。2、+或或- -的结合方向是的结合方向是“自右至左自右至左”j=(-I)+ 相当于相当于j=-(I+)(j=-3,I=4)不要使用这种表达式:不要使用这种表达式:I+I+I+共 73 页 第 5757 页共 73 页 第 5858 页l 注意,以下操作是错误的:注意,以下操作是错误的: x = +(i+j)+1; j = + (5+x); y = +x * * +x; 逻辑逻辑虽然正确虽然正确,但实际编程,但实际编程中容易产生误中容易产生误解,应当避免解,应当避免共 73 页 第 5959 页共 73 页 第 6060
31、 页3.9 3.9 赋值运算符和赋值表达式赋值运算符和赋值表达式l1、赋值运算符:、赋值运算符:=l2、类型转换、类型转换如果如果=两边类型不同,将右边的表达式结果转两边类型不同,将右边的表达式结果转为左边的类型。为左边的类型。如如 int I; float f; double d; I=3.45 ; (I(I的结果为的结果为3 3) f=23; (f(f的结果为的结果为23.00000)23.00000) d=123.4536777;f=d; (f(f的结果为的结果为123.4537123.4537,取七位有效数值取七位有效数值) ) d=123.456789e100; f=d; (f(f的
32、结果发生溢出的错误)的结果发生溢出的错误)共 73 页 第 6161 页l(1)、将)、将intshortlong型数据赋给型数据赋给char型型时,只将低时,只将低8位传送。位传送。lInt I=289; (100100001)lChar c;lC=I ( (低低8 8位的结果为位的结果为33 33 ,对应为!字符),对应为!字符)l(2)、将)、将unsigned int 型数据赋给型数据赋给 int 型型变量时,注意符号。变量时,注意符号。lunsigned int a=65535;lInt b;lb=a; (b(b的结果为的结果为-1-1)共 73 页 第 6262 页3、复合的赋值运
33、算符、复合的赋值运算符在赋值运算符在赋值运算符“=”之前加上其它运算符,之前加上其它运算符,可以构成复合的运算符。可以构成复合的运算符。如:如:a+=3 ( a=a+3 ) x*=y+8 ( x=x*(y+8) ) x%=3 ( x=x%3 )4、赋值表达式赋值表达式注意:注意:赋值表达式是右结合律的。赋值表达式是右结合律的。共 73 页 第 6363 页如:如:a=b=5 a=(b=5) a=b=4+c=6 a=(b=4)+(c=6) a=12; a+=a-=a*a; ( a-=a*a a=a-a*a a=-132 a+=-132 a=a+(-132) a=-264)赋值操作不仅可出现在赋值
34、语句中,也可以以赋值操作不仅可出现在赋值语句中,也可以以表达式形式出现在其他语句中(如输出或表达式形式出现在其他语句中(如输出或 循环语句)。循环语句)。b=3;printf(“a=%d”,a=b);结果为结果为 a=3 共 73 页 第 6464 页3.103.10逗号运算符和逗号表达式逗号运算符和逗号表达式格式为:格式为: 表达式表达式1,表达式,表达式2(先求表达式(先求表达式1,再求表达式,再求表达式2,结果取表达,结果取表达式式2的值)的值)注意:逗号运算符的运算级别最低,低于赋值注意:逗号运算符的运算级别最低,低于赋值运算符。运算符。如:如:a=3; a=3*5,a*4 (a的结果
35、不等于的结果不等于12,而是逗号表,而是逗号表达式的结果为达式的结果为60)共 73 页 第 6565 页X=(a=3,6*a) x的结果为的结果为18X=a=3,6*a x的结果为的结果为3,整个表达式的结整个表达式的结果为果为18逗号表达式的扩展为:逗号表达式的扩展为:表达式表达式1,表达式,表达式2,.表达式表达式n共 73 页 第 6666 页l1 1、运算符有优先级,在运算符有优先级,在C C语言中关于运算符语言中关于运算符优先级的正确叙述是优先级的正确叙述是 。 A) A) 逻辑逻辑运算符高于运算符高于算术算术运算符,运算符,算术算术运算运算符高于符高于关系关系运算符运算符 B)
36、B) 算术算术运算符高于运算符高于关系关系运算符,运算符,关系关系运算运算符高于符高于逻辑逻辑运算符运算符 C) C) 算术算术运算符高于运算符高于逻辑逻辑运算符,运算符,逻辑逻辑运算运算符高于符高于关系关系运算符运算符 D) D) 关系关系运算符高于运算符高于逻辑逻辑运算符,运算符,逻辑逻辑运算运算符高于符高于算术算术运算符运算符l答案:答案:B B共 73 页 第 6767 页l2 2、在以下关于在以下关于C C语言的不严格的叙述中,语言的不严格的叙述中,错误错误的是的是 A)A)大大写字母和写字母和小小写字母的意义相同写字母的意义相同 B)B)有些有些不同不同类型的变量可以在一个表达式中
37、运算类型的变量可以在一个表达式中运算 C)C)在赋值表达式中等号在赋值表达式中等号( (= =) )左边的变量左边的变量和和右边的值右边的值可可以是以是不同类型不同类型 D)D)同一个运算符号在不同的场合可以有同一个运算符号在不同的场合可以有不同的含义不同的含义l答案:答案:A Al3 3、语言中的简单数据类型包括语言中的简单数据类型包括 。 A)A)整型、实型、逻辑型整型、实型、逻辑型 B)B)整型、实型、字符型整型、实型、字符型 C)C)整型、字符型、逻辑型整型、字符型、逻辑型 D)D)整型、实型、逻辑型、字符型整型、实型、逻辑型、字符型l答案:答案:B B共 73 页 第 6868 页l
38、4 4、在在C C语言中,错误的语言中,错误的intint类型的常数是类型的常数是 。 A) 32768 A) 32768 B) 0 C) 037 B) 0 C) 037 D) 0 xAFD) 0 xAFl答案:答案:A Al5 5、下列常数中不能作为下列常数中不能作为C C的常量的是的常量的是 。 A) 0 xA5 A) 0 xA5 B) 2.5e-2 B) 2.5e-2 C) 3e2 D) 0582C) 3e2 D) 0582l答案:答案:D Dl6 6、在语言中,十进制的在语言中,十进制的4747可等价地写为可等价地写为 。 A) 2f A) 2f B) 02f C) 57 D) 057
39、B) 02f C) 57 D) 057l答案:答案:D Dl7 7、已知:已知:intint a=4,b=5,c; a=4,b=5,c;则执行表达式则执行表达式“c=a=ab”c=a=ab”后变量后变量a a的值为的值为 。 A) 0 A) 0 B) 1 B) 1 C) 4 C) 4 D) 5D) 5l答案:答案:A A共 73 页 第 6969 页l8 8、下列可以正确表示字符型常数的是下列可以正确表示字符型常数的是 A) aA) aB) t C) n D) 297B) t C) n D) 297l答案:答案:B Bl9 9、以下错误的转义字符是以下错误的转义字符是 A) A) B) B)
40、C) 81C) 81 D) 0D) 0l答案:答案:C Cl1010、已知:已知:float x=1,y;float x=1,y;则:则:y=+xy=+x* *+x+x的结果是的结果是 A) y=9 B) y=6 C) y=1 D) A) y=9 B) y=6 C) y=1 D) 表达式是错误的表达式是错误的l答案:答案:D Dl1111、已知:已知:char char chch= =A A;则下列表达式的值是则下列表达式的值是chch = = ( (chch=A A&chch=Z Z) ) ? ? ( (chch+32) +32) : : chch; ; A) A A) A B) a B)
41、a C) Z C) Z D) zD) zl答案:答案:B B共 73 页 第 7070 页l1212、字符串字符串2222a,0na,0n的长度是的长度是 。 A) 8 A) 8 B) 7 B) 7 C) 6 D) 5C) 6 D) 5l答案:答案:C Cl1313、在程序中要使用语句:在程序中要使用语句:printfprintf(%sn, STRING); (%sn, STRING); 输出一个长度为个字符的提示信息输出一个长度为个字符的提示信息 OK!OK!,则应使则应使用宏定义语句用宏定义语句_。 A) #define STRING OK!A) #define STRING OK! B)
42、 #define STRING OK! B) #define STRING OK! C) #define STRING OK! C) #define STRING OK! D) D) 以上三个答案都是错误的以上三个答案都是错误的l答案:答案:D D# #define STRING OK!define STRING OK!共 73 页 第 7171 页charcharintintfloatfloatdoubledouble类型说明符类型说明符shortshortlonglongsignedsignedunsignedunsigned类型修饰符类型修饰符注意:注意:类型修饰符类型修饰符不能不能单独使用,必须与单独使用,必须与类型类型说明符说明符配合在一起使用配合在一起使用C语言采用语言采用类型类型说明符说明符说明不同说明不同的数据类型的数据类型