您的当前位置:首页正文

c语言试题

2022-01-17 来源:欧得旅游网


判 断 题 1. C语言中,变量必须先定义后使用。 A.对 B.错 2. 在C语言中,扩展名为.h的文件称为头文件,常用于组织C标准函数库中的函数。 A.对 B.错 3. C语言中,输入数据的个数和类型必须与scanf函数中的说明符一一对应。 A.对 B.错 4. 自增运算符++的优先级高于加法运算符+。 A.对 B.错 5. 两个变量交换数据时常使用一个工作变量。 A.对 B.错 6. 在执行switch选择结构时,从匹配表达式的相应case处入口,一直执行到break语句或到达switch的末尾为止。 A.对 B.错 7. for循环、while循环和do while循环结构之间可以相互转化。 A.对 B.错 8. int i=1;while(1) i++; 则在任何条件下,该循环语句都会执行无穷多次。 A.对 B.错 9. 一维数组的元素实质上就是一个变量,代表内存中的一个存储单元。 A.对 B.错 10. 设有定义:char s[]={\"E_mail\,则执行printf(\"%d\\n\后输出的值是6。 A.对 B.错 11. 函数可以嵌套定义,但是不可以嵌套调用。 A.对 B.错 12. 若函数定义的头部为:double cacl(float x,float y),则该函数是外部函数。 A.对 B.错 13. 枚举类型中,枚举值是常量,不能再在程序中对其赋值。 A.对 B.错 14. typedef的作用是给数据类型取一个别名。 A.对 B.错 15. 语句int i,*p=&i;是正确的C定义。 A.对 B.错 16. fseek()函数中的位移量必须是一个long型数据。 A.对 B.错

单 选 题 1. 以下叙述中正确的是_________。 A.C程序的基本组成单位是语句 B.C程序中的每一行中只能写一条语句 C.C语句必须以分号结束 D.C语句必须在一行内写完 2. 下面有关变量声明的说法中,正确的是_________。 A.C语言中不用先声明变量,需要时直接使用即可 B.每个变量的存储空间大小由数据类型和编译环境共同决定 C.在VC++6.0环境下,为int型变量分配的存储空间大小为2个字节 D.变量声明时,不能进行赋值操作 3. 若已定义char c='\\010',则变量c所占的字节数为__________。 A.1 B.2 C.3 D.4 4. 如果将一个函数的返回值类型说明为void,则表示_________。 A.该函数可以返回任意类型的值 B.该函数不能返回任何值 C.该函数可以返回基本类型的值 D.该函数是main函数,是程序运行的起点 5. 已定义: int k,a,b;unsigned long w=5;double x=1.42, 不正确的表达式是( )。 A.x%(-3) B.w+= -2 C.k=(a=2,b=3,a+b) D.a+=a-=(b=4)*(a=3) 6. 若变量a、i已正确定义,且i已正确赋值,合法的语句是( )。 A.a==1 B.++i; C.a=a++=5; D.a=int(i); 7. 表达式:(int)((double)9/2)-(9)%2的值是________。 A.0 B.3 C.4 D.5 8. 有以下程序: #include < stdio.h> main() { int m,n,p; scanf(\"m=%dn=%dp=%d\printf(\"%d%d%d\\n\若想使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是______。 A.m=123n=456p=789 B.123,456,789 C.m=123,n=456,p=789 D.123 456 789 9. 设有定义:int a; float b;,执行scanf(\"%2d%f\语句时,若从键盘输入:876 543.0,a和b的值分别是________。 A.876和543.0 B.87和6.0 C.87和543.0 D.76和543.0 10. 下述程序段的输出结果是______。 int a=2,b=3,c=4,d=5; int m=2,n=2; a=(m=a > b)&&(n=c > d)+5; printf(\"%d, %d \A.2,0 B.0,5 C.2,6 D.0,6 11. 设变量a、b、c、d和y都已经正确定义并赋值,则以下if语句的所表示的含义是______。 if(a < b) if(c==d) y=0; else y=1; A.a < b且c==d时y=0,a > = b时y=1 B.a < b且c==d时y=0,a > =b且c!=d时y=1 C.a < b且c==d时y=0,a < b且c!=d时y=1 D.a < b且c==d时y=0,c!=d时y=1 12. 下列程序的输出结果是_______。 #inlude \"stdio.h\" main() { int a=5,b=4,c=3,d=2; if(a>b>c) printf(\"%d\\n\if((c-1 > =d)==1) printf(\"%d\\n\A.2 B.3 C.4 D.编译时有错且无结果 13. 在执行下述程序时,若从键盘输入6和2,则输出结果是______。 #inlude \"stdio.h\" main() { int a,b,k; scanf(\"%d,%d\A.5 B.3 C.2 D.0 14. 以下程序运行时,若从键盘输入9,则输出结果是______。 #inlude \"stdio.h\" main() { int a=1; scanf(\"%d\< 9) printf(\"%d\\n\A.10 B.11 C.9 D.8 15. 以下描述中正确的是______。 A.由于do-while的循环体只能有一条语句,所以循环体内不能使用复合语句 B.do-while由do开始,用while结束,在while(表达式)后面不能写分号 C.在do-while循环中,是先执行一次循环体,再进行判断 D.在do-while循环中,根据情况可以省略while 16. 若int i,j;,则for(i=j=0;i < 10&&j < 8;i++,j+=3)控制的循环体的执行次数是_______。 A.9 B.8 C.3 D.2 17. 下列程序的输出结果是_______。 #include \"stdio.h\" void main() { int k=5; while(-k) printf(\"%d\printf(\"\\n\"); } A.1 B.2 C.4 D.死循环 18. 要求通过while循环不断读入字符,当读入字母N时结束循环。若变量已正确定义,以下正确的程序段是_______。 A.while((ch=getchar())!='N ')printf(\"%c\; B.while(ch=getchar()!='N ')printf(\"%c\; C.while(ch=getchar()=='N ')printf(\"%c\; D.while((ch=getchar())=='N ')printf(\"%c\; 19. 以下程序执行后的输出结果是_______。 #include \"stdio.h\" void main() { int x=0,y=5,z=3; while(z-- >0&&++x < 5) y=y-1; printf(\"%d,%d,%d\\n\A.3,2,0 B.3,2,-1 C.4,3,-1 D.5,-2,-5 20. 判断字符串 a 和 b 是否相等,应当使用______。 A.if(a==b) B.if(a=b) C.if(strcat(a,b)) D.if(strcmp(a,b)) 21. 下面程序的运行结果是______。 #include < stdio.h > main() { int a[3][3]={1,2,3,4,5,6,7,8,9},i; for(i=0;i< =2;i++) printf(\"%d \A.3 5 7 B.3 6 9 C.1 5 9 D.1 4 7 22. 以下各组选项中,均能正确定义二维实型数组a的选项是______。 A.float a[3][4]; float a[][4]; float a[3][]={{1},{0}}; B.float a(3,4); float a[3][4]; float a[][]={{0};{0}}; C.float a[3][4]; static float a[][4]={{0},{0}}; D.float a[3][4]; float a[3][]; 23. 下面程序的运行结果是______。 #include < stdio.h > #include < string.h > main() { char a[30]; strcpy(&a[0],\"ch\"); strcpy(&a[1],\"def\"); strcpy(&a[2],\"abc\"); printf(\"%s\\n\A.chdefabc B.cda C.cdabc D.abcdef 24. 以下程序的执行结果为________。#include \"stdio.h\" float fun(int x,int y) { return(x*y); } main() { int a=2,b=5,c=8; printf(\"%.0f\\n\A.168 B.-168 C.24 D.-24 25. 下列的结论中只有________是正确的。 A.所有的递归程序均可以采用非递归算法实现 B.只有部分递归程序可以用非递归算法实现 C.所有的递归程序均不可以采用非递归算法实现 D.以上三种说法都不对 26. 以下程序的运行结果为________。 #include \"stdio.h\" int x=2; int fun(int p) { static int x=3; x+=p; printf(\"%d \return (x); } void main() { int y=3; printf(\"%d \\n\A.5 10 20 B.5 10 10 C.5 5 10 D.5 6 10 27. 下列程序的输出结果是________。 #include \"stdio.h\" int fun(int x,int y,int cp,int dp) { cp=x*x+y*y; dp=x*x-y*y; } void main() { int a=4,b=3,c=5,d=6; fun(a,b,c,d); printf(\"%d %d\\n\A.16 9 B.4 3 C.25 9 D.5 6 28. 以下程序的运行结果是______。 #include < stdio.h > union con { struct {int x,y,z;}m; int i; }num; main() { num.m.x=4;num.m.y=5;num.m.z=6;num.i=0; printf(\"%d\\n\ } A.4 B.0 C.5 D.6 29. 有如下定义的结构体及变量,则为变量中各个成员赋值,正确的形式是______。 struct Time { int hour; int minute; int second; }time; A.Time.hour = 3; Time.minute = 24; Time.second = 56; B.hour = 3; minute = 24; second = 56; C.time.hour = 3; time.minute = 24; time.second = 56; D.以上都可以 30. 变量的指针,其含义是指该变量的______。 A.值 B.地址 C.名 D.一个标志 31. 以下程序执行后的输出结果是______。 #include < stdio.h > #include < string.h > void main() { char s1[10],*s2=\"ab\\0cdef\"; strcpy(s1,s2); printf(\"%s\A.ab\\0cdef B.abcdef C.ab D.以上答案都不对 32. 以下程序完成的功能是______。 #include \"stdio.h\" main() { FILE *in,*out; char ch,infile[10],outfile[10]; printf(\"Enter the infile name: \"); scanf(\"%s\if((in=fopen(infile,\"r\"))==NULL) printf(\"cannot open infile\\n\"); if((in=fopen(outfile,\"w\"))= =NULL) printf(\"cannot open outfile\\n\"); while(!feof(in))fputc(fgetc(in),out); fclose(in); fclose(out); } A.程序完成将磁盘文件的信息在屏幕上显示的功能 B.程序完成将两个磁盘文件合二为一的功能 C.程序完成将一个磁盘文件复制到另一个磁盘文件中 D.程序完成将两个磁盘文件合并并在屏幕上输出 33. 函数fseek(pf,OL,SEEK_END)中的SEEK_END代表的起始点是_______。 A.文件开始 B.文件末尾 C.文件当前位置 D.以上都不对

问 答 题

1. 定义一个符号常量N,从键盘上输入有N个元素的数组a,找出其中的最大数及其下标。 回答 :

因篇幅问题不能全部显示,请点此查看更多更全内容