2013C语言试卷(A)标准答案_第1页
2013C语言试卷(A)标准答案_第2页
2013C语言试卷(A)标准答案_第3页
2013C语言试卷(A)标准答案_第4页
2013C语言试卷(A)标准答案_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、A卷 中国石油大学(北京)20122013学年第 2 学期 C语言程序设计期末考试试卷标准答案考试方式(闭卷考试)班级: 姓名: 学号: 题号一二三 四五总分得分 (试卷不得拆开,所有答案均写在题后相应位置)一、填空题(每空1分,共10分)1结构化程序设计的三种基本结构是顺序结构、 选择结构 和 循环结构 。2一个源程序文件的名称为”test.c”,通过编译后,对应的目标文件名称是: test.obj 。3double x=4.5,y=4.7; int a=5; 表达式”x+a%3*(int)(x+y)%2/4”的值是: 4.5 。4公式在C语言中对应的表达式为: C=5.0/9*(F-32)

2、 。5数学中的关系表达式”20x30”在C语言中的表示形式是: x=20&x30 。6有循环语句:for(i=0,j=1; i=j+1;i+=2,j-) printf(“%dn”,i); 循环体中语句执行的次数是: 1 次。7设有数组定义:char array =”x101ytabc”; 则数组array所占的存储空间为 8 个字节。8字符A的ASCII值为65,若有:int x=f; x=A+(x-a+1); ,则x的值是 71 。9若有:char str110=”xxx”,str210=”yyy”; strcat(str2,str1); 则:strlen(str2)= 6 。二、选择题(每

3、题2分,共20分)下列各题的四个选项中,只有一个选项是正确的,请将正确选项填在下表中。12345678910CABDCBBBAC1下列数所中合法的浮点型常量是:C。A、E+10B、2E+1.5C、2E-10D、0x2.5E102以下叙述中正确的是:A。A、局部变量说明为static存储类型,其生存期将得到延长。B、全局变量说明为static存储类型,其作用域将被扩大。C、任何存储类型的变量在未赋初值时,其值都是不确定的。D、形参可以使用的存储类型说明符与局部变量完全相同。3对于下面的数组声明,正确的是:B。A、int x5;B、char t=a,b,c,0;C、int n=5,an;D、int

4、 s5=1,2,3,4,5,6;4若有以下说明和语句,则在执行for语句后,*(*pt+2)表示的数组元素是:D。int t33,(*pt)3,k;for(k=0;kb) a=b;c=a;if(c!=a) c=b;printf(”%d,%d,%dn”,a,b,c);其输出结果是:B。A、程序段有语法错 B、3,5,3 C、3,5,5 D、3,5,78下列程序的输出结果是:B。#include main() int i,a=0,b=0;for(i=1;i10;i+) if(i%2=0) a+;continue;b+;printf(”a=%d,b=%d”,a,b);A、a=4,b=4B、a=4,b

5、=5C、a=5,b=4D、a=5,b=59下列程序执行后的输出结果是:A。#include void func(int *a,int b) b0=*a+6; main() int a,b5;a=0; b0=3;func(&a,b); printf(”%dn”,b0);A、6B、7C、8D、910有以下程序:#include int f(int x) int y;if(x=0|x=1) return(3);y=x*x-f(x-2);return y;main() int z;z=f(3);printf(”%dn”,z);程序的运行结果是:C。A、0B、9C、6D、8三、读程序题(1-4题每题2分

6、,5-8题每题3分,共20分)请把程序的运行结果写在题后的横线上。1#include int main() int x=2,y=8; x+=5; y%=3; printf(”x=%2d,y=%2dn”,x,y);return 0;运行结果:x= 7,y=22#include int main() int i,t,a8=1,2,3,4,5,6,7,8; for(i=0;i4;i+) t=ai; ai=a7-i; a7-i=t;for(i=0;i8;i+) printf(”%d”,ai);return 0; 运行结果: 3#include void fun1(int x,int y) x-; y+

7、;void fun2(int *x,int *y) (*x)-; (*y)+;int main() int m=2,n=2; fun1(m,n); printf(”%d,%dn”,m,n);fun2(&m,&n); printf(”%d,%dn”,m,n);return 0;2,21,3运行结果:4#includestruct std int a, b, c;int main() struct std s2=1,2,3,4,5,6; int t; t=s0.a+s1.b; printf(”%dn”,t); return 0;运行结果:65#include int x=3;int fun1(in

8、t a) static int m=0; m+; return x+a+m;int main() int m,x=2; m=x+fun1(5);printf(”%d,%dn”,x,m);m=x+fun1(5);printf(”%d,%d n”,x,m);return 0;2,112,12运行结果:6#include #define N 5int uN,vN;int main() int i,j,n=0; for(i=2;iN;i+)if(ui=0) vn+=i; for(j=i*i;jN;j+=i) uj=1; for(i=0;in;i+) printf(”%d”,vi); if(i=n-1)

9、 putchar(n); else putchar(,);return 0;运行结果:2,37#includeint main() int a34=1,2,3,4,5,6,7,8,9,10,11,12; int i=2,j=3; printf(”%dn”,*(&a00+2*i+j-2); return 0; 运行结果:68#includevoid f(int *q) int i=0; for( ; i5;i+)(*q)+; main() int a5=1,2,3,4,5,i; f(a); for(i=0;i5;i+) printf(”%d”,ai);return 0;运行结果:62345 四、

10、程序填空(每空2分,共20分) 请将正确的语句直接填在横线上。1有一个3*4矩阵,求其中的最大元素。#include int max_value( int array4 ) int i,j,max;max=array00; for(i=0;i3;i+) for(j=0;jmax) max=arrayij; return max ;int main( ) int a34, i,j; for(i=0;i3;i+) for(j=0;j4;j+) scanf(%d,&aij) ;printf(”max value is %dn”,max_value(a);return 0;2百马百担问题:有100匹马

11、,驮100担货,大马驮3担,中马驮2担,两匹小马驮1担,问大、中、小马各多少匹?#include int main( ) int hb,hm,hl,n=0; for(hb=0;hb=100;hb+= 3 ) for(hm=0;hm=100-hb;hm+= 2 ) hl=100-hb- hm ; if(hb/3+hm/2+2* hl =100) n+; printf(”hb=%d,hm=%d,hl=%dn”,hb/3,hm/2,2*hl); printf(”n=%dn”,n); return 0;3用”起泡法”对输入的10个整数按从小到大的次序排序并输出。#include #define N 1

12、0 int main() int sN,i; for(i=0;iN;i+) scanf(”%d”,&si); sort( str ); for(i=0;iN;i+) printf(”%d,”,si); printf(”n”); return 0; sort(int sN) int i,j,t; for(j=1;jN;j+) for(i=0;isi+1) t=si; stri=stri+1; stri+1=t; 五、编程题(每题10分,共30分)1从键盘输入10个学生的成绩,存于整型数组score中,将低于平均分的学生成绩存于数组below中,并在屏幕上显示below数组的内容。#include

13、 int main()int score10,below10;int i,j;int aver;for(i=0;i10;i+)scanf(%d,&scorei);aver=0;for(i=0;i10;i+)aver=aver+scorei;aver=aver/10;j=0;for(i=0;i10;i+) if(scoreiaver) belowj=scorei; j+; for(i=0;ij;i+) printf(%4d,belowi);printf(n);return 0;2从键盘输入一个自然数n,计算并输出3到n之间所有素数的算术平方根之和。#include #include int ma

14、in()int i,j,n,k;float sum;printf(n=);scanf(%d,&n);sum=0;for(i=3;i=n;i+) for(j=2;jsqrt(i)sum=sum+sqrt(i);printf(sum=%.5fn,sum);return 0;3从键盘输入一个字符串,并对该字符串进行以下两种处理,处理结果在主程序中输出。(1)计算字符串中所有数值字符的和。要求:该功能用函数实现,函数的头部为:int add(char str,int n)函数的返回值是所求得的和,形式参数n为字符串的长度。(2)统计字符串中英文字母的个数。要求:该功能用函数实现,函数的头部为:int stat(char *str,int n)函数的返回值是统计结果,形式参数n为字符串的长度。例如:从键盘输入:a*c234M4n3数值字符之和为:16 英文字母的个数为:4#include #include int main()char str80,sum,count;scanf(%s,str);sum=add(str,strlen(str);count=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论