本章习题
一、选择题
1. ( )是C语言提供的合法的数据类型关键字。
A. Float B. signed C. integer D. Char
2. 属于合法的C语言长整型常量的是( )。
A.5876273 B. 0L C.2E10 D.(long)5876273
3. 判断int x = 0xaffbc;x的结果是( )。
A.赋值非法 B.不确定 C.affb D.ffbc
4. 下面选项中,均是合法浮点数的是( )。
A.+1e+1 B.-.60 C.123e D.-e3
5e-9.4 12e-4 1.2e -.4 .8e-4
03e2 -8e5 +2e-1 5.e-0
5. 在C语言中,字符型数据在内存中以( )形式存放。
A.原码 B. BCD码 C.反码 D.ASCII码
6. ( )是非法的C语言转义字符。
A. '\b' B. '\0xf ' C. '\037' D. '\’'
7. 在C语言中,数字029是一个( )。
A.八进制数 B.十六进制数 C.十进制数 D.非法数
8. C语言中整数-8在内存中的存储形式为( )。
A. 1111111111111000 B. 100000000001000
C. 000000000001000 D. 1111111111110111
9. 为了计算s=10!(即10的阶乘),则s变量应定义为( )。
A. int B. unsigned C. long D.以上三种类型均可
10. 以下所列的C语言常量中,错误的是( )。
A.0xFF B. 1.2e0.5 C. 2L D. '\72'
11. 假定x和y为double型,则表达式x=2,y=x+3/2的值是( )。
A.3.500000 B.3 C. 2.000000 D. 3.000000
12. 设变量n为float型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是( )。
A. n=(n100+0.5)/100.0 B. m=n100+0.5,n=m/100.0
C. n=n100+0.5/100.0 D. n=(n/100+0.5)100.0
13. 以下选项中不属于C语言的类型是( )。
A. signed short int B. unsigned long int
C. unsigned int D. long short
14. 在16位C编译系统上,若定义“long a;”,则能给a赋40000的正确语句是( )。
A. a=20000+20000; B.a=4000*10;
C. 30000+10000; D. a=4000L*10L;
二、填空题
1.设“int a; float f; double;”,则表达式10+'a'+i*f值的数据类型是 。
2.若a是int变量,则执行表达式a=25/3%3后,a的值是 。
三、判断题
1.在C语言程序中对用到的所有数据都必须指定其数据类型。
2.一个变量的地址是指它所对应的几个字节地址中的最大地址。
3.对几个变量在定义时赋初值可以写成:int a=b=c=3;。
4.若a是实型变量,C语言程序中允许赋值a=10,因此实型变量中允许存放整型数。
5. C语言不允许混合类型数据间进行运算。
四、程序阅读题。写出以下程序运行的结果
main ( )
{
char c1='a',c2='b',c3='c',c4='\101',c5='116';
printf("a%c b%c\tc%c\tabc\n",c1,c2,c3);
printf("\t\b%c %c",c4,c5);
}
五、编程题
1.已知a,b均是整型变量,编写程序将a,b两个变量中的值互换。
2.已知a=3,b=4,c=5,x=1.2,y=2.4,z=–3.6,u=51274,n=128765,c1='a',c2='b'。若想得到以下的输出格式和结果,请写出相应的程序(包括定义变量类型和设计输出)。
a= 3 b= 4 c= 5
x=1.200000,y=2.400000,z=-3.600000
x+y= 3.60 y+z=-1.20 z+x=-2.40
u= 51274 n= 128765
c1='a' or 97(ASCII)
c2='b' or 98(ASCII)
3.设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf输入数据,输出计算结果;输出时要求有文字说明,取小数点后两位数字,请编写程序。