2009秋C程序设计期末试卷(B).doc_第1页
2009秋C程序设计期末试卷(B).doc_第2页
2009秋C程序设计期末试卷(B).doc_第3页
2009秋C程序设计期末试卷(B).doc_第4页
全文预览已结束

下载本文档

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

文档简介

杭州电子科技大学学生考试卷(B)卷考试课程C语言程序设计考试日期2010年2月 日成绩课 程 号教 师 号任课教师姓名考生姓名学号(8位)年级专业座位号说明: 请将全部答案都书写在最后页答题纸上,否则答题无效。试题一、判断题,正确打钩,错误打叉 (共10分)1. 不同类型的变量在内存中占用存储空间的大小是不一样的。2. continue语句只能用在循环体中。3. 表达式 23.4%2 是合法的C语言表达式。4. 在C语言程序中, _ABC是合法标识符。5. 在一个数组中,各元素类型都是相同的。6. 结构体类型中各成员项的数据类型可以不同。7. 在printf函数中,如果用格式符“%f”输出整数时,则得不到正确的输出结果。8. C语言程序执行时是从第一个函数开始。9. 如果s1、s2是两个字符,C程序中可以用s1=s2比较这两个字符是否相等。10. 表达式5*7/3和表达式5/3*7它们的值相等。试题二、单选题,根据题目从A、B、C、D中选择一个正确的选项(共10分)1.如果在程序中需调用库函数pow,则程序中必须包含头文件( )。 A、ctype.hB、string.hC、stdlib.hD、math.h2.若有定义语句:int a10;则下列对a数组元素正确引用的是( )。A、a10%2B、a20/2C、a10D、a(1)3.设有整型变量a,b,c,其中a,b的值分别为15与19,表达式“c=(a%2=0)?a:b”的值是( )。 A、0 B、1 C、15 D、194. 函数定义如下:void fun(int *s,int c) *s=5;c=5;如果在主函数中程序段有:int a=6,b=6; fun(&a,b); 则调用fun函数后,变量a,b的值分别是( )。 A、6,5 B、5,5 C、5,6 D、6,6 5.下列哪一个语句是正确的定义字符变量并对其进行初试化( )。 A、char a=?; B、char a=*; C、char a=%; D、char a=m;6. 如果对变量的定义为: int c1, c2, s=5 ;则执行 “c1=s+; c2=+s; printf(%d,%d,%d,c1,c2,s);” 语句后,c1,c2和s的输出值是( )。 A、 5,7,7 B、 6,7,7 C、 5,6,7 D、6,6,7 7. 下列各语句序列中,能够将变量u、s中最大值赋值到变量t中的是( )。A、t=s; if(us) t=u;B、if(us) t=u; t=s;C、if(us) t=s; else t=u;D、t=u; if(us) t=s;8. 若结构体变量x定义如下,下面能给变量x输入数据的正确语句是( )struct cx float rl; float ie; x ; A、 scanf(%f%f,x.rl,x.ie); B、scanf(%f%f,&x.rl,&x.ie);C、 scanf(%f%f, cx.x.rl, cx.x.ie); D、scanf(%f%f, &cx.x.rl,&cx.x.ie);9f函数定义如下, fun(3)的值是( )。int fun(int x) int m=2; if(x0) m+=x; return m;A、3 B、5 C、2 D、710假设变量x、k都已定义,下列语句片段中,无语法错误的是( )。A、switch(x) case x=90: putchar(A); case x60: putchar(E); B、switch(x) case 1+2: k=A; defualt: k=E; case 2*4: k=B; C、switch(x) case 2+x: k=x-2; case 3*x: k=x+3; default: k=0; D、switch(x) case 3.5: k=0.5*x; case 7.8: k=8*x; default: k=0; 试题三、程序阅读,写出运行结果(每小题4分,共20分)1. #include void main() char k; for(k=A;k=T;k+=3) printf(%c,%c), k,k+32);2. #includevoid main() int i,s,j,a32=5,4,3,2,1,0; for(i=0;i2;i+) for(s=0,j=0;j3;j+) s+=aji; printf(%d#,s); 3.#include void main() int a4=6,7,8,5,i,j,k,m; for(i=0;i=0;j-) aj+1=aj; a0=k; for(m=0;m4;m+) printf(%2d,am); putchar(n); 4#include void prn(char a, int n) int i; for(i=0;in;i+) printf(%c,a);void main() int i; for(i=1; i=5; i+) prn( * ,i); putchar(n); 5 #includevoid fun2(int x, int y)int t; t=x; x=y; y=t; void fun1(int *x,int *y)int t; t=*x; *x=*y;*y=t; void main() int x,y; x=10 ; y=20; fun1(&x,&y); printf(x=%d y=%dn,x,y); x=1; y=3; fun2(x,y); printf(x=%d y=%dn,x,y); 试题四、程序填空题,按程序功能在每小题提供的A、B、C、D可选答案中,挑选一个正确答案。(每小题2分,共24分)。1. 程序功能:定义判断整数是否为水仙花数的函数。利用判断水仙花数的函数,求1001000之间所有的水仙花数。水仙花数是指一个三位数,其各位数字的立方和等于该数本身,如:153=13+53+33 【程序】#includevoid main() int m;int flower(int x); for(m=100;m1000;m+) if ( 1 ) printf(水仙花数:%dn,m); 2 int a,b,c,s; a=x%10; 3 c=x/100;s=a*a*a+b*b*b+c*c*c;if (s=x) 4 ; else return 0; (1) A、flower(int m)=1 B、int flower(int m)=1 C、flower(m)=1 D、 flower(x)=1(2) A、void flower(int x) B、int flower(int x,int s)C、int flower(int x) D、void flower(int x,int s) (3) A、 b=x%100%10 B、b=x%10/10 C、b=x/100%10 D、b=x/10%10 (4) A、return x; B、return 0; C、return -1; D、 return 1;2程序功能:输入n和n个实数,找出他们的最大值和最小值,并将最大值和最小值输出到文件c:abc.txt中。 运行示例:输入n:5输入实数:3 -56.8 78.0 -13 12【程序】#include #include void main() double x,a,b; int i,n; FILE *p; if (p=fopen( 1 )=NULL) printf(Open file is failn); exit(0); printf(输入n:); scanf(%d,&n); printf(输入实数: ); scanf(%lf,&x); 2 for(i=0; in-1;i+) scanf(%lf,&x); if(ax) 3 4 ; fclose(p); (1) A、”c:abc.txt,w B、”c:abc.txt,rC、”c:abc.txt,write D、”c:abc.txt,read(2) A、a=b=0; B、a=b=x; C、a=0;b=x; D、 a=x;b=0;(3) A、 x=b; B、b=x; C、a=b; D、 b=a;(4) A、fprintf(p,max=%.1f,min=%.1fn, a,b); B、fprintf(abc.txt,max=%.1f,min=%.1fn, a,b); C、printf(p,max=%.1f,min=%.1fn, a,b);D、printf(abc.txt,max=%.1f,min=%.1fn, a,b);3. 程序功能:输入不一个超过80个字符的字符串存于字符数组中,将数组中的字符串逆序后输出。运行示例:输入字符串: WindowsXP 逆序后字符串为为:PXswodniW【程序】#include #include void main() char s81,t; int i,j,n; printf(“输入字符串:”); 1 ; n=0; while( 2 ) n=n+1; for(i=0, j=n-1; ij; 3 ) t=si; 4 ;sj=t; printf(逆序后字符串为为:); puts(s); (1) A、scanf(“%d”,s) B、scanf(“%c”,s) C、 scanf(“%f”,s) D、scanf(“%s”,s)(2) A、n81 B、n=81 C、 sn!=0 D、n!=0(3) A、i+,j+ B、i+,j- C、i-,j+ D、i-,j-(4) A、 si=sj B、sj=si C、t=sj D、t=si 试题五、程序阅读,回答列在程序后面的问题(每小题3分,共6分)#include void main() int data1, data2, res; char op; scanf(%d, &data1); op = getchar();while(op!= =) scanf(%d, &data2); switch(op) case +: res = data1+data2; break; case -: res = data1-data2; break; case *: res = data1*data2; break; case /: res = data1/data2; break; default: res = 0; data1 = res; op = getchar(); printf(%dn, res); 问题1:程序运行

温馨提示

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

评论

0/150

提交评论