C语言选择题题库
C语言选择题题库
C语言程序设计题库说明一本题库适用对象计算机应用技术计算机软件软件技术计算机网络技术与计算机控制技术等专业二本题库包含有175道选择题三本题库所有题目均附有答案一、选择题下列各题ABCD四个选项中,只有一个选项是正确的,请将正确选项涂在答题卡的相应位置上,答在试卷上不得分。
1、不合法的整数是()。
A)0x35 B)43.6 C)0532 D)-3462、下列合法的字符常量是()。
A)“f” B)x C)65 D)‘\Xab’3、设有整型变量x,单精度变量y=,表达式x=float(y*3+((int)y%4))执行后,x的值为()。
A)17 B)17.500000 C) D)4、在C语言中,负整数在内存中以()形式释放。
A)补码 B)BCD码 C)反码 D)十进制数5、在C语言中,要求参加运算的数必须是整数的运算符是()。
A)/ B)!C)% D)= =6、()是C语言中非法的数据类型关键字。
A)float B)singed C)integer D)Char7、现已定义整形变量int i=1;执行循环语句while(i++<5);后i的值为()。
A)1 B)5 C)6 D)以上三个答案都不正确8、下列语句的输出结果是()。
printf(“%f\n”,(float)(2+4)/2);A)有语法错误不能通过编译 B)3 C)D)9、C语言中,整数-8在内存中的存储形式是()。
A)1111,1111,1111,1000 B)1000,0000,0000,1000 C)0000,0000,0000,1000 D)1111,1111,1111,0111 10、设C语言中,int类型数据占2个字节,则long类型数据占()个字节。
A)1 B)2 C)8 D)411、若变量a已说明为float类型,则能实现将a中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是()。
A)a=(a*100+/ B)a=(a*100+/100C)a=(int)(a*100+/ D)a=(a/100+*12、定义a为整型,下列表达式a=3>6的运行后,a的值为()。
C语言试题库(完整版)
C语言试题库一、单项选择第一章 C 语言概述〔 1〕一个 C程序的执行是从A、本程序的 MAIN函数开场,到 MAIN 函数完毕。
B、本程序文件的第一个函数开场,到本程序文件的最后一个函数完毕。
C、本程序的 MAIN函数开场,到本程序的最后一个函数完毕。
D、本程序文件的第一个函数开场,到本程序的MAIN函数完毕。
〔 2〕以下表达正确的选项是A、在 C程序中, MAIN函数必须位于程序的最前面。
B、 C 程序的每行中只能写一条语句。
C、 C 语言本身没有输入输出语句。
D、在对一个 C程序进展编译的过程中,可发现注释中的拼写错误。
〔 3〕 C 语言规定,在一个源程序中,MAIN主函数的位置是在:A、必须在最前面。
B、必须在系统调用的库函数的后面C、可以在任意位置。
D、必须在最后面〔 4〕一个 C程序是由:A、一个主程序和假设干子程序组成B、函数组成C、假设干过程组成D、假设干子程序组成〔 5〕以下表达不正确的选项是:A、一个 C源程序可由一个或多个函数组成B、一个 C源程序必须包含一个MAIN函数C、 C 程序的根本组成单位是函数D、在 C程序中,注释说明只能位于一条语句的后面第二章数据类型、运算符与表达式〔 1〕假设 x, i, j, k都是int型变量,那么计算下面表达式后,x的值为x=〔 i =4 , j=16, k=32〕A、4B、16C、32D、52(2〕以下四组选项中,均不是C语言键字的选项是A、 define , IF, typeB、getc, char, printfC、include, scanf,case E、 if, struct, type(3〕下面四个选项中,均是不合法的用户标识符的选项是A、A,P _0, doB、 float,1a0, _AC、 b-a, goto, intD、_123, temp, INT(4〕假设有代数式3 ae/bc ,那么正确的C语言表达式是A、 a/b/c*e*3B、 3*a*e/bcC、 3*a*e/b*cD、 a*e/c/b*3〔 5〕各变量的类型说明如下:int k, a, b;unsinged long w=5;double x=1.42;那么以下不符合C语言语法的表达式是A、 x%(-3)B、 w+=-2;C、 k=(a=2,b=3,a+b)D、 a+=a-=(b=4)*(a=3)第三章简单C程序设计〔1〕 putchar 函数可以向终端输出一个A、整型变量表达式值B、实型变量值C、字符串D、字符或字符型变量值〔2〕假设 x,y 均定义为 int 型, z 定义为 double 型,以下合法的 scanf 函数调用语句是A、 scanf( “%d%lx,%le〞,&x,&y,&z);B、 scanf( “%2d*%d%lf〞,&x,&y,&z);C、 scanf( “%x%*d%o〞,&x,&y,&z);D、 scanf( “%x%o%6.2f〞,&x,&y,&z);(3) 当输入数据的形式为:25,13,10<回车 >时,以下程序的输出结果为main(){int x,y,z;scanf( “%d%d%d〞,&x,&y,&z);printf( “x+y+z=%d n〞,x+y+z);}A、 x+y+z=48B、 x+y+z=35C、 x+z=35D、不确定值(4)以下能正确的定义整型变量 a,b 和 c,并对它们赋初值为5的语句是A、 int a=b=c=5;B、 int a, b, c=5;C、 a=5, b=5, c=5;D、 a=b=c=5;(5)假设有以下定义,那么正确的赋值语句是int a,b;float x;A、 a=1, b=2;B、 b++;C、 a=b=5;D、 b=int(x);第四章选择构造程序设计(1〕能正确表示“当 x 的值在 [1 , 10] 和[200 ,210] 的X围为真,否那么为假〞的表达式是A、(x>=1)&&(x<=10)&&(x.>=200)&&(x<=210)B、(x>=1) ││ (x<=10)││ (x.>=200)││ (x<=210)C、(x>=1) &&(x<=10)││ (x.>=200) &&(x<=210)D、(x>=1) ││ (x<=10)&& (x.>=200)││ (x<=210)〔 2〕以下程序的运行结果是#include “stdio.h〞main(){int a,b,d=241;a=d/100%9;b=(-1)&&(-1);printf( “%d,%d〞,a,b);}A、6,1B、2,1C、6,0D、2,0〔 3〕请阅读以下程序:main(){int a=5 , b=0 , c=0;if (a+b+c) printf(“* * *n〞); else printf(“$ $ $n〞); }以上程序。
C语言基础选择题100道(附答案)01
C语⾔基础选择题100道(附答案)011. 以下选项中可⽤作 C 语⾔合法⽤户标识符的是A) 2aB)voidC)-abcD) _123答案:D2. 以下选项中合法的 C 语⾔赋值语句是A)++i;B)a=b=34C)a=3,b=9D)k=int( a+b );答案:A3. 有以下程序段,其中的变量已定义为 int 类型sum = pad = 5; pAd = sum++, pAd++, ++pAd;printf( “%d\n”, pad );程序段的输出结果是A)4B)5C)6D)7答案:B4. sizeof( double ) 是A)⼀个整型表达式B)⼀个函数调⽤C)⼀个双精度表达式D)不合法的表达形式答案:A5. 有以下程序#include <stdio.h>main(){int a=2, c=5;printf(“a=%%d,b=%%d\n”, a, c );}程序运⾏后的输出结果是A)a=%d,b=%dB)a=%2,b=%5C)a=%%d,b=%%dD)a=2,b=5答案:A6. 有以下程序#include <stdio.h>#include <math.h>main(){int a=1, b=4, c=2;double x=10.5, y=4.0, z;z = ( a+b )/c + sqrt( y ) * 1.2 / c + x;printf("%f\n", z);}程序运⾏后的输出结果是程序运⾏后的输出结果是A)13.700000B)14.000000C)15.400000D)14.900000答案:A7. 若有定义语句:int a=12;,则执⾏语句:a+= a-= a*a;后,a的值是A)264B)552C)144D)-264答案:D8. C 语⾔程序的模块化是通过以下哪个选项实现的A)变量B)语句C)函数D)程序⾏答案:C9. A)1.0/a/b/cB)1/(a b c)C)1.0/a b cD)1/a/b/(double)c答案:A10. 有以下程序#include <stdio.h>main(){int x=010, y=10;printf("%d,%d\n", ++x, y–);}程序运⾏后的输出结果是A) 10,9B)11,10C)010,9D) 9,10答案:D11. 以下选项中叙述正确的是A)C 语⾔的标识符可分为关键字、预定义标识符和⽤户标识符三类B)C 语⾔的标识符可分为语句、变量和关键字三类C)C 语⾔的标识符可分为函数名、变量和预定义标识符三类D)C 语⾔的标识符可分为运算符、⽤户标识符和关键字三类答案:A12. 以下选项中叙述正确的是A)函数体必须由 { 开始B)C 程序必须由 main 语句开始C)C 程序中的注释可以嵌套D)C 程序中的注释必须在⼀⾏完成答案:A13. 以下选项中叙述正确的是A)结构化程序的三种基本结构是循环结构、选择结构、顺序结构B)C 语⾔源程序不编译也能直接运⾏C)使⽤ N-S 流程图不能描述复杂算法D)计算机能够直接运⾏ C 语⾔源程序,不必进⾏任何转换D)计算机能够直接运⾏ C 语⾔源程序,不必进⾏任何转换答案:A14. 以下选项中叙述正确的是A)使⽤三种基本结构就可以实现任何复杂算法B)只要程序包含了三种基本结构中的任意⼀种,就是结构化程序C)程序语法错误要在运⾏时才能发现D)可运⾏ C 语⾔程序不需要包含 main()函数答案:A15. 以下选项中,合法的 C 语⾔常量是A) "\2.0B)‘C++’C) 1.234D)2Kb答案:C16. 以下选项中,合法的 C 语⾔实数是A).2e0B)3.1e0.4C)E13D)7.12E答案:A17. 设 a,b,c 是整型变量且均已赋值,则以下选项中错误的是A)a = (b = 3) = 1;B)a = (b = 2) + c;C)a = b = c + 10;D)a = 1 + (b = c = 2);答案:A18. 有如下程序#include <stdio.h>main(){int x = 072;printf("%d\n", x+1);}程序运⾏后的输出结果是A)72B)73C)115D)59答案:D19. 以下选项中叙述正确的是A)C 程序中的语句要经过编译才能转换成⼆进制机器指令B)算法需要包含所有三种基本结构C)有些算法不能⽤三种基本结构来表达D)简单算法的操作步骤不能超过 20 步答案:A20. 以下选项中叙述正确的是A)复杂任务可以分解成简单⼦任务B)C 语⾔程序中的所有函数必须保存在同⼀个源⽂件中C)全部三种基本结构都包含的才是结构化程序D)C 语⾔程序可以定义多个不同内容的 main 函数答案:A21. 以下选项中,合法的数值型常量是A) 092B)“A”B)“A”C) 3.1415D)0xDH答案:C22. 以下选项中,合法的实数是A) E1.3B) 4.5E2C)7.11ED)1.2E1.2答案:B23. 若有定义 int a, b, c; 以下选项中的赋值语句正确的是A)a = (b = c) + 1;B)(a = b) = c = 1;C)a = (b == c) = 1;D)a + b = c;答案:A24. 有如下程序#include <stdio.h>main(){int x = 0x13;printf("%d\n", x+1);}程序运⾏后的输出结果是A)13B)14C)12D)20答案:D25. 以下叙述中错误的是A)书写风格良好的程序执⾏效率⾼B)书写风格良好的程序易读性好C)C 程序可以在⼀⾏上写多条语句D)C 程序允许将⼀条语句分写在多⾏上答案:A26. 以下选项中不能正确表⽰数值 10000 的实型常量是A)1.0E4.0B)1.E4C)10E3D)1.0e4答案:A27. 设有定义:int a=0,b=1,c=1;以下选项中,表达式值与其它三个不同的是A) a=b=cB) b=a= =cC)a=c= =bD)c=a!=c答案:B28. 设有两⾏定义语句:int scanf;float case;则以下叙述正确的是A)第 1 ⾏语句不合法B)两⾏定义语句都合法C)第 2 ⾏语句不合法D)两⾏定义语句都不合法答案:C29. 设有定义:double x=2.12;,以下不能完整输出变量 x 值的语句是A)printf(“x=%5.0f\n”,x);B)printf(“x=%f\n”,x);C)printf(“x=%lf\n”,x);D)printf(“x=%0.5f\n”,x);答案:A30. 设有定义:int a,b; float x; ,则以下选项中对语句所作的注释叙述错误的是A)scanf("%d%d%f",&a,&b); /* 多余的格式符%f 完全不起作⽤ /B)scanf("%d%d",&a,&b,&x); / 多余的输⼊项不能获得输⼊数据 /C)scanf("%d%f%d",&a,&b,&x); / 输⼊项与格式符类型不匹配,变量 b 和 x 得不到正确的输⼊数据 /D)scanf(“Input:%d%d”,&a,&b); / 格式串中允许加⼊格式符以外的字符串 */答案:A31. 结构化程序由顺序、选择、循环三种基本结构组成,以下相关叙述错误的是A)三种基本结构不可以嵌套使⽤B)顺序结构是按语句在程序中的先后顺序逐条执⾏,没有分⽀,没有转移C)选择结构是根据条件决定执⾏不同分⽀中的语句D)循环结构是根据条件决定是否重复、重复执⾏多少次循环体语句答案:A32. 以下能正确表述算式 sin(2πr+30°)的 C 语⾔表达式是A)sin(23.14r+3.1430/180.0)B)sin(2πr+ 30 )C)sin(23.14r+ 30 )D)sin(23.14r+303.14/360.0)答案:A33. 设有定义:int x=11,y=12,z=0;,以下表达式值不等于 12 的 是A) (z,x,y)B)(z=x,y)C)z=(x,y)D) z=(x==y)答案:D34. 以下可以将任意⼀个两位整数n的个位数与⼗位数对换的表达式为A)(n-n/10*10)10+n/10B)n-n/1010+n/10C)n/10+(n-n/10)D)(n-n/10)*10+(n/10)答案:A35. 设有以下程序段int y;y=rand() % 30+1;则变量 y 的取值范围是A) 1<y<30B)0≤y≤30C) 0<y≤30D)1<y≤30答案:C36. 以下程序段中,循环次数不超过 10 的是A)int i=10; do{ i=i+1;} while(i<0);B)int i=5; do{ i+=1;} while(i>0);C)int i=1; do{ i+=2;} while(i!=10);D)int i=6; do{ i-=2;} while(i!=1);答案:A37. 以下叙述正确的是A)计算机只接收由 0 和 1 代码组成的⼆进制指令或数据B)计算机只接收由 0 和 1 代码组成的⼗进制指令或数据C)计算机可直接接收并运⾏ C 源程序D)计算机可直接接收并运⾏任意⾼级语⾔编写的源程序答案:A38. 简单程序设计步骤中不包括A)编码B)确定算法C)安装编译程序D)调试答案:C39. 关于 C 语⾔标识符,以下叙述错误的是A)标识符可全部由数字组成B)标识符可全部由下划线组成C)标识符可全部由⼩写字母组成D)标识符可全部由⼤写字母组成答案:A40. 若有 C 语⾔表达式 2+34+7/3,则以下选项中关于执⾏顺序的叙述,正确的是A)先执⾏ 34 得 12,再执⾏ 2+12 得 14,再执⾏ 7/3 得 2,最后执⾏ 14+2 得 16B)先执⾏ 34 得 12,再执⾏ 7/3 得 2.5,最后执⾏ 2+12+2.5 得16.5C)先执⾏ 7/3 得 2,再执⾏ 34 得 12,再执⾏ 12+2 得 14,最后执⾏ 2+14 得 16D)先执⾏ 2+3 得 5,再执⾏ 5*4 得 20,再执⾏ 20+7 得 27,最后执⾏ 27/3 得 9答案:A41. 若想给已定义为 int 型的变量 a,b,c,d 赋值为 1,以下选项中错误的语句是A)a=b, b=c, c=d, d=1;B)a=b=c=d=1;C)a=1, b=a, c=b, d=c;D)d=1, c=d, b=c, a=b;答案:A42. 若有定义:char c; int d; 程序运⾏时输⼊:c=1,d=2<回车>,能把字符 1 输⼊给变量 c、整数 2 输⼊给变量 d 的输⼊语句是A)scanf(“c=%c,d=%d”, &c,&d);B)scanf(“c=%c d=%d”, &c,&d);C)scanf(“c=%d,d=%d”, &c,&d);D)scanf(“c=%d d=%d”, &c,&d);答案:A43. 以下叙述正确的是A) C 编译程序把⽂件后缀为.c 的源程序⽂件编译成⽂件后缀为.exe 的可执⾏⽂件B)C 编译程序把⽂件后缀为.c 的源程序⽂件编译成⽂件后缀为.obj 的⼆进制⽂件C)C 编译程序把⽂件后缀为.obj 的⼆进制⽂件编译成⽂件后缀为.exe 的可执⾏⽂件D)链接程序把⽂件后缀为.c 的源程序⽂件链接成⽂件后缀为.exe的可执⾏⽂件答案:B44. 算法应当具有的特性不包括A) 确定性B)有穷性C)美观性D)可⾏性答案:C45. 以下不属于 C 语⾔整数的是A)12fB)25uC)-32D)+20L答案:A46. 有 C 语⾔表达式 23+4+15%3 ,关于其执⾏顺序,以下叙述正确的是A)先执⾏ 23 得 6,再执⾏ 6+4 得 10,再执⾏ 15%3 得 0,最后执⾏ 10+0 得 10B)先执⾏ 23 得 6,再执⾏ 15%3 得 5,最后执⾏ 6+4+5 得 15C)先执⾏ 15%3 得 0,再执⾏ 23 得 6,最后执⾏ 6+4+0 得 10D)先执⾏ 15%3 得 3,再执⾏ 4+3 得 7,再执⾏ 2*3 得 6,最后执⾏ 6+7 得 13答案:A47. 若想给已定义为 int 型的变量 a、b、c、d 赋整数 1,以下选项中错误的语句是A)d=c, c=b, b=a, a=1;B)d=c=b=a=1;C)d=(b=c=(a=1));D)d=1, c=d, b=c, a=b;答案:A48. 若有定义:int a; float b; double c; ,程序运⾏时输⼊:1,2,3<回车>,能把 1 输⼊给变量 a、2 输⼊给变量 b、3 输⼊给变量 c 的输⼊语句是A) scanf("%d,%f,%f", &a,&b,&c);B)scanf("%d%f%lf", &a,&b,&c);C)scanf("%d,%lf,%lf", &a,&b,&c);D) scanf("%d,%f,%lf", &a,&b,&c);答案:D49. 以下叙述正确的是A)循环结构、选择结构、顺序结构都是结构化程序的基本结构B)计算机可以直接执⾏ C 语⾔程序,不需要做任何转换C)过于复杂的算法不能使⽤ N-S 流程图描述D)只有不超过 20 步操作步骤的算法才是简单算法答案:A答案:A50. 以下叙述正确的是A) C 语⾔程序并不是必须要定义 main()函数B)只使⽤三种基本结构即可解决任何复杂问题C)只要程序包含了任意⼀种基本结构,就肯定是结构化程序D)程序中的语法错误只有在运⾏时才能显现答案:B51. 以下选项中,合法的 C 语⾔常量是A) 2MBB)‘CPP’C)"\1.0D) 21.84答案:D52. 以下选项中,合法的 C 语⾔实数是A).1e0B)E1C)0.10ED)2.1e0.2答案:A53. 设 a,b,c 是整型变量,且已正确赋初值,以下选项中错误的赋值语句是A)a = 2 = (b = 9) = 1;B)a = (b = 3) * c;C)a = b = c / 10;D)a = 1 % (b = c = 2);答案:A54. 有如下程序#include <stdio.h>main( ) {int x = 072;printf(“X=%d\n”, x+1);}程序运⾏后的输出结果是A) X=73B) X=59C)X=115D)X=72答案:B55. 下⾯叙述正确的是A)C 语⾔程序的语句经过编译和链接转换成⼆进制机器指令后才能执⾏B)任何算法需要包含三种基本结构中的两种以上C)复杂算法是不能⽤三种基本结构来表达的D)只要是简单算法,它的操作步骤都不会超过 20 步答案:A56. 下⾯叙述正确的是A)任何复杂任务都可以分解成简单⼦任务B)C 语⾔程序的所有函数只能处于同⼀个源⽂件中C)包含全部三种基本结构的程序才是结构化程序D)C 语⾔程序可以定义多个不同内容的 main 函数答案:A57. 以下选项中,合法的数值型常量是A) ‘X’B) 3.2B) 3.2C)099D)0xEH答案:B58. 以下选项中,合法的实数是A) 1.9E1.4B)E1.1C)2.10ED) 1.5E2答案:D59. 若已有定义语句:int a, b, c;,且变量已正确赋初值,则以下选项中正确的赋值语句是A)a = (b = c) + 8;B)(a = b) = c = 9;C)a = (b == c) = ‘A’;D)a + b = c + 1;答案:A60. 有以下程序#include <stdio.h>main( ) {int x = 0x13;printf(“INT:%d\n”, x+1);}程序运⾏后的输出结果是A) INT:12B)INT:13C) INT:20D)INT:14答案:C61. 关于程序设计基本概念,以下叙述错误的是A)计算机可以直接执⾏由任意⾼级语⾔编写的程序B)⾼级语⾔都有与之对应的编译程序或解释程序C)⽤任何⼀种计算机⾼级语⾔都可以把算法转换为程序D)结构化算法可以解决任何复杂的问题答案:A62. 关于程序中的注释,以下叙述正确的是A) 注释中间可以嵌套另⼀个注释B)注释必须置于所说明的语句前或语句后C)注释的内容必须放在/* 和 */之间D)注释内容错误会导致编译出错答案:C63. 以下不能⽤于实型数据的运算符是A) +B)/C)*D) %答案:D64. 以下选项中,与 n=i++ 完全等价的表达式是A)n=i,i=i+1B)n+=i+1C)i=i+1,n=iD)n=++i答案:A65. 以下表达式的值与 x ⽆关、其值恒为真的是A)0 < x < 5B)x>10 && x<5C)x>10 || x<5D)x<10 && x>5答案:A66. 设变量 m 为 float 类型,变量 n 为 int 类型,则以下能实现将m 中的数值保留⼩数点后两位,第三位进⾏四舍五⼊运算的表达式是A)n=m100+0.5, m=n/100.0B)m=(m100+0.5)/100.0C)n=m/100+0.5, m=n100.0D)m=m100+0.5/100.0答案:A67. 以下叙述正确的是A) 函数体内的定义语句和可执⾏语句允许任意交替出现B)main()函数若不带参数,其后⾯的⼀对圆括号可省略C) C 程序总是以 main()作为程序执⾏的起始⾏D)C 语⾔中的语句之间必须⽤分号作为分隔符答案:C68. C 语⾔中的基本数据类型包括A)整型、实型、字符型B)整型、字符型、数组C)整型、实型、逻辑型D)整型、实型、结构体答案:A69. 以下不正确的定义语句是A) long b=0L;B) unsigned int a= -100u;C)short c2=0123;D)int d=0x0;答案:B70. 以下⾮法的字符常量是A)’\n’B)’\101’C)’\x21’D)’\0’答案:A71. 设有定义:int x=7,y=12;,则以下表达式值为 3 的是A)(y%=x)-(x%=5)B)y%=(x%=5)C)y%=x-x%5D)y%=(x-x%5)答案:A72. 设有定义:int n = 1234;double x = 3.1415;则语句: printf("%3d,%1.3f\n", n, x); 的输出结果是A) 1234,3.141B)123,3.142C) 1234,3.142D)123,3.141答案:C73. 以下叙述错误的是A)任何能通过编译和运⾏的算法都⼀定能得到所期望的结果B)⼀个算法所包含的操作步骤应该是有限的C)算法中每⼀条指令必须有确切的含义D)算法可以⽤各种描述⽅法来进⾏描述答案:A74. 关于程序模块化,以下叙述错误的是A) 程序模块化可以提⾼调试程序的效率B)程序模块化可以提⾼程序编制的效率C)程序模块化可以提⾼程序代码复⽤率D)程序模块化可以提⾼程序运⾏的效率答案:D75. 以下是正确 C 语⾔标识符的是A)_3B)#3C)&3D)-3答案:A76. 以下是正确 C 语⾔实型常量的是A)1e-1B)e-1C)-1eD).e-1答案:A77. 若想定义 int 型变量 a,b,c,d 并都赋值为 1,以下写法中错误的是A)int a=b=c=d=1;B)int a=1, b=1, c=1, d=1;C)int a,b,c,d; a=b=c=d=1;D)int a,b,c,d=1; a=b=c=d;答案:A78. 若有定义:char c; double d; 程序运⾏时输⼊:1 2<回车>,能把字符 1 输⼊给变量 c、数值 2 输⼊给变量 d 的输⼊语句是A)scanf("%c%lf", &c,&d);B)scanf("%d%lf", &c,&d);C)scanf("%c%f", &c,&d);D)scanf("%d%f", &c,&d);答案:A79. 以下叙述正确的是A)所有程序⾏都必须⽤分号结束B)C 语⾔程序由 C 语句组成,可以省略 main 函数C)分号是 C 语句之间的分隔符D) 在 C 语⾔中分号是语句的组成部分答案:D80. 以下叙述正确的是A) C 程序由函数组成,可以不包含 main 函数B)每个 C 程序⽂件中的 main 函数都应当放在最前⾯C)每个 C 程序⽂件都应当包含⼀个 main 函数D) 每个 C 程序都只能有⼀个 main 函数答案:D81. 若有定义:int a,b,c; 以下程序段的输出结果是a=11; b=3; c=0;printf("%d\n",c=(a/b,a%b));A)2B)0C)3D)1答案:A82. 有以下程序#include <stdio.h>main(){ int a=2,b=3,c=4;a*=16 +(b++) - (++c);printf("%d \n",a );}程序运⾏后的输出结果是A)30B)28C)15D)14答案:B83. 若有定义:double a, b, c; 能正确给 a,b,c 输⼊数据的语句是A)scanf(" %lf %lf %lf",&a, &b, &c );B)scanf(" %f %f %f",&a, &b, &c );C)scanf(" %lf %lf %lf",a, b, c );D)scanf(" %lf %lf %lf"; *a, *b, *c );答案:A84. 输出语句:printf("%d\n",11+011);的输出结果是A)22B)20C)022D)021答案:B85. 以下叙述正确的是A)结构化程序的三种基本结构是循环结构、选择结构、顺序结构B)C 语⾔程序不编译也能直接运⾏C)有些算法不能⽤三种基本结构来表达D)如果 C 语⾔程序实现的算法很简单,则计算机不进⾏任何代码转换就能执⾏程序答案:A86. 以下叙述正确的是A)通过分解成简单⼦任务,可以完成任何复杂任务B)每个结构化程序都要包含全部三种基本结构C)C 语⾔程序的所有⾃定义函数只能写在同⼀个源⽂件中D)C 语⾔程序允许使⽤多个 main 函数,只要它们的函数体各不相同即可答案:A87. 以下选项中合法的 C 语⾔常量是A) 2EKB)‘C-STR’C)"\1.0D) 2014.1答案:D88. 以下选项中,合法的 C 语⾔实数是A).4e0B)4.3e0.2C)E4.8D)0.29E答案:A89. 设 a,b,c 已定义为整型变量,以下选项中不正确的赋值语句是A)a = 3 = (b = 2) = 1;B)a = (b = 0) * c + 1;C)a = b = c / 1.0;D)a = 10 % (b = c = 2.0);答案:A90. 有以下程序#include <stdio.h>main( ) { int x = 0x9;printf("%c\n", ‘A’+x);}程序运⾏后的输出结果是A)IB)JC)KD)H答案:B91. 以下叙述中错误的是A)计算机可以直接识别由⼗六进制代码构成的程序B)可以连续执⾏的指令的集合称为“程序”C)“程序”是⼈与计算机“对话”的语⾔D)计算机可以直接识别由 0 和 1 组成的机器语⾔代码答案:A92. 在传统流程图中,⽤来表⽰输⼊输出的图形是A) 椭圆形B)长⽅形C)菱形D)平⾏四边形答案:D93. 以下说法正确的是A)赋值语句是⼀种可执⾏语句,应当出现在函数的可执⾏部分B)赋值语句可以出现在函数中的任意位置C)赋值语句可以出现在函数外单独执⾏D)赋值语句可以出现在源程序中的任意位置答案:A94. 若有定义: double x;,则表达式:x=0,x+10,x++ 的值是A)1.0B)10.0C)11.0D)0.0答案:D95. 若变量已正确定义并赋初值,以下合法的赋值语句是A)k=(m==n);B)k=int(m+n);C)k=-m-nD)k=m*n=1;答案:A96. 设有定义: double x=5.16894;,则语句 printf("%lf\n ",(int)(x*1000+0.5)/1000.);的输出结果是句 printf("%lf\n ",(int)(x*1000+0.5)/1000.);的输出结果是A)5.16900B)5.16800C)0.00000D)输出格式说明符与输出项不匹配,产⽣错误信息答案:A97. 以下选项中不是 C 语⾔数据类型的是A) charB)floatC) stringD)int答案:C98. 以下选项中不能在 C 语⾔程序中⽤作⽤户标识符的是A) _3_14B)scanfC)FloatD) auto答案:D99. 以下选项中可⽤作 C 程序合法整数的是A)0x77B)1 2 (数字间有⼀个空格)C)xffD)018答案:A100. 以下选项中关于 C 语⾔算术表达式的叙述中错误的是A)C 语⾔仅提供了+、-、*、/ 这 4 个基本算术运算符B)C 语⾔采⽤的是⼈们熟悉的四则运算规则,即先乘除后加减C)算术表达式中,运算符两侧类型不同时,将进⾏类型之间的转换D)可以通过使⽤⼩括号来改变算术表达式中某些算术运算符的计算优先级答案:A。
(完整版)C语言题库(带详解答案)
(完整版)C语⾔题库(带详解答案)⼀单项选择题1.(A)是构成C语⾔程序的基本单位。
A、函数B、过程C、⼦程序D、⼦例程2.C语⾔程序从 C开始执⾏。
A) 程序中第⼀条可执⾏语句 B) 程序中第⼀个函数C) 程序中的main函数 D) 包含⽂件中的第⼀个函数3、以下说法中正确的是(C)。
A、C语⾔程序总是从第⼀个定义的函数开始执⾏B、在C语⾔程序中,要调⽤的函数必须在main( )函数中定义C、C语⾔程序总是从main( )函数开始执⾏D、C语⾔程序中的main( )函数必须放在程序的开始部分4.下列关于C语⾔的说法错误的是(B)。
A) C程序的⼯作过程是编辑、编译、连接、运⾏B) C语⾔不区分⼤⼩写。
C) C程序的三种基本结构是顺序、选择、循环D) C程序从main函数开始执⾏5.下列正确的标识符是(C)。
A.-a1B.a[i]C.a2_iD.int t5~8题为相同类型题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的“-” ,选项B中“[”与“]”不满⾜(1);选项D中的int为关键字,不满⾜(3)6.下列C语⾔⽤户标识符中合法的是( B)。
A)3ax B)x C)case D)-e2 E)union选项A中的标识符以数字开头不满⾜(2);选项C,E均为为关键字,不满⾜(3);选项D中的“-”不满⾜(1);7.下列四组选项中,正确的C语⾔标识符是(C)。
A) %x B) a+b C) a123 D) 123选项A中的“%” ,选项B中“+”不满⾜(1);选项D中的标识符以数字开头不满⾜(2)8、下列四组字符串中都可以⽤作C语⾔程序中的标识符的是(A)。
A、print _3d db8 aBcB、I\am one_half start$it 3paiC、str_1 Cpp pow whileD、Pxq My->book line# His.age选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满⾜(1);选项C中的while 为关键字,不满⾜(3)9.C语⾔中的简单数据类型包括(D)。
(完整版)C语言试卷及答案
(完整版)C语言试卷及答案一、选择题(每题2分,共40分)1、C语言源程序的基本单位是( )A.程序行B.语句C.函数D.字符2、C语言规定:在一个源程序中,main函数的位置()。
A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后3、在下列字符列中,合法的标识符是( )A.p12&.aB.stud_100C. water$12D.88sum4、在C语言中,要求运算的数必须是整数的运算符是()A./B.!C.%D.= =5、设有语句 int a =3;则执行了语句a + = a - = a*a;后,变量a 的值是()A、3B、0C、9D、-126、设a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a > b)&&(n=c>d)后n的值为()A、1B、2C、3D、47、执行下列程序时输入:1234567,程序的运行结果是()main(){int x,y;scanf(“%2d%*2c%1d”,&x,&y);printf(“%d\n”,x+y);}A.17B.46C.15D.98、下述程序的输出结果是() #includevoid main(){int x=-1,y=4;int k;k=++x<=0&&!(y--<=0);printf("%d,%d,%d",k,x,y);}A.0,0,3B.0,1,2,C.1,0,3,D.1,1,29、为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。
A.缩排位置相同的ifB.在其之前未配对的ifC.在其之前未配对的最近的ifD.同一行上的if10、两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是()main(){int x;scanf(“%d“,&x);if(x++>5)printf(“%d”,x);else printf(“%d\n”,x--);}A.7和5B.6和3C.7和4D.6和411、若变量c为char类型,能正确判断出c为小写字母的表达式是( )A. 'a'<=c<= 'z'B. (c>= 'a')||(c<= 'z')C. ('a'<=c)and ('z'>=c)D. (c>= 'a')&&(c<= 'z')12、已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是。
(完整版)C语言选择题(附答案)
第一单元C语言概述一、选择题1、C语言中主函数的个数为(A)个。
A)1 B)2C)无穷个D)任意个2、以下关于C语言描述错误的是(D)。
A)一个C程序总是从main函数开始执行TB)每个语句和数据声明的最后必须有一个分号TC)C语言的注释符是以“/*”开始并以“*/”结束的TD)一个C程序可以包含多个main函数F3、C 语言源程序文件后缀为(C )。
A).EXE B).OBJ C).C D).ASM4、C语言是由(C )组成的。
A)子程序B)主程序与子程序C)函数D)过程5、C语言属于(B )语言A)机器语言B)汇编语言C)高级语言D)面向对象语言第二单元C语言基础一、选择题1、C语言中普通整型变量int在内存中占(B )字节。
A)1 B)2 C)3 D)42、下列不是C语言基本数据类型的是(A )。
A)字符型B) 整型C) 浮点型D) 结构体3、有关自增、自减运算,以下只有(D )是正确的。
A) ---f B) ++78 C) a—b++ D) d++4、已知A=7.5,B=2,C=3.6,表达式(A>B && C>A) || (A<B && !C>B)的值是(A )。
A)0 B)10 C)1 D)55、若有x=1,y=2,z=3,则表达式(x<y?x:y)= =z的值是(D )。
A)1 B)2 C)3 D)06、判断char型变量ch是否为大写字母的正确表达式是(C )。
A) ‘A’<=ch<=‘Z’B) (ch>=‘A’)&(ch<=‘Z’)C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch)7、判断整型变量digit是否为数字的正确表达式是(C )。
A) ‘0’<=ch<=‘9’B) (ch>=‘0’)&(ch<=‘9’)C) (ch>=‘0’)&&(ch<=‘9’) D) (‘0’<= ch)AND(‘9’>= ch)8、一个C程序的执行是从(A )。
C语言选择题(含答案)
C语言选择题(含答案)选择题1.以下叙述正确的是_____。
A) 在C程序中,main函数必须位于程序的最前面。
B) C语言本身没有输入输出语句。
C) C程序的每行只能写一条语句。
D) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误。
2.下面四个选项中,均是不合法的用户标识符的选项是。
A) A B) float C) b-a D) _123P_0 1a0 goto tempdo _A int INT3、下列四个选项中都是合法的转义字符的A) ‘\’’‘\\’‘\n’B) ‘\’‘\017’‘\”’C) ‘\018’‘\f’‘xab’D) ‘\\0’‘\101’‘x1f’4、设所有变量均为整型,则表达式z=(a=2,b=5,b++,a+b)的值是:A)7 B)8 C)6 D)25、若有代数式,则不正确的C语言表达式是:A) a/b/c*e*3 B) 3*a*e/b/cC) 3*a*e/b*c D) a*e/c/b*36、若希望当A的值为奇数时,表达式的值为”真”, A的值为偶数时,表达式的值为”假”。
则以下不能满足要求的表达式是_________。
A) A%2==1 B) !(A%2==0)C) !(A%2) D) A%27、以下程序的运行结果是 :main(){int m=6;if(m++> 6) printf(" %d\n",m);e1se printf("%d\n",--m );}A)4 B)5 C) 7 D) 68、当a=1,b=3,c=5,d=4,执行完下面一段程序后x 的值是 :if(a<b)if(c<d) x=1;elseif(a<c)if(b<d) x=2;else x= 3;else x=6;else x=7;A)1 B)2 C)3 D)69、阅读以下程序,当输入数据的形式为25,13,10<CR>正确的输出结果为 main(){int x,y,zscanf("%d%d%d",&x,&y,&z );printf(“x+y+z=%d\n” ,x+y+z);。
C语言试题库(含答案)
D、print f("%c\n",class[2].name[0]);
标准答案:D
【5】设单精度变量f,g的值均为5.0,则下面的表达式中,使f为10.0的表达式是。
A、f+=g
B、f-=g+5
C、f*=g-5
D、f/=g*5
标准答案:A
if(ch=='/')w=a/b;
B、B)if(ch=='*')w=a*b;
else if(ch=='/')w=a/b;
if(ch=='+')w=a+b;
else if(ch=='-')w=a-b;
C、if(ch=='+')w=a+b;
else if(ch=='-')w=a-b;
if(ch=='*')w=a*b;
A、15
B、10
C、25
D、20
标准答案:A
【15】程序段的基本结构中,不包含()。
A、函数结构
B、循环结构
C、顺序结构
D、分支结构
标准答案:A
【1】执行语句scanf("%d,%d",&m,&n);使m和n的值分别为1和2,正确输入是。
A、1
B、2
C、1,2
D、12
标准答案:c
【3】若用数组名作为函数调用的实参,传递给形参的是()。
#include<stdio.h>
main()
{int i=1;
c语言考试题及答案
c语言考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是:A. C语言是一种高级语言B. C语言可以直接被计算机执行C. C语言具有结构化的特点D. C语言具有跨平台的特性答案:B2. C语言中,用于定义一个整型变量的关键字是:A. intB. floatC. doubleD. char答案:A3. 在C语言中,以下哪个运算符用于取模运算?A. %B. /C. *D. -答案:A4. 下列关于数组的描述中,正确的是:A. 数组必须在程序开始时初始化B. 数组的元素可以是不同的数据类型C. 数组的索引从1开始D. 数组的声明必须指定数组的大小答案:D5. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. functionD. define答案:B6. C语言中,用于表示逻辑“与”操作的运算符是:A. &&B. ||C. !D. &答案:A7. 下列哪个选项是C语言中合法的注释?A. // 这是一个注释B. /* 这是一个注释 */C. // 这是一个注释/* 这是一个注释 */D. /* 这是一个注释 */答案:A8. C语言中,用于定义一个空指针的值是:A. NULLB. 0C. falseD. none答案:A9. 下列关于指针的描述中,错误的是:A. 指针可以存储变量的地址B. 指针可以存储函数的地址C. 指针可以存储数组的索引D. 指针可以存储指针的地址答案:C10. 在C语言中,用于定义一个字符型指针的声明是:A. char *ptr;B. int *ptr;C. float *ptr;D. double *ptr;答案:A二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型数组的语法是:______ int array[10];。
答案:int2. 如果一个变量的值是10,那么表达式sizeof(&var)的结果是:______。
C语言的选择题和详细的解释共40题
C语言的选择题和详细的解释共40题1. C语言中,以下哪个关键字用于定义一个变量?a) defineb) varc) intd) function解释:正确答案是c) int。
关键字'int'用于定义整数型变量。
2. 下列哪个运算符用于逻辑与操作?a) &&b) ||c) !d) &解释:正确答案是a) &&。
双与运算符"&&"用于执行逻辑与操作。
3. 在C语言中,如何声明一个字符数组?a) char array[];b) array char[];c) character array[];d) char[] array;解释:正确答案是a) char array[]。
这是声明字符数组的方式。
4. 下列哪个语句用于在C语言中执行条件分支?a) forb) switchc) whiled) do-while解释:正确答案是b) switch。
switch语句用于执行条件分支。
5. C语言中,以下哪个数据类型用于存储小数?a) floatb) intc) chard) double解释:正确答案是d) double。
'double'数据类型用于存储双精度浮点数。
6. 下列哪个操作符用于获取一个变量的地址?a) &b) *c) #d) %解释:正确答案是a) &。
'&'操作符用于获取变量的地址。
7. C语言中,以下哪个关键字用于定义一个函数?a) functionb) definec) voidd) main解释:正确答案是c) void。
'void'关键字用于定义函数返回类型。
8. 在C语言中,如何用单行注释表示注释内容?a) // 注释内容b) /* 注释内容*/c) # 注释内容d) --注释内容解释:正确答案是a) // 注释内容。
c语言试题及答案大全
c语言试题及答案大全一、选择题1. 下列关于C语言的说法中,正确的是:A. C语言是一种高级编程语言。
B. C语言可以被编译成机器语言执行。
C. C语言的语法和C++完全相同。
D. C语言不支持面向对象的编程。
答案:B. C语言可以被编译成机器语言执行。
2. C语言中,以下哪个是合法的标识符?A. 123abcB. abc_123C. intD. function()答案:B. abc_1233. 在C语言中,以下哪种循环结构是先判断条件后执行循环体?A. for循环B. while循环C. do-while循环D. switch语句答案:C. do-while循环二、编程题1. 编写一个C程序,计算并输出1到n之间所有整数的和。
其中,n由用户输入。
答案:#include <stdio.h>int main() {int n;int sum = 0;printf("请输入一个整数n:");scanf("%d", &n);for (int i = 1; i <= n; i++) {sum += i;}printf("1到%d之间所有整数的和为%d\n", n, sum);return 0;}2. 编写一个C程序,判断一个整数是否为素数。
素数是指除了1和自身外,无法被其他整数整除的整数。
答案:#include <stdio.h>#include <stdbool.h>bool is_prime(int num) {if (num <= 1) {return false;}for (int i = 2; i * i <= num; i++) {if (num % i == 0) {return false;}}return true;}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (is_prime(num)) {printf("%d是素数\n", num);} else {printf("%d不是素数\n", num);}return 0;}三、应用题1. 假设有一个班级的学生信息如下:学号姓名年龄性别101 张三 18 男102 李四 17 女103 王五 16 男请根据上述学生信息,编写一个C程序,输出学生的平均年龄。
C语言选择题题库
章节题干A B C2不合法的字符常量是( ).'\t'"A"'a' 2合法的字符常量是( ) .'\084''\84''ab'1C语言源程序的基本单位是()。
过程函数子程序1下列字符序列中,可用作C标识符的一组字符序列是()。
S.b,sum,average,_aboveclass,day,lotus_1,2day#md,&12x,month,student_n!1以下标识符中,不能作为合法的C用户定义标识符的是()。
a3_b3void_1231以下数据中,不正确的数值或字符常量是()。
05L o131以下数值中,不正确的八进制数或十六进制数是()。
0x1616-161以下的选择中,正确的赋值语句是()。
a=1,b=2j++a=b=5;1以下运算符中,优先级最高的运算符是()。
?:++&&1在C语言中,能代表逻辑值“真”的是()。
True大于0的数非0整数1下列变量说明语句中,正确的是()。
char:a b c;char a;b;c;int x;z;1下列字符序列中,不可用作C语言标识符的是()。
b70#ab symbol1以下不正确的叙述是()。
在C程序中所用的变量必须先定义后使用程序中,APH和aph是两个不同的变量若a和b类型相同,在执行了赋值语句a=b;后b中的值将放入a1以下标识符中,不能作为合法的C用户定义标识符的是()。
For Printf WORD1以下标识符中,不能作为合法的C用户定义标识符的是()。
answer to signed1以下标识符中,不能作为合法的C用户定义标识符的是()。
putchar_double_1231以下数据中,不正确的数值或字符常量是()。
8.9e1.2100xff001以下数据中,不正确的数值或字符常量是()。
c660xaa1以下运算符中,优先级最高的运算符是()。
c语言选择题练习37道(含答案)
c语言选择题练习37道(含答案)37道选择题:1. 下列不是C语言关键字的是:A. switchB. caseC. intD. double答案:D 解析:double是C语言中的数据类型,不是关键字。
2. 在C语言中,下列标识符合法的是:A. _123abcB. 123abcC. abc123_D. abc_123_答案:D 解析:在C语言中,标识符可以以字母或下划线开头,只能包含字母、数字和下划线。
3. 表达式x += y 是以下哪个表达式的简写?A. x = x –yB. x = x + yC. x = x * yD. x = x / y答案:B 解析:x += y 是x = x + y 的简写。
4. 下列循环语句中,能保证至少执行一次循环体的是:A. for(i=0;i<10;i++)B. do{i++;}while(i<10)C. while(i<10){i++;}D. 以上都不是答案:B 解析:do-while语句可以保证至少执行一次循环体。
5. 下面C 语言中的数组定义,正确的是:A. int[] a = {1, 2, 3};B. int a[3] = {1, 2, 3};C. int[3] a = {1, 2, 3};D. 以上都不正确。
答案:B 解析:C语言中数组的定义格式为数据类型数组名[元素个数] = {元素1,元素2,...,元素n}。
6. 下列程序的输出结果是什么?#include <stdio.h>int main(){int i=0;while(i>0){printf("%d",i);i++;}return 0;}A. 0B. 1C. 无输出D. 其他答案:C 解析:while循环条件不满足,循环体不会执行,故无输出。
7. 下列代码片段的输出是什么?int a = 10;double b = 10.5;printf("%d %f",a,b);A. 10 10.5B. 10.5 10C. 10.0 10.5D. 编译错误答案:A 解析:%d表示输出整数,%f表示输出浮点数。
c语言考试题库及答案
c语言考试题库及答案C语言考试题库及答案一、选择题1. C语言中,用于表示逻辑“与”操作的关键字是()。
A. &&B. ||C. &D. or答案:A2. 下列哪个选项是C语言中的合法整型常量?A. 0x10FB. 01FC. 8181D. 0.8181答案:A3. 在C语言中,定义一个字符变量可以使用哪种数据类型?A. intB. floatC. charD. double答案:C4. 下列哪个函数用于计算字符串的长度?A. strlen()B. strcmp()C. strcpy()D. printf()答案:A5. C语言中,若要交换两个变量的值,通常使用哪种方法?A. 递归调用B. 位运算C. 三元运算符D. 临时变量答案:D二、填空题1. 在C语言中,使用关键字________声明一个全局变量。
答案:extern2. 一个C语言程序的执行是从________函数开始的。
答案:main3. 在C语言中,使用________运算符可以实现对整型数值的强制类型转换为浮点型。
答案:(float)4. 为了在C语言中定义一个无限循环,可以使用________语句。
答案:while(1)5. 当需要在C语言中动态分配内存时,可以使用函数________。
答案:malloc三、判断题1. C语言中的数组下标是从1开始的。
(错)答案:错2. 在C语言中,函数可以作为另一个函数的参数传递。
(对)答案:对3. C语言中,结构体是一种可以包含不同数据类型成员的用户自定义数据类型。
(对)答案:对4. 使用C语言编写的程序在运行时,所有的变量存储在堆内存中。
(错)答案:错5. C语言中的指针变量必须在使用前初始化。
(错)答案:错四、简答题1. 请简述C语言中的指针和引用的主要区别。
答案:指针是一个变量,其值为另一个变量的地址,而引用是另一个变量的别名,它必须在定义时初始化,并且不能重新指向其他变量。
c语言试题库简单选择题
1.下列语句中符合C语言语法的赋值语句是(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;2.在C语言中,要求运算数必须是整型的运算符是(A) % (B) / (C) < (D) !3.以下有4组用户标识符,其中合法的一组是(A) For (B) 4d (C) f2_G3 (D) WORD4. 在C语言中,形参的缺省存储类是(A) auto (B) register (C) static (D) extern5. 以下不能正确进行字符串赋初值的语句是(A) char str[5]="good!"; (B) char str[]="good!";(C) char *str="good!"; (D) char str[5]={‘g',‘o',‘o',‘d'};6.若定义:int a=511,*b=&a;, 则printf("%d\n",*b);的输出结果为(A)无确定值(B) a的地址(C) 512 (D) 5117.以下程序中,while循环的循环次数是Dmain(){ int i=0;while(i<10){ if(i<1) continue;if(I==5) break;i++;}......}(A) 1 (B) 10(C) 6 (D)死循环,不能确定次数8.假定x和y为double型,则表达式x=2,y=x+3/2的值是(A) 3.500000 (B) 3 (C) 2.000000 (D) 3.0000009.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是(A)地址传递(B)单向值传递(C)由实参传给形参,再由形参传回实参(D)传递方式由用户指定10. 已知字母A的ASCⅡ码为十进制的65,下面程序的输出是(A) 67,D (B) B,C (C) C,D (D)不确定的值main(){ char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';PRINTF("%d,%c\n",ch1,ch2);}11.下面程序的输出是(A) 0 (B) 1 (C) 3 (D)不确定的值main(){ int x=10,y=3;printf("%d\n",y=x/y);}12.若执行下面的程序时从键盘上输入3和4,则输出是(A) 14 (B) 16 (C) 18 (D) 20main(){ int a,b,s;scanf("%d%d",&a,&b);s=a;if(a5) printf("%d\n",x);else printf("%d\n,x--);}13.下面程序的输出是(A) 3 (B) 4 (C) 1 (D) 2main(){ int a[10]={ 1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d\n",*(p+2));}14.执行下面程序中输出语句后,a的值是(A) 65 (B) 20 (C) 15 (D) 10main(){int a;printf("%d\n",(a=3*5,a*4,a+5));}15.下面程序的输出是(A) 0 1 2 3 (B) 0 4 0 10 (C) 0 4 5 15 (D) 1 4 5 15main(){ enum team { my,your=4,his,her=eis+10};printf("%d%d%d%d\n",my,your,his,her);}16.下面程序的输出是(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%d%\n",k,a,b);}17.下列函数的功能是(A)求字符串的长度(B)比较两个字符串的大小(C)将字符串X复制到字符串Y (D)将字符串X连接到字符串Y后面int fun1(chat* x){char*y=x;while(*y++);return(y-x-1);}18.若fp是指向某文件的指针,且已读到该文件的末尾,则C语言函数feof( fp)的返回是(A)EOF (B)-1 (C)非零值(D)NULL19.根据下面的定义,能印出字母M的语句是(A)printf("%c\n",class[3].name);(B)printf("%c\n",class[3].name[1]);(C)printf("%c\n",class[2].name[1]);(D)printf("%c\n",clsaa[2].name[0]);struct person{ char name[9]; int age; };struct person class[10]={"john",17,"paul",19,"mary",18,"adam",16};20.下列关于C语言数据文件的叙述中正确的是(A)文件由ASCII码字符序列组成,C语言只能读写文本文件(B)文件由二进制数据序列组成,C语言只能读写二进制文件(C)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件(D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件21.C语言提供的合法的数据类型关键字是(A)Double (B)short (C)integer (D)Char22.在C语言中,合法的长整型常数是(A)0L (B)4962710 (C)0.054838743 (D)2.1869e1023.表达式:10!=9的值是(A)true (B)非零值(C)0 (D)124.合法的C语言中,合法的长整型常数是(A)'\t' (B)"A" (C)65 (D)A25.若有说明和语句:int a=5;a++;此处表达式a++的值是(A)(A)7 (B)6 (C)5 (D)426.C语言中最简单的数据类型包括(A)整型、实型、逻辑型(B)整型、实型、字符型(C)整型、字符型、逻辑型(D)整型、实型、逻辑型、字符型27.为表示关系x大于等于y大于等于z,应使用C语言表达式(A)(x>=Y)&&(Y>=z) (B)(x>=Y)AND(y>=z) (C)(x>=Y>=z) (D)(x>=Y)&(Y>=z)28.下列对C语言字符数组的描述中错误的是(A)字符数组可以存放字符串(B)字符数组中的字符串可以整体输入、输出(C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值(D)不可以用关系运算符对字符数组中的字符串进行比较29.以下说法中正确的是(A)C语言程序总是从第一个定义的函数开始执行(B)在C语言程序中,要调用的函数必须在main()函数中定义(C)C语言程序总是从main()函数开始执行(D)C语言程序中的main()函数必须放在程序的开始部分30.在下列选项中,不正确的赋值语句是(A)++t; (B)n1=(n2=(n3=0));(C)k=i==j; (D)a=b+c=1;31.若有说明:int i,j=7, *p=&i;,则与i=j;等价的语句是(A)I= *P; (B)*P=*&J; (C)i=&j; (D)i=* *p;32.不能把字符串:Hello!赋给数组b的语句是(A)char b[10]={'H','e','l','l','o','!'};(B)char b[10];b="Hello!";(C)char b[10];strcpy(b,"Hello!");(D)char b[10]="Hello!";33.若有以下说明:int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};char c='a',d,g;则数值为4的表达式是(A)a[g-c] (B)a[4] (C)a['d'-'c'] (D)a['d'-c]34.若有以下说明:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为6的表达式是(A)*p+6 (B)*(p+6) (C)*p+=5 (D)p+535.若有以下说明:int w[3][4]o={{0,1},{2,4},{5,8}};int(*p)[4]=w;则数值为4的表达式是(A)*w[1]+1 (B)p++,*(p+1)(C)w[2][2] (D)p[1][1]36.若程序中有下面的说明和定义struct abc{int x;char y;}struct abc s1,s2;则会发生的情况是(A)编译进错(B)程序将顺利编译`连接`执行(C)能顺利通过编译`连接`但不能执行(D)能顺利通过编译`但连接出错37.能正确表示a≥10或a≤0的关系表达式是(A)a>=10 or a<=0 (B)a>=10│a<=0(C)a>=10││a<=0 (D)a>=10 ││a<=038.t为int类型,进人下面的循环之前,t的值为0while( t=l ){ ……}则以下叙述中正确的是(A)循环控制表达式的值为0 (B)循环控制表达式的值为1(C)循环控制表达式不合法(D)以上说法都不对39.下列程序的输出结果是(A) 5 (B) 6 (C) 7 (D) 8struct abc{ int a, b, c; };main(){ struct abc s[2]={{1,2,3},{4,5,6}}; int t;t=s[0],a+s[1],b;printf("%d \n",t);}40.有以下程序#include <stdio.h>main(){ printf("%d\n",NULL); }程序运行后的输出结果是(A)0 (B)1 (C)-1 (D)NULL没定义,出错41.C语言源程序名的后缀是(A).exe (B).C (C).obj (D).cp42.可在C程序中用做用户标识符的一组标识符是(A)and (B)Date (C)Hi (D)case43.以下选项中,合法的一组C语言数值常量是(A)028 (B)12. (C).177 (D)0x8A44.以下叙述中正确的是(A)C语言程序将从源程序中第一个函数开始执行(B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行(C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束(D)main可作为用户标识符,用以命名任意一个函数作为主函数45.若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是(A)scanf("%d",a,b,c); (B)scanf("%d%d%d",a,b,c);(C)scanf("%d",p); (D)scanf("%d",&p);46.以下关于long、int和short类型数据占用内存大小的叙述中正确的是(A)均占4个字节(B)根据数据的大小来决定所占内存的字节数(C)由用户自己定义(D)由C语言编译系统决定47.若变量均已正确定义并赋值,以下合法的C语言赋值语句是(A)x=y==5; (B)x=n%2.5; (C)x+n=I; (D)x=5=4+1;48.有以下程序段int j; float y; char name[50];scanf("%2d%f%s",&j,&y,name);当执行上述程序段,从键盘上输入55566 7777abc后,y的值为(A)55566.0 (B)566.0 (C)7777.0 (D)566777.049.若变量已正确定义,有以下程序段i=0;do printf("%d,",i);while(i++);printf("%d\n",i)其输出结果是(B)。
C语言选择题题库(116道)
C语言选择题1、用C语言编写的源文件经过编译,若没有产生编译错误,则系统将()。
——[单选题]A 生成可执行目标文件B 生成目标文件C 输出运行结果D 自动保存源文件正确答案:B2、一个C语言程序是由()——[单选题]A 一个主程序和若干子程序组成B 函数组成C 若干过程组成D 若干子程序组成正确答案:B3、C 程序的执行过程在下列说法中,▁▁▁▁▁ 是正确的。
——[单选题]A C 程序从第一个函数开始执行,直到最后一个函数结束B C 程序从第一个函数开始执行,直到主函数结束C C 程序从主函数开始执行,直到最后一个函数结束D C 程序从主函数开始执行,直到主函数结束正确答案:D4、结构化程序由三种基本结构组成,三种基本结构组成的算法——[单选题]A 可以完成任何复杂的任务B 只能完成部分复杂的任务C 只能完成符合结构化的任务D 只能完成一些简单的任务正确答案:A5、以下叙述中错误的是()——[单选题]A c语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令B c程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件C 用c语言编写的程序称为源程序,它以ASCIl代码形式存放在一个文本文件中D c语言源程序经编译后生成后缀为.obj的目标程序正确答案:A6、以下叙述中,正确的是。
——[单选题]A C语言程序总是从第一个函数开始执行B 在C语言程序中,要调用的函数必须在main()函数中定义C C语言程序总是从main()函数开始执行D C 语言程序中的main()函数必须放在程序的开始部分正确答案:C7、C 风格的注释 C 风格的注释,也称块注释或多行注释,以▁▁▁ 开始,以▁▁▁ 结束。
——[单选题]A /* 和 */B { 和 }C [ 和 ]D ( 和 )正确答案:A8、空语句仅有一个▁▁▁▁▁ 的语句称为空语句。
——[单选题]A 逗号( , )B 句号( . )C 分号( ; )D 冒号( : )正确答案:C9、c语言规定,在一个源程序中,main函数的位置()。
c语言选择题题库及详解答案
c语言选择题题库及详解答案C语言作为一门广泛应用的编程语言,其学习过程中,选择题是检验学习效果的重要方式之一。
下面是一个C语言选择题题库及详解答案的示例,供学习者参考。
1. 以下哪个是C语言的标准输入输出库函数?A. printf()B. scanf()C. both A and BD. None of the above答案:C详解:在C语言中,`printf()` 和 `scanf()` 都是标准输入输出库函数,分别用于输出和输入。
2. C语言中,以下哪个关键字用于定义函数?A. ifB. elseC. voidD. function答案:C详解: `void` 关键字用于定义函数的返回类型,表示该函数没有返回值。
3. 下面哪个是C语言中的合法变量名?A. 2variableB. variable2C. variable-nameD. variable_name答案:B详解: C语言中的变量名必须以字母或下划线开头,可以包含字母、数字和下划线,但不能以数字开头。
4. 在C语言中,以下哪个语句用于结束程序的执行?A. exit();B. return;C. break;D. continue;答案:A详解: `exit()` 函数用于立即结束程序的执行,而 `return` 用于结束函数的执行并返回一个值。
5. 以下哪个是C语言中的控制结构?A. 循环B. 条件判断C. 函数D. 所有选项答案:D详解: C语言中的控制结构包括循环(如 for, while, do-while)、条件判断(如 if, switch-case)和函数。
6. 在C语言中,以下哪个操作符用于计算两个数的乘积?A. +B. -C. *D. /答案:C详解: `*` 操作符用于计算两个数的乘积。
7. 下面哪个是C语言中数组的正确声明方式?A. int numbers = {1, 2, 3};B. int numbers[] = {1, 2, 3};C. int numbers[3] = {1, 2, 3};D. All of the above答案:D详解: C语言中数组可以有三种声明方式:不指定大小并初始化(A),指定大小并初始化(C),或者只指定大小不初始化(未列出)。
(完整版)C语言选择题题库
本卷共有4道大一、单项选择题(25道小题,共50分)1、以下说法中正确的是(C)(2分)A、C语言程序总是从第一个的函数开始执行B、在C语言程序中,要调用的函数必须在main()函数中定义C、C语言程序总是从main()函数开始执行D、C语言程序中的main()函数必须放在程序的开始部分2、一个算法应该具有“确定性”等五个特性,下面对另外4个特性的描述中错误的是(B)(2分)A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性3、以下选项中,不合法常量的是(B)(2分)A、1.234e04B、1.234e0.4C、1.234e+4D、1.234e04、C语言中最简单的数据类型包括(B)(2分)A、整型、实型、逻辑型B、整型、实型、字符型C、整型、字符型、逻辑型D、整型、实型、逻辑型、字符型5、能正确表示逻辑关系:“10≥=a≥=0”的C语言表达式是 (D)(2分)A、 10>=a>=0B、 a>=0 and a<=10C、 a>=0||a<=10D、 a>=0&&a<=106、设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是(D)(2分)A、 6.500000B、 6C、 5.500000D、 6.0000007、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是(B)(2分)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);8、设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是(D)(2分)A、把x和y按从大到小排列B、把x和y按从小到大排列C、无确定结果D、交换x和y中的值9、若有以下程序段:int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是(A)(2分)A、 0B、 0.5C、 1D、 210、设char ch='A';则ch=(ch>='A'&&ch<='Z')?(ch+32):ch的值是( B )。
c语言选择法试题及答案
c语言选择法试题及答案C语言选择法试题及答案1. 以下哪个选项是C语言中选择结构的关键字?A. switchB. ifC. whileD. do答案:B2. 以下哪个语句用于执行条件判断?A. if (condition)B. switch (expression)C. for (initialization; condition; increment)D. while (condition)答案:A3. 假设有一个变量 `score` 表示一个学生的分数,以下哪个选择结构可以用来判断学生的成绩等级?A. if (score >= 90)B. switch (score)C. for (int i = 0; i < 100; i++)D. while (score != 100)答案:A4. 在C语言中,`switch` 语句中的 `case` 后面应该跟什么?A. 一个表达式B. 一个变量C. 一个常量表达式D. 一个函数答案:C5. 以下哪个选项是C语言中 `if` 语句的正确用法?A. if (x > y)B. if x > yC. if (x > y) elseD. if (x > y) else if答案:A6. 假设 `a` 和 `b` 是两个整数变量,以下哪个选择结构可以用来交换 `a` 和 `b` 的值?A. if (a > b) { int temp = a; a = b; b = temp; }B. switch (a > b) { case 1: int temp = a; a = b; b = temp; }C. for (int i = 0; i < 1; i++) { int temp = a; a = b; b = temp; }D. while (a != b) { int temp = a; a = b; b = temp; }答案:A7. 在C语言中,`else` 语句应该与哪个关键字配对使用?A. ifB. switchC. forD. while答案:A8. 以下哪个选项是 `switch` 语句的正确用法?A. switch (a) { case 1: ...; break; case 2: ...; break; }B. if (a) { case 1: ...; break; case 2: ...; break; }C. switch (a) { if 1: ...; break; if 2: ...; break; }D. switch (a) { case 1: ...; default: ...; }答案:A9. 在C语言中,`break` 语句的作用是什么?A. 退出当前循环B. 退出当前函数C. 退出当前选择结构D. 继续执行下一个循环答案:C10. 以下哪个选项是 `if-else` 语句的正确用法?A. if (condition) { ... } else { ... }B. if (condition) { ... } else { ... }C. if (condition) { ... } else if { ... }D. if (condition) { ... } else if { ... }答案:A。
c语言选择题库
复习题一、单项选择题(每题1分,共30分)1、一个C语言程序是由()。
A.一个主程序和若干子程序组成B.函数组成C.若干过程组成D.若干子程序组成3、用来标识变量名、符号常量名、函数名、类型名、文件名、数组名的有效字符序列称为标识符。
在C语言中,规定标识符只能有字母、数值或下划线三类字符组成,且第一个字符必须为()或()。
A.字母,数字B.数字,下划线C.字母,下划线D.字母,下划线,数字5、C语言中,主调函数携带的参数列表称为实参,而被调用函数的参数列表习惯上称为()。
A.形式参数B.值参C.动态参数D.静态参数7、下列关于switch和break语句的结论中,只有()是正确的。
A.break语句是switch语句的一部分B.在switch语句中可以根据需要使用或不使用break语句C.在switch语句中必须使用break语句D.以上三个结论中有两个是正确的9、对于数组a[m][n]来说,使用数组的某个元素时,行下标最大值是(),列下标最大值是()。
A. m,n-1B. m-1,n-1C. m-1,nD. m,n10、下面程序段的运行结果是()。
char a[7]=″abcedf″;char b[4]=″ABC″;strcpy(a,b);printf(“%c”,a[5]);A. dB. \0C. eD. f11、一维double型数组a长度为10,则实际所占内存字节数为()。
A. 20B. 40C. 60D. 8012、字符串a=“hello”,则函数调用strlen(a)的返回值为()。
A. 4B. 5C. 6D. 413、在C语言中,&作为单目运算符时表示的是()。
A.地址与B.取地址C.输入地址D.输出地址14、对不同类型的数据有不同的格式字符。
例如:()格式字符是用来输出十进制整数,()格式字符是用来输出一个字符串。
A.c,sB.s,dC.d,cD.d,s15、do-while语句的特点是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言选择题题库C语言程序设计题库说明一本题库适用对象计算机应用技术计算机软件软件技术计算机网络技术与计算机控制技术等专业二本题库包含有175道选择题三本题库所有题目均附有答案一、选择题下列各题ABCD四个选项中,只有一个选项是正确的,请将正确选项涂在答题卡的相应位置上,答在试卷上不得分。
1、不合法的整数是()。
A)0x35 B)43.6 C)0532D)-3462、下列合法的字符常量是()。
A)“f”B)x C)65 D)‘\Xab’3、设有整型变量x,单精度变量y=5.5,表达式x=float(y*3+((int)y%4))执行后,x的值为()。
A)17B)17.500000 C)17.5D)1.54、在C语言中,负整数在内存中以()形式释放。
A)补码B)BCD码C)反码D)十进制数5、在C语言中,要求参加运算的数必须是整数的运算符是()。
A)/ B)!C)%D)= = 6、()是C语言中非法的数据类型关键字。
A)float B)singed C)integerD)Char7、现已定义整形变量int i=1;执行循环语句while(i++<5);后i的值为()。
A)1 B)5 C)6 D)以上三个答案都不正确8、下列语句的输出结果是()。
printf(“%f\n”,(float)(2+4)/2);A)有语法错误不能通过编译B)3 C)3.0 D)3.0000009、C语言中,整数-8在内存中的存储形式是()。
A)1111,1111,1111,1000B)1000,0000,0000,1000C)0000,0000,0000,1000 D)1111,1111,1111,011110、设C语言中,int类型数据占2个字节,则long类型数据占()个字节。
A)1 B)2 C)8 D)411、若变量a已说明为float类型,则能实现将a 中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是()。
A)a=(a*100+0.5)/100.0B)a=(a*100+0.5)/100C)a=(int)(a*100+0.5)/100.0D)a=(a/100+0.5)*100.012、定义a为整型,下列表达式a=3>6的运行后,a的值为()。
A)0 B)1 C)3 D)表达式错误13、如果a=1,b=2,c=3,d=4,则条件表达式a>b?a:c>d?c:d的值为()。
A)1 B)2 C)3 D)414、对于条件表达式(M)?(a++):(a--),其中的表达式M等价于()。
A)M= =0 B)M= =1 C)M!=0D)M!=115、在x值处于-2到2,4到8时值为“真”,否则为“假”的表达式是()。
A)(2>x>-2)||(4>x>8)B)((x<=-2)||(x>=2)||((x>4)||(x>=8))C)(x<2)&&(x>=-2)&&(x>4)&&(x<8)D)(x>-2)&&(x>4)||(x<8)&&(x<2)16、已知字母a的ASC||的十进制代码为97,则执行下列语句后输出为()。
Char a=‘a’;a--;printf(“%d,%c\n”,a+‘2’-‘0’,a+‘3’-‘0’);A)a,c B)a—运算不合法,故有语法错误C)98,c D)格式描述和输出项不匹配,输出无定值17、下列语句中错误的是()。
A)x=sizeof(int); B)x=sizeof(3.14);C)printf(“%d”,a=a+1,b--,c+1);D)printf(“%d”,++x,x++);18、C语言中,逻辑“真”等价于()。
A)大于零的数B)大于零的整数C)非零的数D)非零的整数19、下列语句中,符合语法的语句式()。
A)a+b=3 B)a=7 C)a=c+b+3=6;D)a=8,b=a+7;20、若x为float型变量,则以列程序段结果是()。
x=1234.6789;printf(“%-2.1f”,x);A)输出格式描述符的域宽度不够,不能输出B)输出为1234.7C)输出为1234.6 D)输出为-1234.621、下面函数的功能是()。
Int funl(char*x){char*y=x;while(*y++);return(y-x-1);}A)求字符串的长度B)比较两个字符串的大小C)将字符串x复制到字符串y D)将字符串x连接到字符串y后面22、指针变量a所指的字符串长度为()。
Char*a=”\n\”My Name is \”Zhang Li\”\n”;A)26 B)27 C)28 D)2323、若有以下说明和语句,则输出结果是()。
Char*sp=”\\\”\n”;Printf(“%d”,strlen(sp));A)6 B)3 C) 5 D)字符串中有非法自负,输出值不定24、若有以下的说明语句,则对字符串中字符的不正确引用是(其中0<=i<6)( ).Char*strp=“string”;A)*strp B)*(strp+i) C)strp[i]D)strp25、函数调用:strcat(strcpy(str1,str2),str3)的功能是()。
A)将串str1复制到串str2中后再连接到串str3之后B)将串str1连接到串str2之后再复制到串str3之后C)将串str2复制到串str1中后再将串str3连接到串str1之后D)将串str2连接到串str1之后再将串str1复制到串str3之后26、若使用下述程序段将整数12和浮点数13.6分别赋给变量a和b,那么输入应该式()。
int a;float b;scanf(“a=%d,b=%f”,&a,&b);A)12 13.6 B)a=12, b=13.6 C)12, 13.6 D)a=12 b=13.627、对下面的程序说法正确的是()。
main(){int x+3,y=0,z=0;if(x=y+z)printf(“****”);elseprintf(“####”);}A)有语法错误,不能通过编译B)输出为**** C)输出为# # # # D)通过编译,但是不能运行28、下面程序的输出是()。
main(){int x=10,y=3;printf(“%d\n”,y=x%y);}A)0 B)1 C)3 D)不确定的值29、()是不正确的C语言赋值语句。
A)a=a+1; B)i++; C)a*=1,b=8;D)a=330、C语言程序的三种基本程序是()。
A)顺序结构,选择结构,循环结构B)递归结构,循环结构,转移结构C)嵌套结构,递归结构,顺序结构D)循环结构,转移结构,顺序结构31、执行下面语句后的输出结果为()。
int i=-1;if (i<=0)printf(“****\n”);i=2;elseprintf(“%%%%\n”);A)**** B)%% C)%%%%cD)有语法错误。
不能正确执行32、下述语句中,()中的if 语法有错误。
A)if(x y);B)i f(x= =y)x+y;C)if(x!=y)scanf(“%d”,x)elsescanf(“%d”,y);D)if(x y){x++;y++;}33、以下程序段()。
int x=1,y=4;printf(x<y?”x=%d”:”y=%d”,x,y);A)输出控制格式错误B)输出:x=1 C)输出:y=1 D)输出:y=434、为了避免嵌套的条件语句if-else的二义性,C语言规定:else与()是正确的。
A)缩排位置相同的if B)其之前最近的if C)其之后if D)同一行上的if 35、下列关于switch语句和break语句的结论中,只有()是正确的。
A)break语句是switch语句的一部分B)在switch语句中可以根据需要使用或不使用break语句C)在switch语句中必须使用break语句D)以上三个结论有两个是正确的36、设I和x都是int类型,则对于for循环语句for(i=0,x=0;i<9;i++),下列哪句话正确( )。
A)执行8次B)执行9次C)是无限循环D)循环体一次也不执行37、下述程序的输出结果是()。
#include<stdio.h>main(){ int Y=100;while(Y--);printf(“y=%d”,Y);}A)Y=0 B)Y=1 C)Y=随机值D)Y=-138、以下for循环语句()。
for(; ;)printf(“*”);A)判断循环结束的条件不合法B)是无限循环C)循环一次也不执行D)循环只执行一次39、以下程序段执行后输出结果()。
int i;for(i=1; ; i++)printf(“%d”,i++);A)1 B)2 C)3 D死循环40、char(*A)[5],则标识符A的意义时()。
A)A是一个指向有5个字符型元素的指针变量B)A是一个有5个元素的一维数组,每个元素指向字符型的指针变量C)A是一个指向字符型的函数的指针变量D)A是一个有5个元素的一维数组,每个元素指向整型变量的指针变量41、下述程序的运行结果为()。
#include<stdio.h>void abc(char*str){int a, b;for(a=b=0;str{a}!=’\0’;a++)if(str[a]!=’c’)tr[b++]=str[a];str[b]=’\0’;}void main (){char str []=”abcdef”;abc(str);printf(“str[]=”%s”,str);}A)STR[]=abdef B)STR[]=abcdefC)STR[]=a D)STR[]=ab42、下列各数组定义程序段,正确的是()。
A)int n=10;int a[n];B)m ain(){char str[10]=”a man”}C)static int[][3]={{0,1,2},{80,89,2}};D)static char[5]=“i am a student.”;43、以下main函数调用invert函数将串s的元素按逆序重新存放,()是不能正确实现此功能的程序。
void main(){char srt[]=“String”;invert(s);···}A)void invert(char s[]){int t,I,j;for(i=0,j=strlen(s)-1;i<j;i++,--j){t=*(s+i);*(s+i)=*(s+j);*(s+j)=t;}}B)void invert(char *s){int t,i,j;for(i=0,j=strlen(s);i<j;i++,--j){t=s[i];s[j]=s[i];s[i]=t;}}C)void invert(char *s){int t,*h,*p;h=s;p=s+strlen(s)-1;while(h<p)t=*h,h=*p,*p=t,p--,h++;}D)void invert(char *s){int t, *p;p=s+stlen(s)-1;while(s<p){t=*s;*s++=*p;*p--=t;}}44、下列程序的输出结果是()。