第1套含答案及评分标准1.docx
- 文档编号:9142572
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:13
- 大小:19.47KB
第1套含答案及评分标准1.docx
《第1套含答案及评分标准1.docx》由会员分享,可在线阅读,更多相关《第1套含答案及评分标准1.docx(13页珍藏版)》请在冰豆网上搜索。
第1套含答案及评分标准1
广东海洋大学
C语言程序设计试题库(第1套)
一、单项选择题(每小题2分,共50分)
1、一个C程序的执行是从_______。
A、本程序的main函数开始,到main函数结束
B、本程序的main函数开始,到本程序文件的最后一个函数结束
C、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
D、本程序文件的第一个函数开始,到本程序main函数结束nh
2、C语言程序的基本单位是________。
A、程序行B、语句
C、函数D、字符
3、请选出可用作C语言用户标识符的一组标识符________。
A、voidB、a3_b3C、ForD、2a
define_123-abcDO
WORDIFasesizeof
4、假定x和y为double型,则表达式(x=2,y=x+5/2)的值是______。
A、4.500000B、4
C、4.000000D、2.000000
5、下列可以正确表示字符型常量的是______。
A、297B、"a"
C、"\n"D、'\t'
6、在C语言中,要求运算数必须是整型的运算符是______。
A、/B、++
C、*=D、%
7、C语言中,复合语句的构成是将一系列语句置于______。
A、begin与end之间
B、方框号“[]”之间
C、花括号“{}”之间
D、圆括号“()”之间
8、有如下程序段,对应正确的数据输入是_______。
floatx,y;
scanf(”%f%f”,&x,&y);
printf(”a=%f,b=%f”,x,y);
A、2.04<回车>B、2.04,5.67<回车>
5.67<回车>
C、A=2.04,B=5.67<回车>D、2.045.67<回车>
9、以下程序段的输出结果是______。
inta=5678;
printf(”%2d\n”,a);
A、提示出错、无结果B、56
C、78D、5678
10、已知:
charch='A';则下列表达式的值是______。
ch=(ch>='A'&&ch<='Z')?
(ch+32):
ch;
A、AB、aC、ZD、z
11、下列描述,正确的是______。
A、表达式3.91%5是合法的
B、用b=89作为while循环的条件是合法的
C、逗号表达式是没有值和类型的
D、字符型变量和int型变量的操作完全不同
12、阅读以下程序:
main()
{intx;
scanf("%d",&x);
if(x--<5)printf("%d",x);
elseprintf("%d",x++);
}
程序运行后,如果从键盘上输人5,则输出结果是______。
A、3B、4C、5D、6
13、下列程序的运行结果是______。
#include”stdio.h”
main()
{intk;
k=3;
switch(k)
{case1:
printf(”%d\n”,k++);
case2:
printf(”%d\n”,k++);
case3:
printf(”%d\n”,k++);
case4:
printf(”%d\n”,k++);
break;
default:
printf(”Full!
\n”);
}
}
A、3B、4C、3D、4
44
14、设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、
m=2、n=1,则逻辑表达式(m==a
A、0B、1C、2D、3
15、设x、y和temp均为longint型变量,则以下语句:
{temp=x;x=y;y=temp;}的功能是______。
A、把x和y按从大到小排列
B、把x和y按从小到大排列
C、无确定结果
D、交换变量x和变量y的值
16、以下程序的输出结果是______。
main()
{inta,b;
for(a=1,b=1;a<=100;a++)
{if(b>=10)break;
if(b%3==1)
{b+=3;continue;}
}
printf("%d\n",a);
}
A、4B、6C、5D、101
17、执行以下程序后输出的结果是_______。
main()
{inty=10;
do{y--;}
while(--y);
printf("%d\n",y--);}
A、-1 B、1 C、8 D、0
18、执行以下程序后输出的结果是_______。
main()
{inti,j,w=0;
for(i=4;i;i--)
for(j=1;j<=2;j++)
w=w+i*j;w=i*j;
printf("%d\n",w);
}
A、4B、0C、1D、30
19、以下程序运行后,输出结果是______。
main()
{
intn[5]={3,3,3},i,k=2;
for(i=0;i printf("%d\n",n[k]); } A、4B、9C、3D、不确定的值 20、以下程序的输出结果是______。 f(inta) {intb=0; staticintc=3; b++;c++; return(a+b+c); } main() {inta=2,i; for(i=0;i<3;i++)printf("%d\n",f(a)); } A、7B、7C、7D、7 89107 911137 21、设C程序如下: #defineABC(x)x*x #include"stdio.h" main() {inta=3,b; b=ABC(a+1); printf("b=%d",b);} 上述程序运行输出的结果是______。 A、b=4B、b=a+1 C、b=16D、b=7 22、以下程序的输出结果是______。 main() {inti,a[10]; for(i=9;i>=0;i--)a[i]=10-i; printf("%d%d%d",a[1],a[6],a[9]); } A、169B、941 C、961D、357 23、若定义: floatx=3.14159,*p=&x; 则printf("%f\n",*p++);的输出结果为______。 A、无确定值B、x的地址 C、3.14159D、4.14159 24、以下程序的输出结果是_______ main() {charb[]="Language"; char*p=b; printf("%c",*(b+2)); p=p+7; printf("%c\n",*p++); } A、27B、neC、agD、nu 25、下列程序的输出结果是_______。 #include"stdio.h" main() { inta[]={1,2,3,4,5,6,7,8,9,0},i,s,*p; p=a;s=0; for(i=0;i<=9;i++) s+=*p++; printf("%d\n",s); } A、45B、44C、0D、9 二、判断题(每小题1分,共10分) 1.语句int*point;中的point是指针变量名。 () 2.主函数和其它函数之间可以相互调用。 () 3.puts()和gets()函数只能输入或输出一个字符。 () 4.可以对字符型数组元素进行整体输入、输出。 () 5.do-while语句构成的循环不能用其他语句构成的循环来代替。 () 6.在一个函数内的复合语句中定义的变量可以在本函数范围内有效。 () 7.函数必须有返回值,否则不能使用函数。 () 8.for(;;);语句相当于while (1);语句。 () 9.C程序的执行总是从第一个定义的函数开始。 () 10.C语言中的关键字专门用作语言的特定成分,而不能作为一般标识符使用。 () 三、程序填空题(每空2分,共10分) 1、下面程序完成判断某一个数m是否为素数,如果是则输出"misaprime! ",否则就输出"misnotaprime! ",请选择填空。 main() {inti,m; scanf("m=%d",&m); for(i=2;i {if(m%i==0) {printf("%disnotaprime! \n",m); (1)} else (2) } if(i==m)printf("%disaprime! \n",m); } (1)、A、breakB、continue C、break;D、continue; (2)、A、breakB、break; C、continueD、continue; 2、以下程序的功能是: 求出用数字0至9组成没有重复数字且是13倍数的三位数的个数,请选择填空。 #include voidmain() {inti,j,k,w,count=0; for((3);i<=9;i++) for(j=0;j<=9;j++) for(k=0;k<=9;k++) if((4)) {w=i*100+j*10+k; if((5)) count++; } printf("\ncount=%d\n",count); } (3)、A、i=0B、i=1 C、i=9D、i=-1 (4)、A、i! =jB、i! =j||j! =k C、i! =j&&j! =kD、i! =j&&j! =k&&k! =i (5)、A、w%13=0B、w/13=0 C、w%13==0D、w/13==0 四、编程题(第1小题12分,第2小题18分,共30分) 1、从键盘输入一个4位数的正整数n,将该数反序输出。 例如,若输入的是 1357,则输出的是7531。 要求: 1)利用VC++编译系统进行调试、运行 2)对输入的正整数n的合法性进行检查 3)将源程序以“编程题1.c”为文件名保存在网络盘(K: 盘)的考生文件夹上,用其它文件名保存或保存在其他地方均不能得分 2、已知一组字符串a[27]="jjyyzzabcdefgJJYYZZABCDEFG";请编一程序,将其中的小写字母换成其前一个字母,即z换成y,y换成x,...,b换成a,若是a则换成z。 然后对数组a[27]从小到大排序,并输出排序后的字符串。 要求: 1)利用VC++编译系统进行调试、运行 2)先输出原字符串(即未做任何改变的字符串),最后输出排序后 的字符串 3)将源程序以“编程题2.c”为文件名保存在网络盘(K: 盘)的考生文件夹上,用其它文件名保存或保存在其他地方均不能得分 C语言程序设计试题库(第1套) 答案及评分标准 一、单项选择题(每小题2分,共50分) 第1~5题: ACBCD 第6~10题: DCADB 第11~15题: BBCAD 第16~20题: ADBCA 第21~25题: DBCBA 二、判断题(每小题1分,共10分) 第1~5题: 第6~10题: 三、程序填空题(每空2分,共10分) 第1~5空: CDBDC 四、编程题(第1小题12分,第2小题18分,共30分) 1、从键盘输入一个4位数的正整数n,将该数反序输出。 例如,若输入的是 1357,则输出的是7531。 要求: 1)利用VC++编译系统进行调试、运行 2)对输入的正整数n的合法性进行检查 3)将源程序以“编程题1.c”为文件名保存在网络盘(K: 盘)的考生文件夹上,用其它文件名保存或保存在其他地方均不能得分 评分标准: 1.按题目要求定义变量(1分) 2.数据输入语句正确(动态输入,即使用scanf()函数)(2分) 3.有对输入数据进行合法性检查的语句(2分) 4.正确求出各位数字(4分) 5.按题目要求输出最后结果(2分) 6.无语法错误(1分) 源程序: #include”stdio.h” main() {intn,a,b,c,d; printf("Pleaseinputaintegernumber(>=1000and<10000): \n"); lab: scanf(“%d”,&n); if(n<999||n>=10000) {printf("Youinputtheintegeriserror! Pleaseinputagain: \n");gotolab;} a=n/1000; b=n%1000/100; c=n%100/10; d=n%10; printf("\nTheresultis: %d%d%d%d\n",d,c,b,a); } 2、已知一组字符串a[27]="jjyyzzabcdefgJJYYZZABCDEFG";请编一程序,将其中的小写字母换成其前一个字母,即z换成y,y换成x,...,b换成a,若是a则换成z。 然后对数组a[27]从小到大排序,并输出排序后的字符串。 要求: 1)利用VC++编译系统进行调试、运行 2)先输出原字符串(即未做任何改变的字符串),最后输出排序后 的字符串 3)将源程序以“编程题2.c”为文件名保存在网络盘(K: 盘)的考生文件夹上,用其它文件名保存或保存在其他地方均不能得分 评分标准: 1.按题目要求正确定义变量及字符数组(2分) 2.能正确对字符数组赋初值(2分) 3.能将数组中的小写字母换成其前一个字母(使用循环及if-else语句)(5分) 4.按要求正确地对新数组进行排序(算法正确、有双层循环及分支结构)(5分) 5.按要求输出最后结果(3分) 6.无语法错误(1分) 源程序: #include”stdio.h” main() {inti,j; charch,a[27]="jjyyzzabcdefgJJYYZZABCDEFG"; for(i=0;i<26;i++) if(a[i]>'a'&&a[i]<='z') a[i]=a[i]-1; elseif(a[i]=='a')a[i]='z'; for(i=0;i<25;i++) for(j=i+1;j<26;j++) if(a[i]>a[j]) {ch=a[i];a[i]=a[j];a[j]=ch;} printf(“\nThesortednewarrayis: \n”); printf("\n%s",a); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 答案 评分标准
![提示](https://static.bdocx.com/images/bang_tan.gif)