c语言A卷1.docx
- 文档编号:10312816
- 上传时间:2023-05-25
- 格式:DOCX
- 页数:16
- 大小:39.83KB
c语言A卷1.docx
《c语言A卷1.docx》由会员分享,可在线阅读,更多相关《c语言A卷1.docx(16页珍藏版)》请在冰点文库上搜索。
c语言A卷1
华南农业大学期末考试试卷(A卷)
2011学年第1学期 考试科目:
程序设计(C语言)
考试类型:
(闭卷)考试 考试时间:
120 分钟
学号姓名年级专业
题号
一
二
三
四
总分
得分
评阅人
机读
机读
考生注意:
1、答案必须分别写在“机读卡”和“答卷”上,写在试卷上不得分。
2、必须在机读卡和答卷上正确填写班级、学号、姓名等内容,否则没有考试成绩。
3、在机读卡的学生代号区只填写学号后10位。
4、考试结束,只需交“机读卡”和“答卷”,本试卷不用交。
得分
一、判断题(在机读卡上答题,本大题共20小题,每小题1分,共20分)
用2B型铅笔涂答题卡!
!
!
按题号顺序,正确的判断涂黑“A”、错误的判断涂黑“B”
1、所有逻辑运算符的优先级都高于关系运算符。
2、在if语句中,if后面的表达式可以是关系表达式与逻辑表达式,而不能是算术表达式。
3、带有语句标号的语句的正确书写方法是“语句标号:
语句”。
4、for循环语句只能用于循环次数已经确定的情况。
5、do-while循环语句的特点是先执行循环体,然后判断循环条件是否成立。
6、continue语句在循环体中出现,其作用是结束本次循环,接着进行是否执行下一次循环的判定。
7、已有定义intx[5];,则该定义语句说明x是具有5个元素的一维数组,且数组元素是x[1],x[2],x[3],x[4],x[5]。
8、数组必须先定义,然后再使用。
9、若对字符串str1和字符串str2比较大小,必须使用字符串比较函数strcmp(str1,str2),不能使用关系运算符进行比较,譬如:
str1==str2。
10、一个函数中有且只能有一个return语句。
11、在一个函数中定义的静态局部变量不能被另一个函数引用。
12、用数组名作为函数调用时的实参,实际上传递给形参的是数组全部元素的值。
13、在C语言中,主函数可以调用任意一个函数,但是不能使用其它函数中定义的变量。
14、C语言规定,程序中各函数之间既允许嵌套定义,也允许嵌套调用。
15、宏名没有作用域,在整个文件范围内都有效。
16、带参数的宏名无类型,它的参数也无类型。
17、预处理命令必须位于C源程序的首部。
18、在文件包含预处理语句中,被包含的文件应该是目标文件而不是源文件。
19、文件包含是不能嵌套的,即在一个被包含文件中不能包含另一个被包含文件。
20、宏定义不是C语句,不必在行末加分号,若加了分号,则编译时会出现语法错误。
得分
二、单项选择题(在机读卡上答题,本大题20小题,每小题2分,共40分)
用2B型铅笔涂答题卡!
!
!
按题号顺序,将答题卡上与选项对应的字母涂黑
21、以下叙述正确的是()。
A)C语言允许直接访问物理地址,可以直接对硬件进行操作
B)C语言程序不用编译,即可被计算机识别运行
C)C语言不允许直接访问物理地址,不可以直接对硬件进行操作
D)C语言程序只需编译,不需连接即可被计算机运行
22、下列关于C语言用户标识符的叙述中正确的是()
A)用户标识符中可以出现下划线和中划线(减号)
B)用户标识符中不可以出现中划线,但可以出现下划线
C)用户标识符中可以出现下划线,但不可放在标识符开头
D)用户标识符中可以出现下划线和数字,它们都可放在用户标识符的开头
23、字符串"\\\\1234\\\\\n"在内存中占用的字节数是()
A)14B)9C)10D)11
24、与k=n++完全等价的表达式是()
A)n=n+1,k=nB)k+=n+1C)k=++nD)k=n,n=n+1
25、为下面的程序输入数据,使得i=10,k='a',j=15,正确的键盘输入方法是()
main()
{inti,j,k;
scanf("%d%c%d",&i,&k,&j);
}
A)10,a,15<回车>B)10<回车>a<回车>15<回车>
C)10'a'15<回车>D)10a15<回车>
26、运行下面的程序,正确的输出结果是()
main()
{floatx=68.7563,y=-789.125;
printf("%f,%10.2f\n",x,y);
}
A)68.756303,-789.12B)68.756303,-789.13
C)68.7563,-789.13D)68.7563,-789.12
27、下列表达式中,结果为1的表达式是()
A)!
0==1B)!
6C)!
2>=3D)!
3!
=0
28、设整型变量x,y,z的值分别为3、2、1,则下列程序段的输出是()
if(x>y)x=y;
if(x>z)x=z;
printf("%d,%d,%d\n",x,y,z);
A)3,2,1B)1,2,3C)1,2,1D)1,1,1
29、已经定义intj;,则下面程序段的输出结果是()
for(j=7;j<10;j++)printf("%d",j);
A)8910B)789C)91011D)无结果
30、下面程序的运行结果是()
main()
{inti,j,k,sum;
for(i=2;i<7;i++){
sum=1;
for(j=i;j<7;j++)
sum=sum+j;
}
printf("%d",sum);
}
A)48B)49C)1D)7
31、下面程序的运行结果是()
main()
{intx=15;
do{x--;}while(x--);
printf("%d",x--);
}
A)0B)1C)-1D)-2
32、下面程序的运行结果是()
main()
{intx[3],i,j,k;
for(i=0;i<3;i++)x[i]=0;
k=2;
for(i=0;i for(j=0;j printf("%d\n",x[1]); } A)2B)1C)0D)3 33、若有以下程序段: intx[12]={1,2,3,4,5,6,7,8,9,10,11,12}; charc='a',d,g; 则数值为4的表达式是()。 A)x[g-c]B)x[4]C)x['d'-'c']D)x['d'-c] 34、若有ints[4]={4,3,2,1};则s[s[0]+s[3]-s[2]]的值是() A)1B)2C)3D)4 35、C语言程序的三种基本结构是() A)嵌套结构、递归结构、循环结构B)递归结构、循环机构、转移结构 C)顺序结构、选择结构、循环结构D)循环结构、转移结构、顺序结构 36、下列程序的运行结果是() #include"stdio.h" voidf(charstr[]) {inti,j; for(i=j=0;str[i]! ='\0';i++) if(str[i]! ='a')str[j++]=str[i]; str[j]='\0'; } voidmain() {charstring[]="goodbaby"; f(string); printf("stringis: %s",string); } A)stringis: goodbabyB)stringis: goodbby C)stringis: goodbD)stringis: g 37、下列程序段中,有错误的是() A)intf() {intx; scanf("%d",&x); returnx++,x+5; } B)intf2() { return(x>1? printf("Y"): putchar('N');); } C)main() {floata=2.6,b; b=max(2.1,3.6)=a++; printf("%f",a+b); } D)voidchang(intx,inty) { intt; t=x;x=y;y=t; } 38、以下函数值的类型是() fun(floatx) {floaty; y=3*x-4; return(y); } A)不确定B)floatC)intD)void 39、设有宏定义命令: #defineSUM2+3 则表达式5+SUM*5的值为() A)50B)30C)22D)20 40、在文件包含预处理的定义形式中,#include后的文件名用<>括起来时,寻找被包含文件的方式是()。 A)仅搜索当前目录 B)先在源程序所在的目录搜索,再按系统设定的标准方式搜索 C)仅搜索源程序所在目录 D)直接按系统设定的标准方式搜索 得分 1.5CM 三、阅读程序填空题(在答卷上答题,本大题共9小题,每空1分,共20分) 1、下面程序实现分别输出1至100(不包括100)范围内所有偶数的和与所有奇数的和,请填空完善。 #include voidmain() {inti,s1,s2; 01); for(i=1;i<100;02)) if(03))s2+=i; esles1+=i; printf("偶数和=%d,奇数和=%d",s2,s1); } 2、某物品原有价值为p,使用后其价值降低,价值的折扣率根据时间t(月数)确定如下: 下面程序根据输入的时间和原有的价值计算物品的现有价值,请填空完善程序。 #include voidmain() {intt,d; floatp; scanf("%d,%f",&t,&p); switch(04)){ case0: d=0;break; case1: d=2;break; case2: case3: d=5;break; case4: case5: case6: d=8;break; 05): d=10; } printf("Price=%f\n",06)); } 3、该程序利用下面公式计算∏的近似值,取前n项之和,请填空完善程序。 #include voidmain() { inti,n; floatt=1.0,pi=0; scanf("%d",07)); for(i=1;i<=n;i++){ pi+=08); t=-t; } printf("pi=%f",pi*4); } 4、下面程序完成输入一个整数并判断是否为素数,请填空完善程序。 #include #include voidmain() {intn,k,i=1; scanf("%d",&n); k=sqrt(n); for(i=2;i<=k;i++) if(09))break; if(10))printf("%disaprime\n",n); } 5、下面程序的功能是输出若干个字符串中长度最短的字符串,请填空完善程序。 #include #include voidmain() {charstr1[80],min[80]; intk,len; printf("inputstringstr1: \n"); gets(str1); strcpy(min,str1); len=strlen(min); gets(str1); while(str1[0]! ='\0'){ k=strlen(str1); if(11)){ len=k; 12); } gets(str1); } printf("len=%d,min=%s\n",len,min); } 6、下列程序的功能输入一组数的5个元素,并依次后移一个位置,再将第5个数据放在第一个存储单元(下标为0),请填空完善程序。 #include voidmain() {inta[5],t,i; printf("原数据序列为: "); for(i=0;i<5;i++)scanf("%d",&a[i]); 13); for(i=4;i>0;i--) 14); a[0]=t; printf("操作后数据序列为: \n"); for(i=0;i<5;i++)printf("%d",a[i]); } 7、下列函数str_cat()的功能是连接两个字符串,请填空完善程序。 voidstr_cat(charstr1[],charstr2[2],charstr[]) {inti,j; for(i=0;str1[i]! ='\0';i++)str[i]=str1[i]; for(j=0;str2[j]! ='\0';j++) 15); 16); } 8、下面程序的功能是用递归方法计算n! ,请填空完善程序。 #include doublefact(intn) {doublek; if(n<=0)exit(0);//exit()返回操作系统 elseif(n==1)k=1.0; else17); returnk; } voidmain() { intn; scanf("%d",&n); printf("FACT(%d)=%lf\n",n,18)); } 9、下面程序的功能是通过键盘输入10个整数,并把其中最大的数和最小的数显示出来。 #include 19) voidsearch(inta[],intn) {inti; max=min=a[0]; for(i=1;i if(a[i]>max)max=a[i]; if(a[i] } } voidmain() { intarray[10],i; for(i=0;i<10;i++)scanf("%d",&array[i]); search(20)) printf("max=%d,min=%d\n",max,min); } 得分 四、编写程序题(在答卷上答题,本大题共3小题,第1,2小题各5分;第3小题10分,共20分) 1、编程计算分数序列 前10项之和,并在屏幕上显示结果。 2、编程实现输入一个年份范围,在屏幕上显示年份范围中的闰年,每行最多显示5个。 3、根据如下main函数要求,编写一个使用选择排序算法完成从小到大排序的函数px(),要求画出排序函数流程图或NS图。 #include voidmain() { inta[10]={1,9,2,6,5,10,3,7,20,4},i; voidpx(intx[],intn) ; printf("排序前: "); for(i=0;i<10;i++)printf("%d",a[i]); printf("\n"); px(a,10); printf("排序后: "); for(i=0;i<10;i++)printf("%d",a[i]); printf("\n"); } 华南农业大学期末考试(A卷)参考答案 2011学年第1学期 考试科目: 程序设计(C语言) 1、判断题(机读,正确的判断涂黑“A”、错误的判断涂黑“B”每小题1分,共20分) BBABAABAABABABBABBBA 2、单项选择题(机读,每小题2分,共40分) ABCDDBACBDCADACBCCCD 3、阅读程序填空题(每空1分,共20分) 01)s1=s2=0或s1=0,s2=0 11)k 02)i++ 12)strcpy(min,str1) 03)i%2==0或! (i%2) 13)t=a[4] 04)t/3 14)a[i]=a[i-1] 05)default 15)str[i++]=str2[j] 06)p*(1-d/100.0) 16)str[i]='\0' 07)&n 17)k=n*fact(n-1); 08)t/(2*i-1) 18)n,fact(n) 09)n%i==0 19)intmax,min; 10)i>k或i>=k+1或i==k+1 20)array,10 4、编写程序题(第1、2小题各5分,第3小题10分,共20分) 1、#include voidmain() {inti; floatk,s=0,m=1,n=2; for(i=1;i<=10;i++){ s+=m/n;k=m+n;m=n;n=k; } printf("s=%f",s); } 2、#include main() {inty0,y1,y,n=0; printf("y0,y1: "); scanf("%d,%d",&y0,&y1); if(y0>y1){intt;t=y0;y0=y1;y1=t;} for(y=y0;y<=y1;y++) if(y%4==0&&y%100! =0||y%400==0){ n++; printf("%d",y); if(n%5==0)printf("\n"); } } 3、voidpx(intx[],intn) //选择排序(5分) {inti,j,k; for(i=0;i k=i; for(j=i+1;j if(x[j] if(k! =i){t=x[k];x[k]=x[i];x[i]=t;} } } (5分)传统流程图(略) NS图: x[j]
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言
![提示](https://static.bingdoc.com/images/bang_tan.gif)