北航C语言试题.docx
- 文档编号:9249121
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:11
- 大小:18.96KB
北航C语言试题.docx
《北航C语言试题.docx》由会员分享,可在线阅读,更多相关《北航C语言试题.docx(11页珍藏版)》请在冰豆网上搜索。
北航C语言试题
北京航空航天大学
2011-2012学年第二学期期末
《C语言程序设计》
考试卷
班级______________学号_________
姓名______________成绩_________
2012年5月29日
班号学号姓名成绩
《C语言程序设计》期末考试卷
注意事项:
1、请将所有的答案和程序写在答题纸上,写在试卷纸上不得分!
2、考试时间120分钟
一、单项选择题(每题2分,共40分)
1、以下叙述不正确的是___
A)一个C源程序可由一个或多个函数组成
B)在C程序中,注释说明只能位于一条语句的后面
C)程序的基本组成单位是函数
D)一个C源程序必须包含一个main函数
2、以下叙述中正确的是
A)C程序中注释部分可以出现在程序中任意合适的地方
B)花括号“{”和“}”只能作为函数体的定界符
C)构成C程序的基本单位是函数,所有函数名都可以由用户命名
D)分号是C语句之间的分隔符,不是语句的一部分
3、以下表达式值为3的是________.
A)16-13%10B)2+3/2C)14/3-2D)(2+6)/(12-9)
4、已知各变量的类型说明如下:
intk,a,b;
unsignedlongw=5;
doublex=1.42;
则以下表达式不正确的是______.
A)x%(-3)B)w+=-2C)k=(a=2,b=3,a+b)D)a+=a-=(b=4)*(a=3)
5、有以下程序
voidmain()
{
doubled=3.2;
intx,y;
x=1.2;
y=(x+3.8)/5.0;
printf("%d\n",d*y);
}
程序的输出结果是____
A)3B)3.2C)0D)3.07
6、以下程序的运行结果是________.
main()
{
intm=5,n=10;
printf(“%d,%d\n”,m++,--n);
}
A)5,9B)6,9C)5,10D)6,10
7、能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假的表达式是______。
A)x>=1&&x<=10||x>=200&&x<=210
B)x>=1||x<=10||x>=200||x<=210
C)x>=1&&x<=10&&x>=200&&x<=210
D)x>=1||x<=10&&x>=200||x<=210
8、若w=5,x=2,y=3,z=4,则条件表达式w w: y y: z的值是_______。 A)4B)3C)2D)1 9、下面程序的输出结果是______。 voidmain() { inti,j,x=0; for(i=0;i<2;i++) { x++; for(j=0;j<-3;j++) { if(j%2)continue; x++; } x++; } printf("x=%d\n",x); } A)x=2B)x=4C)x=6D)x=8 10、有以下程序段 intk=20; while(k=0)k=k+3; while循环执行的次数是()。 A)无限次B)有语法错,不能执行 C)一次也不执行D)执行1次 11、以下选项中,不能正确赋值的是()。 A)chars3[20]="Ctest"; B)chars2[]={'C','t','e','s','t'}; C)chars1[10];s1="Ctest"; D)char*s4="Ctest\n" 12、已知: inta[]={1,2,3,4},y,*p=a;则执行语句 y=(*++p)-- ;之后,数组a各元素的值变为_____。 A)0,1,3,4B)1,1,3,4C)1,2,2,4D)1,2,3,3 13、已知intx=10,y=20,z=30;执行下列语句后x、y、z的值是_________。 if(x>y) z=x;x=y;y=z; A)x=10,y=20,z=30B)x=20,y=30,z=30 C)x=20,y=30,z=30D)x=20,y=30,z=20 14、以下程序的输出是_________。 voidmain() {intx=2,y=-1,z=2; if(x if(y<0)z=0; elsez+=1; printf(“%d\n”,z); } A)3B)2C)1D)0 15、已有以下数组定义和func函数调用语句,则func函数原形的正确声明为_______。 voidmain() {inta[3][4]; …… func(a); …… } A)func(intarray[][6]);B)func(intarray[3][]); C)func(intarray[][4]);D)func(intarray[2][5]); 16.以下程序的输出结果是()。 fun(intx,inty,intz) {z=x*x+y*y;} main() {inta=31; fun(5,2,a); printf("%d",a);} A)0B)29C)31D)无定值 17、若用数组名作为函数调用的实参,则传递给形参的是_________ A)数组的首地址 B)数组第一个元素的值 C)数组中全部元素的值 D)数组元素的个数 18、设有如下程序段()。 chars[20]="Beijing",*p; p=s; 则执行p=s;语句后,以下叙述正确的是()。 A)可以用*p表示s[0] B)s数组中元素的个数和p所指字符串长度相等 C)s和p都是指针变量 D)数组s中的内容和指针变量p中的内容相同 19、若有定义: inta[]={2,4,6,8,10,12,14,16,18,20,22,24},q[4],k;则下面程序段的输出是: for(k=0;k<4;k++)q[k]=a[k*3];printf("%d\n",q[3]); A)18B)16C)20D)输出项不合法,结果不确定 20、以下程序执行结果错误,错误原因是________ voidmain() { int*p,i;char*q,ch; p=&i; q=&ch; *p=40; *p=*q; ... } A)p和q的类型不一致,不能执行语句*p=*q; B)*p中存放的是地址值,因此不能执行语句*p=40; C)q没有指向具体的存储单元,所以*q没有实际意义; D)q虽然指向具体的存储单元,但该单元中没有确定的值,所以执行语句*p=*q错误。 二、填空题(前五题每题2分,后5题每题3分,共25分) 1、假定char类型变量占用一个字节,其有定义: charx[]=”C_Language”;,则数组x在内存中所占字节数是______________。 2、设a.b均为int型变量且a=2,b=0,则表达式(x=a)||! (y=b)&&0的值是_______. 3、下面程序的输出是_______。 main() {intx=3,y=2,z=0; if(x==y+z)printf("**"); elseprintf("##"); } 4、执行完下面的程序后,k的值是_____. intk=1,n=263; do { k*=n%10; n/=10; }while(n); 5、鸡兔共有30只,脚共有90只,下面程序段是计算鸡兔各有多少只。 请填空_________. intx,y; for(x=0;x<=30;x++) {y=30-x; if(___________)printf(“鸡有%d只,兔有%d只\n”,x,y); } 6、下面程序的运行结果是__________。 voidmain() {inti=5; do{ switch(i%2) {case4: i--;break; case6: i--;continue; } i--;i--; printf(“%d”,i); }while(i>0); } 7、下面程序的功能是输出两个字符串中对应相等的字符。 请填空。 #include charx[]="programming"; chary[]="Fortran"; main() { inti=0; while(x[i]! ='\0'&&y[i]! ='\0') if(x[i]==y[i]) printf("%c",____________); elsei++; } 8、已有函数pow1,现要求取消变量i后pow1函数的功能不变(不得增加变量),请填空。 修改前的pow1函数: intpow1(intx,inty) {inti,j=1; for(i=1;i<=y;++i)j=j*x; return(j); } 修改后的pow1函数: intpow1(intx,inty) {intj; for(_____;______;_____;)j=j*x; return(j); } 9、以下程序的运行结果是_____________。 voidfun(int*n) { while((*n)--); printf(”\n%d”,*n); } main() {inta=10; fun(&a); } 10.下面程序的运行结果是_____. #include main() {inta,s,n,count; a=2;s=0;n=1;count=1; while(count<=4) { n=n*a; s=s+n; ++count; } printf("s=%d",s); } 三、程序编写题(见答题纸) 答题纸 班号学号姓名成绩 一、单项选择题(共40分) 题号 1 2 3 4 5 6 7 8 9 10 答案 题号 11 12 13 14 15 16 17 18 19 20 答案 二、填空题(共25分) 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 三、程序编写题(第一题20分,第二题15分,共35分) 1、编写程序实现: 从计算机屏幕输入一个任意正整数,判断它能否分别被3、5整除,并输出以下信息之一: (1)能被3、5整除; (2)能被3、5其中1个整除; (3)不能被3、5整除; 2.在主函数中定义一个一维数组,内存10个学生成绩如下: 87,85,76,90,77,78,82,93,82,70。 写一个子函数,主函数调用此子函数,能够求出最高分,最低分和平均分,返回主函数后输出结果(使用全局变量以及子函数中输出结果不得分)。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 北航 语言 试题