武汉大学C语言期末复习试题_第1页
武汉大学C语言期末复习试题_第2页
武汉大学C语言期末复习试题_第3页
武汉大学C语言期末复习试题_第4页
武汉大学C语言期末复习试题_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、1试卷共试卷共5个大题个大题单项选择题题单项选择题题(每题每题1分,共分,共20分)分) 填空题填空题(20分,每题分,每题2分分) 阅读程序阅读程序(20分,每题分,每题4分分) 完成程序题完成程序题(20分,每空分,每空2分分) 程序编制题:程序编制题:(20分,每题分,每题10分分)2 21、下列语句中符合、下列语句中符合c语言语法的赋值语句是语言语法的赋值语句是 a) a=7+b+c=a+7; b) a=7+b+=a+7; c) a=7+b,b+,a+7 d) a=7+b,c=a+7; 2、在、在c语言中语言中,要求运算数必须是整型的运算符是要求运算数必须是整型的运算符是 a) % b

2、) / c) d) !练练 习习3、已知字母、已知字母a的的asc码为十进制的码为十进制的65,下面程序的输出是下面程序的输出是 main() char ch1,ch2; ch1=a+5-3; ch2=a+6-3; printf(%d,%cn,ch1,ch2); a) 67,d b) b,c c) c,d d) 不确定的值不确定的值37、下面程序的输出是、下面程序的输出是 main() enum team my,your=4,his,her=his+10; printf(%d%d%d%dn,my,your,his,her); a) 0 1 2 3 b) 0 4 0 10 c) 0 4 5 15

3、 d) 1 4 5 158、下面程序的输出是、下面程序的输出是 main() int a=-1,b=4,k; k=(a+=0)&(!(b-0;y-) if(y%3=0) printf(%d,-y); continue; a)741 b)852 c)963 d)875421513. 下面程序的输出是下面程序的输出是 main() char x=040; printf(%dn,x=x1): a)100 b)160 c)120 d)6414. 下面程序的输出是下面程序的输出是 main() struct cmplx int x; inf y;cnum2=1,3,2,7; printf(%dn,cnu

4、m0.y/cnum0.x*cnum1.x); a)0 b)1 c)3 d)615. 下面程序的输出是下面程序的输出是 fun3(int x) static int a=3; a+=x; return(a); main() int k=2,m=1,n; n=fun3(k); n=fun3(m); printf(%dn,n); a)3 b)4 c)6 d)9620.以下程序段的输出结果是以下程序段的输出结果是 int x=3; do printf(%3d,x-=2); while(!(-x); a)1 b)3 0 c)1-2 d)死循环死循环21. 设有以下定义设有以下定义: int a43=1,

5、2,3,4,5,6,7,8,9,10,11,12; int (*ptr)3=a,*p=a; 则下列能够正确表示数组元素则下列能够正确表示数组元素a12的表达式是的表达式是 a)*(*ptr+1)2) b)*(*(p+5) c)(*ptr+1)+2 d)*(*(ptr+1)+2)22.下列程序的输出结果是下列程序的输出结果是 main( ) char *p1, *p2, str50=xyz; p1=abcd; p2=abcd; strcpy(str+2, strcat(p1+2,p2+1); printf(%s, str); a)xyabcab b)abcabz c)ababcz d)xycdb

6、cd723. 执行以下程序后执行以下程序后, y的值是的值是 main ( ) int a=2,4,6,8,10, y=1, x, *p; p=&a1; for(x=0;x amax ) amax=x; if( ) amin=x; scanf(%f, &x); printf(namax=%fnamin=%fn, amax, amin); x=0.0 x amin825.不能把字符串不能把字符串:hello!赋给数组赋给数组b的语句是的语句是 a)char b10=h,e,l,l,o,!; b)char b10;b=“hello!”; c)char b10;strcpy(b,“hello!”);

7、 d)char b10=“hello!”;26.若有以下说明若有以下说明: int a12=1,2,3,4,5,6,7,8,9,10,11,12; char c=a,d, g; 则数值为则数值为4的表达式是的表达式是 a)ag-c b)a4 c)ad-c d)ad-c27.若有以下说明若有以下说明: int a10=1,2,3,4,5,6,7,8,9,10,*p=a; 则数值为则数值为6的表达式是的表达式是 a)*p+6 b)*(p+6) c)*p+=5 d)p+528.若有以下说明若有以下说明: int w34o=0,1,2,4,5,8; int(*p)4=w; 则数值为则数值为4的表达式是

8、的表达式是 a)*w1+1 b)p+,*(p+1) c)w22 d)p11929.若程序中有下面的说明和定义若程序中有下面的说明和定义 struct abc int x;char y; struct abc s1,s2; 则会发生的情况是则会发生的情况是 a)编译出错编译出错 b)程序将顺利编译、连接、执行程序将顺利编译、连接、执行 c)能顺利通过编译、连接、但不能执行能顺利通过编译、连接、但不能执行 d)能顺利通过编译能顺利通过编译但连接出错但连接出错30.下面程序输出数组中的最大值下面程序输出数组中的最大值,由由s指针指向该元素指针指向该元素.则在则在if语句中的判断表语句中的判断表达式应

9、该是达式应该是 main() int a10=6,7,2,9,1,10,5,8,4,3,*p,*s; for(p=a, s=a; p-a*sa=1, b=21032.若有定义和语句若有定义和语句: char s10;s=“abcd”;printf(“%sn”,s); 则结果是则结果是:(以下以下u代表空格代表空格) a)输出输出abcd b)输出输出a c)输出输出abcduuuuu d)编译不通过编译不通过33.若有以下定义和语句若有以下定义和语句: int u=010, v=0 x10, w=10; printf(“%d,%d,%dn,u,v,w); 则输出结果是则输出结果是: a)8,1

10、6,10 b)10,10,10 c)8,8,10 d)8,10,1034. 若有以下定义和语句若有以下定义和语句 char c1=b,c2=e; printf(“%d,%cn”,c2-c1,c2-a+ a); 则输出结果是则输出结果是: a)2,m b)3,e c)2,e d) 输出结果不确定输出结果不确定35. 若若i, j已定义为已定义为int类型类型,则以下程序段中内循环体的总的执行次数是则以下程序段中内循环体的总的执行次数是 for (i=5;i;i-) for(j=0;j4;j+) . a)20 b)25 c)24 d)301136.若有以下定义和语句若有以下定义和语句: char

11、*s1=“12345”,*s2=“1234”; printf(“%dn”,strlen(strcpy(s1,s2); 则输出结果是则输出结果是: a)4 b)5 c)9 d)1037.若有以下定义和语句若有以下定义和语句: int a10=1,2,3,4,5,6,7,8,9,10,*p=a; 则不能表示则不能表示a数组元素的表达式是数组元素的表达式是 a)*p b)a10 c)*a d)ap-a38.下面程序的输出是下面程序的输出是 main() char *s=121; int k=0, a=0, b=0; do k+; if(k%2=0) a=a+sk-0;continue; b=b+sk

12、-0; a=a+sk-0; while (sk+1); printf(k=%d a=%d b=%dn,k,a,b); a)k=3 a=2 b=3 b)k=3 a=3 b=2 c)k=2 a=3 b=2 d)k=2 a=2 b=31239. 下面程序的输出是下面程序的输出是 main() unsigned a=32768; printf(“a=%dn”,a); a)a=32768 b)a=-32767 c)a=-32768 d)a=-140.若有以下定义若有以下定义: float x;int a,b; 则正确的则正确的switch 语句是语句是 a)switch(x) b)switch(x) c

13、ase1.0:printf(*n); case1,2:printf(*n); case2.0:printf(*n); case3:printf(*n); c)switch (a+b) d)switch (a+b); case 1:printf(n); case 1:printf(.*n); case 1+2:printf(*n); case 2:printf(*n); 1341.以下程序输出的结果是以下程序输出的结果是 main() char w10=abcd,efgh,ijkl,mnop,k; for (k=1;k3;k+) printf(%sn,&wkk); a)abcd b)abcd c

14、)fgh d)fgh fgh efg jk kl kl ij o m 42.若有以下的定义若有以下的定义: int a=1,2,3,4,5,6,7,88,9,10), *p=a; 则值为则值为3的表达式是的表达式是 a)p+=2, *(p+) b)p+=2,*+p c)p+=3, *p+ d)p+=2,+*p43.假定所有变量均已正确说明假定所有变量均已正确说明,下列程序段运行后下列程序段运行后x的值是的值是 a=b=c=0;x=35; if(!a) x-; if(c)x+=3; else x+=4; a)34 b)36 c)37 d)381444.以下程序的输出结果是以下程序的输出结果是 s

15、ubl(char a,char b) char c; c=a;a=b;b=c; sub2(char* a,char b) char c; c=*a;*a=b;b=c; sub3(char* a,char*b) char c; c=*a;*a=*b;*b=c; main() char a,b; a=a;b=b;sub3(&a,&b);putchar(a);putchar(b); a=a;b=b;sub2(&a,b);putchar(a);prtchar(b); a=a;b=b;sub1(a,b);putchar(a);putchar(b); a)babbab b)abbbba c)bababa

16、d)baabba45. 下列程序运行结果是下列程序运行结果是_。#include void main()static char schtext = language;char *s=&schtext8; while (-s=&schtext0) putchar (*s);putchar(n);egaugnal1546. 下列程序运行结果是下列程序运行结果是_。#include char* search(char * p, int n) return pn;void main() char * weekday7= “sunday”“,monday”, tuesday“,wednesday“, t

17、hursday“, friday“, saturday; char * pch = search(weekday, 4); printf(%sn, pch);thursday1647. 下列程序运行结果是下列程序运行结果是_。#include void main() struct addrlist char name12;char tele18;addrlist myal = zhang wang, li,printf(%s %sn, myal1.name, myal1.tele);wang/p>

18、1748.下面程序的功能是打开文件下面程序的功能是打开文件d:test.txt,计算该文件中的字符数。,计算该文件中的字符数。请填空完善之。请填空完善之。#include void main()file * in;in = fopen( , r);char ch = fgetc(in);int nfilelength = 0;while ( ) ; ch = ;printf(nfilelength = %dn, nfilelength);“d:test.txt”ch != eofnfilelength+fgetc(in)1849下面程序的功能是用从键盘上输入下面程序的功能是用从键盘上输入3个数

19、,比较得出个数,比较得出3个数中的最小个数中的最小 值、中间值、最大值。使用了交换函数值、中间值、最大值。使用了交换函数swap。请填空完善之。请填空完善之。#include void swap(int *p1, int *p2) int hold = ;*p1 = *p2;*p2 = hold;void main()int max, min, mid;printf(enter three numbers:);scanf(%d%d%d, &max, &mid, &min);if (max min) ; if ( ) swap(&max, &mid);if (mid min) swap(&mid

20、, &min);printf(min=%d mid = %d max=%dn, min, mid, max); *p1swap( &max, &min)max mid1950. 下面程序的功能是计算如下分数序列的前下面程序的功能是计算如下分数序列的前20项之和,请填空。项之和,请填空。 2/1, 3/2, 5/3, 8/5, 13/8,#include void main( ) int n, t; float x=2, y=1, s=0; for(n=1;n=20;n+) ; t=x; ; ; printf(“the sum is :%fn”, s); s+=x/yx=x+yy=t2051.

21、下列程序运行结果是下列程序运行结果是_。#include int* search(int (*ptr)3, int n) return *(ptr+n);void main() int scores3= 60,70,80, 61,71,81, 62,72,82, 63,73,83;int *ptr = search(scores,2);printf(%dn,*(ptr+2);822152. 完成一个c程序的步骤:编辑、_、连接、执行。53. 在c语言中,文件的数据存放有两种形式,一种是二进制代码形式,另一种是_形式。54. c语言中的位运算符&表示的是按位与,那么位运算符表示的 。55. c程序

温馨提示

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

评论

0/150

提交评论