第一范文网 - 专业文章范例文档资料分享平台

2009下C语言A卷

来源:用户分享 时间:2025/11/19 7:54:38 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

试卷类别

A

使用班级

全校统考

使用学期 2009下学期

任课教师

教研室主任 审核签字

中国地质大学(武汉)考试出题专用纸 教务处制 考试课程名称: C程序设计 学时: 56

考试方式:闭卷,笔试 注:①答案写在答题纸上 ②考试完毕后请将答题纸和试卷分开交上来。 考试内容: 一、单项选择题(每题2分,共32分) 1.若t为double类型,表达式t=1,t+5,t++的值是 (1) A) 1 B) 6.0 C) 2.0 D) 1.0 2.若有定义:int a=10;float x=2.8,y=8.6;则表达式: x+a%3*(int)(y-x)%2/4 的值是 (2) 。 A) 2.500000 B) 2.800000 C) 3.050000 D) 0.000000 3.若有以下定义和语句:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则不能表示a数组元素的表达式是 (3) A) *p B) a[10] C) *a D) a[p-a] 4.以下叙述中错误的是 (4) 。 A)对于double类型数组,不可以直接用数组名对数组进行整体输入或输出 B)数组名代表的是数组所占存储区的首地址,其值不可改变 C)当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息 D)可以通过赋初值的方式确定数组元素的个数 5.已有定义:char a[]=\以下叙述中正确的是 (5) 。 A)数组a和b的长度相同 B)a数组长度小于b数组长度 C)a数组长度大于b数组长度 D)上述说法都不对 6、下列函数的功能是 (6) 。 A) 字符串复制 B) 字符串连接 C) 字符串比较 D)都不是 void f(chat *a, char *b) { while (*a++); while (*b) *a++=*b++; *a=0; } 7、以下函数是计算多项式 (7) 的值。 float f (int n) { float i,t=2,s=t; for(i=2;i<=n;i++) { t=t*(2*i-1)*(2*i); s+=t; } return s; } A)1+3+5… B) 2+4+6… C)1!+2!+3! … D) 2!+4!+6!… 8、以下程序的功能是 (8) 。 main() { int a[3][3]={1,2,3,4,5,6,7,8,9}, i,*p=a,s=0; for(i=0; i<3; i++) for( p+=i; p

中国地质大学(武汉)考试出题专用纸 教务处制

11、以下程序中,不合法的函数调用语句是 (11) 。

16、判断字符串a和b是否相等,应当使用 (16) 。

试卷类别

A

使用班级

全校统考

使用学期 2009下学期

任课教师

教研室主任 审核签字

void fun( float x[ ]) { …… } main( ) { float a[9],b[4][5]; A) f(a+5); B) f(b); C) f(a[4]); D) f(b[2]); } 12、上机运行以下程序会出现一个错误,这个错误的性质是 (12) . main() { int i,j,a[]={3,2,1},b[]={6,4,2,0}; float s=0; for(i=0;i<3;i++) { j=b[a[i]]; s+=1.0/j; } printf(“\\n %f”,s); } A) 数组说明语法错 B)数组元素引用语法错 C)分母为0运算错 D)数组元素引用下标超界错 13、以下各循环语句中,不是无限循环的是 (13) 。 A)for(j=5;j- -<5;) j=4; B)for(j=0;j>=0<10;j++); C)for(j=1,k=10;j-k;j++,k- -); D)for(j=1;j=10;j++) s+=j; 14、对于以下求最大值最小值的函数,可以代替第三行的语句有 (14) 。 void max_min( int * a, int n, int * max, int * min) { int * i; *max=a[0];*min=a[0]; for(i=a;i*max) *max=*i; if (*i<*min) *min=*i; } } A)*max=0;*min=0; B)*max=-32768;*min=32767; C)*max=a[n];*min=a[n]; D)*max=32767;*min=-32768; 15、假定有如下求最大值和最小值的程序: main() { int i,a, max=-32768, min=32767; for ( i=0; i<10; i++) { scanf (“%d”, &a ); if (a < min ) min=a; else if ( a > max ) max=a; } printf (“\\n max,min= %d,%d”, max, min); } 则以下各结论中正确的是 (15) 。 A) 程序完全正确 B) 当输入递增数据时结果不正确 C) 当输入递减数据时结果不正确 D) 输入任何数据结果都不正确 A) if(a==b) B) if(a=b) C) if(strcpy(a,b)) D) if(!strcmp(a,b)) 二、程序阅读题(21,22,25,28每题2分,其他每题3分,共38分) 17、下面程序的运行结果是 (17) 。 void f(int *x,int *y) { int t; t=*x;*x=*y;*y=t; } main() { int a[8]={1,2,3,4,5,6,7,8},i,*p,*q; p=a;q=&a[7]; while(p=20) break; if (b%3==1) { b+=3; continue; } b-=5; } printf(“%d\\n”,a);} A)7 B)8 C)9 D)10

试卷类别

A

使用班级

全校统考

使用学期 2009下学期

任课教师

教研室主任 审核签字

中国地质大学(武汉)考试出题专用纸 教务处制 20、以下程序的运行结果是 (20) 。

int a=2; int f ( int *a) { return (*a)++; } int g() { int a=5; return f ( &a ); } main( ) { int s=0; s+=g (); s+=f ( &a ); printf ( \} A) 7 2 B) 7 3 C) 9 2 D) 9 3 21.以下程序的运行结果是 (21) . void sort (int *a, int n) main() { int *i, *j, t; { int i,a[10]={5,3,8,6,0,1,4,7,9,2} for(i=a;i*j){t=*i;*i=*j;*j=t;} for(i=0;i='a' && a[i]<='z' ) putchar ( a[i] ); else printf ( \ } } A) ab23 B) ab12 C) ab4950 D) ab5051 24、以下程序的运行结果是 (24) 。 main( ) { int a[10]={3,2,5,4,6,7,9,12,8,10},i,p=0,q=0; for(i=0;i<10;i++) { if (a[i]>p) p=a[i]; if (a[i]a[k] ) k=j; j=a[0]; a[0]=a[k]; a[k]=j; printf ( “%s”, a); } A) ZbcXYa789 B) cbaXYZ789 C) 7bcXYZa89 D) 9bcXYZ78a 27.以下程序的运行结果是 (27) 。 void f(char *s,char *p) main() { for (; *s; s++); { char a[10]=\”abCD12\ for (; *p; p++) f(a,b); if (*p>='A'&& *p<='Z' ) *s++=*p; printf (\ *s=0; } } A) abCD12 B) fxabCD12 C) CD D) fxCD 28.以下程序的运行结果是 (28) 。 main() { int n=12345,j,n1=0,n2=0; while ( n/=10 ) { j=n; if ( j%2 ) n1+=j; else n2+=j; } printf ( \} A. 9,6 B. 6,4 C. 6,9 D. 4,6

试卷类别

A

使用班级

全校统考

使用学期 2009下学期

任课教师

教研室主任 审核签字

中国地质大学(武汉)考试答题专用纸 教务处制 29.若运行以下程序时,从键盘输入abcd(表示回车),

则输出结果是 (29) 。 #include “stdio.h” main() { int c; while((c=getchar())!=’\\n’) switch(c-‘a’) { case 0: case 1: putchar(c+4); case 2: putchar(c+4); break; case 3: putchar(c+3); default: putchar(c+2); break; } } A. fgg B. effgg C. eeffggf D. eeffgg 30.以下程序的运行结果是 (30) 。 #define PRT “\\n %s %d %s %d” struct student { char name[10]; int score; }; main() { int i; struct student st, stmax,stmin; FILE *fp; fp=fopen ( “file1.txt”,”r” ); stmax.score=0; stmin.score=100; File1.txt内容: for ( i =1; i <=3; i ++ ) Zhao 87 { fscanf ( fp,”%s%d”,st.name,&st.score ); Qian 75 if ( st.score > stmax.score ) stmax=st; Sun 90 } Li 93 while ( !feof( fp) ) Zhou 70 { fscanf ( fp,”%s%d”,st.name,&st.score ); if ( st.score < stmin.score ) stmin=st; } fclose ( fp ); printf (PRT,stmax.name,stmax.score,stmin.name,stmin.score ); } A.Li 93 zhou 75 B.Sun 90 Zhou 70 C.Qian 75 Li 93 D.Zhao 87 Zhou70 三、程序填充题:选择适当的内容填在以下各程序的下划线处,使程序完整。(每空3分,共30分) ● 用折半查找法查找整数k在数列a中的位置(数列a中的数按从小到大有序),若a中有与k相同的数则返回其位置(下标),否则返回-1。 int search (int a[], int n , int k) { int i=0, j=n–1, m; while (i<=j) { m= (i+j)/2; if (a[m]k) (32) ; else (33) ; } return (–1); } (31) A)i=m-1 B) i=m+1 C) j=m-1 D)j= m+1 (32) A) i=m-1 B) i=m+1 C)j=m-1 D)j=m+1 (33) A)return –1 B) return m C) return i D) return j ●下列函数统计水鲜花数的个数。 所谓水鲜花数,它是一个三位数,该数正好等于其各位数字的立方和。 int flower_num() { int i,m,s,k,n=0; for(m=100;m<1000;m++) { (34) ; while ( k ) { (35) ; s-=i*i*i; k/=10; } if ( (36) ) n++; } return n; } (34) A) s=0,k=0 B) s=0,k=m C) s=m,k=0 D) s=m,k=m (35) A) i=k/100 B) i=k/10 C) i=k/10 D) i=k (36) A) s==m B) s!=m C) !s D) s ●以下函数是将数列a中的非素数去掉,只保留素数部分,然后按从大到小顺序重新排列后输出。 int prime(int m) { int i; void sort(int * a,int n) if (m<2) return 0; { int *i,*j,t; if (m==2) return 1; for(i=a;i*j) {t=*i;*i=*j;*j=t;} B)if(a[i]>a[j]) { t=a[i];a[i]=a[j];a[j]=t; } C)if (*i<*j) {t=*i;*i=*j;*j=t;} D)if(a[i]

搜索更多关于: 2009下C语言A卷 的文档
2009下C语言A卷.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c85tkx9jacp3x5if1klmb9gaib47veh009o4_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top