C语言练习题
34. 下面叙述正确的是()。
A) (3+9)++是正确的表达式 B) “abc”+”xxx”是正确表达式
C) c语言中整型与字符型变量的混合运算表达式的结果是整型 D) 模运算符%两边运算数的数据类型是任意的
35. 若有定义:int x;char c=?A?;则正确的赋值表达式是().说明‘A’的ASCII码的十进制值为65,‘a’
的ASCII码的十进制值为97 A) x=c+’ABC’ C) x=c+’CBA’ B) x=c+32 D) x=’ABC’ 36. 若有定义:char c1=?A?,c2=?B?;语句printf(“%d+%d=%d”,c1,c2,c1+c2); 运行后的结果为()。说明:‘A’的ASCII码的十进制值为65 A) 65+65=AB B) A+B=131 C) 65+66=131 D) A+B=AB 37. 下面叙述错误的是()。 A) 算术运算符中只有“*”、“/”优先级高于关系运算符 B) 模运算符“%”是C语言基本的算术运算符 C) 算术运算符中不包含“=”运算符
D) 自加和自减运算符只能用于变量,而不能用于常量或表达式 38. 下面叙述正确的是( )。
A) 强制类型转换运算的优先级高于算术运算 B) 若a和b是整型变量,(a+b)++是合法的 C) 'A'*'B' 是不合法的 D) \是合法的 39. 下面关于算术运算符的叙述,错误的是( )。
A) %(模运算符)的运算对象只能为整型量 B) 算术运算符的结合方向是\自左至右\
C) 自加和自减运算符的结合方向是\自右至左\D) 其运算对象不包含函数
9
期末复习题集
3. 第四章 顺序程序设计
1. Getchar()函数的功能是获取终端输入的( )
A) 一个字符 C) 一个整型变量表达式 B) 多个字符 D) 一个实型变量值
2. 只能向终端输出一个字符的是().
A) printf()函数 C) scanf()函数 B) getchar()函数 D) putchar()函数
3. 若有定义int a=8,b=5;要实现输出形式为:8*5=40,正确的printf()函数调用语句是()
A) printf(“%d*%d=%d\\n”,a,b,a*b); C) printf(“%d*%d=a*b\\n”,a,b); B) printf(“a*b=%d\\n”,a*b); D) printf(“a*b=a*b\\n”);
4. 若有定义float x;要从键盘输入数据6.02赋给x,则应选用()语句。
A) scanf(“%8.2f”,&x); C) scanf(“%f”,&x); B) scanf(“%4.2f”,&x); D) scanf(“%1.2f”,&x);
5. 若有定义:int x=1234,y=123,z=12;则语句printf(\运行后的输出结果为( )。
A) 123412312 C) 1234+1234+1234 B) 12341234123412341231231231212 D) 1234+123+12
6. 若有语句int a;char c;scanf(“=%c”,&a,&c);为将整数135赋给a,字符‘6’赋给c,正确的数据输
入方式是()。说明:
7. 若有定义:int a;则表达式()不能用来判断a值为奇数是“真”,偶数是“假”
A) a%2==1 B) !(a%2==0) C) a%2 D) !(a%2)
8. 若有定义:int a;且表达式!a的值为0,则表达式()的值为1.
A) a= =0 C) !(a<0||a>0) B) a=0 D) a!=0
9. 若有定义:int a=1,b=2,c=3,d=4,t=2,k=2;语句(t=a
A) 2 B) -1 C) 0 D) 1
10. 已知 char a;使用scanf()函数输入一个字符给变量a,不正确的函数调用是( )。
A) scanf(\C) scanf(\B) scanf(\D) scanf(\
10
C语言练习题
4. 第五章 选择程序设计
1. 若有定义:int x=1,y=2,z=3;则表达式( )的值为0。
A) !((x
3. 以下运算符中优先级最高的是( )。 A) > B) ||
C) && D) +
4. 若有定义:int x=3,y=4;则表达式 !x||y 的值为( )。 A) 1 B) 0
C) 3 D) 4
5. 若有定义:int i=7,j=8;则表达式 i>=j||i 6. 若有定义:int x,a;赋值语句a=(x%3= =0)?0:1;与( )语句不等价。 A) If(!(x%3= =0)) a=1;else a=0; C) If(x%3!=0) a=1; else a=0; B) If(x%3) a=0; else a=1; D) If(x%3= =0) a=0; else a=1; 7. 若有定义:int a=1,b=2,c=3,d=4,x=5,y=6;则表达式 (x=a>b)&&(y=c>d) 的值为( )。 A) 0 B) 1 C) 5 D) 6 8. 若有定义: int a=1,b=2,c=3,d=4,t=2,k=2;语句(t=a D) 2 11. 若有定义:int a;且表达式!a的值为0,则表达式()的值为1。 A) a=0 C) !(a<0||a>0) B) a!=0 D) a==0 12. 以下程序段运行后x的值为( ) int a=3,b=6,x; x=(a==b)?a++;--b; A) 4 B) 2 C) 5 D) 6 13. 若有定义:int a=1,b=2,c=3;则执行以下程序段后a,b,c的值分别为( )。 if (a {c=a;a=b;b=c;} A) a=1,b=2,c=3 C) a=2,b=3,c=3 B) a=2,b=3,c=1 D) a=2,b=1,c=1 11 期末复习题集 14. 以下程序段运行后变量a的值为( )。 int x=6,y=5; int a; a=(--x==y++)?x:y+1; A) 0 B) 1 C) 6 D) 5 15. C语言对if嵌套语句的规定:else总是与( )配对。 A) 第一个if C) 缩进位置相同的if B) 之前最近的且尚未配对的if D) 之前最近的if 16. 以下程序段运行时,若从键盘输入5,则运行结果是()。int a,y=10; scanf(“%d”,&a); if(a>10) y=a+6; printf(“%d\\n”,y+a); A) 10 B) 16 C) 17. 以下程序的运行结果是()。 void main() {int a,b=2,c=6; a=3; if(a>6) a=a+b; else if(a==6) b=a+c; else a=b+c; printf(\} A) 8 B) 9 C) 18. 以下程序段的运行结果是(). int s = 15; switch(s/4) {case 1: printf(\case 2: printf(\case 3: printf(\default: printf(\} A) Three Over B) One Over C) 15 5 Two Over D) 11 D) 6 D) Three 12