C语言期末考试题库_第1页
C语言期末考试题库_第2页
C语言期末考试题库_第3页
C语言期末考试题库_第4页
C语言期末考试题库_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

通用考试端说明:1. 判断题就只有 30 个,程序设计题 16 个,程序改错和程序填空是 10 个2. 程序设计题需要保存、运行出结果才可能得到满分,如果仅仅就是把正确答案填入然后保存返回,可能分值很少。记住一定要编译运行一下!3. 程序改错题就直接在上面改,改后保存就可以了,不需要编译运行。4. 程序填空题的那个横线可以删除也可以保留,一定要记得一条语句的后面要加”;”5. 程序设计题、程序改错和程序填空中在/* */ 的内容都不要去动它们,也不要删除。一 选择题1、C 语言的注释定界符是: /* */ 2、已知i、j、k为int型变量,若从键盘输入:1,2,3,使i的值为1、j的值为2、k的值为3, 以下选项中正确的输入语句是 B 。A. scanf(“%2d%2d%2d”,7、若有下列定义,则对a数组元素地址的正确引用是 D 。 int a5,*p=a;A. *(p+5) B. * 则表达式 (x+ * 1/3) 的值是 3 16、a,b为整型变量,二者均不为0,以下关系表达式中恒成立的是 B Aa*b/a*b=1 B. a/b *b+a%b=a C. a/b *b =a D. a/b*b/a=117、若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是 2.500000 18、putchar 函数可以向终端输出一个 字符或字符型变量值 。19、为表示关系xyz,应使用C语言表达式 (x=y)a=b;b=t 或者 a=a+b;b=a-b ;a=a-b 21、以下程序的输出结果是 3 main() int x = 10, y = 3;printf(“%dn” , y = x / y);22、以下程序的输出结果是 无定义 fun( int a, int b, int c) c = a * b; main() int c;fun(2, 3, c);printf(“%dn”, c);23、已知字母a的ASCII十进制代码为97,则执行下列语句后的输出结果为 98,C 。char a=a; a-;printf(“%d,%cn“,a+2-0,a+3-0);24、有以下宏定义#define f 2#define X(f) (F+1)*f)当C程序中的语句y = 2 * (K + X(5);被执行后, 语句报错 25、有以下程序void main() int i = 10, j = 1;printf(“%d,%dn“,i-, +j);执行后输出结果是 10,2 26、执行下列语句后的输出为 * 。int j=-1;if(j7) n-;printf(“%d“, n );29、判断两个字符串是否相等,正确的表达方式是 D A. while(s1=s2) B. while(s1=s2) C. while(strcmp(s1,s2)=0) D. while(strcmp(s1,s2)=0)30、C 语言的 switch 语句中 case 后 只能为常量或者常量表达式 31、int a=1,b=2,c=3;if(ab) a=b;if(ac) a=c; 则a的值为(1)。32、下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除请填入_ K%11_完成程序。#include main()int i=0,j,k;doi+;k=316-13*i;while(_);j=k/11;printf(“316=13*%d+11*%d“,i,j);33、以下程序的执行结果是 1 main() int x = 0, s = 0;while( !x != 0 ) s += +x;printf( “%d “,s ); 34、以下正确的说法是 B A. 如果形参与实参的类型不一致,以实参类型为准 B. 如果函数值得类型与返回值的类型不一致,以函数值类型为主 C. 定义函数时,形参的类型说明可以在函数体内 D. return后面的表达式不可能是函数35、下列程序的输出为 y=-1 main() int y=10;while(y-);printf(“y=%dn“,y);36、以下for循环的执行次数是 4次 。for(x=0,y=0;(y=123) /记住是从右往左pritnf(“%dn”, (+p) - x);pritnf(“%dn”, +(*p - y) );55、若有定义:int x, *pb;,则以下正确的赋值语句是 B A. *pb=*x B. pb=s0=k; k=s1*10;57、对两个数组a和b进行如下初始化:char a = “ABCDEF“;char b = A,B,C,D,E,F;则以下叙述正确的是: B A. a和b中都存放字符串 B. a数组比b数组长 C. a 和b 长度相等 D. a和b完全相等58、以下各选项企图说明一种新的类型名,其中正确的是 D 。A. typedef v2=int B. typedef v2:int C. typedef v2 int D. typedef int v259、 C 程序中的宏展开是在 编译前预处理时进行的 。60、C 语言中不可以嵌套的是 函数定义 。61、以下程序的输出结果是 852 main() int y = 10for(; y 0; y -)if(y % 3 = 0) pritnf(“%d”, -y); continue;62、以下程序的运行结果是 程序报错 。main()int i=1,sum=0;while(ic)b=a;a=c;c=b;则 c 的值为 2 。66、执行下列程序后,其输出结果是 -18 。main()int a=9;a+=a-=a+a;printf(“%dn“,a);67、以下程序的输出结果为 9,10 。main()int i=010,j=10;printf(“%d,%dn“,+i,j-);68、以下的选择中,正确的赋值语句是 C 。A. y=int(x) B. j+ C. a=b=5 D. a=5,b=569、设变量定义为“int a, b;“,执行下列语句时 ,输入_ _D_ _,则a和b的值都是10.scanf(“a=%d, b=%d“,A. a=10 b=10 B.10 10 C.10,10 D. a=10 ,b=1070、下列 C 表达式的值为真,其中 a=5;b=8;c=10;d=0A. a*28+2 B. (a*2-c)|d C.a-b=y int x; double z;则表达式 c*x+z 值的数据类型为 double 。设有说明:char w; int x; float y; double z; 则表达式 w*x+z-y 值的数据类型为 double 。74、执行下列语句后,a和b的值分别为 98,-60 。int a,b; a=1+a; b=2+7%-4-A;75、下列程序的输出结果是 10 。main()int a=011;printf(“%dn“,+a);76、下列语句的结果是 4,4 。void main() int j;j=3;printf(“%d,“,+j); printf(“%d“,j+);77、为了避免在嵌套的条件语句 if-else 中产生二义性,C语言规定:else子句总是与 与之前最靠近的if 配对。78、能将高级语言编写的源程序转换为目标程序的是 编译程序 。79、以下程序的运行结果是 2 main() int a=2, b= -1, c=2 ;if (ab)if(b0) c=0;else c+=1;printf(“%dn”, c );80、以下程序的执行结果是_1 2 3_.main() int num = 0; while( num = 2 ) num+; printf( “%d,“,num ); 81、C 语言中 while 和 do-while 循环的主要区别是 do-while 的循环体总会无条件执行一次 。82、有以下程序main() int i;for(i=0; i3; i+)switch(i) case 1: printf(“%d“, i);case 2: printf(“%d“, i);default : printf(“%d“, i);执行后输出结果是 011122 83、以下函数调用语句中,含有的实参个数是 2 func( (exp1, exp2), (exp3, exp4, exp5);84、以下程序段的输出结果是 9 pritnf(“%dn“, strlen(“ATSn0121“);85、已知指针p的指向,则表达式+*p的值是 21 86、以下程序段 char *alp=“ABC“,“DEF“,“GHI“; int j; puts(alp1);的输出结果是(DEF)。87、下面程序的输出结果是 3 main()int a10=1,2,3,4,5,6,7,8,9,10,*p=a;printf(“%dn“,*(p+2) );88、以下程序的输出结果是 3 5 7 main() int i, x33 = 1, 2, 3, 4, 5, 6, 7, 8, 9;for(i = 0; i 3; i+)printf(“%d,“, xi2-i); 89、以下数据中,不正确的数值或字符常量是 C 。A. 10 B. 0xff00 C. 8.9e1.2 D. 82.590、在C语言中,引用数组元素时,其数组下标的数据类型允许是 整数常量或整数表达式 91、以下对一维整型数组 a 的正确说明是 A 。 A. #define SIZE 10 (换行) int aSIZE B. int a(10) C. int n; scanf(“%d”, int an; D. int n=10,an92、一个C程序的执

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论