版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言基础知识训练题大全POWERED BY SYD168 2010年5月7日C语言理论基础 (1)算法具有五个特性,以下选项中不属于算法特性的是 A)有穷性 B)简洁性 C)可行性 D)确定性 (2) 以下叙述中正确的是 A)用C程序实现的算法必须要有输入和输出操作 B)用C程序实现的算法可以没有输出但必须要有输入 C)用C程序实现的算法可以没有输入但必须要有输出 D)用C程序实现的算法可以既没有输入也没有输出 (3) 用C语言编写的代码程序 A) 可立即执行 B) 是一个源程序 C) 经过编译即可执行 D) 经过编译解释才能执行 (4) 结构化程序由三种基本结构组成,三种基本结构组成的算法
2、 A) 可以完成任何复杂的任务 B) 只能完成部分复杂的任务 C) 只能完成符合结构化的任务 D) 只能完成一些简单的任务 (5) 一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是 A) 有零个或多个输入 B) 有零个或多个输出 C) 有穷性 D) 可行性 (6) 以下叙述中正确的是 A) C语言的源程序不必通过编译就可以直接运行 B) C语言中的每条可执行语句最终都将被转换成二进制的机器指令 C) C源程序经编译形成的二进制代码可以直接运行 D) C语言中的函数不可以单独进行编译 (7) 以下叙述中正确的是 A) C语言比其他语言高级 B) C语言可以不用编译就能被计
3、算机识别执行 C) C语言以接近英语国家的自然语言和数学语言作为语言的表达形式 D) C语言出现的最晚,具有其他语言的一切优点 (8) C语言中用于结构化程序设计的三种基本结构是 A) 顺序结构、选择结构、循环结构 B) if、switch、break C) for、while、do-while D) if、for、continue (9) 结构化程序设计所规定的三种基本控制结构是 A) 输入、处理、输出 B) 树形、网形、环形 C) 顺序、选择、循环 D) 主程序、子程序、函数 (10) 要把高级语言编写的源程序转换为目标程序,需要使用 A) 编辑程序 B) 驱动程序 C) 诊断程序 D)
4、编译程序 答案: 1) B 2) C 3) B 4) C 5) B 6) B 7) C 8) A 9) C 10) DC语言基本语法知识一、选择题 (1)以下叙述中错误的是 A)用户所定义的标识符允许使用关键字 B)用户所定义的标识符应尽量做到“见名知意” C)用户所定义的标识符必须以字母或下划线开头 D)用户定义的标识符中,大、小写字母代表不同标识 (2)以下叙述中错误的是 A)C语句必须以分号结束 B)复合语句在语法上被看作一条语句 C)空语句出现在任何位置都不会影响程序运行 D)赋值表达式末尾加分号就构成赋值语句 (3)以下不能正确计算代数式 值的C语言表达式是 A)1/3*sin(1/
5、2)*sin(1/2) B)sin(0.5)*sin(0.5)/3 C)pow(sin(0.5),2)/3 D)1/3.0*pow(sin(1.0/2),2) (4)以下能正确定义且赋初值的语句是 A)int n1=n2=10; B)char c=32; C)float f=f+1.1; D)double x=12.3E2.5; (5)设有定义:int k=1,m=2; float f=7;,则以下选项中错误的表达式是 A)k=k=k B)-k+ C)k%int(f) D)k=f=m (6)有以下程序段 int k=0,a=1,b=2,c=3; k=ac ? c:k; 执行该程序段后,k的值是
6、 A)3 B)2 C)1 D)0 (7)以下选项中可作为C语言合法常量的是 A)-80. B)-080 C)-8e1.0 D)-80.0e (8).以下不能定义为用户标识符的是 A)Main B)_0 C)_int D)sizeof (9)以下选项中,不能作为合法常量的是 A)1.234e04 C)1.234e+4 D)1.234e0 (10)有以下程序 main() int m=12,n=34; printf(%d%d,m+,+n); printf(%d%dn,n+,+m); 程序运行后的输出结果是 A)12353514 B)12353513 C)12343514 D)12343513 (1
7、1)若整型变量a、b、c、d中的值依次为:1、4、3、2。则条件表达式ab?a:c0; (28) 设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是 A)6.500000 B)6 C) 5.500000 D) 6.000000 (29) 与数学式子 对应的C语言表达式是 A) 3*xn(2*x-1) B) 3*x*n(2*x-1) C) 3*pow(x,n)*(1/(2*x-1) D) 3*pow(n,x)/(2*x-1) (30) 若有以下程序: main() int k=2,i=2,m; m=(k+=i*=k);printf(“%d,%dn”,m,
8、i); 执行后的输出结果是 A) 8,6 B) 8,3 C) 6,4 D) 7,4 (31) 以下选项中,与k=n+完全等价的表达式是 A) k=n,n=n+1 B) n=n+1,k=n C) k=+n D) k+=n+1 (32) 若有定义:int a=8,b=5,C;,执行语句C=a/b+0.4;后,c的值为 A) 1.4 B) 1 C) 2.0 D) 2 (33) 以下选项中不属于C语言的类型的是 A) signed short imt B) unsigned long int C) unsigned int D) long short (34) 以下叙述正确的是 A) 可以把defin
9、e和if定义为用户标识符 B) 可以把define定义为用户标识符,但不能把if定义为用户标识符 C) 可以把if定义为用户标识符,但不能把define定义为用户标识符 D) define和if都不能定义为用户标识符 (35) 在C语言中,合法的长整型常数是 A) OL B) 4962710 C) 324562& D) 216D (36) 以下有4组用户标识符,其中合法的一组是 A) For B) 4d C) f2_G3 D) WORD -sub DO IF void Case Size abc define (37) 假定x和y为 double型,则表达式x=2,y=x+3/2的值是 A)
10、3.500000 B) 3 C) 2.000000 D) 3.000000 (38) 以下合法的赋值语句是 A) x=y=100 B) d-; C) x+y; D) c=int(a+b); (39) 设正x、y均为整型变量,且x=10 y=3,则以下语句的输出结果是 pprintf(”%d,%dn”,x-,-y); A) 10,3 B) 9.3 C) 9.2 D)10.2 (40) 以下程序的输出结果是 main() int a=3; printf(“%dn”,(a+a-=a*a) ); A) 6 B)12 C) 0 D) -1241) 以下所列的C语言常量中,错误的是 A) 0 xFF B)
11、 C) 2L D) 72 (42) 下列选项中,合法的C语言关键字是 A) VAR B) cher C) integer D) default (43) 以下变量x.、y、z均为double类型且已正确赋值,不能正确表示数学式子 的C语言表达式是 A) x/y*z B) x*(1/(y*z) C) x/y*1/z D) x/y/z (44) 若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是 A) -3 B) 9 C) -12 D) 6 (45) 若变量已正确定义并赋值,下面符合C语言语法的表达式是 A) a:=b+1 B) a=b=c+2 C) int 18.5%3
12、D) a=a+7=c+b (46) C语言中运算对象必须是整型的运算符是 A) %= B) / C) = D) = (47) 若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是 A) 1 B) 2 C) 2.0 D) 2.5 (48) 若变量a、iI已正确定义,且i已正确赋值,合法的语句是 A) a=1 B) +i; C) a=a+=5; D) a=int(i); (49) 若有以下程序段, int c1=1,c2=2,c3; c3=1.0/c2*c1; 则执行后,c3中的值是 A) 0 B) 0.5 C) 1 D) 2 (50) 设有 int x=11; 则表达式 (x
13、+ * 1/3) 的值是 A) 3 B) 4 C) 11 D) 12 (51) 下列程序的输出结果是 A) 3 B) 3.2 C) 0 D) 3.07 main() double d=3.2; int x,y; x=1.2; y=(x+3.8)/5.0; printf(%d n, d*y); (52) 下列变量定义中合法的是 A) short _a=1-.le-1; B) double b=1+5e2.5; C) long do=0 xfdaL; D) float 2_and=1-e-3; (53) 以下选项中属于C语言的数据类型是 A) 复数型 B) 逻辑型 C) 双精度型 D) 集合型 (
14、54) 在C语言中,不正确的int类型的常数是 A) 32768 B) 0 C) 037 D) 0 xAF (55) 设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为 A) 4 B) 16 C) 32 D) 52 (56) 设有如下的变量定义: int i=8, k, a, b; unsigned long w=5; double x=1, 42, y=5.2; 则以下符合C语言语法的表达式是 A) a+=a-=(b=4)*(a=3) B) x%(-3); C) a=a*3=2 D) y=float(i) (57) 假定有以下变量定义: int k
15、=7,x=12; 则能使值为3的表达式是 A) x%=(k%=5) B) x%=(k-k%5) C) x%=k-k%5 D) (x%=k)-(k%=5) (58) 设x和y均为int型变量,则以下语句:x+=y,y=x-y;x-=y;的功能是 A) 把x和y按从大到小排列 B) 把x和y按从小到大排列 C) 无确定结果 D) 交换x和y中的值 (59) 以下程序的输出结果是 A) 10 10 B) 12 12 C) 11 10 D) 11 13 main() int a=12,b=12; printf(%d,%dn,- -a,+ +b); (60) 在C语言提供的合法的关键字是 A) swic
16、th B) cher C) Case D) default (61) 若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是 A)1 B)2 C)2.0 D)2.5 (62) C语言提供的合法的数据类型关键字是 A) Double B) short C) integer D) Char (63) 在C语言中,合法的长整型常数是 A) 0L B) 4962710 C) 0.054838743 D) 2.1869e10 (64) 若有说明和语句: int a=5; a+; 此处表达式a+的值是 A) 7 B) 6 C) 5 D) 4 (65) C语言中最简单的数据类型包括 A)
17、整型、实型、逻辑型 B) 整型、实型、字符型 C) 整型、字符型、逻辑型 D) 整型、实型、逻辑型、字符型 (66) C语言中,运乍对象必须是整型数的运算符是 A) % B) C) %和 D) * * (67) 设有如下定义: int x=10,y=3,z; 则语句 printf(%dn,z=(x%y,x/y); 的输出结果是 A) 1 B) 0 C) 4 D) 3 (68) 以下程序的输出结果是 main() int x=10,y=10; printf(%d %dn,x-,-y); A) 10 10 B) 9 9 C) 9 10 D) 10 9 (69) 下列语句中符合C语言语法的赋值语句是
18、 A) a=7+b+c=a+7; B) a=7+b+=a+7; C) a=7+b,b+,a+7 D) a=7+b,c=a+7; (70) 在C语言中,要求运算数必须是整型的运算符是 A) % B) / C) D) ! (71) 请选出可用作C语言用户标识符的一组标识符 A) void B) a3_b3 C) For D) 2a define _123 -abc DO WORD IF Case sizeof (72) 设 int a=12,则执行完语句 a+=a-=a*a后,a的值是 A) 552 B) 264 C) 144 D) -264 (73) C语言程序的基本单位是 A) 程序行 B)
19、语句 C) 函数 D) 字符 (74) 请选出合法的C语言赋值语句 A) a=b=58 B) i+; C) a=58,b=58 D) k=int(a+b); (75)在C语言中,如果下面的变量都是int类型,则输出的结果是 。 sum=pad=5; pAd=sum + + ,pAd + + , + + pAd; printf(%dn,pad); A) 7 B) 6 C) 5 D) 4 (76)以下程序的输出结果是 。 # include main() int i=010 , j = 10; printf(%d,%dn,+ +i , j - -); A) 11,10 B) 9,10 C) 010
20、,9 D) 10,9 二、填空题 (1)语句:x+;+x; x=x+1;x=l+x; ,执行后都使变量x中的值增1,请写出一条同一功能的赋值语句(不得与列举的相同) 【1】 。 (2) 若有定义:int a=10,b=9,c=8;接着顺序执行下列语句后,变量b中的值是 2 。 c=(a-=(b-5); c=(a%11)+(b=3); (3) 设x和y均为int型变量,且x=1,y=2,则以下表达式的值为【3】 。 1.0+x/y (4) 数学式子 写成C语言表达式是 【4】 。 (5) 设a、b、c为整型数, 且a=2、b=3、c=4, 则执行完以下语句: a*=16+(b+)-(+c); 后
21、,a的值是 【5】 。 答案: 一、填空题 1) A 2) C 3) A 4) B 5) C 6) B 7) A 8) D 9) B 10) A 11) A 12) D 13) D 14) C 15) A 16) C 17) D 18) B 19) A 20) C 21) D 22) C 23) B 24) D 25) C 26) B 27) C 28) D 29) C 30) C 31) A 32) B 33) D 34) B 35) A 36) C 37) D 38) B 39) D 40) D 41) B 42) D 43) A 44) C 45) B 46) A 47) C 48) B
22、 49) A 50) A 51) C 52) A 53) C 54) A 55) C 56) A 57) D 58) D 59) D 60) D 61) C 62) B 63) A 64) C 65) B 66) A 67) D 68) D 69) D 70) A 71) B 72) D 73) C 74) B 75) C 76) B 77) 78) 79) 80) 二、填空题 (1)x+=1 (2)3 (3)1.0 (4)pow(sin(x),2) * (a+b)/(a-b) 或 sit(x) * sit(x) * (a+b)/(a-b) (5)28顺序结构:输入与输出一、选择题 (1)有以
23、下程序 main() int m,n,p; scanf(m=%dn=%dp=%d,&m,&n,&p); printf(%d%d%dn,m,n,p); 若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是 A)m=123n=456p=789 B)m=123 n=456 p=789 C)m=123,n=456,p=789 D)123 456 789 (2) 有以下程序 main() int m=0256,n=256; printf(%o %on,mn,n); 程序运行后的输出结果是 A) 0256 0400 B) 0256 256 C) 256 400
24、D) 400 400 (3) 有以下程序 main() int a=666,b=888; printf(%dn,a,b); 程序运行后的输出结果是 A) 错误信息 B) 666 C) 888 D) 666,888 (4) 有以下程序 main( ) int x=102,y=012; printf(“%2d,%2dn”,x,y); 执行后输出结果是 A) 10,01 B) 02,12 C) 102,10 D) 02,10 (5) 有以下程序 main() int a; char c=10; float f=100.0; double x; a=f/=c*=(x=6.5); printf(%d %
25、d %3.1f %3.1fn,a,c,f,x); 程序运行后的输出结果是 A) 1 65 1 6.5 B) 1 65 1.5 6.5 C) 1 65 1.0 6.5 D) 2 65 1.5 6.5 (6) 有定义语句:int x,y;, 若要通过scanf(%d,%d,&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是 A) 11 12回车 B) 11,12回车 C) 11,12回车 D) 11,回车 12回车 (7) 设有如下程序段: int x=2002,y=2003; printf(%dn,(x,y); 则以下叙述中正确的是 A) 输出语句中格式说明
26、符的个数少于输出项的个数,不能正确输出 B) 运行时产生出错信息 C) 输出值为2002 D) 输出值为2003 (8)若有以下程序段(n所赋的是八进制数) int m=32767,n=032767 printf(%d,%o/n,m,n); 执行后输出结果是 A) 32767,32767 B) 32767,032767 C) 32767,77777 D) 32767,077777 (9)若有以下程序段 int m=0 xabc,n=0 xabc; m-=n; printf(%Xn,m); 执行后输出结果是 A) 0X0 B) 0 x0 C) 0 D) 0XABC (10) 已知i、j、k为in
27、t型变量,若从键盘输入:1,2,3,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是 A) scanf(“%2d%2d%2d”,&i,&j,&k); B) scanf(“%d %d %d”,&i,&j,&k); C) scanf(“%d,%d,%d”,&i,&j,&k); D) scanf(“i=%d,j=%d,k=%d”,&i,&j,&k); (11) 设有定义:long x=-123456L;,则以下能够正确输出变量x值的语句是 A)printf(“x=%dn”,x); B) printf(“x=%1dn”,x); C)printf(“x=%8dLn”,x); D)prin
28、tf(“x=%LDn”,x); (12) 以下程序段的输出结果是 int a=1234; printf(%2dn,a); A) 12 B) 34 C) 1234 D) 提示出错、无结果 (13) x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是 A) INPUT x、y、z; B) scanf(“%d%d%d”,&x,&y,&z); C) scanf(“%d%d%d”,x,y,z); D) read(“%d%d%d”,&x,&y,&z); (14) 若变量已正确说明为float类型,要通过语句scanf(“%f %f %f ”,&a,&b,&c);给a赋于10.0
29、,b赋予22.0,c赋予33.0,不正确的输入形式是: A) 10 B) 10.0,22.0,33.0 22 33 C) 10.0 D) 10 22 22.0 33.0 33 (15) 有如下程序 main0 int y=3,x=3,z=1; printf(“%d %dn”,(+x,y+),z+2); 运行该程序的输出结果是 A) 3 4 B) 4 2 C) 4 3 D) 3 3 (16) 下列程序执行后的输出结果是(小数点后只写一位) A) 6 6 6.0 6.0 B) 6 6 6.7 6.7 C) 6 6 6.0 6.7 D) 6 6 6.7 6.0 main() double d; fl
30、oat f; ling l; int i; i=f=1=d=20/3; printf(%d %ld %f %f n, i,l,f,d); (17) 以下说法中正确的是 A) #define和printf都是C语句 B) #define是C语句,而printf不是 C) printf是C语句,但#define不是 D) #define和printf都不是C语句 (18) 以下程序的输出结果是 A) 17,021,0 x11 B) 17,17,17 B) 17,0 x11,021 D) 17,21,11 main( ) int k=17; printf(%d,%o,%x n,k,k,k); (19
31、) 以下叙述中正确的是 A) 输入项可以是一个实型常量,如: scakf(%f,3.5); B) 只有格式控制,没有输入项,也能正确输入数据到内存,例如: scakf(a=%d,b=%d); C) 当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如: scakf(%4.2f,&f); D) 当输入数据时,必须指明变量地址,例如: scakf(%f,&f); (20) 若有以下定义和语句: int u=010,v=0 x10,w=10; printf(%d,%d,%dn,u,v,w); 则输出结果是: A) 8,16,10 B) 10,10,10 C) 8,8,10 D) 8,10,
32、10 (21) 请读程序片段: int i=65536; printf(%dn,i); 上面程序片段的输出结果是 A) 65536 B) 0 C) 有语法错误,无输出结果 D) -1 (22) 若x和y都是int型变量,x=100,y=200,且有下面的程序片段: printf(%d,(x,y); 上面程序片段的输出结果是 A) 200 B) 100 C) 100 200 D) 输出格式符不够,输出不确定的值 (23) 请读程序: #include main() int a; float b, c; scanf(%2d%3f%4f,&a,&b,&c); printf(na=%d, b=%f,
33、c=%fn, a, b, c); 若运行时从键盘上输入9876543210(表示回车),则上面程序的输出结果是 A) a=98, b=765, c=4321 B) a=10, b=432, c=8765 C) a=98, b=765.000000, c=4321.000000 D) a=98, b=765.0, c=4321.0 (24)以下程序的输出结果是【24】 。 # include # include main() int a=1,b=4,c=2; float x=10.5 , y=4.0 , z; z=(a+b)/c+sqrt(double)y)*1.2/c+x; pritnf(%f
34、n,z); A) 14.000000 B) 015.400000 C) 13.700000 D) 14.900000 (25)以下程序的输出结果是【25】 。 # include main() int a=2,c=5; printf(a=%d,b=%dn,a,c); A) a=%2,b=%5 B) a=2,b=5 C) a=%d,b=%d D) a=%d,b=%d (26) 执行下面程序中的输出语句,a的值是 A) 65 B) 20 C) 15 D) 10 main() int a; printf(%dn,(a=3*5,a*4,a+5); 二、填空题: (1)以下程序运行后的输出结果是 【1】
35、 。 main() int x=0210; printf(%Xn,x); (2)以下程序运行后的输出结果是 【2】 。 main() char c; int n=100; float f=10; double x; x=f*=n/=(c=50); printf(%d %fn,n,x); (3)以下程序运行时若从键盘输入:10 20 30。输出结果是 . #include main() int i=0,j=0,k=0; scanf(%d%*d%d,&i,&j,&k); printf(%d%d%dn,i,j,k); (4) 以下程序段的输出结果是 【4】 。 int i=9; printf(%on
36、,i); (5) 以下程序运行后的输出结果是 【5】 。 main() int a,b,c; a=25; b=025; c=0 x25; printf(%d %d %dn,a,b,c); (6) 有以下语句段 int n1=10,n2=20; printf(“ 【6】 ”,n1.n2); 要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。 n1=10 n2=20 (7)若有语句 int i=-19,j=i%4; printf(%dn,j); 则输出结果是【7】。 (8)若有程序 main() int i,j; scanf(i=%d,j=%d;&i,&j); printf(i=%
37、d,j=%dn,i,j); 要求给i赋10,给j赋20,则应该从键盘输入【8】。 (9) 以下程序的输出结果是【9】 。 main() int a=177; printf(%on,a); (10) 以下程序的输出结果是【10】 。 main() int a=0 a+=(a=8); printf(%dn,a); (11)以下程序的输出结果是 【11】 main() int a=1, b=2; a=a+b; b=a-b; a=a-b; printf(“%d,%dn”, a, b ); (12)下列程序的输出结果是16.00,请填空。 main() int a=9, b=2; float x= 【1
38、2】 , y=1.1,z; z=a/2+b*x/y+1/2; printf(“%5.2fn”, z ); (13) 以下程序的输出结果是 13 。 main() unsigned short a=65536; int b; printf(“%dn”,b=a); (14) 若想通过以下输入语句使a=5.0,b=4,c=3,则输入数据的形式应该是 【14】 。 int b,c; float a; scanf(%f,%d,c=%d,&a,&b,&c); (15) 若想通过以下输入语句给a赋于1,给b赋于2,则输入数据的形式应该是 【15】 。 int a,b; scanf(a=%b,b=%d,&a,
39、&b); 答案: 一、选择题 1) A 2) C 3) B 4) C 5) B 6) A 7) D 8) A 9) C 10) C 11) B 12) C 13) B 14) B 15) D 16) A 17) D 18) D 19) D 20) A 21) B 22) A 23) C 24) C 25) D 26) C 27) 28) 29) 30) 二、填空题 (1) 88 (2) 2 20.000000 (3) 10 30 0 (4) 11 (5) 25 21 37 (6) n1=%dnn2=%d (7) -3 (8) i=10,j=20 (9) 261 (10) 16 (11) 2,1
40、 (12) 6.6 (13) 0 (14) 5.0,4,c=3 (15) a=1,b=2 选择结构一、选择题(1)当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是 A)k%2 B)k%2=1 C)(k%2)!=0 D)!k%2=1(2)设有定义:int k=1,m=2; float f=7;,则以下选项中错误的表达式是 A)k=k=k B)-k+ C)k%int(f) D)k=f=m(3)设有定义:int a=2,b=3,c=4;,则以下选项中值为0的表达式是 A)(!a=1)&(!b=0) B)(ab)& !c|1 C)a & b D)a|(b+b)
41、&(c-a)(4)设变量a、b、c、d和y都已正确定义并赋值。若有以下if语句 if (ab) if(c=d) y=0; else y=1;该语句所表示的含义是 A) B) C) D) (5)有以下程序main() int a,b,d=25; a=d/10%9; b=a&(-1); printf(%d,%dn,a,b);程序运行后的输出结果是 A)6,1B)2,1C)6,0D)2,0(6)有以下程序main() int i=1,j=2,k=3; if(i+=1&(+j=3|k+=3) printf(%d %d %dn,i,j,k);程序运行后的输出结果是 A)1 2 3B)2 3 4C)2 2
42、 3D)2 3 3(7)若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|10的是A) abs(x-y)-10& x-y10C) (x-y)10 D) (x-y)*(x-y)b) if(bc) printf(%d,d+ +1); else printf(%d,+d +1); printf(%dn,d);程序运行后的输出结果是A) 2 B) 3 C) 43 D) 44 (9)下列条件语句中,功能与其他语句不同的是A) if(a) printf(%dn,x); else printf(%dn,y);B) if(a=0) printf(%dn,y); else printf(%dn,x)
43、;C) if (a!=0) printf(%dn,x); else printf(%dn,y);D) if(a=0) printf(%dn,x); else printf(%dn,y); (10)以下4个选项中,不能看作一条语句的是A) ; B) a=0,b=0,c=0; C) if(a0); D) if(b=0) m=1;n=2;(11)以下程序段中与语句k=ab?(bc?1:0):0;功能等价的是A) if(aB) &(bC) ) k=1; B) if(aB) |(bC) ) k=1else k=0;C) if(aB) k=1; else if(bC) k=1; else k=0; (12
44、) 有以下程序main()int a=1,b=2,m=0,n=0,k;k=(n=ba)|(m=ab);printf(%d,%dn,k,m);程序运行后的输出结果是A) 0,0 B) 0,1 C) 1,0 D) 1,1(13) 有定义语句:int a=1,b=2,c=3,x; 则以下选项中各程序段执行后,x的值不为3的是A) if (ca) x=1; B) if (a3) x=3;else if (ba) x=2; else if (a2) x=2;else x=3; else x=1;C) if (a3) x=3; D) if (ab) x=b;if (a2) x=2; if (bc) x=c
45、;if (a1) x=1; if (cbc)printf(%dn,d); else if(c-1=d)=1)printf(%dn,d+1); elseprintf(%dn,d+2)执行后输出结果是A) 2 B) 3 C) 4 D) 编译时有错,无结果(16) 已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 & y+z/2的值是A) B) C) D) (17) 有一函数, ,以下程序段中不能根据值正确计算出值的是A) if(x0) y=1; B) y=0;else if(x=0) y=0; if(x0) y=1;else y=-1; else if(x=0)if(x=0
46、); if(x0) y=1;if(x0) y=1 ; else y=0;else y=-1; else y=-1;(18) 有以下程序main() int a=15,b=21,m=0;switch(a%3) case 0:m+;break;case 1:m+;switch(b%2) default:m+;case 0:m+;break;printf(“%dn”,m); 程序运行后的输出结果是A) 1 B) 2 C) 3 D) 4(19) 以下程序的输出结果是main() int a=5,b=4,c=6,d;printf(%dn,d=ab?(ac?a:c):(b);A) 5 B) 4 C) 6
47、D) 不确定(20) 以下程序的输出结果是main() int a=4,b=5,c=0,d;d=!a&!b|!c;printf(%dn,d); A) 1 B) 0 C) 非0的数 D) -1(21) 设 a、b、C、d、m、n均为 int型变量,且 a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式 (m=ab)&(n=cd)运算后,n的值位为A) 0 B) 1 C)2 D) 3(22) 阅读以下程序:main() int x;scanf(“%d”,&x);if(x-5) printf(“%d”x);else printf(“%d”x+);程序运行后,如果从键盘上输人5,则输出结果是
48、A)3 B) 4 C) 5 D) 6(23) 假定w、x、y、z、m均为int型变量,有如下程序段:w=1; x=2; y=3; z=4;m=(wx)?w; x; m=(my)?m;y; m=(mz)?m; z;则该程序运行后,m的值是A) 4 B) 3 C) 2 D) 2(24) 设x、y、t均为int型变量,则执行语句:x=y=3;t=+x|+y;后,y的值为A) 不定值 B) 4 C) 3 D) 1(25) 若执行以下程序时从键盘上输入9,则输出结果是A) 11 B) 10 C) 9 D) 8Main0 int n; scanf(“%d”,&n); if(n+=10 or a=0|a=1
49、0 &a=10a=0(28) 有如下程序main0 int x=1,a=0,b=0;switch(x)case 0: b+;case 1: a+case 2: a+;b+printf(“a=%d,b=%dn”,a,b);该程序的输出结果是A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2(29) 有如下程序 main0 float x=2.0,y;if(x0.0) y=0.0;else if(x10.0) y=1.0/x;else y=1.0;printf(“%fn”,y);该程序的输出结果是A) 0.000000 B) 0.250000 C) 0.5000
50、00 D) 1.000000(30) 有如下程序main0 int a=2,b=-1,c=2;if(ab)if(b0?1:x0) y=1; B) if(x) else if(x0)y=1; else y=0; else if(x=0) if(x0)y=1; if(x0)y=1; else if(x=0)y=0; else y=-1; else y=-1; (33) 语句:printf(%d,(a=2)&(b= -2);的输出结果是 A) 无输出 B) 结果不确定 C) -1 D) 1(34) 当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是 A) c=b=a; B) (a=c)
51、(b=c) ; C) (a=c) &(b=c); C) a=c=b;(35) 能正确表示a和b同时为正或同时为负的逻辑表达式是 A) (a=0b=0)&(a0b=0&b=0)&(a0&b0)&(a+b0(36) 以下程序的输出结果是 A) -1 1 B) 0 1 C) 1 0 D) 0 0 main( ) int a= -1,b=1,k; if(+a0)& ! (b- 5) printf(%dn,m); esle printf(%dn,m- -); (38) 当a=1,b=3,c=5,d=5时,执行下面一段程序后,x的值为A) 1 B) 2 C) 3 D) 6 if(ab) if(cd) x=
52、1; else if(ac) if(bd) x=2; else x=3; else x=6; else x=7;(39) 表示关系x=y=z的c语言表达式为A) (X=Y)&(Y=Z) B) (X=Y)AND(Y=Z)C) (X=Y=Z) D) (X=Y)&(Y15D)!(a=15) (42) 若有以下定义: float x;int a,b;则正确的switch 语句是A)switch(x) B)switch(x) case1.0:printf(*n); case1,2:printf(*n);case2.0:printf(*n); case3:printf(*n); C)switch (a+b
53、) D)switch (a+b); case 1:printf(n); case 1:printf(.*n);case 1+2:printf(*n); case 2:printf(*n); (43) 假定所有变量均已正确说明,下列程序段运行后x的值是 a=b=c=0;x=35; if(!a)x-; else if(b); if(c)x=3; else x=4;A)34 B)4 C)35 D)3(44) 在以下一组运算符中,优先级最高的运算符是A)=10 or a=10a=10a=10 a=y)&(y=z) B(x=y)AND(y=z) C)(x=y=z) D)(x=y)&(y=z)(49) 两
54、次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是main( ) int x;scanf(%d,&x);if(x + + 5) printf(%d,x);else printf(%dn,x - -); A) 7和5 B) 6和3 C) 7和4 D) 6和4(50) 以下程序的输出结果是main( ) int a=-1,b=4,k;k=(+ +a0)&!(b - -=0);printf(%d%d%dn,k,a,b); A) 104 B) 103 C) 003 D) 004(51) 下面的程序A) 有语法错误不能通过编译B) 输出* * * *。C) 可以通过编译,但是不能通过连接,因而不
55、能运行。D) 输出# # # #。main() int x=3,y=0,z=0;if(x=y+z)printf(* * * *);else printf(# # # #);(52) 若执行下面的程序时从键盘上输入5,则输出是A) 7 B) 6 C) 5 D) 4main() int x;scanf(%d,&x);if(x+5) printf(%dn,x);else printf(%dn,x-);(53) 下面程序的输出是A) 0 0 3 B) 0 1 2 C) 1 0 3 D) 1 1 2main() int a=-1, b=4,k;k=(a+=0)&(!(b-=0);printf(%d %d
56、 %dn,k,a,b);(54) 下面的程序片段所表示的数学函数关系是上面程序片段的输出结果是 -1(x0) 1 (x0) 0 (x0) 0 (x0) -1(x0) 0 (x0)y=-1;if(x!=0) if(x0) y=1; else y=0(55) 下面程序的输出是A) -1 B) 0 C) 1 D) 不确定的值main() int x=100, a=10, b=20, ok1=5, ok2=0;if(ab)if(b!=15)if(! ok1)x=1;elseif(ok2)x=10;x=-1;printf(%dn,x);(56) 设a、b和c都是int型变量,且a=3,b=4,c=5,则
57、下面的表达式中,值为0的表达式是A) a&b B) a=b C) a|b+c&b-c D) !(ab)&!c|1)(57) 请读程序:#includemain() float x,y;scan(%f,&x);if(x0.0) y=0.0else if(x5.0)&(x!=2.0)y=1.0/(x+2.0);else if (x10.0) y=1.0/x;else y=10.0;printf(%fn,y);若运行时从键盘上输入2.0(表示回车),则上面程序的输出结果是A) 0.000000 B) 0.250000 C) 0.500000 D) 1.000000(58) 请读程序:#include
58、main() int x=1, y=0, a=0, b=0;switch(x) case 1:switch(y) case 0: a+;break;case 1: b+;break;case 2:a+; b+; break;printf(a=%d, b=%dn,a,b);上面程序的输出结果是A) a=2, b=1 B) a=1, b=1 C) a=1, b=0 D) a=2, b=2(59)以下程序的输出结果是【59】 。# includemain() int a ,b,d=241; a=d/100%9; b=(-1)&(-1); printf(%d,%dn,a,b); A) 6,1 B) 2
59、,1 C) 6,0 D) 2,0(60) 若k是int型变量,且有下面的程序片段:k=-3if(k=0) printf(#)else printf(&);上面程序片段的输出结果是A) # B) & C) #& D) 有语法错误,无输出结果二、填空题(1)以下程序运行后的输出结果是 【1】 。 main() int a=1,b=2,c=3; if(c=a) printf(%dn,c); else printf(%dn,b); (2)以下程序运行后的输出结果是 main() int a=3,b=4,c=5,t=99; if(ba&ac) t=a;a=c;c=t; if(ac&bc) t=b;b=a
60、;a=t; printf(%d%d%dn,a,b,c);(3)以下程序运行后的输出结果是 main() int a,b,c a=10;b=20;c=(a%b1); printf(%d %d %dn,a,b,c);(4)以下程序运行后的输出结果是 【4】 。main() int x=1,y=0,a=0,b=0; switch(x) case 1:switch(y) case 0:a+; break; case 1:b+; break; case 2:a+;b+; break; printf(%d %dn,a,b);(5)有以下程序main( ) int n=0,m=1,x=2; if(!n) x
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 骨科患者营养状况评估
- 辽宁省沈阳市铁西区达标名校2026届初三5月月考(物理试题理)试题含解析
- 河南省林州市第七中学2025-2026学年初三4月质量检测试题物理试题含解析
- 河南省2025-2026学年初三押题信息卷物理试题(三)含解析
- 广东省高州市谢鸡镇达标名校2026届初三第一次调研考试数学试题含解析
- 骨科手术前后护理
- 湖北省黄石市阳新一中卓越联盟2026年中考物理试题命题比赛模拟试卷(27)含解析
- 腹泻时小儿的心理护理
- 老年骨质疏松症患者的运动康复
- 智研咨询发布-2026年中国颈椎病用药行业现状、发展环境及投资前景分析报告
- 2025年《AI原生应用架构白皮书》解读
- 吊装安全培训课件
- 2025年临床执业助理医师资格考试真题试卷(+答案)
- 医院门诊服务流程优化与提升策略
- 医院申报重点专科汇报
- 机器人焊接质量监控创新创业项目商业计划书
- 学校章程修订会议记录范文
- 火电厂新员工培训课件
- 天然药物生物转化
- 肿瘤的治疗与预防
- 《形势与政策(2026版)》期末考试满分题库
评论
0/150
提交评论