上海海事大学c语言试题3.docx
- 文档编号:17136922
- 上传时间:2023-07-22
- 格式:DOCX
- 页数:25
- 大小:19.28KB
上海海事大学c语言试题3.docx
《上海海事大学c语言试题3.docx》由会员分享,可在线阅读,更多相关《上海海事大学c语言试题3.docx(25页珍藏版)》请在冰点文库上搜索。
上海海事大学c语言试题3
试卷编号:
9689
所属语言:
C语言
试卷方案:
期中考试
试卷总分:
100分
共有题型:
5种
一、填空共15题(共计15分)
第1题(分)题号:
92
C语言中的字符变量用保留字【1】来说明.
答案:
=======(答案1)=======
char
第2题(分)题号:
433
已知x=3,y=2,则表达式x*=y+8的值为【1】.
答案:
=======(答案1)=======
30
第3题(分)题号:
388
设x和y均为int型变量,且x=1,y=2,则表达式+x/y的值为【1】.
答案:
=======(答案1)=======
=========或=========
1
第4题(分)题号:
293
getchar()函数只能接收一个【1】.
答案:
=======(答案1)=======
字符
第5题(分)题号:
437
以下程序的输出结果为【1】,
#include""main(){inta=010,j=10;printf("%d,%d\n",++a,j--);}
答案:
=======(答案1)=======
9,10
第6题(分)题号:
498
c语言程序的三种基本结构是:
顺序结构,选择结构,【1】结构.
答案:
=======(答案1)=======
循环
第7题(分)题号:
100
已知a=13,b=6,a||b的十进制数值为【1】.
答案:
=======(答案1)=======
1
第8题(分)题号:
441
设a=3,b=4,c=4,则表达式a+b>c&&b==c&&a||b+c&&b==c的值为【1】.
答案:
=======(答案1)=======
1
第9题(分)题号:
457
设a,b,c,t为整型变量,初值为a=3,b=4,c=5,执行完语句t=!
(a+b)+c-1&&b+c/2
后,t的值是【1】.
答案:
=======(答案1)=======
1
第10题(分)题号:
389
设i,j,k均为int型变量,则执行完for循环
for(i=0,j=10;i<=j;i++,j--)k=i+j;
后,k的值为【1】.
答案:
=======(答案1)=======
10
第11题(分)题号:
421
若输入字符串:
abcde<回车>,则以下while循环体将执行【1】次.
While((ch=getchar())=='e')printf("*");
答案:
=======(答案1)=======
0
第12题(分)题号:
533
设x和y均为int型变量,则以下for循环中的scanf语句最多可执行的次数是【1】.
for(x=0,y=0;y!
=123&&x<3;x++)
scanf("%d",&y);
答案:
=======(答案1)=======
3
第13题(分)题号:
328
C语言中,数组元素的下标下限为【1】.
答案:
=======(答案1)=======
0
第14题(分)题号:
346
合并字符串的库函数是【1】,只写函数名即可.
答案:
=======(答案1)=======
strcat
第15题(分)题号:
341
定义inta[2][3];表示数组a中的元素个数是【1】个.
答案:
=======(答案1)=======
6
二、判断共15题(共计15分)
第1题(分)题号:
715
整数-32100可以赋值给int型和longint型变量.
答案:
Y
第2题(分)题号:
929
在C语言中,5种基本数据类型的存储空间长度的排列顺序为:
char 答案: Y 第3题(分)题号: 928 C程序中的关键字必须小写. 答案: Y 第4题(分)题号: 194 若有定义和语句: inta;charc;floatf;scanf("%d,%c,%f",&a,&c,&f); 若通过键盘输入: 10,A,,则a=10,c='A',f=. 答案: Y 第5题(分)题号: 944 C语言中,赋值表达式加上分号就构成了赋值语句. 答案: Y 第6题(分)题号: 716 若i=3,则printf("%d",-i++);输出的值为-4. 答案: N 第7题(分)题号: 950 逻辑运算符中的"&&"和"||"低于关系运算符,"! "高于算术运算符. 答案: Y 第8题(分)题号: 951 在执行switch语句时,default和各个case的出现次序不影响执行结果. 答案: Y 第9题(分)题号: 869 若有inti=10,j=0;则执行完语句 if(j=0)i++;elsei--;i的值为11. 答案: N 第10题(分)题号: 953 C语言中的for语句可以用于循环次数已经确定的情况,但是不能用于循环次数不确定而只给出循环结束条件的情况. 答案: N 第11题(分)题号: 742 若有说明intc;则while(c=getchar());是正确的C语句. 答案: Y 第12题(分)题号: 954 continue语句只结束本次循环,而不是终止整个循环的执行.break语句则是结束整个循环过程,不再判断执行循环的条件是否成立. 答案: Y 第13题(分)题号: 736 inta[3][4]={{1},{5},{9}};它的作用是将数组各行第一列 的元素赋初值,其余元素值为0. 答案: Y 第14题(分)题号: 735 如果想使一个数组中全部元素的值为0,可以写成 inta[10]={0*10}; 答案: N 第15题(分)题号: 926 任何数组的下标都是从0开始; 答案: Y 三、单项选择共20题(共计40分) 第1题(分)题号: 2004 下列字符序列中,不可用作C语言标识符的是(). A: b70 B: #ab C: symbol D: a_1 答案: B 第2题(分)题号: 2137 下列表达式中,可作为C合法表达式的是(). A: [3,2,1,0] B: (3,2,1,0) C: 3=2=1=0 D: 3/2/1/0 答案: B 第3题(分)题号: 2037 若k,g均为int型变量,则下列语句的输出为(). k=017;g=111;printf("%d\t",++k);printf("%x\n",g++); A: 156f B: 1670 C: 1571 D: 166f 答案: D 第4题(分)题号: 2043 已知字母a的ASCII十进制代码为97,则执行下列语句后的输出结果为(). chara='a';a--; printf("%d,%c\n",a+'2'-'0',a+'3'-'0'); A: b,c B: a--运算不合法,故有语法错 C: 98,c D: 格式描述和输出项不匹配,输出无定值 答案: C 第5题(分)题号: 2128 下列程序段的输出结果为(). floatx=; printf("%3d",(int)x); A: B: C: 213 D: 答案: C 第6题(分)题号: 2222 语句printf("a\bre\'hi\'y\\\bou\n");的输出结果是 (说明: '\b'是退格符)(). A: a\bre\'hi\'y\\\bou B: a\bre\'hi\'y\bou C: re'hi'you D: abre'hi'y\bou 答案: C 第7题(分)题号: 2028 假设所有变量均为整型,表达式: a=2,b=5,a>b? a++: b++,a+b的值 是(). A: 7 B: 8 C: 9 D: 2 答案: B 第8题(分)题号: 2145 inta=3,b=2,c=1; if(a>b>c)a=b; elsea=c; 则a的值为(). A: 3 B: 2 C: 1 D: 0 答案: C 第9题(分)题号: 2062 假定所有变量均已正确定义,下列程序段运行后x的值是(). k1=1; k2=2; k3=3; x=15; if(! k1)x--; elseif(k2)x=4; elsex=3; A: 14 B: 4 C: 15 D: 3 答案: B 第10题(分)题号: 2136 下列程序段的输出结果为(). inta=7,b=9,t; t=a*=a>b? a: b; printf("%d",t); A: 7 B: 9 C: 63 D: 49 答案: C 第11题(分)题号: 2319 在C语言中,要求运算数必须是整型的运算符是(). A: ^ B: % C: ! D: > 答案: B 第12题(分)题号: 2251 以下不是无限循环的语句为(). A: for(y=0,x=1;x>++y;x=i++)i=x; B: for(;;x++=i); C: while (1){x++;} D: for(i=10;;i--)sum+=i; 答案: A 第13题(分)题号: 2123 设j和k都是int类型,则for循环语句(). for(j=0,k=0;j<=9&&k! =876;j++)scanf("%d",&k); A: 最多执行10次 B: 最多执行9次 C: 是无限循环 D: 循环体一次也不执行 答案: A 第14题(分)题号: 2141 以下程序段的输出结果为(). for(i=4;i>1;i--) for(j=1;j putchar('#'); A: 无 B: ###### C: # D: ### 答案: B 第15题(分)题号: 2059 以下程序的运行结果是(). main() {intn; for(n=1;n<=10;n++) { if(n%3==0)continue; printf("%d",n); } } A: B: 369 C: 12 D: 90 答案: A 第16题(分)题号: 2147 while(fabs(t)<1e-5)if(! (s/10))break;循环结束的条件是(). A: t>=1e-5||t<=-1e-5||s>-10&&s<10 B: fabs(t)<1e-5&&! s/10 C: fabs(t)<1e-5 D: s/10==0 答案: A 第17题(分)题号: 2273 设有数组定义: chararray[]="China";则数组array所占的 空间为(). A: 4个字节 B: 5个字节 C: 6个字节 D: 7个字节 答案: C 第18题(分)题号: 2280 若有说明inta[3][4];则对a数组元素的正确引用是(). A: a[2][4] B: a[1,3] C: a[1+1][0] D: a (2) (1) 答案: C 第19题(分)题号: 2269 以下不正确的定义语句是(). A: doublex[5]={,,,,}; B: inty[5]={0,1,3,5,7,9}; C: charc1[]={'1','2','3','4','5'}; D: charc2[]={'\x10','\xa','\x8'}; 答案: B 第20题(分)题号: 2074 下列语句中,不正确的是(). A: staticchara[2]={1,2}; B: staticinta[2]={'1','2'}; C: staticchara[2]={'1','2','3'}; D: staticchara[2]={'1'}; 答案: C 四、程序填空共4题(共计24分) 第1题(分)题号: 24 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 题目: 以下程序的功能是对任一整数N(N≠0),它都可以分解成1 (或-1)和一些质数(素数)因子的形式。 如N=150时,可分 解成1×2×3×5×5;N=-150时,可分解为-1×2×3×5×5。 下边程序能实现这种分解过程。 当N=150,输出以下分解结 果: N=1*2*3*5*5 -------------------------------------------------------*/ main() { intn,i,j,r; scanf("%d",&n); if(n==0) { printf("dataerror\n"); exit(0); } /***********SPACE***********/ elseif(【? 】) printf("n=1"); else { printf("n=-1"); n=-n; } /***********SPACE***********/ for(【? 】;i<=n;i++) { /***********SPACE***********/ 【? 】; while(r==0) { printf("*%d",i); /***********SPACE***********/ 【? 】; r=n%i; } } printf("\n"); } 答案: =======(答案1)======= n>0 =========或========= 0 =======(答案2)======= i=2 =======(答案3)======= r=n%i =======(答案4)======= n=n/i =========或========= n/=i 第2题(分)题号: 14 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 题目: 输出100到1000之间的各位数字之和能被15整除的所有数, 输出时每10个一行。 -------------------------------------------------------*/ main() { intm,n,k,i=0; for(m=100;m<=1000;m++) { /***********SPACE***********/ 【? 】; n=m; do { /***********SPACE***********/ k=k+【? 】; n=n/10; /***********SPACE***********/ }【? 】; if(k%15==0) { printf("%5d",m);i++; /***********SPACE***********/ if(i%10==0)【? 】; } } } 答案: =======(答案1)======= k=0 =======(答案2)======= n%10 =========或========= n-n/10*10 =========或========= n-10*(n/10) =======(答案3)======= while(n>0) =========或========= while(0 =========或========= while(n! =0) =========或========= while(0! =n) =======(答案4)======= printf("\n") 第3题(分)题号: 21 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 题目: 以下程序的功能是将一个字符串中的前N个字符复制到 一个字符数组中去,不许使用strcpy函数。 -------------------------------------------------------*/ main() { charstr1[80],str2[80]; inti,n; /***********SPACE***********/ gets(【? 】); scanf("%d",&n); /***********SPACE***********/ for(i=0;【? 】;i++) /***********SPACE***********/ {【? 】;} /***********SPACE***********/ 【? 】; printf("%s\n",str2); } 答案: =======(答案1)======= str1 =======(答案2)======= i =========或========= n>i =========或========= i<=n-1 =========或========= n-1>=i =======(答案3)======= str2[i]=str1[i] =========或========= *(str2+i)=*(str1+i) =========或========= *(str2+i)=str1[i] =========或========= str2[i]=*(str1+i) =======(答案4)======= str2[n]='\0' =========或========= str2[i]='\0' =========或========= str2[n]=0 =========或========= str2[i]=0 =========或========= *(str2+n)='\0' =========或========= *(str2+i)='\0' =========或========= *(str+n)=0 =========或========= *(str2+i)=0 第4题(分)题号: 23 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 题目: 以下程序的功能是求一个二维数组中每行的最大值和每行 的和。 -------------------------------------------------------*/ #include"" main() { inta[5][5],b[5],c[5],i,j,k,s=0; for(i=0;i<5;i++) for(j=0;j<5;j++) a[i][j]=random(40)+20; for(i=0;i<5;i++) { /***********SPACE***********/ k=a[i][0];【? 】; for(j=0;j<5;j++) { /***********SPACE***********/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 上海 海事 大学 语言 试题