C语言考试非计算机专业 1.docx
- 文档编号:26010943
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:12
- 大小:18.27KB
C语言考试非计算机专业 1.docx
《C语言考试非计算机专业 1.docx》由会员分享,可在线阅读,更多相关《C语言考试非计算机专业 1.docx(12页珍藏版)》请在冰豆网上搜索。
C语言考试非计算机专业1
试题编号:
重庆邮电大学2013学年第二学期
C语言试卷(非计算机专业)(期末)(A卷)(闭卷)
题号
一
二
三
四
五
六
七
八
总分
得分
评卷人
一、选择题(本大题共20小题,每小题1.5分,共30分)
1.一个C程序的执行是从()。
A.本程序的main函数开始,到main函数结束
B.本函数的第一个数开始,到本程序文件的最后一个函数结束
C.本程序的main函数开始,到本程序文件的最后一个函数结束
D.本函数的第一个数开始,到本程序main函数结束
2.下列不合法的转义字符是()。
A.‘\\’B.‘\t’C.‘\x6a’D.’\89’
3.若有定义intx=5,y=2,则表达式5/2的结果为()。
A.2.5B.2C.2.0D.3
4.以下程序的输出结果是______。
main()
{
inta;
printf("%d\n",(a=3*5,a*4,a+5));
}
A.65B.20C.15D.10
5.以下程序的输出结果是______。
main()
{inta=5,b=4;printf("%d\n",d=a>b?
a:
b);
}
A.5B.4C.6D.不确定
6.C语言中的switch语句形式如下所示,关键字switch后一对圆括号中表达式exp的类型是()。
switch(exp)
{case常量表达式1:
语句1;
…
case常量表达式n:
语句n;
default:
语句n+1;
}
A.只能是整型或字符型 B.只能是int类型
C.只能是字符型 D.只能是整型或实型
7.以下程序的输出结果是______。
#include
main()
{
inti=10,j=10;
printf("%d,%d\n",++i,j--);
}
A.11,10B.9,10C.010,9D.10,9
8.判断char型变量ch是否为大写字母的正确表达式是()。
A.‘A’<=ch<=’Z’B.(ch>=’A’)&(ch<=’Z’)
C.(ch>=’A’)&&(ch<=’Z’)D.(ch>=’A’)and(ch<=’Z’)
9.以下表达式中,与表达式!
a等价的是()。
A.a==0B.a==1C.!
a==0D.!
a==1
10.C语言程序的三种基本结构是()。
A.顺序结构、选择结构、循环结构B.递归结构、循环结构、转移结构
C.嵌套结构、递归结构、顺序结构D.循环结构、转移结构、顺序结构
11.当a=1,b=3,c=5,d=4时,执行以下程序段后x的值是()。
if(a
if(c else if(a if(b elsex=3; elsex=6; elsex=7; A.1B.2C.3D.6 12.有以下程序,程序的运行结果是()。 #include main() {intx=1,y=0,a=0,b=0; switch(x) {case1: switch(y) {case0: a++;break; case1: b++;break; } case2: a++;b++;break; case3: a++;b++; } printf(“a=%d,b=%d\n”,a,b); } A.a=1,b=0B.a=2,b=2C.a=1,b=1D.a=2,b=1 13.以下程序段()。 x=-1; do {x=x*x;}while(! x); A.是死循环B.循环执行两次C.循环执行一次D.有语法错误 14.与下面程序段等价的是()。 for(n=100;n<=200;n++) {if(n%3==0)continue; printf(“%4d”,n); } A.for(n=100;(n%3&&n<=200;n++)printf(“%4d”,n); B.for(n=100;(n%3)||n<=200;n++)printf(“%4d”,n); C.for(n=100;n<=200;n++)if(n%3! =0)printf(“%4d”,n); D.for(n=100;n<=200;n++) {if(n%3)printf(“%4d”,n); elsecontinue; break; } 15.有数组: chara[]=“thisisanegg”;,请问该数组长度是多少? () A.15B.14C.13D.12 16.以下程序的输出结果是()。 #include voidmain() { inta[4][4]={{1,3,5},{2,4,6},{3,5,7}}; printf(“%d%d%d%d\n”,a[0][3],a[1][2],a[2][1],a[3][0]); } A.0650B.1470C.5430D.输出值不定 17.对以下定义的正确理解是() inta[10]={6,7,8,910}; A.将5个初值依次赋给a[1]----a[5] B.将5个初值依次赋给a[0]----a[4] C.将5个初值依次赋给a[6]----a[10] D.因为数组长度与初值的个数不相同,所以此语句不正确。 18.若有以下定义,则p+5表示_______. inta[10],*p=a; A.元素a[5]的地址B.元素a[5]的值C.元素a[6]的地址D.元素a[6]的值 19.具有相同类型的指针类型变量p与数组a,不能进行的操作是()。 A.p=a;B.*p=a[0];C.p=&a[0];D.p=&a; 20.设有如下定义: intarr[]={6,7,8,9,10}; int*ptr; ptr=arr; *(ptr+2)+=2; printf("%d,%d\n",*ptr,*(ptr+2));则程序段的输出结果为 A)8,10B)6,8C)7,9D)6,10 二、程序填空题(本大题共10小题,每小题2分,共20分) 1.求1+2+3…100的值 #include intmain() { inti=1,____ (1)___; while(i<=100) {sum=_____ (2)_____; i++; } printf("sum=%d\n",sum); return0; } 2.判断一个数是否为素数 #include intmain() {intn,i; printf(“n=? ");scanf("%d",&n); for(i=2;i<=__(3)___;i++) if(___(4)____)break; if(___(5)___)printf("%disnot\n",n); elseprintf("%dis\n",n); return0; } 3.在一个字串s1中查找一子串s2,若存在则返回子串在主串中的起始位置,不存在则返回-1。 main() { chars1[6]="thisis";chars2[5]="is"; printf("%d\n",(___(6)___)); system("pause"); } intsearch(chars1[],chars2[]) { inti=0,j,len=strlen(s2); while(s1[i]) { for(j=0;(___(7)___);;j++) if(s1[i+j]! =s2[j])(___(8)___); if(j>=len) returni; else i++; } return-1; } 4、有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 兔子的规律为数列1,1,2,3,5,8,13,21.... main() { longf1,f2; inti; f1=f2=1; for(i=1;i<=20;i++) {printf("%12ld%12ld",f1,f2); if(i%2==0)printf("\n"); (___(9)___); (___(10)___); } } 三、阅读程序题(本大题共6小题,每小题5分,共30分) 1.以下程序的输出为_____________。 #include intmain() {intf(int) inta=2,i; for(i=0;i<3;i++) printf("%d\n",f(a)) ; return0 ; } intf(inta) {autointb=0 ; staticc=3 ; c++; return(a+b+c) } 2.以下程序的输出为_____________。 #include intmain() { viodf(char*from,char*to); char*a= "WelcometoCHONGQING." ; charb[]= "It’sbeautifulplace." char*p=b f(a,p) ; printf("stringa=%s\nstringb=%s") ; return0 ; } voidf(char*from,char*to) { for( ;*from ! =‘\0’ ;from++,to++) {*to=*from ;} *to=’\0’ ; } 3.程序的运行结果是。 main() {inta,b,s=0; for(a=1,b=1;a<=100;a++) {if(b>=20)break; if(b%3==1) { b+=3;continue;} b-=5; } printf(“a=%d\tb=%d\n”,a,b); } 4.下面程序的运行结果是。 #include voidswap(int*v1,int*v2) {int*t; t=v1; v1=v2; v2=t; } intmain() { inti=30;intj=31; swap(&i,&j); print(“%d,%d”,i,j); } 5.输入“Iamaboy”,下面程序的运行结果是。 include"stdio.h" voidmain() { charstring[81]; intI,num=0,word=0; charc; gets(string); for(i=0;(c=string[i])! =’\0’;i++) { if(c==’‘)word=0; elseif(word==0) { word=1; num++; } } printf(“%dwords\n”,num); return0; } 6.下面程序的运行结果是。 #include main() { inta[5][5]={{33,12,13,21,35,67},{44,55,26,71,89},{22,13,74,55,66}}; inti,j; intsum=a[0][0],x,y; for(i=0;i<5;i++) { for(j=0;j<5;j++)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言考试非计算机专业 语言 考试 计算机专业