c语言选择题及答案
C语言试题选择题及答案
★第1 题:阅读程序,选择程序的运行结果___A___。
#include <stdio.h>main(){ int x;x=try(5);printf(“%d\n”, x);}try(int n){ if(n>0) return(n*try(n-2));else return(1);}A. 15B. 120C. 1D. 前面3个答案均是错误的第2 题:在下列结论中,只有一个是正确的,它是___A___。
A. 递归函数中的形式参数是自动变量B. 递归函数中的形式参数是外部变量C. 递归函数中的形式参数是静态变量D. 递归函数中的形式参数可以根据需要自己定义存储类型★第3 题:阅读程序,选择程序的输出结果__A___。
#include <stdio.h>f(int x, int y){ return(y-x);}main(){ int (*g)(int,int);int a=5, b=6, c=2;g=f;c=(*g)(a,b);printf(“%d\n”, c);}A. 1B. 2C. 3D. 前面3个答案均是错误的第4 题:阅读程序,选择程序的输出结果__D___。
#include <stdio.h>char *p=”abcdefghijklmnopq”;main(){ while(*p++!=’e’) ;printf(“%c\n”, *p);}A. cB. dC. eD. f★第6 题:阅读程序,选择程序的输出结果___D___。
#include <stdio.h>void prtv(int *x){ printf(”%d\n”, ++*x);}main(){ int a=25;prtv(&a);}A. 23B. 24C. 25D. 26第7 题:阅读程序,选择程序的输出结果___B___。
#include <stdio.h>main(){ static char a[ ]= ”language”, b[]=”program”;char *ptr1=a, *ptr2=b;int k;for(k=0; k<7; k++)if(*(ptr1+k)==*(ptr2+k))printf(”%c”, *(ptr1+k));}A. gaeB. gaC. languageD. 有语法错误★第8 题:函数调用strcat(strcpy(str1, str2), str3)的功能是__C___。
C语言练习题-选择题(带答案)
C语言练习题-选择题(带答案)1.下列字符序列中,可用作C标识符的一组字符序列是(D)。
A:S.b,um,average,_aboveB:cla,day,lotu_1,2dayC:#md,&12某,month,tudent_n!D:D56,r_1_2,name,_t_12.C语言程序从main()函数开始执行,所以这个函数要写在(C).A:程序文件的开始B:程序文件的最后C:程序文件的任何位置(除别的函数体内)D:它所调用的函数的前面3.完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为(B).A:连接、编译B:编译、连接C:连接、运行D:运行4.要调用文件处理函数时,在#include命令行中应包含(C).A:\5.以下数据中,不正确的数值或字符常量是(C)。
A:0B:5LC:o13D:98616.在C语言中,错误的语句是(C).A:a=b=c;B:;C:breakD:b=3某5,a某=4;7.以下标识符中,不能作为合法的C用户定义标识符的是(B)。
A:a3_b3B:voidC:_123D:IF8.一个C语言程序是由(C)组成.A:一个主程序和若干子程序B:函数C:若干过程D:若干子程序9.C语言源程序的基本单位是(B)。
A:过程B:函数C:子程序D:标识符10.已知宏定义#defineN3#defineY(n)((N+1)某n)执行语句z=2某(N+Y(5+1));变量z的值为(B).A:42B:48C:54D:出错第11题C语言文件系统中,整数1008若以ASCII形式存储,则占几个字节(B).A:2B:4C:1D:5第12题正确的自定义标识符是(C).A:ifB:a某bC:IfD:8pq第13题有说明语句chara='\\101';,则变量a(D).A:包含4个字符B:包含2个字符C:包含3个字符D:包含1个字符第14题下面正确的字符常量是(C).A:\第15题在main函数体内部和外部均允许出现的实体是(A).A:预处理命令B:语句C:另一函数的定义D:函数形式参数声明第16题若变量已正确说明为float类型,要通过语句canf(\给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是(B).A:102233B:10.0,22.0,33.0C:10.022.033.0第17题(B)是C语言提供的合法数据类型关键字.A:FloatB:ignedC:integerD:Char第18题下列选项中,合法的C语言关键字是(D).A:VARB:cherC:integerD:default第19题使用语句canf(\输入变量某,y的值([]代表空格),正确的输入是(C).A:1.25,2.4B:1.25[]2.4C:某=1.25,y=2.4D:某=1.25[]y=2.4第20题宏定义\\的宏替换\应为(A).A:a=某+5某y-3.1;B:a=(某+5)某(y-3.1);C:a=某+5某y-3.1D:a=(某+5)某(y-3.1)答案:A第21题(1.0分)题号:919下述程序段的输出结果是(A).int某=10;inty=某++;printf(\A:11,10B:11,11C:10,10D:10,11答案:A第22题(1.0分)题号:925以下不正确的C语言标识符是(A).A:2yB:a_1_2C:able某eD:_某答案:A第23题(1.0分)题号:914以下所列的C语言常量中,错误的是(B).A:0某ffB:1.2e0.5C:2LD:'\\72'答案:B第24题(1.0分)题号:918下列程序的输出是(B).#includemain(){printf(\A:0B:变量无定义C:-1D:1答案:B第25题(1.0分)题号:930在C程序中,1如果用来表示逻辑值时,应代表(A).A:真B:假C:整数1D:长整型数1答案:A第26题(1.0分)题号:927以下答案中不是C语言最基本数据类型的是(A).A:逻辑型B:整型C:字符型D:实型答案:A第27题(1.0分)题号:922常数的书写格式决定了常数的类型和值,0某1011是(C).A:8进制整型常量B:字符常量C:16进制整型常数D:2进制整型常数答案:C第28题(1.0分)题号:928若某,y均定义为int型,z为double型,以下不合法的canf函数调用语句是(D).A:canf(\\B:canf(\\C:canf(\\D:canf(\\答案:D第29题(1.0分)题号:931以下所列字符常量中,不合法的是(A).A:'\\0某a2'B:'\\65'C:'$'D:'\\某2a'答案:A第30题(1.0分)题号:912若变量都已正确说明,则以下程序段(C).a=2;b=3;printf(a>b\A:没有正确的输出格式控制B:输出为:某某某a=2C:输出为:###b=2D:输出为:某某某a=2###b=3答案:C第31题(1.0分)题号:929以下四个字符序列中,能用作用户自定义的标识符是(A).A:PutcharB:-doubleC:A123-D:int答案:A第32题(1.0分)题号:923下列格式符中,可以用于以8进制形式输出整数的是(C).A:%dB:C:%oD:答案:C第33题(1.0分)题号:936以下叙述中正确的是(D).A:输入项可以是一个实型常量,如:canf(\B:只有格式控制,没有输入项,也能正确输入数据到内存,例如:canf(\ C:当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:canf(\D:当输入数据时,必须指明变量地址,例如:canf(\答案:D第34题(1.0分)题号:926C语言中字符型(char)数据在内存中的存储形式是(D).A:原码B:补码C:反码D:ASCII码答案:D。
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语言选择题及答案
1﹑以下选项中不合法的用户标识符是( C )。
A)_123 B)PP C)A$ D)Dim2﹑C语言提供的合法数据关键字是( A )。
A)float B) Sagned C) Integer D) ing3﹑判断char型变量c1是否为小写字母的正确表达式为 ( D )。
A) 'a'<=c1<='z' B) (c1>=A. &&(c1<='z')C) ('a'>=c1)||('z'<=c1) D) (c1>='a')&&(c1<='z')4﹑C语言可执行程序开始执行点为( C ).A)程序中第一条可执行语句 B) 程序中第一个函数C)程序中的main函数D) 包含文件中的第一个函数5﹑以下说法中正确的是( C ).A)C语言程序总是从第一个定义的函数开始执行B)在C语言程序中,要调用的函数必须在main函数中定义C)C语言程序总是从main函数开始执行D) C语言程序中,main函数必须放在程序的开始部分6﹑设有定义:int a=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是( C )。
A)if(a>b) c=a,a=b,b=c; B)if(a>b) {c=a,a=b,b=c;}C)if(a>b) c=a;a=b;b=c; D)if(a>b) {c=a;a=b;b=c;}7﹑若有说明和语句:int a=5,b;b=a++;此处变量b的值是( C )。
A)7 B)6 C)5 D)8﹑以下程序的输出结果是( D )。
int x=10,y=10;printf("%d %d\n",x--,--y);A) 10 10 B) 9 9 C) 9 10 D) 10 9 9﹑C语言用( C )表示逻辑“真”值。
c语言考试题及答案百度文库
c语言考试题及答案百度文库一、选择题1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 在C语言中,以下哪个函数用于将字符串从源地址复制到目标地址?A. strcpyB. strncpyC. strcatD. strcmp答案:A3. 下列哪个选项是C语言中合法的整型常量?A. 0x4FB. 4.5EC. 0b1010D. 0L答案:A二、填空题1. C语言中,用于定义一个变量为静态存储期的关键字是________。
答案:static2. C语言中,用于定义一个变量为自动存储期的关键字是________。
答案:auto3. C语言中,用于定义一个变量为寄存器存储期的关键字是________。
答案:register三、简答题1. 请简述C语言中指针的作用。
答案:指针在C语言中用于存储变量的内存地址,通过指针可以间接访问和修改变量的值,实现动态内存分配和数组操作等功能。
2. 请解释C语言中数组和指针的关系。
答案:在C语言中,数组名可以被当作指向数组第一个元素的指针。
数组的每个元素可以通过指针访问,指针的偏移量可以用于遍历数组。
四、编程题1. 编写一个C语言程序,实现两个整数的加法运算。
答案:```c#include <stdio.h>int main() {int a = 5, b = 10;int sum = a + b;printf("Sum of %d and %d is %d\n", a, b, sum);return 0;}```2. 编写一个C语言程序,实现字符串的反转。
答案:```c#include <stdio.h>#include <string.h>void reverseString(char *str) {int i, j;char temp;for (i = 0, j = strlen(str) - 1; i < j; i++, j--) { temp = str[i];str[i] = str[j];str[j] = temp;}}int main() {char str[] = "Hello, World!";reverseString(str);printf("Reversed string: %s\n", str);return 0;}```。
C语言题库及答案(选择题)
C语言题库(选择题)1.C语言源程序的基本单位是()。
A.过程B.函数C.子程序D.标识符2.下列字符序列中,可用作C标识符的一组字符序列是()。
A. S.b,sum,average,_aboveB. class,day,lotus_1,2dayC. #md,&12x,month,student_n!D. D56,r_1_2,name,_st_13.以下标识符中,不能作为合法的C用户定义标识符的是()。
A.a3_b3B.voidC._123D.IF4.以下数据中,不正确的数值或字符常量是()。
A.0B.5LC.o13D.98615.以下数值中,不正确的八进制数或十六进制数是()。
A.0x16B.16C.-16D.0xaaaa6.以下的选择中,正确的赋值语句是()。
A.a=1,b=2B.j++C.a=b=5;D.y=int(x)7.以下运算符中,优先级最高的运算符是()。
A.?:B.++C.&&D.,8.在C语言中,能代表逻辑值“真”的是()。
A.TRUEB.大于0的数C.非0整数D.非0的数9.下列变量说明语句中,正确的是()。
A.char:a b c;B.char a;b;c;C.int x;z;D.int x,z;10.下列字符序列中,不可用作C语言标识符的是()。
A.b70B.#abC.symbolD.a_111.以下不正确的叙述是()。
A.在C程序中所用的变量必须先定义后使用。
B.程序中,APH和aph是两个不同的变量。
C.若a和b类型相同,在执行了赋值语句a=b;后b中的值将放入a中,b中的值不变。
D.当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值。
12.以下标识符中,不能作为合法的C用户定义标识符的是()。
A.ForB.PrintfC.WORDD.sizeof13.以下标识符中,不能作为合法的C用户定义标识符的是()。
A.answerB.toC.signedD._if14.以下标识符中,不能作为合法的C用户定义标识符的是()。
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语言的选择题和详细的解释共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语言单项选择题(带答案)
计算机程序设计基础(C语言)单项选择练习题一、基本概念1. C语言程序是由构成的。
A)一些可执行语言 B)main函数C)函数 D)包含文件中的第一个函数2. 是构成C语言程序的基本单位。
A)函数 B)过程 C)子程序 D)子例程3.C语言可执行程序从开始执行。
A) 程序中第一条可执行语句 B) 程序中第一个函数C) 程序中的main函数 D) 包含文件中的第一个函数4.C语言程序从main()函数开始执行,所以这个函数要写在____。
A) 程序文件的开始 B) 程序文件的最后C) 它所调用的函数的前面 D) 程序文件的任何位置5. 以下说法中正确的是。
A)C语言程序总是从第一个定义的函数开始执行B)在C语言程序中,要调用的函数必须在main( )函数中定义C)C语言程序总是从main( )函数开始执行D)C语言程序中的main( )函数必须放在程序的开始部分6. 下列方法中错误的是。
A)主函数可以分为两个部分:主函数说明部分和主函数体。
B)主函数可以调用任何非主函数的其它函数。
C)任何非主函数可以调用其它任何非主函数。
D)程序可以从任何非主函数开始执行。
7.下列关于C语言的说法错误的是。
A) C程序的工作过程是编辑、编译、连接、运行B) 标识符的命名由英文字母、数字和下划线组成,与字母的大小写无关C) C程序的三种基本结构是顺序、选择、循环D) 一个C程序总是从main函数开始执行的8. 系统默认的C语言源程序扩展名为.C,需经过之后,生成.exe文件,才能运行。A) 编辑、编译 B )编辑、连接 C) 编译、连接 D) 编辑、改错9.下列说法中正确的是。
A)由于C源程序是高级语言程序,因此一定要在TC软件中输入。
B)由于C源程序是由字符流组成的,因此可以作为文本文件在任何文本编辑的软件中输入。
C)由于C程序是高级语言程序,因此输入后即可执行。
D)由于C程序是高级语言程序,因此它是由命令组成的。
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语言选择题(含答案)选择题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==1B) !(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)1B)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语言考试题库及答案
(完整版)C语言考试题库及答案一、选择题1. 以下哪个选项是C语言的合法标识符?A. intB. 2abcC. voidD. a+b答案:C2. 在C语言中,下列哪个选项是正确的数据类型?A. floatB. integerC. doubleD. All of the above答案:D3. 若变量定义如下:int a = 5;,则执行语句printf("%d", a++); 后,a的值是多少?A. 4B. 5C. 6D. 无法确定答案:C4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A5. 在C语言中,哪个运算符用于取模(取余)?A. %B. /C. &D. |答案:A以下是判断题部分:6. C语言中的数组名可以作为指向该数组首元素的指针使用。
()答案:正确7. 在C语言中,结构体变量可以作为函数的参数传递。
()答案:正确8. 在C语言中,静态存储类别的变量在程序运行期间始终占据内存空间。
()答案:正确二、填空题9. 在C语言中,定义一个整型变量需要使用关键字______。
答案:int10. 若变量定义如下:int a = 10;,则执行语句printf("%d", a--); 后,a的值是______。
答案:911. 在C语言中,用于动态分配内存的函数是______。
答案:malloc12. 在C语言中,用于释放动态分配的内存的函数是______。
答案:free13. 在C语言中,用于清空标准输入缓冲区的函数是______。
答案:getchar()三、编程题14. 编写一个C语言程序,实现以下功能:输入一个整数,输出它的阶乘。
答案:```c#include <stdio.h>int main() {int n, i;long factorial = 1;printf("Enter an integer: ");scanf("%d", &n);if (n < 0) {printf("Factorial of a negative number doesn't exist.\n");} else {for (i = 1; i <= n; i++) {factorial = i;}printf("Factorial of %d is %ld\n", n, factorial);}return 0;}```15. 编写一个C语言程序,实现以下功能:输入一个字符串,判断它是否是回文(正读和反读都一样的字符串)。
c语言考试题及答案以及解析
c语言考试题及答案以及解析一、选择题1. 下列哪个选项是C语言中的关键字?A. intB. floatC. doubleD. string答案:A解析:在C语言中,关键字是保留的词汇,用于表示特定的语法结构。
int是C语言中用于声明整型变量的关键字。
2. C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C解析:在C语言中,乘法运算符是星号(*),用于计算两个数的乘积。
二、填空题1. 在C语言中,以下代码片段的输出结果是:```cint main() {int a = 5;printf("%d", a);return 0;}```输出结果为:_________答案:5解析:代码中的printf函数用于输出变量a的值,a被初始化为5,因此输出结果为5。
2. 下列代码段中,变量b的值是多少?```cint main() {int a = 10, b;b = a + 5;printf("%d", b);return 0;}```变量b的值为:_________答案:15解析:变量b被赋值为变量a加上5,由于a的值为10,所以b的值为15。
三、简答题1. 简述C语言中的数组是什么,并给出一个数组的声明和初始化的例子。
答案:C语言中的数组是一种数据结构,用于存储相同类型的多个元素。
数组的声明需要指定元素的类型和数组的长度。
数组的初始化可以在声明时完成。
解析:例如,声明一个整型数组并初始化:```cint numbers[5] = {1, 2, 3, 4, 5};```2. 解释C语言中的函数是什么,并给出一个简单函数的定义和调用的例子。
答案:C语言中的函数是一段具有特定功能的代码块,可以接收参数,并返回一个值。
函数的定义包括函数的返回类型、名称、参数列表和函数体。
函数的调用是使用函数名称和必要的参数来执行函数。
解析:例如,定义一个函数来计算两个数的和,并调用它:```cint add(int x, int y) {return x + y;}int main() {int result = add(5, 10);printf("%d", result);return 0;}```四、编程题1. 编写一个C语言程序,实现输入两个整数,输出它们的和。
C语言试题选择题及答案
★第 6 题 :
阅读程序,选择程序的输出结果 ___D___。
#include <stdio.h>
void prtv(int *x)
{ printf(
”%d\n”, ++*x);
}
main()
{ int a=25;
prtv(&a);
}
A. 23
;.'
;.
B. 24 C. 25 D. 26
第7 题:
A. funa(int *x, int *y) { int *p; *p=x; *x=*y; *y=*p; }
B. funb(int x, int y) { int t; t=x; x=y; y=t; }
C. func(int *x, int *y) { *x=*y; *y=*x; }
D. fund(int *x, int *y) { *x=*x+*y; *y=*x-*y; *x=*x-*y; }
A. p+=2, *(p++) B. p+=2, *++p C. p+=3, *p++ D. p+=2, ++*p
则值为 3的
★第 24 题:
;.'
;.
已知 int a[3][4], *p=a; p+=6; A. *(a+6) B. *(&a[0]+6) C. *(a[1]+2) D. *(&a[0][0]+6)
___D___。
第35 题: 已知 int *p, a; 则语句 p=&a; 中的运算符 &的含义是 ___D___。
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。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1﹑以下选项中不合法的用户标识符是( C )。
A)_123 B)PP C)A$ D)Dim2﹑C语言提供的合法数据关键字是( A )。
A)float B) Sagned C) Integer D) ing3﹑判断char型变量c1是否为小写字母的正确表达式为 ( D )。
A) 'a'<=c1<='z' B) (c1>=A. &&(c1<='z')C) ('a'>=c1)||('z'<=c1) D) (c1>='a')&&(c1<='z')4﹑C语言可执行程序开始执行点为( C ).A)程序中第一条可执行语句 B) 程序中第一个函数C)程序中的main函数D) 包含文件中的第一个函数5﹑以下说法中正确的是( C ).A)C语言程序总是从第一个定义的函数开始执行B)在C语言程序中,要调用的函数必须在main函数中定义C)C语言程序总是从main函数开始执行D) C语言程序中,main函数必须放在程序的开始部分6﹑设有定义:int a=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是( C )。
A)if(a>b) c=a,a=b,b=c; B)if(a>b) {c=a,a=b,b=c;}C)if(a>b) c=a;a=b;b=c; D)if(a>b) {c=a;a=b;b=c;}7﹑若有说明和语句:int a=5,b;b=a++;此处变量b的值是( C )。
A)7 B)6 C)5 D)8﹑以下程序的输出结果是( D )。
int x=10,y=10;printf("%d %d\n",x--,--y);A) 10 10 B) 9 9 C) 9 10 D) 10 99﹑C语言用( C )表示逻辑“真”值。
A)true B)t或y C)非零整数值 D)整数010﹑指出下面正确的输入语句( B )。
A) scanf("a=b=%d",&a,&b) ; B) scanf("%d,%d",&a,&b) ;C) scanf("%c",c) ; D) scanf("% f%d\n",&f) ;11﹑若x=5,y=3 则y*=x+5; y的值为( D )。
A)10 B)20 C)15 D)3012﹑设整型变量n的值为2,执行语句"n+=n-=n*n;"后,n的值是( C )。
A)0 B)4 C) - 4 D) 213﹑以下程序的运行结果是( D )。
void main(){int a=65;char c=’A’;printf(“%x,%d”,a,c);}A)65,a B)41, a C)65,65 D)41,6514﹑下面不正确的赋值语句是(B )。
A) a=a+1 B) a= =b C) a+=b D) a=115﹑不是C语言提供的合法关键字。
( B )A)switch B)prin C)case D)default16﹑在C语言中对于实型数组,其每个数组元素的类型是( A )。
A)实型 B)整型 C)可以为任何类型 D)不确定17﹑正确的标识符是(D)。
A)?a B)a=2 C)3A D)a_318﹑sizeof(double)的结果值是( A )。
A)8 B)4 C)2 D)出错19﹑以下对二维数组 a的正确说明是( C)。
A)int a[][] B)float a(3,4) C)int a[4][4] D)float a(3)(4)20﹑语句a=(3/4)+3%2; 运行后,a的值为(B)A)0 B)1C)2 D)321﹑下列属于文件包含的命令是( C )。
A) #define N 25 B.)#endifC) #include "stdio.h" D) #else22﹑表达式(double)(20/3)的值为(B)。
A)6 B)6.0 C)2 D)323﹑若已知a=10,b=20,则表达式!a<b的值为( C )。
A)10 B)20 C)1 D)024﹑TURBO C中int类型变量所占字节数是( B )。
A)1 B)2 C)3 D)425﹑设n=10,i=4,则赋值运算 n%=i+1执行后,n的值是( A )。
A) 0 B) 3 C) 2 D) 126﹑设Int n=3;则有表达式++n,n的结果是( C )。
A)2 B)3 C)4 D)527﹑定义了三个变量:int a, b;float c;使用scanf函数为这三个变量输入值,哪个输入语句是正确的:( C)。
A)scanf("%d%d%f",a,b,c) B)scanf("%d%d%d",a,b,c)C)scanf("%d%d%f",&a,&b,&c) D)scanf("%d%d%d",&a,&b,&c)28﹑以下叙述中正确的是(A )。
A.C程序中注释部分可以出现在程序中任意合适的地方;B.花括号"{"和"}"只能作为函数体的定界符;C.构成C程序的基本单位是函数,所有函数名都可以由用户命名;D.分号是C语句之间的分隔符,不是语句的一部分。
29﹑有语句:char s1[10],s2[10]={"books"}; 则能将字符串"books"赋给数组s1的正确语句是( B)。
A)s1={"books"} B)strcpy(s1,s2)C)s1=s2 D)strcpy(s2,s1)30﹑sizeof(double)的结果值是( A)。
A)8 B)4 C)2 D)出错31有下列程序段#include <stdio.h>#define N 4#define M 8void main(){ int i;for(i=N; i<M; i++) printf("%d\n", i);}该程序中的for循环执行的次数是( A )。
A)4 B)5 C)6 D)732﹑C语言中定义符号常量正确的是( D )。
A)#define PI=3.14 B)define PI 3.14C)float PI=3.14 D)#define PI 3.1433﹑语句printf(“%.2f”,123.456);的输出结果是( A )。
A)123.46 B)123.456C)1.23e2 D)1.23456e234﹑ C语言程序的基本单位是( C )。
A)程序行B)语句C)函数D)字符35﹑能正确表示逻辑关系:”a≤10且a≥0”的C语言表达式是( C )。
A)0≤ a≤10B)0<=a<=10C)a>=0 && a<=10 D)a>=0 & a<=1036﹑若有说明:int x[][3]= {1,3,5,7,9,11,13}; ,则x数组的行数为( B )。
A)2 B)3 C)4 D)无确定值37﹑若有定义:int a[3]={0,1,2};则a[1]的值为( B )。
A)0 B) 1 C)2 D)338﹑已知int a[10];则对a数组元素引用不正确的是(A )。
A)a[10] B)a[3+5] C)a[10-10] D)a[5]39﹑下列属于整型常量的是( A)。
A) 12 B)2.0 C) -12.0 D) 10E1040﹑ putchar()函数的功能是向终端输出( B)。
A)多个字符 B)一个字符 C)一个实型变量值 D)一个整型变量表达式41﹑下面程序的输出结果是( A )。
#include<stdio.h>#define SQR(x) (x*x)void main(){int a,b=3;a=SQR(b+2);printf(“\n%d”,a);}A)11 B)25 C)不定值D)产生错误42﹑设int x=1,y=1;表达式(!x++ || y--)的值是( B )。
A)0 B) 1 C) 2 D)-143﹑以下程序运行后,循环体运行的次数为( B )。
int i=10,x;for( ;i<10;i++)x=x+i;A.10 B.0 C.1 D.无限44﹑不属于字符型常量的是( C)。
A)‘A’ B) 'a' C) "A" D) 'b'45﹑从循环体内某一层跳出,继续执行循环外的语句是:( C)。
A) break语句 B)return语句C)continue语句 D)空语句。
46﹑下列对数组定义不正确的语句是( D)。
A) int m[5]; B) char b[]={‘h’,’e’};C) int a[10]={1,6,8,4}; D) char p[];47﹑在TC中,基本int a[4]类型变量所占的字节数是( D)。
A)1 B)2 C)4 D)848﹑若有定义:int a[3][4]={{1,2},{0},{1,2,3}};则a[1][1]的值为( A )。
A)0. B){1,2} C)1 D)349﹑若有定义:int a;则语句a=(3*4)+2%3;运行后a的值为( B )。
A) 12 B)14 C)11 D)1750﹑getchar( )函数的功能是从终端输入( D )。
A)一个整型量值 B)一个实型变量值 C)多个字符D)一个字符51﹑C语言对于计嵌套语句的规定:else总是与(B )配对A)第一个if B)之前最近且尚未配对C)缩进位置相同的if D)之前最近的if52﹑若有定义int a[2][3];则对数组元素的非法引用是( D )。
A)a[0][1/2] B)a[1][1] C)a[4-4][0] D)a[0][3]53﹑设:char s[10]={"october"};则printf("%d\n",strlen(s));输出是:(A )。
A)7 B)8 C)10 D)1154﹑设有int x=11 ;则表达式(x+1/3)的值是(C)。
A)3 B) 4 C) 11 D)1255﹑设有语句int a=3;,则执行了语句a+=a-=a*a后,变量a的值是(D)A)3 B)0 C)9 D)-1256﹑char 型变量存放的是(A)。