c语言期末复习试题(附答案)_第1页
c语言期末复习试题(附答案)_第2页
c语言期末复习试题(附答案)_第3页
c语言期末复习试题(附答案)_第4页
c语言期末复习试题(附答案)_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、试卷编号: 11201所属语言: C 语言试卷方案: C 语言期末考试试卷总分: 100 分共有题型: 4 种一、单项选择共 30 题(共计 60 分)第 1 题 ( 2.0 分)设有定义 :int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是(A ).A:k+B:k+=1C:+kD:k+1第 2 题 ( 2.0 分)已知 int i=5,执行语句i+=+i后 , i的值是 (C).A:10B:11C:12D:A、 B、 C都不对第 3 题 ( 2.0 分)以下程序的功能是: 给 r 输入数据后 , 计算半径为r 的圆面积s. 程序在编译时出错.#include void m

2、ain( )/* Beginning */ int r; float s; scanf(%d,&r); s=p*r*r; printf(s=%fn,s);出错的原因是( D).A: 注释语句书写位置错误B: 存放圆半径的变量 r 不应该定义为整型C: 输出语句中格式描述符非法D: 计算圆面积的赋值语句中使用了非法变量第 4 题 ( 2.0 分)ABC 的长度是 (B).A:11B:7C:5D:3第 5 题 ( 2.0 分)已知 int j,i=1;,执行语句j= i+; 后 ,j的值是 ( C).A:1B:2.C:-1D:-2第 6 题 ( 2.0 分)有以下程序 :#include void

3、 main( ) int s=0, a=1, n; scanf(%d, &n); dos+=1; a=a 2;while(a!=n);printf(%dn, s);若要使程序的输出值为2, 则应该从键盘输入给n 的值是 ( B).A:-1B:-3C:-5D:0第 7 题 ( 2.0 分)执行以下程序后, 输出的结果是( D).#include void main( ) int y=10;doy ;while( y);printf(%dn,y );A:-1B:1C:8D:0第 8 题 ( 2.0 分)以下循环体的执行次数是 ( C ). #include void main( ) int i,j

4、;for(i=0,j=1; i=j+1; i+=2, j )printf(%dn,i);A:3B:2C:1D:0第 9 题 ( 2.0 分).有以下程序段:int k=0;while(k=1)k+;while循环执行的次数是( A).A: 无限次B: 有语法错误 , 不能执行C:1 次也不执行D: 执行 1 次第 10 题 ( 2.0 分)有以下程序#include void main( ) int m,n,p;scanf(m=%dn=%dp=%d,&m,&n,&p);printf(%d%d%dn,m,n,p);若想从键盘上输入数据, 使变量 m中的值为123,n 中的值为456,p 中的值为

5、789, 则正确的输入是(A ).A:m=123n=456p=789B:m=123 n=456 p=789C:m=123,n=456,p=789D:123456789第 11 题 ( 2.0 分)设变量已正确定义, 以下能正确计算f=n! 的程序段是 ( D)A:f=0;for(i=1;i=n;i+) f*=i;B:f=1;for(i=1;i1;i+) f*=i;D:f=1;for(i=n;i=2;i ) f*=i;第 12 题 ( 2.0 分)在下列程序中, 没有构成死循环的程序段是(B ).A: int i=100; while(1) i=i%100+1;if(i100) break;B:

6、int k=1000;do+k; while(k=10000);C:for(;);D:int s=36; while(s); -s;第 13 题( 2.0 分).有如下程序 :#include void main( ) int n=9; while(n6) n-;printf(%d,n);该程序段的输出结果是(B ).A:987B:876C:8765D:9876第 14 题 ( 2.0 分)以下程序的输出结果是(D).#include void main( ) int x=10,y=10,i; for(i=0;x8;y=+i)printf(%d%d ,x ,y);A:10192B:9 8 7

7、6C:10990D:101091第 15 题 ( 2.0 分)有如下程序 : #include void main( ) int n5=0,0,0,i,k=2; for(i=0;ik;i+) printf(%dn,nk);该程序的输出结果是(D ).A: 不确定的值B:2C:1D:0第 16 题 ( 2.0 分)下列程序执行后的输出结果是 ( A ). #includevoid main( ) char arr24;strcpy(arr,you); strcpy(arr1,me);arr03=&;.printf(%s n,arr);A:you&meB:youC:meD:err第 17 题 (

8、2.0 分)以下程序的输出结果是 ( C ). #includevoid main( ) int i, x33=1,2,3,4,5,6,7,8,9;for(i=0;i3;i+) printf(%d,xi2 i);A:1,5,9,B:1,4,7,C:3,5,7,D:3,6,9,第 18 题 ( 2.0 分)以下数组定义中不正确的是 ( D ). A:int a23;B:int b 3=0,1,2,3;C:int c100100=0;D:int d3 =1,2,1,2,3,1,2,3,4;第 19 题 ( 2.0 分)以下能正确定义数组并正确赋初值的语句是 ( D ). A:int N=5,bNN

9、;B:int a12=1,3; C:int c2 =1,2,3,4; D:int d32=1,2,3,4;第 20 题 ( 2.0 分)有以下程序 :int a=4;int f(int n)int t=0; static int a=5;if(n%2) int a=6; t+=a+; else int a=7; t+=a+; return t+a+;main( )int s=a,i=0;for( ; i2; i+)s+=f(i);printf(dn,s);.程序运行后的输出结果是( B)A:24B:28C:32D:36第 21 题 ( 2.0 分)以下正确的函数定义形式为 ( A) A:dou

10、ble fun(int x, int y)B:double fun(int x; y)C:double fun(int x; int y)D:double fun(int x, y)第 22 题 ( 2.0 分)C 语言规定 , 函数返回值的类型是由( D)A:return语句中的表达式类型所决定的B: 调用该函数时的主调函数类型所决定的C: 调用该函数时系统临时决定的D: 在定义该函数时所指定的函数类型所决定的第 23 题 ( 2.0 分)有以下程序 :输出结果是 ()(注: 5353)void swap1(int c0 , int c1 ) int t ;t=c00;c00=c10;c10

11、=t;void swap2(int *c0, int *c1) int t;t=*c0;*c0=*c1;*c1=t;main( ) int a2=3,5, b2=3,5;swap1(a, a+1);swap2(&b0, &b1);printf(%d %d %d %dn,a0,a1,b0,b1);A:3 5 5 3B:5 3 3 5C:3 5 3 5D:5 3 5 3第 24 题 ( 2.0 分)以下程序的输出结果是 ( A ). amovep(int*p, int (*a)3,int n) int i, j;for( i=0;in;i+)for(j=0;jn;j+) *p=aij;.p+; m

12、ain( ) int *p,a33=1,3,5,2,4,6; p=(int *)malloc(100); amovep(p,a,3);printf(%d %d n,p2,p5); free(p);A) 5 6B) 2 5C) 3 4D) 程序错误第 25 题 ( 2.0 分)有以下函数 :fun(char *a,char *b) while(*a!=0)&(*b!=0)&(*a=*b) a+; b+; return (*a *b); 该函数的功能是( D).A: 计算 a 和 b 所指字符串的长度之差B: 将 b 所指字符串复制到a 所指字符串中C: 将 b 所指字符串连接到a 所指字符串后面

13、D: 比较 a 和 b 所指字符串的大小第 26 题 ( 2.0 分)有以下程序 : fun(char p 10) int n=0,i;for(i=0;i7;i+) if(pi0= T ) n+;return n;main( ) char str 10=Mon,Tue,Wed,Thu,Fri,Sat,Sun; printf(%dn,fun(str);程序执行后的输出结果是( B).A:1B:2C:3D:0第 27 题 ( 2.0 分)有以下程序 :main( ). char str10=China,Beijing,*p=str; printf(%sn,p+10);程序运行后的 出 果是(B )

14、.A:ChinaB:BeijingC:ngD:ing第 28 题 ( 2.0 分)有以下程序 :#definef(x)(x*x)main( ) int i1, i2;i1=f(8)/f(4)i2=f(4+4)/f(2+2)printf(%d,%dn,i1,i2);程序运行后的 出 果是(C).A:64, 28B:4, 4C:4, 3D:64, 64第 29 题 ( 2.0 分)有以下程序 : 果是( A)void change(int k ) k0=k5; main( ) int x10=1,2,3,4,5,6,7,8,9,10,n=0; while(n=4) change(&xn); n+;

15、 for(n=0;n5;n+) printf(%d,xn); printf(n);A) 678910B) 13579C) 12345D) 62345A:678910B:13579C:12345D:62345第 30 题 ( 2.0 分)在以下程序中, 能 通 用函数fun(), 使 main( ) 函数中的指 量p 指向一个合法的整型 元的是 ( C ).A:main( )int *p;fun(p); .int fun(int *p) int s; p=&s; B:main( ) int *p;fun(&p); int fun(int *p) int s; *p=&s; C:#include

16、main( ) int *p;fun(&p); int fun(int *p) *p=(int*)malloc(2); D:#include main( ) int *p;fun(p); int fun(int *p) p=(int*)malloc(sizeof(int); 二、程序填空共 1 题 (共 10 分)第 1 题 ( 10.0 分)/*-【程序填空】-功能: 算平均成 并 90 分以上人数。-*/main()int n,m;float grade,average;/*SPACE*/average=n=m=【 ?】 ;/此 :0while(1)/*SPACE*/【 ?】 (%f,&g

17、rade);/此 :scanfif(grade0) break;n+;average+=grade;/*SPACE*/if(grade90)【 ?】 ;/ 此 : breakm+;.if(n) printf(%.2f%dn,average/n,m);三、程序改错共 1 题 (共计10 分)第 1 题 ( 10.0 分)/*-【程序改错】-功能:首先把b 所指字符串中的字符按逆序存放,然后将 a 所指字符串中的字符和b 所指字符串中的字符,按排列的顺序交叉合并到 c 所指数组中,过长的剩余字符接在c 所指数组的尾部。例如:当a 所指字符串中的内容为“abcdefg ”,b 所指字符串中的内容为“

18、 1234”时, c 所指数组中的内容应该为“ a4b3c2d1 efg ”;而当 a 所指字符串中的内容为“ 1234”, b 所指字符串中的内容为“ abcdefg ”时, c 所指数组中的内容应该为“1g2f3e4dcba”。-*/#include #include #include void fun( char *a, char *b, char *c )int i , j;char ch;i = 0;j = strlen(b)-1;/*FOUND*/while ( i j )/ 此处改为ch = bi;bi = bj;bj = ch;i+; j-;/*FOUND*/while ( *a &*b )/此处 &改为|(逻辑或 )if ( *a )*c = *a;c+;/*FOUND*/a+;/ 此处 a+if ( *b ).*c = *b;c+;b+;*c = 0;main()char s1100,s2100,t200;clrscr();printf(nEnter s1 string : );scanf(%s,s1);printf(nEnter s2 string : );scanf(%

温馨提示

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

评论

0/150

提交评论