C语言练习习题真答案(汇总版)_第1页
C语言练习习题真答案(汇总版)_第2页
C语言练习习题真答案(汇总版)_第3页
C语言练习习题真答案(汇总版)_第4页
C语言练习习题真答案(汇总版)_第5页
免费预览已结束,剩余40页可下载查看

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、0在语言中,合法的字符常量是( D )。 A. '字' B. "A"C."ABC" D.'x41'1下面叙述正确的是( B )。 A. 程序中必须包含有输入语句 B. 变量按所定义的类型存放数据函数必须位于文件的开头 D.每行只能写一条语句2错误的叙述是( D )。 A. 一个C语言源程序可由一个或多个函数组成 B. 若一条语句较长,也可分写在下一行上程序必须包含一个main()函数 D.构成C语言源程序的基本单元是算术表达式3(C)是关于C语言数据类型的正确叙述。 A. 变量必须先定义后使用 B. 不允许使用空类型A叙述

2、是对的,但其不是关于数据类型的叙述!C.枚举类型不是基本类型 D.数组并不是构造类型4 main( )函数的位置( B )。 A. 必须在自定义函数前面 B. 可以在自定义函数后面C.必须位于程序的最前面 D.必须在自定义函数后面5 C语言函数体由( C )括起来。 A. < > B. ( ) C. D. 6( A )是不正确的叙述。 A. 注释说明只能位于一条语句的后面 B. C源程序的基本组成单元是函数源程序可由一个或多个函数组成 D.每条语句最后必须有一个分号7一个C语言源程序是由( B )。 A. 一个主程序和若干子程序组成 B. 函数组成C.若干过程组成 D.若干子程序组

3、成记住这个基本概念8结构化程序设计的三种基本结构是( C )。 A. 函数结构、判断结构、选择结构 B. 平行结构、嵌套结构、函数结构C.顺序结构、选择结构、循环结构 D.判断结构、嵌套结构、循环结构9C源程序的调试是指对源程序进行( C )。 A. 录入与编辑 B. 查错与编译 C.查错与排错 D.连接与运行10C语言中,可将一系列语句置于( C )从而构成复合语句。 A. 一对尖括号"< >"之间 B. 一对圆括号"( )"之间C.一对花括号""之间 D.一对方框号" "之间11构成C源程序的基本单

4、位是( D )。 A. 语句 B. 变量 C.运算符 D.函数12以下叙述中正确的是( A )。 A. C源程序中注释部分可以出现在程序中任意合适的地方 B. 一对花括号""只能作为函数体的定界符源程序编译时注释部分的错误将被发现 D.构成C源程序的基本单位是函数,所有函数名都可以由用户命名main()13下面叙述正确的是( D )。 A. 每行最多只能写两条语句 B. 程序中必需含有自定义函数()函数必须位于源程序文件的开头 D.所有语句都必须以分号""结束14下面叙述错误的是( B )。 A. 若一条语句较长,可分写在下一行或多行上 B. 构成C语言

5、源程序的基本单位是语句源程序中大、小写字母是有区别的 D.一个C源程序可由一个或多个函数组成15( A )是关于C语言数据类型的正确叙述。 A. 枚举类型不是基本类型 B. 数组不是构造类型C.变量使用前应定义相应的数据类型 D.不允许使用空类型16 C源程序中main()函数的位置( C )。 A. 必须位于程序的最前面 B. 必须在系统库函数后面C.可以在自定义函数后面 D.必须在自定义函数前面18下面叙述错误的是( D )。 A. C源程序可由一个或多个函数组成 B. C源程序必须包含一个main()函数C.一个C源程序的执行是从main()函数开始,直到main()函数结束 D.注释说

6、明部分只能位于C源程序的最前面20C语言的下列运算符中,优先级最高的运算符是( A )。 A. + B. += C.| D.!=21( D )为正确的用户标识符。 A. struct B. 5f 22C语言基本数据类型包括( B )。 A. 整型、实型、逻辑型 B. 整型、实型、字符型C.整型、字符型、逻辑型 D.整型、实型、字符串型23( A )为合法的常量。 A. 52686L B. -7 C D.'E12'24( C )为正确的变量名。 A. -k15 B. int ( D )为正确的字符常量。 A. '''' B. "24m&q

7、uot; C."c" D.'M'26( C )为非法的字符串常量。 A. " " B. "s" C.'efg' D."26'62"27 C语言整型数据在内存中的代码是用( C )表示的。 自学!A. 原码 B. 反码 C.补码 码28以下选项中,合法的实型常数是( B )。 A. E-3 B. .1 C 下列C语言合法的数据类型关键字是( B )。 A. Double B. unsigned 30 Turbo C中,int型数据占用的字节数( B )。 A. 由用户自己定义

8、B. 为2个字节C.是任意的 D.等于所用计算机的字长31 Turbo C中,基本数据类型存储空间长度的排列顺序是( A )。 对.类型名 变量字节 取值范围singnedchar 1 -128127ungsigned char 1 0255singned long int 4 -4847unsiged long int 4 095float 4 7个有效位double 8 15个有效位 A. char<int<long int<float<double B. char=int<long int<float<double<int<long

9、int=float=double =int=long int<float<double32以下叙述中正确的是( A )。 A. 字符常量用一对单撇号' '作为单个字符的定界符 B. 字符常量和字符串常量一样,都是用双引号括起来C.字符常量存储时,自动在字符后加一个字符结束符号'0' D.字符常量和字符串常量所分配的内存空间大小是一样的33( B)为正确的用户标识符。 A. 3_row B. max_at 34C语言的基本数据类型包括( A )。 A. 整型、实型、字符型 B. 整型、实型、空类型C.整型、字符型、指针型 D.整型、实型、逻辑型35(

10、D )为合法的常量。 A. 5,326 B. -6.5 C.'b_k' ( D )为正确的变量名。 A. 5_pro B. case 37( C )为正确的字符常量。 A. 'bcd' B. '084'B. '084' 13 位八进制数,没有符号8(1-7) C.'' D.'165'38( A )为非法的字符串常量。 A. '123' B. "case" C."056" D." "40已知'A'的ASCII码

11、的十进制值为65,'0'的ASCII码的十进制值为48,则以下程序运行结果是( A )。 main() char ch1,ch2; ch1='A'+'5'-'3' ch2='A'+'6'-'3' printf("%d,%cn",ch1,ch2); A. 67,D B. C,D ,68 ,6841若有定义 int m=6; 则正确的赋值表达式是( C )。 A. m*7 B. m*5=8 C.m-=m*6 (-m)42语句 k=(m=5,n=+m); 运行之后,变量

12、k、m、n的值依次为( D )。 A. 5,5,6 B. 5,6,5 C.6,6,5 ,6,643语句 x=5%4+(4/5); 运行之后,整型变量x的值为( A )。 A. 1 B. 2 C.3 44(B )语句符合C语言语法。 A. float z=28,int x,y=18;float z=28,int x,y=18;-à float z=28; int x,y=18; B. int x=25,y=25,z=25; x=25:y=25:z=25;分号”:” x+y=z;45若有定义 int a,x; 则语句 a=(x=8,x+8); 运行后,变量a、x的值依次为( A )。 A

13、. 16, 8 B. 8, 8 C.16, 16 , 1646若变量 m, n, t已定义且赋予初值,则正确的表达式是( B )。 A. m=m+1=t-n B. m=6+n+t,m+=m2 =int%4)47若有定义:int a,b; float x,则以下不符合C语言语法的表达式是( A )。 A. x%7 B. x/=a-b=b=2 =(float)a/b48若有定义:int m=4,n=5;float k;,则以下符合C语言语法的表达式是( B )。 A. (m+n)*=k B. m=(n=5)=float(n)/m %49若有定义:int a=6; 则语句 a*=a-=a/=3; 运

14、行后,a的值是( B )。 A. 10 B. 0 C.34 50下面关于C语言变量的叙述中,错误的是( A )。 A. 可以用define关键字定义变量 B. 变量名用大小写字母是有区别的语言允许不同基本类型的变量之间进行混合运算 语言中要求对变量作强制定义的主要理由是:便于确定类型和分配空间51若有定义:int a=5,b=2; 则表达式b= (a!=5)的值为( B )。 A. 5 B. 0 C.3 52逗号表达式 (a=15,a*4),a+15 的值为( B )。 A. 15 B. 30 C.75 53若有定义:int b=-15; 则( A )为正确的赋值表达式。 A. b+=b*3

15、B. b=*5 C.*b=6 +10=-5 54若有定义:int x,a,b; 语句x=(a=2,b=3,a+b); 运行后,x、a、b的值依次为(C )。 A. 2 3 5 B. 3 2 5 2 3 3 255若有定义:int a,b=5; 语句a=(b/2)+b%22+1; 运行后,a的值为( B )。 A. 0 B. 3 C.4 56(C )语句符合C语言语法。 A. int a=2,b+=ab还没赋值, 所以错; B. int a=bb未声明!=2,c=5; x=,b,c; x=,应该用分号int i,j=6;57若有定义:int a=3; 语句a+=a-=a*a; 运行后,a的值为(

16、 C )。 A. 0 B. -3 C.-12 58若有定义 int x=1,y=2,n=3; 则( A )为正确的表达式。 A. x=y*3,y=(x+n)/y B. x=ny(y/n) (float)(y/n) D.(x+y)(y+n)60下列语句中,符合C语言语法的赋值语句是( C )。 A. a=7+b+c=a+7; B. a=7+b+=a+7;=7+b,b+,a+7; =7=b,c=a+7;61( A )是正确的叙述。A. (int)6 与 5/6 等价 B. 'G' 与"G" 等价6 与 等价 D.+3与4 等价62下面叙述中,错误的是( D )。

17、 A. C语言中的表达式求值,是按其运算符的优先级先高后低的次序进行 B. 自增与自减运算符的结合方向为“自右至左”C.关系运算符的优先级低于算术运算符 语言算术运算符不包含模运算符“%”63( C )是正确的叙述。 A. 表达式 "m"+"M" 是合法的 B. 若变量x, y为整型,则 (a+b)+是合法的C.强制类型转换运算的优先级高于算术运算 D.表达式 'm' * 'n' 是不合法的64若有定义 int i=1,j=9; 则表达式 (+j)*(i-) 的值为( B )。 A. 0 B. 10 C.9 65设整型变量

18、x为7,使整型变量y不为2的表达式是( A )。 A. y=x%3 B. y = x/3 C.y =(+x)/3 =8-(-x)66若已定义 int a=3,b=2,c=1; 则语句 +a短路问题|+b&&+c; 运行后b的值为( D )。 A. 0 B. 3 C.1 67若有定义:int i=5,j=4;则语句 i/=+j; 运行后i的值为( B )。 A. 10 B. 1 C. 68若已定义:int a=2,b=2; 则表达式 (a+(b+), b)首先,逗号运算符(2+2,2)=2;其中,自增符号(+)在右边先使用后自增。逗号运算符之后,b自增为3 的值是( A )。 A

19、. 2 B. 3 C.4 69若有定义:int r,x=245; 则语句 r=x/100%9; 运行后r的值为( A )。 A. 2 B. 5 C.0 70若已定义:int i=6,t; 则语句 t=3+(-i); 运行后t的值为( C )。 A. 9 B. 7 C.8 71C语言的 % 运算符按运算对象的个数属( C )。 A. 单目运算符 B. 四目运算符 C.双目运算符 D.三目运算符72若已定义:int a=5,b=9,c=6; 则语句 b+; +c; a=b-c; 运行后a的值为( B )。 A. 5 B. 3 C.2 73下面叙述正确的是( B )。 A. 2/3 与 2%3 等价

20、 B. 5/(int) 与 5/4 等价C.+2 与 3 等价 D.+2与-3 等价+ -符号只能作用于整型变量74下面叙述错误的是( A )。 A. 算术运算符中只有"*"、"/"优先级高于关系运算符 B. 模运算符"%"是C语言基本的算术运算符C.自加和自减运算符只能用于变量,而不能用于常量或表达式 D.算术运算符中不包含"="运算符75下面叙述正确的是( A )。 A. C语言中整型与字符型变量的混合运算表达式的结果是整型 B. (3+9)+ 是正确表达式C.模运算符"%"两边运算数的数据

21、类型是任意的 D."abc"+"xxx"是正确表达式76若有定义:int i=3,j=6; 则表达式(-i)*(j+)的值为( C )。 A. 18 B. 15 C.12 77若有定义:int a,b=6; 语句a=-b; 运行后,a、b的值分别是( C )。 A. 5 6 B. 6 5 C.5 5 678若有定义:int x,y,z; 语句 x=(y=z=3,+y,z+=y); 运行后,x的值为( C )。 A. 6 B. 8 C.7 80以下程序运行时,若从键盘输入5,则输出结果是( D )。 main() int a; scanf("%d

22、",&a); if(a+>5) printf("%dn",a); else printf("%dn",a-)执行这个,之前a+变为6了; A. 7 B. 4 C.5 81若已定义 float x; 要从键盘输入数据给变量x,则应选用( B )语句。 A. scanf("%2.3f",&x) ; B. scanf("%6f",&x) ;("%6.3f",&x) ; ("%5.3f",&x) ;82若已定义 double y

23、; 拟从键盘输入一个值赋给变量y,则正确的函数调用是( C )。 A. scanf("%d",&y) ; B. scanf("%7.2f",&y) ;("%lf",&y) ; ("%ld",&y) ;83已有定义 char s; 使用scanf( )函数输入一个字符给变量s,不正确的函数调用是( D )。 A. scanf("%c",&s) ; B. scanf("%d",&s) ;("%u",&s)

24、 ; ("%lf",&s) ;84函数putchar( ) 的功能是向终端输出( A )。 A. 一个字符 B. 多个字符C.一个关系表达式 D.一个实型变量值85若已定义 int a=11; 执行以下语句后的输出结果是( B )。 printf("a=%d,a=%o,a=%xn",a,a,a) ; A. a=11, a=11, a=b B. a=11, a=13, a=b=11, a=13, a=c =11, a=12, a=1386若有定义 int m=4321,n=123,k=21; 语句printf("%4d+%3d+%2d&q

25、uot;,m,n,k); 执行后的输出结果是( C )。 A. 2121 B. +123+21 +123+0287已有如下定义和输入语句, char c1,c2;int x; scanf("%c%d%c",&c1,&x,&c2); 若要求x、c1、c2的值分别为9、'K'和'H',正确的数据输入建议上机实践一下!是( A )。 A. K9H B. K 9 H H 88以下程序段的运行结果是( B )。 int a=1; printf("%d, %d, %dn", a, +a, a+); 注意prin

26、tf函数的输出参数是自右向左!A. 3,3,1 B. 2, 2, 1 C.1, 2, 3 , 2, 189以下程序的运行结果是( D )。 void main() int a=65; char c='A' printf("%d+%c=%dn",a,c,a+c); A. A+A=AA B. 65+A=65A +65=130 +A=13090若已定义:int x=7;float y=; 以下语句中能输出正确值的是( B )。 A. printf("%d %d",x,y); B. printf("%d %.3f",x,y);

27、("%.3f %.3f",x,y); ("%.3f %d",x,y);91putchar函数可以向终端输出一个( A )。 A. 字符或字符型变量值 B. 整型变量表达式值C.实型变量值 D.字符串92若已定义:int a=6;float b=; 要求输出形式为: 6 * = ,应选用的正确输出语句是( B )。 A. printf("%d * %f=%f",a,b,a*b); B. printf("%d * %.2f=%.2f",a,b,a*b);("%d * %d=%.2f",a,b,a*b

28、); ("%.2f * %.2f=%.2f",a,b,a*b);93若有定义 float x; 要从键盘输入数据赋给x,则应选用( D )语句。 A. scanf("%8.2f",&x); B. scanf("%1.2f",&x);("%4.2f",&x); ("%f",&x);94 只能向终端输出一个字符的是( D )。 A. printf()函数 B. scanf()函数 ()函数 ()函数95 若有语句 int a; char c; scanf("

29、%3d%c",&a,&c); 为将整数135赋给a,字符'6'赋给c,正确的数据输入方式是( B )。(说明:<CR>代表换行,_代表空格) A. 135_6<CR> B. 1356<CR> <CR>6<CR> 96 getchar()函数的功能是获取终端输入的( B )。 A. 多个字符 B. 一个字符 C.一个实型变量值 D.一个整型变量表达式97 若有定义 int a=8,b=5; 要实现输出形式为: 8*5=40 ,正确的printf()函数调用语句是( D )。 A. printf(

30、"a*b=%dn",a*b); B. printf("a*b=a*bn");("%d*%d=a*bn",a,b); ("%d*%d=%dn",a,b,a*b);98若有定义:char c1='A',c2='B' 语句printf("%d+%d=%d",c1,c2,c1+c2);运行后的结果为( D )。(说明:'A'的ASCII码的十进制值为65) A. A+B=131 B. 65+66=AB +B=AB +66=131100有以下程序: main

31、() int c; while(c=getchar()(1) c为字符2,case0开始执行到case2的break,输出字符6和6(2) c为字符4,case2开始执行并break退出,输出字符8(3) c为字符7,default开始执行并退出,输出9!= 'n') switch(c-'2') case 0 : case 1 : putchar(c+4); case 2 : putchar(c+4); break; case 3 : putchar(c+3); default: putchar(c+2); break; printf("n"

32、); 当输入:247<回车>,程序的输出结果是( B )。 A. 689 B. 6689 C.66778 101若已定义 int x=5,y=9,z; 语句 z=x>=y;相当于z=(x>=y); 运行后z的值为( C )。 A. 1 B. .t. D.f.102判定逻辑值为“真”的最准确叙述是( D )。 A. 1 B. 大于0的数C.非0的整数 D.非0的数103若已定义 int x=-16,y=-12,z; 语句z=x<=y; 运行后z的值为( B )。 A. .t. B. 1 C.f. 104能正确表示数学关系式 100s300的表达式为( C )。 A.

33、 (s>=100) & (s<300) B. 100<= s<300C.(s>=100) && (s<300) D.(s>=100) and (s<300)105若定义 int a=2,b=3; 则表达式 !a|b 的值为( B )。 A. 0 B. 1 C.2 106若定义 int a=-5,b=-8,c=-12; 则表达式 a>=b|b<c 的值为( D )。 A. 变量i的值 B. 变量j的值 107下列表达式( C )不能用来判断整型变量x中的值是否为奇数。 A. x%2=1 B. !(x%2=0) C

34、.!(x%2) %2108若有定义:int a=3,b=2,c=3; 则值为0的表达式是( D )。 A. (a-b)=(c/b) B. a>=c|a+b&&(b*c-a-c) D.(b*c-a-c)&&(b*c-a-b)A) 3-2=(3/2)B) 3>=3C) 3-2|(短路)D) (2*3-2-3) && (短路)109若已定义:int x=4,y=2,z=0; 则表达式 (x-y<=y)| (y=z)的值是( A )。 A. 1 B. 0 C.2 110若有定义:int a=3,b=2,c=1,k; 则表达式k=a>

35、;b>c相当于k=(a>b)>c)的值是( A )。 A. 0 B. 111以下运算符中优先级最高的是( D )。 A. <= B. && C.| D.!112执行以下语句后,b的值是( A )。 int a=5,b=6,c=1,x=2,y=3,z=4; (a=c>x) | (b=y>z); A. 0 B. 1 C.-1 113 x的值在-20至-5之间为“真”,否则为“假”的正确逻辑表达式为( B )。 A. -20<x<-5 B. x>-20 && x<-5C.!(x>-20) &&a

36、mp; !(x<-5) <x<-20114若有定义:int a; 则表达式( B )不能用来判断a值为奇数是“真”,偶数是“假”。 A. a%2=1 B. !(a%2) %2 D.!(a%2=0)115若有定义:int a=1,b=2,c=3,d=4,t=2,k=2; 语句(t=a<b)|(k=c<d)短路; 运行后,k的值为( A )。 A. 2 B. 1 C.0 116若有定义:int x=1,y=2,z=3; 则表达式( A )的值为0。 A. !(x<y) && z) B. x>y | x<z <=y | (y+z

37、&& y-z)117若有定义: int a=3,b=5,c=8; 则表达式 !(a-b) | (c-b) 的值为( A )。 A. 1 B. 0 C.2 118若有定义: int a; 且表达式 !a的值为0,则表达式( A )的值为1。 A. a!=0 B. a=0 C.a=0 D.!(a<0 | a>0)120以下程序运行后,a的值是( C )。 main() int a,b; for(a=1,b=1;a<=100;a+) if(b>=20) break; if(b%3=1) b+=3; continue; b-=5; 初始a=1;b=1第1次循环:

38、a=1, b=1+3=4 continue第2次循环:a=2, b=1+3=7 continue第3次循环:a=3, b=1+3=10 continue第4次循环:a=4, b=1+3=13 continue第5次循环:a=5, b=1+3=16 continue第6次循环:a=6, b=1+3=19 continue第7次循环:a=7, b=1+3=22 continue第8次循环:a=8,breakA. 101 B. 100 C.8 121已定义 double k=; 则正确的赋值表达式是( D )。 A. k=double B. k%3=k*= +=k-=(k=*(k=3)122已定义

39、char c = 'A' ; 则正确的赋值表达式是( B )。 A. c=02813位8进制数,8越界 B. c=(c+)%4+1=66 +=127-123已定义 int m ='A' 则正确的表达式是( C )。 A. 2*m=m+ B. m=int%3 =m-m=m-5124设已定义 float a=,b=; 使a值为的表达式是( A )。 A. a+= b B. a*=b+=b+ =b+125若已定义 int m=7;float k=; 则表达式 k+ m%2/4 的值为( D )。 A. B. 6.75 C. 若已定义 int a=3,b=3,x=1,y

40、=2; 表达式 (a=y>x)&&(x=b>a) 的值是( B )。 A. 6 B. 1 C.9 127若有定义:int a=2,b=3; float x=5; 则表达式x*b/a的值是( A )。 A. 7.5 B. 7 C.6 128若有定义:int x=8; float y=130;char z='A' 则表达式x+z%(int)y的值是( C )。 已知'A'的ASCII码的十进制值为65 A. 运行时产生错误信息 B. 8 C.73 若已定义:int m=7,n=4; float x=,y=,k; 则执行语句k=m/2+n*

41、x/y;k=3+4*=后,变量k的值是( C )。 A. 3 B. 4 C. 130若有定义:float x=2,y=4,h=3; 下列表达式中与(x+y)*h/计算结果不相符的是( C )。A. (x+y)*h/2 B. (x+y)*h*1/2C.(1/2)=0*(x+y)*h 2*(x+y)131表达式2+sqrt/4结果的数据类型是( A )。 A. double B. int 132若有定义:int a=4,b=5,c=6; 则表达式 *a+b)/c的值是( A )。 A. 1.5 B. 1 C.4 下列运算符中优先级最低的是( A )。 A. = B. ! C.> D.*134

42、若有定义:float x=,y=; 则表达式( A )的值为6。 A. (int)x+(int)y B. x+y C.(int)(x+y) (x+y)错误表达式135若有定义:int x; char c='A' 则正确的赋值表达式是( A )。(说明:'A'的ASCII码的十进制值为65,'a'的ASCII码的十进制值为97) A. x=c+32 B. x=c+'ABC' =c+'CBA' ='ABC'136若有定义:float x=2,y; int a=3; 语句y=1*(x+a)/3; 运行后,

43、y的值为( D )。 A. 2.0 B. 0 C. 若有定义:float x=,y=; 则表达式( B )的值为2。 A. (x+y)%7 错误 B. (int)(x+y)%7 C.int(x+y)%7错误 D.(int)x+y%7错误138若有定义:int a=6,b=7,k=0,t=1; 语句 (k=a<b) && (t=a=b); 运行后,k、t的值分别是(D )。 A. 0 0 B. 1 C.0 1 0140以下程序段的运行结果是( D )。 int x=3; do printf("%3d, ", x-=2 ); while(!(-x); A.

44、 1 B. 30 C.死循环 , -2141以下程序运行时,若从键盘输入6,则输出结果是(A )。 void main() int x; scanf("%d",&x); if (x->6) printf("%dn",x); else printf("%dn",-x); A. 4 B. 5 C.6 142以下程序的运行结果是( C )。 void main() int m,n=1,t=1; if(t= 0) t=-t; else m=n>=07:3; printf("%dn",m); A. 3 B

45、. - D.143对于整型变量a,赋值语句 a=(a%3=01:0); 与(D )语句不等价。 A. if (a%3= =0) a=1; else a=0; B. if (a%3!=0) a=0; else a=1; (a%3) a=0; else a=1; (a%3) a=1; else a=0;144以下程序运行的结果是(B )。 void main() int x,y,z,a; x=y=z=1;a=15; if(!x) a-; else if(y) ; if(z) a=3; else a+=4; printf("%dn",a); A. 15 B. 3 C.19 145

46、若已定义 int a=1,b=2,t=3; 则执行以下程序段后变量a,b,t的值分别为(A )。 if(a<b) t=b; b=a; a=t; A. a=2,b=1,t=2 B. a=2,b=1,t=2,b=1,t=3 =3,b=1,t=2146以下程序段运行后变量k的值为( C )。 int a=3,b=2; int k; k=(-a=b+)a:b+1; A. 0 .1 C 147以下程序的运行结果是( C )。 void main() int n=9; switch(n-) default: printf("%d ",n+); case 8: case 7: pr

47、intf("%d ",n); break; case 6: printf("%d ",n+); case 5: printf("%d ",n); A. 8 B. 7 C.8 9 7148以下程序的运行结果是( C )。 void main() int n=8; switch(n-) default: printf("%d ",n+); case 8: case 6: printf("%d ",n); break; case 4: printf("%d ",n+); case

48、2: printf("%d ",n); A. 8 B. 8 6 C.7 7149以下程序的运行结果是( D )。 void main( ) int a; if(a=6) printf("%dn",a); else if(a>6) printf("%dn",a+2); else printf("%dn",a+3); A. 运行时产生错误信息 B. 9 C.8 150若有定义:int x=10,y=8,a; 则执行语句a=(-x=y) x: y);后,变量a的值是( A )。 A. 8 B. 9 C.10 151

49、若有定义: int a=2,b=3,c=1; 则以下程序段的运行结果是( D )。 if(a>b) if(a>c) printf("%d ",a); else printf("%d ",b); printf("%d ",c); A. 3 1 B. 2 C.3 152以下条件语句中(其中s1和s2分别表示C语言的语句),(D)与其他三条语句不等价。 A. if(a) s1; else s2; B. if(a = 0) s2; else s1;(a != 0) s1; else s2; (a = 0) s1; else s2;

50、153以下程序段运行时,若从键盘输入5,则运行结果是(D )。 int a,y=10; scanf("%d",&a); if (a>10) y=a+6; printf("%dn",y+a); A. 10 B. 1 C.16 154以下程序的运行结果是(B )。 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("%dn",a); A. 5 B. 8 155若有定义:int x,a; 赋值语句a=

51、(x%3=0)0:1; 与( B )语句不等价。 A. if (x%3!=0) a=1; else a=0; B. if (x%3) a=0; else a=1; (x%3=0) a=0; else a=1; (!(x%3=0) a=1; else a=0;156以下程序段的运行结果是( C )。 int s=15; switch(s/4) case 1: printf("One "); case 2: printf("Two "); case 3: printf("Three "); default: printf("Ov

52、er "); A. Three B. Two Over Over Over157以下程序段的运行结果是( C )。 int s=15; switch(s/4) default: printf("Over "); case 1: printf("One "); break; case 2: printf("Two "); A. Two B. Over Two One 158以下程序段运行后x的值为( D )。 int a=3,b=6,x; x=(a=b)a+:-b; A. 4 B. 3 C.6 160下列程序段中,非死循环的是( A )。 A. int i=100; while(1) i=i%100+1; if(i>=100) break; B. int k=0; do +k; while(k>=0); s=10; while(+s%2+s%2) s+; (;)161若已定义 int a; 不会产生死循环的语句是(C )。 A. for(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论