为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

C语言题

2011-12-19 50页 doc 198KB 88阅读

用户头像

is_656940

暂无简介

举报
C语言题1.C语言源程序名的后缀是 A) .exe B) .C C) .obj D) .cp 答案:B 2.下列叙述中错误的是 A) 一个C语言程序只能实现一种算法 B) C程序可以由多个程序文件组成 C) C程序可以由一个或多个函数组成 D) 一个C函数可以单独作为一个C程序文件存在 答案:A 3.下列选项中不符合良好程序设计风格的是 A) 源程序要文档化 B) 数据说明的次序要规范化 C) 避免滥用goto语句 D) 模块设计要保证高耦合、高内聚 答案:D 4.C语言程序的基本单位是: A) ...
C语言题
1.C语言源程序名的后缀是 A) .exe B) .C C) .obj D) .cp 答案:B 2.下列叙述中错误的是 A) 一个C语言程序只能实现一种算法 B) C程序可以由多个程序文件组成 C) C程序可以由一个或多个函数组成 D) 一个C函数可以单独作为一个C程序文件存在 答案:A 3.下列选项中不符合良好程序风格的是 A) 源程序要文档化 B) 数据说明的次序要规范化 C) 避免滥用goto语句 D) 模块设计要保证高耦合、高内聚 答案:D 4.C语言程序的基本单位是: A) 语句 B) 程序行 C) 函数 D) 字符 答案:C 5.下列叙述中正确的是 A) C语言编译时不检查语法 B) C语言的子程序有过程和函数两种 C) C语言的函数可以嵌套定义 D) C语言所有函数都是外部函数 答案:D 6.下列叙述中正确的是 A) 每个C程序文件中都必须要有一个main()函数 B) 在C程序中main()函数的位置是固定的 C) C程序中所有函数之间都可以相互调用,与函数所在位置无关 D) 在C程序的函数中不能定义另一个函数 答案:D 7.对下述程序,( )是正确的判断。 程序5-7:P5-7.C #include main() { int x,y; scanf("%d,%d",&x,&y); if(x>y) x=y; y=x; else x++; y++; printf("%d,%d",&x,&y); } A) 有语法错误,不能通过编译 B) 若输入数据3和4,则输出4和5 C) 若输入数据4和3,则输出3和4 D) 若输入数据4和3,则输出4和4 答案:A 8.下列选项中,合法的C语言关键字是 A) VAR B) cher C) integer D) default 答案:D 9.下列选项中不属于算法的特性的是( )。 A) 确定性 B) 可行性 C) 有输出 D) 无穷性 答案:D 10.下面描述中,符合结构化程序设计风格的是 A) 使用顺序、选择和重复(循环)三种基本控制结构示程序的控制逻辑 B) 模块只有一个入口,可以有多个出口 C) 注重提高程序的执行效率 D) 不使用goto语句 答案:A 11.下选项中不是C语句的是( )。 A) {int I; I++; printf(“%d\n”,I);} B) ; C) a=5,c=10 D) { ; } 答案:C 12.以下4个选项中,不能看作一条语句的是 A) {;} B) a=0,b=0,c=0; C) if(a>0); D) if(b==0) m=1;n=2;(两条) 答案:D 13.对下述程序执行结果的判断中,正确的是( )。 #include void main() { int x; for(x=1;x<=100;x++) if(++x%2==0) if(++x%3==0) if(++x%5==0) printf("%d,",x); } A) 输出31,61,91 B) 输出30,60,90 C) 不输出任何 D) 输出29,59,89 答案:C 14.对于一个正常运行的C程序,以下叙述中正确的是 A) 程序的执行总是从main函数开始,在main函数结束 B) 程序的执行总是从程序的第一个函数开始,在main函数结束 C) 程序的执行总是从main函数开始,在程序的最后一个函数中结束 D) 程序的执行总是从程序中的第一个函数开始,在程序的最后一个函数中结束 答案:A 15.以下说法中正确的是( )。 A) C语言程序总是从第一个的函数开始执行 B) 在C语言程序中,要调用的函数必须在main()函数中定义 C) C语言程序总是从main()函数开始执行 D) C语言程序中的main()函数必须放在程序的开始部分 答案:C 16.C语言中,用户能使用的合法标志符是( 这是为啥呢? )。 A) a,b void a123 B) -xyz define s(x) C) fa2 sort_a string D) 5i x.I mal0loc 答案:C 17.按照C语言规定的用户符命名规则,不能出现在标识符中的是 A) 大写字母 B) 连接符 C) 数字字符 D) 下划线 答案:B 18.编制一个好的程序,首先要保证它的正确性和可靠性,还应强调良好的编程风格,在选择标识符的名字时应考虑( )。 A) 名字长度越短越好,以减少源程序的输入量 B) 多个变量共用一个名字,以减少变量名的数目 C) 选择含义明确的名字,以正确提示所代表的实体 D) 尽量用关键字作名字,以使名字标准化 答案:C 19.ASCLL码(含扩展)可以用一个字节表示,则可以表示的ASCLL码值个数为 A) 1024 B) 256 C) 128 D) 80 答案:B 20.C语言提供的合法的数据类型关键字是( ) A) Double B) short C) integer D) Char 答案:B 21.C语言中最简单的数据类型包括____ A) 整型、实型、逻辑型 B) 整型、实型、字符型 C) 整型、字符型、逻辑型 D) 整型、实型、逻辑型、字符型 答案:B 22.以下选项中,合法的一组C语言数值常量是 A) 028 .5e-3 -0xf B) 12. 0Xa23 4.5e0 C) .177 4e1.5 0abc D) 0x8A 10,000 3.e5 答案:B 23.若x,a,b和c均是int型变量,则执行表达式x=(a=1,b=2)后x的结果为( )。 A) 1 B) 2 C) 3 D) 不确定 答案:B 24.若有以下程序段 int m=0xabc,n=0xabc; m-=n; printf("%X\n",m); 执行后输出结果是( ) A) 0X0 B) 0x0 C) 0 D) 0XABC 答案:C 25.以下能正确定义整型变量a,b和c并为其赋初值1的语句是( )。 A) int a=b=c=1; B) int a,b,c=1; C) a=b=c=1; D) int a=1,b=1,c=1; 答案:D 26.变量a已被定义为整型,下列表达式不正确的是 A) a='A'+20 B) a-='a' C) a=c+d D) a='c'+'d' 答案:C 27.请读程序 int i =65536; printf("%d\n",i); 上面程序在TC中的输出结果是( ) A) 65535 B) 0 C) 有语法错误,无输出结果 D) 1 答案:B 28.若有以下程序段(n所赋的是八进制数) int m=32767,n=032767; printf("%d,%o\n",m,n); 执行后输出结果是( ) A) 32767,32767 B) 32767,032767 C) 32767,77777 D) 32767,077777 答案:A 29.设在TC中,一个int 型数据在内存中占2个字节,则unsigned int 型数据的取值范围为: A) 0-255 B) 1-32767 C) 0-65535 D) 0-2147483647 答案:C 30.以下关于long、int和short类型数据占用内存大小的叙述中正确的是 A) 均占4个字节 B) 根据数据的大小来决定所占内存的字节数 C) 由用户自己定义 D) 由C语言编译系统决定 答案:D 31.有以下程序 main() { unsigned int a; int b=-1; a=b; printf("%u",a); } 程序运行后的输出结果是 A) -1 B) 65535 C) 32767 D) -32768 答案:B 32.下面四个选项中,均是合法浮点数的选项是: A) +1e+1 5e-9.4 03e2 B) -.60 12e-4 -8e5 C) 123e 1.2e-.4 +2e-.4 D) -e3 .8e-4 5.e-0 答案:B 33.以下符合C语言语法的实型常量是 A) 1.2E0.5 B) 3.14159E C) 5E-3 D) E15 答案:C 34.以下所列的C语言常量中,错误的是 A) 0xFF B) 1.2e0.5 C) 2L D) '\72' 答案:B 35.假定x和y为double型,则表达式x=2,y=x+3/2的值是 A) 3.500000 B) 3 C) 2.000000 D) 3.000000 答案:D 36.设变量x为f1oat型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是 A) x=x*100+0.5/100.0; B) x=(x*100+0.5)/100.0; C) x=(int)(x*100+0.5)/100.0; D) x=(x/100+0.5)*100.0; 答案:C 37.以下变量x、y、z均为double类型且已正确赋值,不能正确表示数学式子 的C语言表达式是 A) x/y*z B) x*(1/(y*z)) C) x/y*1/z D) x/y/z 答案:A 38.已有定义:char c; ,程序前面已在命令行中包含ctype.h文件。不能用于判断c中的字符是否为大写字母的表达式是 A) isupper(c) B) 'A'<=c<='Z' C) 'A'<=c&& c <='Z' D) c <=('z'-32)&&('a'-32)<= c 答案:B 39.已有定义:char a[]="xyz", b[]={'x', 'y', 'z'}; ,以下叙述中正确的是 A) 数组a和b的长度相同 B) a数组长度小于b数组长度 C) a数组长度大于b数组长度 D) 以述说法都不对 答案:C 40.以下关于字符串的叙述中正确的是 A) C语言中有字符串类型的常量和变量 B) 两个字符串中的字符个数相同时才能进行字符串大小的比较 C) 可以用关系运算符对字符串的大小进行比较 D) 空串一定比空格打头的字符串小 答案:D 41.下面不正确的字符常量为( )。 A) "n" B) '\\' C) 'L' D) ' ' 答案:A 42.下面不正确的字符串常量是: A) 'abc' B) "1212" C) "0" D) " " 答案:A 43.已定义c为字符型变量,则下列语句中正确的是 A) c = '97'; B) c = "97"; C) c = 97; D) c = "a"; 答案:C 44. 以下语句的输出结果是( )。 printf("%d\n",strlen("\t\"\065\xff\n)); A) 5 B) 14 C) 8 D) 输出项不合法,无正常输出 答案:A 45.C语言中合法的字符常量是( ) A) '\084' B) '\X43' C) 'ab' D) "\0" 答案:B 46.设有定义语句:char b= '\123';则变量b A) 包括4个字符 B) 包括3个字符 C) 包括2个字符 D) 包括一个字符 答案:D 47.数字字符0的ASCII值为48,若有以下程序 main() { char a='1',b='2'; printf("%c,",b++); printf("%d\n",b-a); } 程序运行后的输出结果是 A) 3,2 B) 50,2 C) 2,2 D) 2,50 答案:C 48.已定义ch为字符型变量,以下赋值语句中错误的是 A) ch='\'; B) ch=62+3; C) ch=NULL; D) ch='\xaa'; 答案:A 49.已知字符'A'的ASCII代码值是65,字符变量c1的值是'A',c2的值是'D'。执行语句printf("%d, %d", c1, c2-2 ); 后,输出结果是 A) A,B B) A,68 C) 65,66 D) 65,68 答案:C 50.对两个静态函数A和B进行如下初始化: static char A[]="ABCDEF"; static char B[]={'A','B','C','D','E','F'}; 则下列叙述正确的是( )。 A) A和B完全相同 B) A和B只是长度相等 C) A和B不相同,A是指针数组 D) A数组长度比B数组长 答案:D 51.若有定义语句:char s[10]="1234567\0\0";,则strlen(s)的值是( ) A) 7 B) 8 C) 9 D) 10 答案:A 52.下列选项中正确的语句是 A) char s[8];s={"Bei jing"}; B) char *s;s ={"Bei jing"}; C) char s [8];s="Bei jing"; D) char *s;s ="Bei jing"; 答案:D 53.C语言中各种基本数据类型的存储空间长度排列为( )。 A) char≤long≤int≤float≤double B) double≤float≤long≤int≤char C) char≤int≤long≤float≤double D) float≤int≤long≤char≤double 答案:C 54.若有以下定义: char a;int b; float c;double d; 则表达式a*b+d-c值的类型为( ) A) float B) int C) char D) double 答案:D 55.C语言中,运作对象必须是整型数据的运算符是( )。 A) % B) \ C) %和\ D) ** 答案:A 56.若变量a、i已正确定义,且i已正确赋值,则正确的赋值语句是( ) A) a==1 B) ++i; C) a=a++=5; D) a=int(i); 答案:B 57.若变量已正确定义并赋值,下面符合C语言语法的表达式是( ) A) a:=b+1 B) a=b=c+2 C) int 18.5%3 D) a=a+7=c+b 答案:B 58.表达式3.6-5/2+1.2+5%2的值是 A) 4.3 B) 4.8 C) 3.3 D) 3.8 答案:D 59.如果假设 a=2,b=3,x=3.5,y=2.5 那么下面的算术表达式的值是( )。 (float)(a+b)/2+(int)x%(int)y A) 2 B) 3 C) 3.5 D) 2.5 答案:C 60.若变量x、y已正确定义并赋值,以下正确的表达式是 ( ) A) ++x,y=x-- B) x+1=y C) x=x+10=x+y D) double(x)/10 答案:A 61.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是( ) A) -3 B) 9 C) -12 D) 6 答案:C 62.若已定义X和Y为double型,则表达式:x=1,y=x+3/2的值是( ) A) 1 B) 2 C) 2.0 D) 2.5 答案:C 63.若有定义:int a=8,b=5,c;,执行语句c=a/b+0.4;后,c的值为( ) A) 1.4 B) 1 C) 2.0 D) 2 答案:B 64.假定有以下变量定义: int k=7,x=12; 则能使值为3的表达式是 A) x%=(k%=5) B) x%=(k-k%5) C) x%=k-k%5 D) (x%=k)-(k%=5) 答案:D 65.在C语言中,要求运算数必须是整型的运算符是( )。 A) / B) ++ C) != D) % 答案:D 66.表达式:(int)((double)9/2)-(9)%2的值是( ) A) 0 B) 3 C) 4 D) 5 答案:B 67.设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是 A) 6.500000 B) 6 C) 5.500000 D) 6.000000 答案:D 68.若有说明和语句: int a=5; a++; 此处表达式a++的值是( ) A) 7 B) 6 C) 5 D) 4 答案:C 69.若有以下说明和语名: int a=5 a++; 此处表达式a++的值是( )_ A) 7 B) 6 C) 5 D) 4 答案:C 70.设x、y均为int型变量,且x=10 y=3,则以下语句的输出结果是 printf("%d,%d\n",x--,--y); A) 10,3 B) 9,3 C) 9,2 D) 10,2 答案:D 71.设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为 A) 0 B) 1 C) 2 D) 3 答案:C 72.设int a=12,则执行完语句a+=a-=a*a后,a的值是( )__ A) 522 B) 264 C) 144 D) -264 答案:D 73.设int a=12,则执行完语句a+=a-=a*a后,a的值是( )__ A) 522 B) 264 C) 144 D) -264 答案:D 74.若a、b、c、d都是int类型变量且初值为0,以下选项中不正确的赋值语句是( )。 A) a=b=c=100; B) d++; C) c+b; D) d=(c=22)-(b++); 答案:C 75.若变量均已正确定义并赋值,以下正确的C语言赋值语句是( ) A) x=y==5; B) x=n%2.5; C) x+n=i; D) x=5=4+1; 答案:A 76.若变量已正确定义,要将a和b中的数进行交换,下面不正确的语句组是( )。 A) a=a+b,b+a-b,a=a-b; B) t=a,a=b,b=t; C) a=t; t=b; b=a; D) t=b; b=a; a=t; 答案:C 77.表达式:10!=9的值是( ) A) true B) 非零值 C) 0 D) 1 答案:D 78.当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是 A) k%2 B) k%2==1 C) (k%2)!=0 D) !k%2==1 答案:D 79.能正确表示逻辑关系“a>=10或a<=0”的C语言表达式是 A) a>=10 or a=10 B) a>=0|a<=10 C) a>=10&&a<=0 D) a>=10||a<=0 答案:D 80.表达式1||2||3||4的值是( )。 A) 1 B) 2 C) 3 D) 4 答案:A 81.表示关系x≤y≤z的c语言表达式为 A) (X<=Y)&&(Y<=Z) B) (X<=Y)AND(Y<=Z) C) (X<=Y<=Z) D) (X<=Y)&(Y<=Z) 答案:A 82.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是 A) c=b=a; B) (a=c) ‖(b=c) ; C) (a=c) &&(b=c); D) a=c=b; 答案:C 83.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是( )。 A) 7 B) 8 C) 6 D) 2 答案:B 84.若t为double类型,表达式t=1,t+5,t++的值是( ) A) 1 B) 6.0 C) 2.0 D) 1.0 答案:D 85.若x和y都是int型变量,x=100,y=200,且有下面的程序片段: printf("%d",(x,y)); 上面程序片段的输出结果是( ) A) 200 B) 100 C) 100 200 D) 输出格式符不够,输出不确定的值 答案:A 86.假定w、x、y、z、m均为int型变量,有如下程序段: w=1; x=2; y=3; z=4; m=(w0) B) (x-y<0) C) (x-y<0||x-y>0) D) (x-y==0) 答案:C 89.sizeof(double)是 A) 一种函数调用 B) 一个双精度型表达式 C) 一个整型表达式 D) 一个不合法的表达式 答案:C 90.sizeof(float)的值是: A) int型 B) float 型 C) double型 D) 不确定 答案:A 91.sizeof(float)的值是() A) 1 B) 2 C) 4 D) 8 答案:C 92.下述程序输出的结果是( )。 #include main() { char ch[7]={"65ab21"}; int I,s=0; for(I=0;ch[I]>='0'&&ch[I]<='9';I+=2) s=10*s+ch[I]-'0'; printf("%d\n",s); } A) 12ba56 B) 6521 C) 6 D) 62 答案:B 93.下述程序输出的结果是( )。 #include main() { char s[]="-12345"; int k=0,sign,m; if(s[k]=='+'||s[k]=='-') sign=s[k++]=='+'?1:-1; for(m=0;s[k]>='0'&&s[k]<='9';k++) m=m*10+s[k]-'0';//同理‘b’-‘a’ printf("Result=%d",sign*m); } A) Result=-12345 B) Result=12345 C) Result=-10000 D) Result=10000 答案:A 94.有以下程序 main() {  int a=666,b=888; printf("%d\n",a,b); } 程序运行后的输出结果是( ) A) 错误信息 B) 666 C) 888 D) 666,888 答案:B 95.当用户要求输入的字符串中含有空格时,应使用的输入函数是 A) scanf() B) getchar() C) gets() D) getc() 答案:C 96.读程序 #include main() { int a; float b,c; scanf("2d%3f%4f",&a,&b,&c); printf("\na=%d,b=%f,c=%f\n",a,b,c); } 若运行时从键盘上输入9876543210(表示回车),则上面程序的输出结果是( ) A) a=98,b=765,c=4321 B) a=1,b=432,c=8765 C) a=98,b=765.000000,c=4321.000000 D) a=98,b=765.0,c=4321.0 答案:C 97.请读程序: #include main() { int a; float b, c; scanf("%2d%3f%4f",&a,&b,&c); printf("\na=%d, b=%f, c=%f\n", 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 答案:C 98.若有以下定义和语句: char c1='b',c2='e'; printf("%d,%c\n",c2-c1,c2-'a'+'A') 则输出结果是( ) A) 2,M B) 3,E C) 2,e D) 输出结果不确定 答案:B 99.若有以下定义和语句: int u=010,v=0x10,w=10; printf("%d,%d,%d\n,u,v,w); 则输出结果是( ) A) 8,16,10 B) 10,10,10 C) 8,8,10 D) 8,10,10 答案:A 100.设c1,c2均是char类型变量,则以下不正确的函数调用为( )。 A) printf("%c,%c",c1,c2); B) getchar(c1); C) putchar("\"); D) putchar(c1); 答案:B 101.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); 答案:B 102.对于下述语句,若将10赋给变量k1和k3,将20赋给变量k2和k4,则应按方式( )输入数据。 int k1,k2,k3,k4; scanf("%d%d",&k1,&k2); scanf("%d,%d",&k3,&k4); A) 1020↙ 1020↙ B) 10 20↙ 10 20↙ C) 10,20↙ 10,20↙ D) 10 20↙ 10,20↙ 答案:D 103.若x为int型变量,y是float型变量,输入语句格式为: scanf("x=%d,y=%f",&x,&y) 则为使x=20,y=166.6,正确的输入是( )。 A) 20 166.6 <回车> B) x=20,y=166.6 <回车> C) 20 <回车> 166.6 <回车> D) 20,166.6 <回车> 答案:B 104. 请读下面的程序。 程序7-30:P7-30.c #include main() { int a,b; for(a=1,b=1;a<=100;++) { if(b>=20) break; if(b%3==1) { b+=3; continue; } b-=5; } printf("%d\n",a); } 上面程序的输出结果是( )。 A) 7 B) 8 C) 9 D) 10 答案:B 105.C语言中用于结构化程序设计的三种基本结构是 A) 顺序结构、选择结构、循环结构 B) if、switch、break C) for、while、do-while D) if、for、continue 答案:A 106.下述程序的输出结果是( )。 #include main() { int x=7,y=5,z=1; do { if(!(z%x)) if(!(z%y)) { printf("%d",z); break; } z++; } while(z!=0); } A) 70 B) 35 C) 105 D) 140 答案:B 107.若执行下面的程序时从键盘上输入5,则输出是( )。 #include main() { int x; scanf("%d",&x); if(x++>5) printf("%d\n",x); else printf("%d\n",x--); } A) 7 B) 6 C) 5 D) 4 答案:B 108.若执行下述程序时,从键盘输入的数据是3和4,则程序的输出结果是( )。 #include void main() { int a,b,s; scanf("%d%d",&a,&b); s=a; if(ay && y!=0); C) if (x>0) x-- else y++; D) if (y<0) {;} else x++; 答案:C 110.若变量己正确定义,有以下程序段 int a=3, b=5, c=7; if (a>b) a=b; c=a; if (c!=a) c=b; printf("%d,%d,%d\n", a, b, c); 其输出结果是 ( ) A) 程序段有语法错 B) 3,5,3 C) 3,5,5 D) 3,5,7 答案:B 111.若执行下面的程序从键盘输入3和4,则输出是( )____ main() { int a,b,s; scanf("%d%d",&a,&b); s=a; if (a5) printf("%d\n",x); else printf("%d\n",x--);} A) 7 B) 6 C) 5 D) 4 答案:B 113.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是( ) main() { int x; scanf("%d",&x); if (x++>5) printf("%d",x) else printf("%d\n",x--); } A) 7和5 B) 6和3 C) 7和4 D) 6和4 答案:A 114.若k是int型变量,且有下面的程序片段: k=-3 if(k<=0) printf("####") else printf("&&&&"); 上面程序片段的输出结果是 A) #### B) &&&& C) ####&&&& D) 有语法错误,无输出结果 答案:D 115.若执行以下程序时从键盘上输入9,则输出结果是 main() { int n; scanf("%d",&n); if(n++<10) printf("%d\n",n); else printf("%d\n",n--); } A) 11 B) 10 C) 9 D) 8 答案:B 116.当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是( ) if (a5) if(j>100) if(k>11) x=3; else x=4; else x=5; 后x的值是( )。 A) 0 B) 3 C) 4 D) 5 答案:D 119.请读程序: #include 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=%d\n"",a,b); } 上面程序的输出结果是( ) A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2 答案:A 120.若a、b、c1、c2、x、y、均是整型变量,正确的switch语句是 A) switch(a+b); { case 1:y=a+b; break; case 0:y=a-b; break; } B) switch(a*a+b*b) { case 3: case 1:y=a+b;break; case 3:y=b-a;break; } C) switch a { case c1 :y=a-b; break case c2: x=a*b; break default:x=a+b; } D) switch(a-b) { default:y=a*b;break case 3:case 4:x=a+b;break case 10:case 11:y=a-b;break; } 答案:D 121.若有定义:float x=1.5; int a=1,b=3,c=2; 则正确的switch语句是 ( ) A) switch(x) { case 1.0: printf("*\n"); case 2.0: printf("**\n"); } B) switch((int)x); { case 1: printf("*\n"); case 2: printf("**\n"); } C) switch(a+b) { case 1: printf("*\n"); case 2+1: printf("**\n"); } D) switch(a+b) { case 1: printf("*\n"); case c: printf("**\n"); } 答案:C 122.对于下面①,②两个循环语句,( )是正确的描述。 ① while(1); ② for( ; ; ); A) ①②都是无限循环 B) ①是无限循环,②错误 C) ①循环一次,②错误 D) ①②皆错误 答案:A 123.若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是( ) A) for(i=1, p=1; i<=5; i++) p*=i; B) for(i=1; i<=5;i++){ p=1; p*=i; } C) i=1; p=1; while(i<=5){ p*=i; i++;} D) i=1;p=1;do{p*=i; i++; } while(i<=5) 答案:B 124.下面程序的输出是( )_ main() {int x=3,y=6,a=0; while (x++!=(y-=1)) { a+=1; if (y7) { n--; printf("%d ",n); } A) 10 9 8 B) 9 8 7 C) 10 9 8 7 D) 9 8 7 6 答案:B 127.读程序: main() { int num=0; while (num<=2) { num++; printf("%d ",num);} } 上面程序的输出结果是( ) A) 1 B) 2 2 C) 1 2 3 D) 1 2 3 4 答案:C 128.当执行以下程序段时 x=-1; do { x=x*x;} while(!x); A) 循环体将执行一次 B) 循环体将执行两次 C) 循环体将执行无限次 D) 系统将提示有语法错误 答案:A 129.假定a和b为int型变量,则执行以下语句后b的值为 a=1;b=10; do {b-=a;a++;} while(b--<0); A) 9 B) -2 C) -1 D) 8 答案:D 130.如下程序的执行结果是( ) main() { int x=23; do {printf("%d",x--);} while(!x); } A) 321 B) 23 C) 不输出任何内容 D) 陷入死循环 答案:B 131.对for(表达式1; ; 表达式3)可理解为( )。 A) for(表达式1;0;表达式3) B) for(表达式1;1;表达式3) C) for(表达式1;表达式1;表达式3) D) for(表达式1;表达式3;表达式3) 答案:B 132.对于下述for循环语句,说法正确的是( )。 int I,k; for(I=0,k=-1;k=1;I++,k++) printf("***"); A) 判断循环结束的条件非法 B) 是无限循环 C) 只循环一次 D) 一次也不循环 答案:B 133.设I,x都是int类型,则下面的for循环体可执行( )次。 For(I=0,x=0;I<=9&&x!=876;I++) printf("*"); A) 9次 B) 876次 C) 10次 D) 无限循环 答案:C 134.若i,j已经定义为int类型,则以下程序段中内循环总的执行次数是( ) for (i=5;i>0;i--) for (j=0;j<4;j++) {...} A) 20 B) 24 C) 25 D) 30 答案:A 135.若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是( ) for (i=5 ; i ; i --) for(j=0 ; j<4 ; j++){...} A) 20 B) 25 C) 24 D) 30 答案:A 136.下面程序的功能是输出以下形式的金字塔图案: * *** ***** ******* main() { int i,j; for(i=1;i<=4;i++) { for(j=1;j<=4-i;j++)printf(" "); for(j=1;j<=( );j++)printf("*"); printf("\n"); } } 在下划线处应填入的是 A) i B) 2*i-1 C) 2*i+1 D) i+2 答案:B 137.设x和y均为int型变量,则执行下的循环后,y值是( ) for(y=1,x=1;y<=50;y++) { if(x>=10))break; if (x%2= =1) { x+=5; continue;} x-=3; } A) 2 B) 4 C) 6 D) 8 答案:C 138.设x和y均为int型变量,则执行下的循环后,y值为 for(y=1,x=1;y<=50;y++) { if(x>=10)break; if(x%2==1){x+=5;continue;} x-=3; } A) 2 B) 4 C) 6 D) 8 答案:C 139.下面程序的输出是 main() { int y=9; for( ; y>0; y--) { if(y%3==0) { printf("%d", --y);continue;} } } A) 741 B) 852 C) 963 D) 875421 答案:B 140.C语言中的循环语句有for,while,do-while,还有一个是( )。 A) if B) switch C) goto D) break 答案:C 141.以下叙述中错误的是 A) 对于double类型数组,不可以直接用数组名对数组进行整体输入或输出 B) 数组名代表的是数组所占存储区的首地址,其值不可改变 C) 当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息 D) 可以通过赋初值的方式确定数组元素的个数 答案:C 142.假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是 A) 3 B) 6 C) 10 D) 20 答案:D 143.下述函数引用中,( )是含有错误的。其中s的定义如下: char s[10]; A) scanf("%10s",s); B) printf("%.5s",s); C) puts(s+3); D) gets(s); 答案:C 144.有以下程序 main() { int x[] = {1, 3, 5, 7, 2, 4, 6, 0}, i, j, k; for (i = 0; i < 3; i++) for(j = 2; j >= i; j--) if (x[j+1] > x[j]) { k = x[j]; x[j] = x[j+1]; x[j+1] = k; } for (i = 0
/
本文档为【C语言题】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索