《C语言程序设计》习题篇
第一章 C语言基础知识
1.1 选择题
1. 以下不是C语言的特点的是( )。
A、语言简洁紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件操作 D、C语言移植性好
2. 下列字符序列中,不可用作C语言标识符的是( )。
A.abc123 B. C._123_ D._ok 3. 正确的C语言标识符是 ( )。
A._buy_2 B.2_buy C._buy D.buy 4. 请选出可用作C语言用户标识符的一组标识符( )。
A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof
5. 下列符号中,不属于转义字符的是( )。
A.\\\\ B.\\0xAA C.\\t D.\\0 6. 不属于C语言关键字的是( )。
A.int B.break C.while D.character 7. 是C语言提供的合法关键字的是( )。
A.Float B.signed C.integer D.Char 8. 以下不能定义为用户标示符的是( )。
A.scanf B.Void C._3com_ D.int 9. 一个C程序是由( )。
A. 一个主程序和若干子程序组成 B. 一个或多个函数组成 C. 若干过程组成 D. 若干子程序组成
10. C语言程序的基本单位是( )。
A.程序行 B.语句 C.函数 D.字符 11. 下列说法中,错误的是( )。
A.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号 B.每个函数都有一个函数头和一个函数体,主函数也不例外 C.主函数只能调用用户函数或系统函数,用户函数可以相互调用
D.程序是由若干个函数组成的,但是必须有、而且只能有一个主函数 12. 以下说法中正确的是( )。
A.C语言程序总是从第一个定义的函数开始执行
B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行
D.C语言程序中的main( )函数必须放在程序的开始部分 13. C编译程序是( )。
A.C程序的机器语言版本 B.一组机器语言指令 C.将C源程序编译成目标程序 D.由制造厂家提供的一套应用软件 14.以下选项中,合法的用户标识符是( )。
A.long B._2abc C.3dmax D. 15.以下选项中,合法的实型常数是( )。
A. B.E-3 C.2E0 D.
16.已知大写字母A的ASCII码值是65, 小写字母a的ASCII码是97,则用八进制表示的
字符常量’\\101’是( )。
A.字符A B.字符a C.字符c D.非法的常量 17.以下选项中, 合法转义字符的选项是( )。
A.’\\\\’ B.’\\018’ C.’xab’ D.’\\abc’ 18.以下选项中,正确的字符常量是( )。
A.”F” B.’\\\\’’ C.’W’ D.’’ 19.以下选项中可作为C语言合法整数的是
A.10110B B.0386 C.0Xffa D.x2a2
20.下列变量定义中合法的是
A.short _a=; B.double b=1+;
C.long do=0xfdaL; D.float 2_and=1-e-3;
9xn
21.与数学式子对应的C语言表达式是( )。
2x?1
A.9*x^n/(2*x-1) B.9*x**n/(2*x-1)
C.9*pow(x,n)*(1/(2*x-1)) D.9*pow(n,x)/(2*x-1) 22.若有代数式
3ab,则不正确的C语言表达式是( )。 cd A.a/c/d*b*3 B.3*a*b/c/d C.3*a*b/c*d D.a*b/d/c*3 23.已知各变量的类型说明如下: int m=8,n, a, b; unsigned long w=10; double x=, y=;
则以下符合C语言语法的表达式是( )。
A.a+=a-=(b=2)*(a=8) B. n=n*3=18 C.x%3 D.y=float (m) 24.以下符合C语言语法的赋值表达式是( )。
A.a=9+b+c=d+9 B.a=(9+b, c=d+9) C.a=9+b, b++, c+9 D.a=9+b++=c+9
25. 已知字母A的ASCII码为十进制数65,且S为字符型,则执行语句S=’A’+’6’-’3’;
后,S中的值为( )。
A.’D’ B.68 C.不确定的值 D.’C’ 26.在C语言中,要求运算数必须是整型的运算符是( )。
A./ B.++ C.*= D.% 27.若有说明语句:char s=’\\72’;则变量s( )。
A.包含一个字符 B.包含两个字符
C.包含三个字符
D.说明不合法,s的值不确定
28.若有定义:int m=7; float x=, y=; 则表达式x+m%3*(int)(x+y)%2/4的值是( )。 A. B. C. D.
29.在C语言中,char型数据在内存中的存储形式是( )。
A.补码 B.反码 C.原码 D.ASCII码
30.设变量x为float类型,m为int类型,则以下能实现将x中的数值保留小数点后两位,
第三位进行四舍五入运算的表达式是( )。 A.x=(x*100+/ B.m=x*100+, x=m/ C.x=x*100+ D.x=(x/100+*
31.表达式13/3*sqrt/8的数据类型是( )。
A.int B.float C.double D.不确定 32.设以下变量均为int类型,则值不等于7的表达式是( )。
A.(m=n=6, m+n, m+1) B.(m=n=6, m+n, n+1)
C.(m=6, m+1, n=6, m+n) D.(m=6, m+1, n=m, n+1)
33.假设所有变量均为整型,则表达式(x=2, y=5, y++, x+y)的值是( )。
A.7 B.8 C.6 D.2 34.已知s是字符型变量,下面不正确的赋值语句是( )。
A.s=’\\012’; B.s= ’u+v’; C.s=’1’+’2’; D.s=1+2; 35.已知s是字符型变量,下面正确的赋值语句是( )。
A.s=’abc’; B.s=’\\08’; C.s=’\\xde’; D.s=”\\”; 36.若有以下定义,则正确的赋值语句是( )。
int x,y; float z;
A.x=1,y=2, B.x=y=100 C.x++; D.x=int (z); 37.设x、y均为float型变量,则不正确的赋值语句是( )。
A.++x ; B.x*=y-2; C.y=(x%3)/10; D.x=y=0; 38.下列语句中符合C语言的赋值语句是( )。
A.a=7+b+c=a+7; B.a=7+b++=a+7;