2009-2010学年度《计算机C语言程序设计》复习参考资料
习题一 基础知识、数据类型、运算符与表达式
一、选择题
1、以下选项中正确的整型常量是 ( B ) A)12.
B)-20
C)1,000
D)4 5 6
2、以下选项中正确的实型常量是 ( D ) A)0
B)3.1415
C)0.329*102
D).871
3、以下选项中不正确的实型常量是 ( B ) A)2.607E-1
B)0.8103e
C)-77.77
D)456e-2
4、 以下选项中不合法的用户标识符是 ( A ) A)abc.c
B)file
C)Main
D)PRINTF
5、以下选项中不合法的用户标识符是 ( C ) A)_123
B)printf
C)A$
D)Dim
6、C语言中运算对象必需是整型的运算符是 ( A ) A)%
B)/
C)!
D)**
7、可在C程序中用作用户标识符的一组标识符是 ( B ) A)void define WORD B)as_b3 _123 If C)For -abc case D)2c DO SIG
8、若变量已正确定义并赋值,符合C语言语法的表达式是 ( B ) A)a=a+7;
B)a=7+b+c,a++
C)int(12.3%4)
D)a=a+7=c+b
9、以下叙述中正确的是 ( A )
A)a是实型变量,C允许进行以下赋值a=10,因此可以这样说:实型变量中允许存放整型值。 B)在赋值表达式中,赋值号左边既可以是变量也可以是任意表达式。
C)执行表达式a = b后,在内存中a和b存储单元中的原有值都将被改变,a的值已由原值改变为b的值,b的值由原值变为0。
D)有a=3,b=5。当执行了表达式a = b,b = a之后,已使a中的值为5,b中的值为3。 10、以下叙述中正确的是 ( C )
A)在C程序中无论是整数还是实数,只要在允许的范围内都能准确无误的表达。 B)C程序由主函数组成。
第1页 共38页
2009-2010学年度《计算机C语言程序设计》复习参考资料
C)C程序由函数组成。 D)C程序由函数和过程组成。
*11、TURBO C中int类型变量所占字节数是 ( B )
A) 1 B) 2 C)3
12、不合法的八进制数是 ( B ) A)0
B)028
C)077
D)01
D) 4
13、不合法的十六进制数是 ( A ) A)oxff
B)0Xabc
C)0x11
D)0x19
14、C语言中的简单数据类型有 ( B ) A)整数、实型、逻辑型 C)整数、字符型、逻辑型
B)整型、实型、字符型 D)整型、实型、逻辑型、字符型
15、C语言中,字符型数据在微机内存中的存储形式是 ( D ) A)反码
B)补码 C)EBCDIC码
D)ASCII码
16、C语言中不合法的字符常量是 ( A D ) A)?\\0xff ?
B)?\\65?
C)?&?
D)?\\028?
17、C语言中不合法的字符串常量是 ( B ) A)“\\121”
B)?y=?
C)“\\n\\n”
D)“ABCD\\x6d”
18、判断char型变量c是否为大写字母的最简单且正确的表达式是 ( D ) A) ?A?<=c<=?Z?
B) (c>=?A?)&(c<=?Z?) D) (c>=?A?)&&(c<=?Z?)
B) (?A?<=c)AND(?Z?>=c)
二、填空题
1、在Microsoft Visual C 6.0环境中运行一个C程序时,所运行的程序的后缀是 .EXE 。 2、C语言源程序文件的后缀是 .C或.CPP ,经过编译后,生成文件的后缀是 .OBJ ,经过连接后,生成文件的后缀是 .EXE 。
3、结构化程序由 顺序,选择,循环 三种基本结构组成。
4、若k为int整型变量且赋值11。请写出运算k++后表达式的值 11 和变量的值 12 。 5、若x为double型变量,请写出运算x = 3.2,++x后表达式的值 4.2 和变量的值 4.2 。 6、函数体由符号 { 开始,用符号 } 结束。函数体的前面是 声明 部分,其后是 执行 部分。 7、C语言中的标识符可分为 关键字 , 用户标识符 和预定义标识符三类。
8、在C语言程序中,用关键字 int 定义基本整型变量,用关键字 float 定义单精度实型变量,用关键字 double 定义双精度实型变量。
9、把a1,a2定义成单精度实型变量,并赋初值1的定义语句是 float a1=1,a2=1; 。 10、C程序中定义的变量,代表内存中的一个 存储空间 。
第2页 共38页
2009-2010学年度《计算机C语言程序设计》复习参考资料
11、表达式3.5+1/2的计算结果是 3.5 。 12、表达式s=10应当读做 把10赋值给s 。
13、计算机中内存储器的最小存储单位称 位 ,其中能容纳的数是 0或1 。
14、通常一个字节包含 8 个二进制位。在一个字节中能存放的最大(十进制)整数是 255 ,它的二进制数的形式是 11111111 ,最小(十进制)整数是 0 ,它的二进制数的形式是 00000000 。 15、 计算机用两个字节存放一个整数时,其中能存放的最大(十进制)整数是 65535 ,最小(十进制)整数是 0 ,它的二进制数的形式是 16个0 。
16、在C语言中整数可用 十 进制数, 八 进制数和 十六 进制数三种数制表示。 17、EOF的十进是 –1 。
18、C语言中,字符占内存 1 个字节。
三、上机改错题(最好在Visual C环境下试一试,以便熟悉出错信息)。
1、请指出以下C程序的错误所在 #include stdio.h ;
main(); / * main function * /
{ float r,s ; /*/*r is radius*/,/*s is area of circular*/*/ r =5.0 ; s =3.14159*r*r ; printf(“%f\\n”,s)
2、请指出以下C程序的错误所在 #include stdio.h main /*main function */
{ float a,b,c,v ; /*a,b,c are sides, v is volume of cube*/ a =2.0 ; b=3.0 ; c =4.0 v =a*b*c ; printf(“%f\\n”,v) }
第3页 共38页
2009-2010学年度《计算机C语言程序设计》复习参考资料
习题二 顺序结构
一、选择题
1、若a,b,c,d都是int类型变量且初值为0,以下选项不正确的赋值语句是 ( C ) A)a=b=c=100;
B)a=d++;
C)c+b;
D)d=(c=22)-(b++);
2、以下选项中不是C语句的是 ( C ) A){int I; I++; printf(“%d\\n”,I); } C)a=5 , c=10
B); D){ ; }
3、以下合法的C语言赋值语句 ( A ) A)a=b=58;
B)k=int (a+b);
C)a=58,b=58
D)--I ;
4、以下程序的输出结果是 ( C ) A)0
B)1
C)3
D)不确定的值
Main() {
int x=10,y=3; printf(“%d\\n”,y=x/y); }
5、若变量已正确说明为int类型,要给a,b,c输入数据,以下正确的输入语句 ( D ) A)read(a,b,c);
B)scanf(%d%d%d“,a,b,c); D)scanf(“%d%d%d”,&a,&b,&c);
C)scanf(“%D%D%D”,&a,%b,%c)
6、若变量已正确说明float类型,要通过以下赋值语句给a赋予10,b赋予22,c赋予33,以下不正确的输入形式是 ( B )
A)10
B)10.0,22.0,30
C)10.0
D)10 22
22
33
22.0 30 33
scanf(“%f %f %f”,&a,&b,&c);
7、若变量已正确定义,要将a和b中的数据进行交换,下边不正确的语句组是 ( C ) A)a=a+b,b=a-b,a=a-b;
B)t=a,a=b,b=t;
C)a=t;t=b;b=a;
D)t=b;b=a;a=t;
8、若变量已正确定义,以下程序段的输出结果是 ( D ) A)输出格式说明与输出项不匹配,输出无定值
B)5.17
C)5.168 D)5.169
第4页 共38页
2009-2010学年度《计算机C语言程序设计》复习参考资料
x=5.16894;
Printf(“%f\\n”, (int)(x*1000+0.5)/(float)1000); 9、若有以下程序段,c3中的值 ( A ) A)0
B)1/2
C)0.5
D)1
int c1=1,c2=2,c3; c3=c1/c2;
10、当运行以下程序时,在键盘上从第一列开始输入9876543210
( C )
A)a=98,b=765,c=4321
B)a=10,b=432,c=8765 D)a=98,b=765.0,c=4321.0
C)a=98,b=765.000000,c=4321.000000
main() {
int a; float b,c;
scanf(“-?O”,&a,&b,&c);
printf(“\\na=%d,b=%f,c=%f\\n”,a,b,c); }
11、以下输出结果是 ( D ) A)a=%2,b=%5
main( ) {
int a=2,b=5;
printf(“a=%%d,b=%%d\\n”,a,b); }
12、若int类型占两个字节,则以下程序段的输出是 ( D ) A)-1,-1
int a=-1;
printf(“%d,%u\\n”,a,a);
13、以下程序段的输出是 ( A ) A)*496 *
int x=496;
printf(“*%-06d*\\n”,x);
14、以下程序段的输出是 ( C ) A)|3.1415|
B)a=2,b=5 C)a=%%d,b=%%d D)a=%d,b=%d
B)-1,32767 C)-1,32768 D)-1,65535
B)* 496* C)*000496* D)输出格式不合法
B)| 3.0| C)| 3| D)| 3.|
第5页 共38页