语言上机考试试题_第1页
语言上机考试试题_第2页
语言上机考试试题_第3页
语言上机考试试题_第4页
语言上机考试试题_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

C 语言上机考试语言上机考试试卷试卷-2 2008.1.7 一一、选择题选择题( 评分标准评分标准 20 分,每小题分,每小题 2 分)分) 1. 执行语句“a=b=3; printf(“%d,%dn”, a2);”后的输出结果为_A_。 (A)12,0 (B)12,3 (C)false,true (D)true,false23+22=12 2. 若 a 是 32 位 int 整型变量,判断其最低 2 个二进位均为 1 的表达式为_A_。 位与运算,11 得 1,a 的 32 位与 3 的 32 位,不足则补零。补它十几个零 (A)a (B)fp=fopen(“c:xy.txt”, “r”); (C)fp=fopen(“c:xy.txt”, “wb”); (D)fp=fopen(“c:xy.txt”, “r”); 4. 为表示“a 和 b 都不等于 0”,应使用的 C 语言表达式是_D_。 (A)(a!=0) (b!=0) (B)ab (C)!(a=0) (B)scanf(“%f%d”, x,k); (C)scanf(“%d%f”, 6. 下列运算中优先级最低的是_C_。 (A)* (B)0y0)等价于!(x0) ,执行语句 c=a/b+0.4;后,c 的值为_1_。 参考答案: 第 4 套(1)(2)0(3)h(4)(5)1 四四、程序改错题程序改错题 ( 评分标准评分标准 20 分,每小题分,每小题 5 分分 ) 1. 该程序功能:输入m、n(要求输入数均大于0),输出它们的最小公倍数。 #include void main() int m,n,k; while(scanf(%d%d, for(k=m;k%n=0;)/*$1*/for(k=m; k%n!=0;) k=k+m; printf(%dn,k); 操作说明:操作说明: 在考生目录的*子目录下,有*.c 文件,该文件中“/*$1*/”行中的语句 k%n=0; 有错误,请改正 (注意:不得加行、减行、加句、减句,否则后果自负) 。该程序功能:输入 m、n(要求输入数均大 于 0),输出它们的最小公倍数。 参考答案:k%n!=0 运行样例 2 行 运行样例:86结果:24 运行样例:68结果:24 2. 该程序功能:输入x、eps,计算多项式1-x+x*x/2!-x*x*x/3!+.的和直到末项的绝对值小于eps为止。 /*一重循环*/ #include #include void main() float x,eps,s=1,t=1,i=1; scanf(%f%f, do t=-t*x/i;/*$1*/t=-t*x/i+; s+=t; while(fabs(t)=eps); printf(%fn,s); 操作说明:操作说明: 在考生目录的*子目录下,有*.c 文件,该文件中“/*$1*/”行中的语句 t=-t*x/i; 有错误,请改正 (注意:不得加行、减行、加句、减句,否则后果自负) 。该程序功能:输入 x、eps,计算多项式 1-x+x*x/2!-x*x*x/3!+.的和直到末项的绝对值小于 eps 为止。 参考答案:t=-t*x/i+; 运行样例 1 行 运行样例:1 0.0001结果:0.367882 3. 该程序功能:输入1个字符串,输出其中所出现过的大写英文字母。 /*循环,分支,库函数*/ #include void main() char x80,y26; int i,j,ny=0; gets(x); for(i=0;xi!=0;i+) if(xi=Ajny;j+) if(yi=xj) break;/*$1*/continue if(j=ny) yny=xi; ny+; for(i=0;iny;i+) printf(%c ,yi); printf(n); 操作说明:操作说明: 在考生目录的*子目录下, 有*.c 文件, 该文件中“/*$1*/”行中的语句 break; 有错误, 请改正 (注 意:不得加行、减行、加句、减句,否则后果自负) 。该程序功能:输入 1 个字符串,输出其中所出 现过的大写英文字母。 参考答案:continue 运行样例 1 行 运行样例:FONTNAME and FILENAME结果:F O N T N A M E F I L E N A M E 4. 该程序功能: 输入n以及小于n个字符的字符串, 将字符串中所有小写字母改为相应的大写字母后, 输出该字符串。 #include #include #include void main() int n; unsigned int i; char *str; scanf(%dn, str=(char*)malloc(n); gets(str); for(i=0; i=a puts(str); 操作说明:操作说明: 在考生目录的*子目录下,有*.c 文件,该文件中“/*$1*/”行中的语句 if(stri=z) 有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负) 。该程序功能:输入 n 以及 小于 n 个字符的字符串,将字符串中所有小写字母改为相应的大写字母后,输出该字符串。 参考答案:if(stri=a char ch; /*$*/fp = fopen(test.txt, r); if (fp = NULL) printf(can not open testn); exit(0); ch = fgetc(fp); while(ch != EOF) putchar(ch); ch = fgetc(fp); fclose(fp); 操作说明:操作说明: 在考生目录的*子目录下,有*.c 文件,该文件中“/*$1*/”行是根据程序功能需要填充部分,请 完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负) 。该程序功能对 test.txt 进行 读操作,并将读出的文本输出到屏幕上。 把这一句删除:将 test.txt 文件放在考生目录下,并在其中存入“hello,welcome to the world of C!” 字样。 参考答案: fp = fopen(test.txt, r); 运行样例 1 行 运行结果 1:hello,welcome to the world of C! 2. 输入 6 个整数 12 33 43 6 3 22 ,输出为:3612223343 。 /* 形参和实参的传递 */ #include void sort(int *a,int n ) int i, k, m, t; for(i=0; in-1;i+) k=i; for(m=i+1; mam k=m; t=ak; ak=ai; ai=t ; void main( ) int k, a6; for(k=0; k6; k+) scanf(%d, sort(a, 6) ; for(k=0; kam 运行样例 1 行 运行样例 1:12 33 43 6 3 22结果:3 6 12 22 33 43 六六、程序设计程序设计 ( 评分标准评分标准 20 分,每小题分,每小题 10 分)分) 1. 操作说明:操作说明: 设计程序:输入一个正整数 n,求 1+1/2!+1/3!+.+1/n!的值,要求定义并调出函数 fact(n)计算与 n 的阶乘有关的计算式,函数返回值的类型是单精度浮点型,保留小数 2 位。 /*二重循环,求自然对数 e 的和函数*/ 参考答案: #include #include float fact(int n); void main() int n; float sum; while(scanf(%d,/*排除 n 为负数的可能性*/ if(n=0) sum=1;/*因为 0!=1,但是函数调用进不去循环体,所以预先赋值*/ else sum=fact(n); printf(%2.2f,sum); float fact(int n) int i,j; floa

温馨提示

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

评论

0/150

提交评论