计算机C语言选择题
- 格式:pdf
- 大小:338.35 KB
- 文档页数:10
c语言试题及答案c语言试题及答案C语言是一门通用计算机编程语言,应用广泛。
小编收集了c语言试题及答案,欢迎阅读。
c语言试题一选择题(7分,每小题0.5分)1.C语言源程序的基本单位是( )。
A 过程B 函数C 子程序D 标识符2.下列程序的输出结果是( )。
main( ){ int a=7,b=5;printf("%d ",b=b/a);}A 5B 1C 0 D不确定值3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是( )。
A 7B 8C 9D 24.设a为int型变量,执行下列赋值语句后,a的取值分别是( )。
a=125.534; a=(int)125.521%4; a=5<<2;A 125,31,1B 125,1,20C 125,31,20D 125.534,2,205.设有如下程序段,下面描述中正确的是 ( )。
int k=10; while(k=0) k=k-1;A 循环执行一次 B循环是无限循环 C循环体语句一次也不执行 D 循环体语句执行一次6.以下程序的输出结果为( )。
int i;void prt( ){ for(i=5;i<8;i++) printf("%c",'*');printf(" ");}main( ){ for(i=5;i<=8;i++) prt( );}A ***B *** *** *** ***C *** ***D * * *7.在C语言程序中,以下说法正确的是( )。
A函数的定义可以嵌套,但函数的调用不可以嵌套B函数的定义不可以嵌套,但函数的调用可以嵌套C函数的定义和函数的调用都不可以嵌套D函数的定义和函数的调用都可以嵌套8.以下函数调用语句中含有( )个实参。
func((e1,e2),(e3,e4,e5));A 2B 3C 5D 语法错误9.以下程序的输出结果为( )。
选择题A篇1.以下数据中,不正确的数值或字符常量是(A).(A).c(B).66(C).0xaa(D).502.设j和k都是int类型,则for循环语句:for(j=0,k=0;j<=9&&k!=876;j++)scanf("%d",&k);(A)(A).最多执行10次(B).最多执行9次(C).是无限循环(D).循环体一次也不执行3.char a1[]="abc",a2[80]="1234";将a1串连接到a2串后面的语句是(A).(A).strcat(a2,a1);(B).strcpy(a2,a1);(C).strcat(a1,a2);(D).strcpy(a1,a2);4.以下正确的说法是:在C语言中(A).(A).实参和与其对应的形参各占用独立的存储单元(B).实参和与其对应的形参共占用一个存储单元(C).只有当实参和与其对应的形参同名时才共占用存储单元(D).形参是虚拟的,不占用存储单元5.下列字符序列中,是C语言保留字的是(A).(A).sizeof(B).include(C).scanf(D).sqrt6.以下选项中,与k=n++完全等价的表达式是(A).(A).k=n,n=n+1(B).n=n+1,k=n(C).k=++n(D).k+=n+17.在位运算中,操作数每左移一位,其结果相当于(A).(A).操作数乘以2(B).操作数除以2(C).操作数除以4(D).操作数乘以48.以下程序的运行结果是(A).main(){ int n;for(n=1;n<=10;n++){if(n%3==0) continue;printf("%d",n);}}(A).12457810(B).369(C).12(D).12345678909.int a=1,b=2,c=3;if(a>b)a=b;if(a>c)a=c;则a的值为(A).(A).1(B).2(C).3(D).不一定10.下列定义数组的语句中正确的是(A).(A).#define size 10 char str1[size],str2[size+2];(B).char str[];(C).int num['10'];(D).int n=5; int a[n][n+2];11.C语言中运算对象必须是整型的运算符是(A).(A).%=(B)./(C).=(D).〈=12.C语言中while 和do-while 循环的主要区别是(A).(A).do-while 的循环体至少无条件执行一次(B).while的循环控制条件比do-while的循环控制条件更严格(C).do-while 允许从外部转到循环体内(D).do-while 的循环体不能是复合语句13.16.在C语言中,形参的缺省存储类别是(A).(A).auto(B).register(C).static(D).extern14.从键盘上输入某字符串时,不可使用的函数是(A).(A).getchar()(B).gets()(C).scanf()(D).fread()15.以下数据中,不正确的数值或字符常量是(A).(A).8.9e1.2(B).10(C).0xff00(D).82.516.以下不是无限循环的语句为(A).(A).for(y=0,x=1;x>++y;x=i++) i=x;(B).for(;;x++=i);(C).while(1){x++;}(D).for(i=10;;i--) sum+=i;17.while(fabs(t)<1e-5)if(!s/10)break;循环结束的条件是(A).(A).t>=1e-5&&t<=-1e-5(B).fabs(t)<1e-5&&!s/10(C).fabs(t)<1e-5(D).s/10==018.以下叙述中正确的是(A).(A).构成C程序的基本单位是函数(B).可以在一个函数中定义另一个函数(C).main()函数必须放在其它函数之前(D).所有被调用的函数一定要在调用之前进行定义19.函数rewind 的作用是(A).(A).使位置指针重新返回文件的开头(B).将位置指针指向文件中所要求的特定位置(C).使位置指针指向文件的末尾(D).使位置指针自动移至下一个字符位置20.C语言程序中,当调用函数时(A).(A).实参和虚参各占一个独立的存储单元(B).实参和虚参可以共用存储单元(C).可以由用户指定是否共用存储单元(D).计算机系统自动确定是否共用存储单元a选择题B篇38.C语言源程序的基本单位是(B).(A).过程(B).函数(C).子程序(D).标识符39.下列程序的输出结果是(B).main(){char c1=97,c2=98;printf("%d %c",c1,c2);}(A).97 98(B).97 b(C).a 98(D).a b40.下列四个选项中,均是C语言关键字的选项是(B).(A).auto enum include(B).switch typedef continue(C).signed union scanf(D).if struct type41.以下能对二维数组a进行正确初始化的语句是(B).(A).int a[2][]={{1,0,1},{5,2,3}};(B).int a[][3]={{1,2,3},{4,5,6}};(C).int a[2][4]={{1,2,3},{4,5},{6}};(D).int a[][3]={{1,0,1}{},{1,1}};42.以下对枚举类型名的定义中正确的是(B).(A).enum a={sun,mon,tue};(B).enum a {sun=9,mon=-1,tue};(C).enum a={"sun","mon","tue"};(D).enum a {"sun","mon","tue"};43.以下选项中合法的用户标识符是(B).(A).long(B)._2Test(C).3Dmax(D).A.dat44.以下叙述中正确的是(B).(A).C语言的源程序不必通过编译就可以直接运行(B).C语言中的每条可执行语句最终都将被转换成二进制的机器指令(C).C源程序经编译形成的二进制代码可以直接运行(D).C语言中的函数不可以单独进行编译45.以下叙述中不正确的是(B).(A).一个好的程序应该有详尽的注释(B).在C程序中,赋值运算符的优先级最低(C).在C程序中,j++;是一条赋值语句(D).C程序中的#include和#define均不是C语句46.若有以下程序段:int a=3,b=4; a=a^b;b=b^a;a=a^b;则执行以上语句后,a和b的值分别是(B).(A).a=3,b=4(B).a=4,b=3(C).a=4,b=4(D).a=3,b=347.9.假定所有变量均已正确定义,下列程序段运行后x的值是(B).k1=1;k2=2;k3=3;x=15;if(!k1) x--;else if(k2) x=4;else x=3;(A).14(B).4(C).15(D).348.给数组a的所有元素分别赋值为1、2、3、……的语句是(B).(A).for(i=1;i<11;i++)a[i]=i;(B).for(i=1;i<11;i++)a[i-1]=i;(C).for(i=1;i<11;i++)a[i+1]=i;(D).for(i=1;i<11;i++)a[0]=1;49.C语言中不可以嵌套的是(B).(A).函数调用(B).函数定义(C).循环语句(D).选择语句50.int a[10]={1,2,3,4,5,6,7,8};int *p;p=&a[5];p[-3]的值是(B)(A).2(B).3(C).4(D).不一定51.若k为int型变量,则以下程序段的执行结果是(B).k=-8567; printf("|%06D|\n",k);(A).格式描述符不合法,输出无定值(B).输出为|%06D|(C).输出为|0-8567|(D).输出为|-8567|52.fseek函数的正确调用形式是(B).(A).fseek(文件类型指针,起始点,位移量)(B).fseek(fp,位移量,起始点)(C).fseek(位移量,起始点,fp)(D).fseek(起始点,位移量,文件类型指针)53.下列表达式中,可作为C合法表达式的是(B).(A).[3,2,1,0](B).(3,2,1,0)(C).3=2=1=0(D).3/2/1/054.以下程序的输出结果为(B).main(){int a=1,b=2,c=3,d=4,e=5;printf("%d\n",func((a+b,b+c,c+a),(d+e)));}int func(int x,int y){return(x+y);}(A).15(B).13(C).9(D).函数调用出错55.以下标识符中,不能作为合法的C用户定义标识符的是(B).(A).a3_b3(B).void(C)._123(D).IF选择题C篇84.设C语言中,int类型数据占2个字节,则long类型数据占(C).(A).1个字节(B).2个字节(C).4个字节(D).8个字节85.以下叙述正确的是(C).(A).在C程序中,main函数必须位于程序的最前面(B).C程序的每行中只能写一条语句(C).C语言本身没有输入输出语句(D).在对一个C程序进行编译的过程中,可发现注释中的拼写错误86.以下数值中,不正确的八进制数或十六进制数是(C).(A).0x16(B).016(C).-16(D).0xaaaa87.已知x=43,ch='A',y=0;则表达式(x>=y&&ch<'B'&&!y)的值是(C).(A).0(B).语法错(C).1(D).假88.能将高级语言编写的源程序转换为目标程序的是(C).(A).链接程序(B).解释程序(C).编译程序(D).编辑程序89.以下关于运算符优先顺序的描述中正确的是(C).(A).关系运算符<算术运算符<赋值运算符<逻辑运算符(B).逻辑运算符<关系运算符<算术运算符<赋值运算符(C).赋值运算符<逻辑运算符<关系运算符<算术运算符(D).算术运算符<关系运算符<赋值运算符<逻辑运算符90.以下叙述中不正确的是(C).(A).表达式a&=b等价于a=a&b(B).表达式a|=b等价于a=a|b(C).表达式a!=b等价于a=a!b(D).表达式a^=b等价于a=a^b 91.12.以下不能对二维数组a进行正确初始化的语句是(C).(A).int a[2][3]={0};(B).int a[][3]={{1,2},{0}};(C).int a[2][3]={{1,2},{3,4},{5,6}};(D).int a[][3]={1,2,3,4,5,6};92.下列语句中,不正确的是C(A).static char a[2]={1,2};(B).static int a[2]={'1','2'};(C).static char a[2]={'1','2','3'};(D).static char a[2]={'1'};93.static struct {int a1;float a2;char a3;}a[10]={1,3.5,'A'};说明数组a是地址常量,它有10个结构体型的下标变量,采用静态存储方式,其中被初始化的下标变量是(C).(A).a[1](B).a[-1](C).a[0](D).a[10]94.以下字符中不是转义字符的是(C).(A).'\a'(B).'\b'(C).'\c'(D).'\\'95.以下数据中,不正确的数值或字符常量是(C).(A).0(B).5L(C).o13(D).986196.若输入ab,程序运行结果为(C).main(){ static char a[2];scanf("%s",a);printf("%c,%c",a[1],a[2]);}(A).a,b(B).a,(C).b,(D).程序出错(E)b,c 选择题D篇132.C语言中,double类型数据占(D).(A).1个字节(B).2个字节(C).4个字节(D).8个字节133.设a为整型变量,初值为12,执行完语句a+=a-=a*a后,a 的值是(D).(A).552(B).144(C).264(D).-264134.下列程序的输出为(D).main(){ int y=10;while(y--) ;printf("y=%d\n",y);}(A).y=0(B).while构成无限循环(C).y=1(D).y=-1135.以下能正确定义数组并正确赋初值的语句是(D).(A).int N=5,b[N][N];(B).int a[1][2]={{1},{3}};(C).int c[2][]={{1,2},{3,4}};(D).int d[3][2]={{1,2},{34}};;Ps:由于题库题较多,很难抽全,所以这里只是一部分题,祝同学们好事顺利!zwl。
全国计算机等级考试c语言试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是:A. C语言是一种高级编程语言B. C语言可以直接在操作系统上运行C. C语言具有结构化的特点D. C语言具有丰富的库函数答案:B2. 在C语言中,用于定义数组的关键字是:A. structB. enumC. unionD. int答案:D3. 下列关于指针的描述中,正确的是:A. 指针可以存储函数的地址B. 指针不能存储变量的地址C. 指针不能存储数组的地址D. 指针不能存储指针的地址答案:A4. 在C语言中,用于定义结构体的关键字是:A. structB. unionC. enumD. typedef答案:A5. 下列关于循环的描述中,错误的是:A. for循环可以嵌套使用B. while循环不能嵌套使用C. do-while循环至少执行一次D. 循环语句可以没有循环体答案:B6. 在C语言中,用于定义函数的关键字是:A. structB. unionC. enumD. int答案:D7. 下列关于文件操作的描述中,错误的是:A. 文件指针是指向文件的指针B. 文件操作需要包含头文件stdio.hC. 文件操作只能使用二进制方式打开D. 文件操作可以使用"r"、"w"、"a"等模式答案:C8. 在C语言中,用于定义枚举的关键字是:A. structB. unionC. enumD. typedef答案:C9. 下列关于预处理指令的描述中,错误的是:A. #include用于包含头文件B. #define可以定义宏C. #ifdef可以用于条件编译D. #pragma可以用于编译器指令答案:C10. 在C语言中,用于定义联合的关键字是:A. structB. unionC. enumD. typedef答案:B二、填空题(每题2分,共20分)1. 在C语言中,表示逻辑“与”的运算符是______。
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语言综合试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言中的基本数据类型?A. intB. floatC. charD. string答案:D3. 在C语言中,以下哪个运算符用于比较两个值是否相等?A. ==B. !=C. <=D. >=答案:A4. C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strcatC. strcmpD. strlen答案:A5. 在C语言中,以下哪个关键字用于声明一个函数?A. functionB. defC. voidD. int答案:C6. C语言中,以下哪个选项是正确的数组声明?A. int array[10];B. int array[];C. int array[10] = {0};D. All of the above答案:D7. 以下哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. _variableD. All of the above答案:D8. 在C语言中,以下哪个选项是正确的文件包含指令?A. #include <stdio.h>B. #include "stdio.h"C. #include <stdio.h>D. #include "stdio.h"答案:A9. C语言中,以下哪个选项用于定义一个无限循环?A. while(1)B. for(;;)C. do whileD. All of the above答案:D10. 在C语言中,以下哪个关键字用于声明一个指针?A. pointerB. ptrC. *D. ref答案:C二、填空题(每题2分,共20分)1. 在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)第一章C语言概述 (2)第三章数据类型、运算符和表达式 (3)第四章顺序结构程序设计 (4)第五章选择结构程序设计 (10)第六章循环结构程序设计 (17)第7章数组习题 (25)第8章函数习题 (34)第九章预处理 (41)第十章指针 (42)第一章C语言概述一、选择题:1、一个C程序的执行是从(A)。
A本程序的main函数开始,到main函数结束B本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C本程序的main函数开始,到本程序文件的最后一个函数结束D本程序文件的第一个函数开始,到本程序main函数结束2、在C 语言中,每个语句必须以(D)结束.A. 回车符 B。
冒号 C。
逗号 D. 分号3、C 语言规定:在一个源程序中,main函数的位置(C)。
A. 必须在最开始B。
必须在系统调用的库函数的后面C. 可以任意 D。
必须在最后4、一个C 语言程序是由(B).A. 一个主程序和若干子程序组成B。
函数组成C. 若干过程组成D。
若干子程序组成5、下列说法中错误的是(D).A。
主函数可以分为两个部分:主函数说明部分和主函数体B。
主函数可以调用任何非主函数的其他函数C。
任何非主函数可以调用其他任何非主函数D。
程序可以从任何非主函数开始执行6、用C 语言编写的源文件经过编译,若没有产生编译错误,则系统将(B)。
A。
生成可执行目标文件 B。
生成目标文件C. 输出运行结果 D。
自动保存源文件二、填空题:1、C 语言只有(37)个关键字和 (9)种控制语句。
2、每个源程序有且只有一个(main)函数,系统总是从该函数开始执行C语言程序。
3、C 语言程序的注释可以出现在程序中的任何地方,它总是以(\*) 符号作为开始标记,以(*\)符号作为结束标记。
4、C 语言中,输入操作是由库函数(scanf)完成的,输出操作是由库函数(printf)完成的。
5、系统默认的C 语言源程序文件的扩展名是(。
概述1.在C语言中,合法的字符常量是()。
“A”…A‟A.'字'B. "A"C. "ABC"D. '\x41' …\n‟2.下面叙述正确的是()。
A.程序中必须包含有输入语句B. 变量按所定义的类型存放数据C. main函数必须位于文件的开头D. 每行只能写一条语句3.错误的叙述是()。
A.一个C语言源程序可由一个或多个函数组成B.若一条语句较长,也可分写在下一行上C.C程序必须包含一个main( )函数D.构成C语言源程序的基本单元是算术表达式4.()是关于C语言数据类型的正确叙述。
A.变量必须先定义后使用B. 不允许使用空类型C. 枚举类型不是基本类型D. 数组并不是构造类型5.main( )函数的位置()。
A.必须在自定义函数前面B. 可以在自定义函数后面C. 必须位于程序的最前面D. 必须在自定义函数后面6.C语言函数体由()括起来。
A.< >B. ( )C. { }D. [ ]7.()是不正确的叙述。
A.注释说明只能位于一条语句的后面B. C源程序的基本组成单元是函数C. C源程序可由一个或多个函数组成D. 每条语句最后必须有一个分号8.一个C语言源程序是由()。
A.一个主程序和若干子程序组成B. 函数组成C. 若干过程组成D. 若干子程序组成9.结构化程序设计的三种基本结构是()。
A.函数结构、判断结构、选择结构B. 平行结构、嵌套结构、函数结构C. 顺序结构、选择结构、循环结构D. 判断结构、嵌套结构、循环结构10.C源程序的调试是指对源程序进行()。
A.录入与编辑B. 查错与编译C. 查错与排错D. 连接与运行11.C语言中,可将一系列语句置于()从而构成复合语句。
A.一对尖括号"< >"之间B. 一对圆括号"( )"之间C. 一对花括号"{ }"之间D. 一对方框号"[ ]"之间12.构成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语言第一部分公共基础知识单项选择题(10分)1)、程序流程图中带有箭头的线段表示的是(A)数据流(B)调用关系(C)控制流(D)图元关系标准答案:C2)、下列关于栈的叙述正确的是(A)只能在栈底插入数据(B)栈按"先进后出"组织数据(C)不能删除数据(D)栈按"先进先出"组织数据标准答案:B3)、算法的有穷性是指(A)算法只能被有限的用户使用(B)算法程序的长度是有限的(C)算法程序所处理的数据量是有限的(D)算法程序的运行时间是有限的标准答案:D4)、设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为(A)课号,成绩(B)学号,姓名,成绩(C)学号,成绩(D)学号,课号标准答案:D5)、结构化程序设计的基本原则不包括(A)自顶向下(B)多态性(C)逐步求精(D)模块化标准答案:B6)、在软件开发中,需求分析阶段产生的主要文档是(A)软件需求规格说明书(B)集成测试计划(C)概要设计说明书(D)可行性分析报告标准答案:A7)、对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是(A)堆排序(B)快速排序(C)冒泡排序(D)直接插入排序标准答案:A8)、软件设计中模块划分应遵循的准则是(A)高内聚低耦合(B)低内聚高耦合(C)高内聚高耦合(D)低内聚低耦合标准答案:A9)、(A)自然连接(B)笛卡尔积(C)交(D)并标准答案:C10)、在数据库设计中,将E-R图转换成关系数据模型的过程属于(A)逻辑设计阶段(B)概念设计阶段(C)物理设计阶段(D)需求分析阶段标准答案:A11)、在软件开发中,需求分析阶段可以使用的工具是(A)N-S图(B)PAD图(C)程序流程图(D)DFD图标准答案:D12)、一个栈的初始状态为空。
现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是(A)ABCDE12345(B)54321EDCBA(C)12345ABCDE(D)EDCBA54321标准答案:D13)、下列叙述中正确的是(A)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构(B)链式存储结构比顺序存储结构节省存储空间(C)顺序存储结构能存储有序表,链式存储结构不能存储有序表(D)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的标准答案:D14)、数据流图中带有箭头的线段表示的是(A)事件驱动(B)数据流(C)模块调用(D)控制流标准答案:B15)、下列叙述中正确的是(A)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况(B)循环队列中元素的个数是由队头指针和队尾指针共同决定(C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况(D)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构标准答案:B 16)、在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是(A )(B )(C)O(n)(D )标准答案:D17)、在面向对象方法中,不属于“对象”基本特点的是(A)多态性(B)一致性(C)标识唯一性(D)分类性标准答案:B18)、(A)并(B)自然连接(C)交(D)笛卡尔积标准答案:B19)、一间宿舍可住多个学生,则实体宿舍和学生之间的联系是(A)一对多(B)多对多(C)多对一(D)一对一标准答案:A20)、下列叙述中正确的是(A)队列是“先进后出”的线性表(B)栈是“先进先出”的线性表(C)循环队列是非线性结构(D)有序线性表既可以采用顺序存储结构,也可以采用链式存储结构标准答案:D21)、支持子程序调用的数据结构是(A)队列(B)二叉树(C)树(D)栈标准答案:D22)、在数据管理技术发展的三个阶段中,数据共享最好的是(A)人工管理阶段(B)三个阶段相同(C)数据库系统阶段(D)文件系统阶段标准答案:C23)、数据库应用系统中的核心问题是(A)数据库设计(B)数据库系统设计(C)数据库管理员培训(D)数据库维护标准答案:A24)、下列排序方法中,最坏情况下比较次数最少的是(A)冒泡排序(B)堆排序(C)直接插入排序(D)简单选择排序标准答案:B25)、软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。
试卷编号:65所属语言:C语言试卷方案:平时练习-选择试卷总分:276分共有题型:1种━━━━━━━━━━━━━━━━━━一、单项选择共276题(共计276分)━━━━━━━━━━━━━━━━━━第1题(1.0分)题号:288下列字符序列中,可用作C标识符的一组字符序列是()。
A:S.b,sum,average,_above B:class,day,lotus_1,2dayC:#md,&12x,month,student_n! D:D56,r_1_2,name,_st_1答案:D第2题(1.0分)题号:910C语言程序从main()函数开始执行,所以这个函数要写在( ).A:程序文件的开始 B:程序文件的最后C:程序文件的任何位置(除别的函数体内) D:它所调用的函数的前面答案:C第3题(1.0分)题号:908完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为( ). A:连接、编译 B:编译、连接 C:连接、运行 D:运行答:B第4题(1.0分)题号:909要调用文件处理函数时,在#include 命令行中应包含( ).A:"ctype.h" B:"string.h" C:"stdio.h" D:"math.h"答案:C第5题(1.0分)题号:609以下数据中,不正确的数值或字符常量是()。
A:0B:5LC:o13D:9861答案:C第6题(1.0分)题号:911在C语言中,错误的语句是( ).A:a=b=c;B:;C:breakD:b=3*5,a*=4;答案:C第7题(1.0分)题号:574以下标识符中,不能作为合法的C用户定义标识符的是()。
A:a3_b3B:voidC:_123D:IF答案:B第8题(1.0分)题号:907一个C语言程序是由( )组成.A:一个主程序和若干子程序B:函数C:若干过程D:若干子程序答案:B第9题(1.0分)题号:234C语言源程序的基本单位是()。
全国计算机c语言试题及答案一、选择题1. 下列哪个选项不是C语言的基本数据类型?- A. int- B. float- C. string- D. double2. 以下哪个是正确的C语言变量声明?- A. var int a;- B. int a = 0;- C. int a = 0.0;- D. int a = '0';3. 在C语言中,以下哪个是合法的数组初始化?- A. int arr[5] = {1, 2, 3};- B. int arr[5] = {1, 2, 3, 4};- C. int arr[5] = {1, 2, 3, 4, 5, 6};- D. int arr[5] = {1, 2, 3, 4.5, 5};4. 以下哪个是C语言中的函数原型?- A. void myFunction();- B. myFunction();- C. int myFunction(int, int);- D. myFunction(int a, int b);5. 在C语言中,以下哪个是正确的字符串常量?- A. "Hello World"- B. 'Hello World'- C. "Hello\nWorld"- D. "Hello\World"二、填空题1. 在C语言中,一个变量的声明必须在______。
2. 一个C语言程序的执行从______函数开始。
3. 用于输入输出的函数分别是______和______。
4. 一个数组的元素可以通过______访问。
5. 在C语言中,一个字符串常量以______结尾。
三、简答题1. 解释C语言中指针的概念及其用途。
2. 描述C语言中函数的作用域。
3. 简述C语言中结构体的定义和使用。
四、编程题1. 编写一个C语言程序,计算并输出1到100的整数和。
2. 编写一个C语言函数,实现字符串的反转。
C语言选择题读程序习题及参考答案一、选择题1、一个C程序中可以包含多个不同名的函数,但有且仅有一个。
(A)function (A)分号(B)include (B)逗号(B)print(C)main (C)句号(C)case(D)stdio (D)括号(D)default2、在C语言中,每个语句和数据定义都是用结束的。
3、不是C语言中提供的合法关键字。
(A)switch4、在C语言中,数据类型属于基本类型的是。
(A)整型、实型、字符型(C)结构体类型、实型(A)A p_0 do(B)空类型、枚举型(D)数组类型、实型5、下面四个选项中,均为不合法的用户标识符的是。
(B)float la0 a (D)123 temp INT(C)18和6(D)15和5(C)b-a goto int (A)9和66、语句int i=3,k; k=(i++)+(i++)+(i++); 执行后k和i的值分别为。
(B)12和57、判断字符串a和b相等,应当使用。
(A)if ( a = = b )(B)if ( !strcmp (a , b) ) (D)if ( strcmp (a , b) )(C)if ( strcpy ( a , b ) ) 是。
(A)a&&b(A)(B)(C)(D)10、已知i、j、k为int型变量,若从键盘输入:1,2,3,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是。
(A)scanf(�D---‖,&i,&j,&k); (B)scanf(�D%d %d %d‖,&i,&j,&k); (C)scanf(�D%d,%d,%d‖,&i,&j,&k); (D)scanf(�Di=%d,j=%d,k=%d‖,&i,&j,&k);11、能正确表示�Dx的取值范围介于[1,10 ]和[200, 210 ]之间�D的表达式是。
计算机程序设计基础(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语言程序设计考试题及答案一、选择题1. 下列选项中,哪一个是C语言的关键字?a) mainb) inputc) ifd) print答案:c) if2. C语言中用于定义整型变量的关键字是:a) intb) charc) floatd) double答案:a) int3. 在C语言中,以下字符常量的定义方式错误的是:a) 'A'b) '\n'c) 'AB'd) '\t'答案:c) 'AB'4. 下面哪个运算符优先级最低?a) +b) =c) *d) /答案:b) =5. 在C语言中,执行循环操作的语句是:a) forb) whilec) ifd) switch答案:b) while二、填空题1. 在C语言中,输出字符常量的函数是_______。
答案:printf2. 以下是定义数组的正确方式:int numbers[10];答案:int numbers[10];3. 在C语言中,用于判断条件是否成立的关键字是_______。
答案:if4. 以下是C语言中声明一个指针变量的方式:int *ptr;答案:int *ptr;5. 在C语言中,用于输入整型变量的函数是_______。
答案:scanf三、编程题请编写一个C语言程序,计算输入的两个整数相加的结果并输出。
```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入第一个整数:");scanf("%d", &num1);printf("请输入第二个整数:");scanf("%d", &num2);sum = num1 + num2;printf("两个整数的和为:%d\n", sum);return 0;}```四、解答题1. 请解释C语言中的指针概念以及指针与变量的关系。
C语言试题及答案集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#第1章C语言概述习题1. 单项选择题(1) C 语言是在 B 语言的基础上产生的。
A. 回车符B. 冒号C. 逗号D. 分号(2) 在 C 语言中,每个语句必须以 D 结束。
A. 回车符B. 冒号C. 逗号D. 分号(3) 标识符和关键字间,要用 C 隔开。
A. 回车符B. 冒号C. 空格D. 分号(4) 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B )。
A. 生成可执行目标文件B. 生成目标文件C. 输出运行结果D.自动保存源文件(5) 下列说法中正确的是( B )。
A. 由于 C 源程序是高级语言程序,因此一定要在 TC 软件中输入B. 由 C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入C. 由于C 程序是高级语言程序,因此输入后即可执行D. 由于 C 程序是高级语言程序,因此它由命令组成(6) 下列说法中正确的是( A )。
A. C 语言程序由主函数和 0 个或多个函数组成B. C 语言程序由主程序和子程序组成C. C 语言程序由子程序组成D. C 语言程序由过程组成(7) 下列说法中错误的是( D )。
A. 主函数可以分为两个部分:主函数说明部分和主函数体B. 主函数可以调用任何非主函数的其他函数C. 任何非主函数可以调用其他任何非主函数D. 程序可以从任何非主函数开始执行2. 填空题(1) C 语言只有 37 个关键字和 9 种控制语句。
(2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。
(3) 每个源程序有且只有一个主函数,系统总是从该函数开始执行C语言程序。
(4) 在 C 语言程序中允许出现的字符集是 ASCII码字符集。
(5) C 语言的程序中有特殊含义的英语单词称为保留字。
1、1.关于C程序的构成描述,_________是不正确的。
A、一个源程序至少且仅包含一个main函数,也可包含一个main函数和若干个其他函数。
B、函数由函数首部和函数体两部分组成,二者缺一不可。
C、函数首部通常是函数的第1行,包括:函数属性、函数类型、函数名、函数参数等,不管有无函数参数,都必须用一对圆括号括起来。
D、函数体通常在函数首部下面,用一对花括号将声明部分和执行部分括起来,但不能为空。
2、2.C程序中,不管是数据声明还是语句,都必须有一个结束符,它是C语句的必要组成部分,该符号是_________。
A、逗号“,”B、句号“。
”C、分号“;”D、单撇号“’”3、3.下列关于C程序的运行流程描述,______是正确的。
A、编辑目标程序、编译目标程序、连接源程序、运行可执行程序。
B、编译源程序、编辑源程序、连接目标程序、运行可执行程序。
C、编辑源程序、编译源程序、连接目标程序、运行可执行程序。
D、编辑目标程序、编译源程序、连接目标程序、运行可执行程序。
4、5.描述或表示算法有多种方法,______不是常用的表示方法。
A、自然语句B、流程图或N-S图C、伪代码D、效果图5、6.下面四个哪一个是C语言正确的标识符。
A、2xyB、data_fileC、breakD、*********6、7.C语言是一种结构化的程序设计语言,任何程序都可以将模块通过3种基本的控制结构进行组合来实现,这三种基本的控制结构是指______。
A、分支结构、循环结构、函数结构B、顺序结构、选择结构、函数结构C、顺序结构、分支结构、循环结构D、以上描述都不正确7、下列关于算法特性的描述,______是不正确的。
A、有穷性:指一个算法应该包含有限的操作步骤,而不能是无限的。
B、确定性:指算法的每一个步骤都应当是确定的,不应该是含糊的、模棱两可的。
C、有效性:指算法中的每一个步骤都应当能有效地执行,并得到确定的结果。
D、输入/输出性:指算法中可以有输入/输出操作,也可以没有输入/输出操作。
(完整版)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语言程序,实现以下功能:输入一个字符串,判断它是否是回文(正读和反读都一样的字符串)。
1) 以下叙述中错误的是 AA) C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令B) C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件C) 用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中D) C语言源程序经编译后生成后缀为.obj的目标程序2) 以下选项中,合法的一组C语言数值常量是 AA) 12. 0Xa23 4.5e0 B) 028 .5e-3 -0xfC) .177 4e1.5 0abc D) 0x8A 10,000 3.e53) 以下选项中不合法的标识符是 AA) &a B) FOR C) print D) _004)AA) sqrt(fabs(pow(n,x)+exp(x))) B) sqrt(fabs(pow(n,x)+pow(x,e)))C) sqrt(abs(n^x+e^x)) D) sqrt(fabs(pow(x,n)+exp(x)))5) 若有定义:double a=22; int i=0,k=18;则不符合C语言规定的赋值语句是 AA) i=a%11; B) i=(a+k)<=(i+k); C) a=a++,i++; D) i=!a;6) 有以下程序#include <stdio.h>main(){ int s,t,A=10;double B=6;s=sizeof(A);t=sizeof(B);printf("%d,%d\n",s,t);}在VC6平台上编译运行,程序运行后的输出结果是 AA) 4,8 B) 4,4 C) 2,4 D) 10,67) 下列叙述中错误的是 AA) 一个C语言程序只能实现一种算法 B) C程序可以由多个程序文件组成C) C程序可以由一个或多个函数组成 D) 一个C函数可以单独作为一个C程序文件存在8) 以下选项中,能用作数据常量的是 AA) 115L B) 0118 C) 1.5e1.5 D) o1159) 按照C语言规定的用户标识符命名规则,不能出现在标识符中的是 AA) 连接符 B) 大写字母 C) 数字字符 D) 下划线10) 设变量已正确定义并赋值,以下正确的表达式是 AA) x=y+z+5, ++y B) int(15.8%5) C) x=y*5=x+z D) x=25%5.011) 设有定义:int x=2;以下表达式中,值不为6的是 AA) 2*x, x+=2 B) x++,2*x C) x*=(1+x) D) x*=x+112) 有以下程序#include <stdio.h>main(){ int x, y, z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z);}程序运行后的输出结果是 AA) 2,3,1 B) 2,3,2 C) 2,3,3 D) 2,2,113) 以下叙述中错误的是 AA)使用三种基本结构构成的程序只能解决简单问题 B)结构化程序由顺序、分支、循环三种基本结构组成C)C语言是一种结构化程序设计语言 D)结构化程序设计提倡模块化的设计方法14) 以下四个程序中,完全正确的是A) #include <stdio.h>main();{/*/ programming /*/printf("programming!\n"); }B) #include <stdio.h>main(){/* programming */printf("programming!\n"); }C) #include <stdio.h>main(){/*/* programming */*/printf("programming!\n"); }D) include <stdio.h>main(){/* programming */printf("programming!\n"); }答案:B15) C源程序中不能表示的数制是A) 二进制 B) 八进制 C) 十进制 D) 十六进制答案:A16) 以下选项中,能用作用户标识符的是A) _0_ B) 8_8 C) void D) unsigned答案:A17) 若有定义语句:int x=10;则表达式x-=x+x的值为A) -10 B) -20 C) 0 D) 10答案:A18) 有以下程序#include <stdio.h>main(){ int a=1,b=0;printf("%d,",b=a+b);printf("%d\n",a=2*b);}程序运行后的输出结果是A) 1,2 B) 1,0 C) 3,2 D) 0,0答案:A19) 以下关于结构化程序设计的叙述中正确的是A) 在C语言中,程序的模块化是利用函数实现的 B) 结构化程序使用goto语句会很便捷C) 一个结构化程序必须同时由顺序、分支、循环三种结构组成D) 由三种基本结构构成的程序只能解决小规模的问题答案:A20) 对于一个正常运行的C程序,以下叙述中正确的是A)程序的执行总是从main函数开始 B)程序的执行总是从程序的第一个函数开始, 在main函数结束C) 程序的执行总是从main函数开始,在程序的最后一个函数中结束D) 程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束答案:A21) 以下选项中能表示合法常量的是A) "\007" B) 1.5E2.0 C) '\' D) 1,200答案:A22) 以下定义语句中正确的是A) char A=65+1,b='b'; B) int a=b=0;C) float a=1,*b=&a,*c=&b; D) double a=0.0; b=1.1;答案:A23) 若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是A) ++x,y=x-- B) x+1=y C) x=x+10=x+y D) double(x)/10答案:A24) 若变量已正确定义为int型,要通过语句scanf("%d,%d,%d",&a,&b,&c);给a赋值1、给b赋值2、给 c赋值3,以下输入形式中错误的是(注:□代表一个空格符)A) 1□2□3<回车> B) □□□1,2,3 <回车>C) 1,□□□2,□□□3<回车> D) 1,2,3<回车>答案:A25) 计算机能直接执行的程序是A) 可执行程序 B) 目标程序 C) 汇编程序 D) 源程序答案:A26) 以下叙述中正确的是A) C语言规定必须用main作为主函数名,程序将从此开始执行B) 可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C) C语言程序将从源程序中第一个函数开始执行D) main的各种大小写拼写形式都可以作为主函数名,如:MAIN,Main等答案:A27) 以下选项中可用作C程序合法实数的是A) .1e0 B) 3.0e0.2 C) E9 D) 9.12E答案:A28) 下列定义变量的语句中错误的是A) float US$; B) double int_; C) char For; D) int _int;答案:A29) 表达式:(int)((double)9/2)- 9%2 的值是A) 3 B) 0 C) 4 D) 5答案:A30) 设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。