7-8-2C语言上机考试试题4.doc_第1页
7-8-2C语言上机考试试题4.doc_第2页
7-8-2C语言上机考试试题4.doc_第3页
7-8-2C语言上机考试试题4.doc_第4页
7-8-2C语言上机考试试题4.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

C语言上机考试试题-42008.1.10一、选择题 ( 评分标准 20 分,每小题2分 )1. 设变量定义为“int x, *p=&x;”,则&*p相当于_。(A)p (B)*p (C)x (D)*&x2. 若变量已正确定义,_不能使指针p成为空指针。(A)p=EOF (B)p=0 (C)p=0 (D)p=NULL3. C语言源程序文件经过编译连接之后生成一个后缀为_的文件。(A) .c (B).obj (C).exe (D).bas4. 以下选项中不正确的整型常量是_。(A)12L (B)-10 (C)1,900 (D)123U5. 表达式_的值是0.(A)3%5 (B)3/5.0 (C)3/5 (D)30|y0) 等价于_。(A)!x0|!y0 (B)!(x0)|!(y0) (C)!x0&!y0 (D)!(x0)&!(y0)7. 若变量已正确定义并赋值,表达式_不符合C语言语法。(A)4&3 (B)+a (C)a=b=5 (D)int(3.14)8. 若变量已正确定义,执行语句scanf(“%d%d%d “,&k1,&k2,&k3);时,_是正确的输入。(A)203040 (B)20 30 40 (C)20,30 40 (D)20,30,409. 执行语句 printf(“_”, 2); 将得到出错信息。(A)%d (B)%o (C)%x (D)%f10. 设变量定义为 char s =“hellonworldn”;,则数组s中有_个元素。(A)12 (B)13 (C)14 (D)15套数号答案41.A 2.A 3.C 4.C 5.C 6.D 7.D 8.B 9.D 10.B二、判断题 ( 评分标准 20 分,每小题2分)1. 若表达式sizeof(int)的值为4,则int类型数据可以表示的最大整数为231-1。 2. 在所有的关系运算符(=、=、!=、=、)中,优先级最低的运算符是“=、!=”。 3. 标准输入函数scanf的返回值为所输入数据的个数或EOF。 4. 若x的当前值为5,执行语“if(x=3) x=x+5;”后,x的值依然是5。 5. 若s的当前值为0,执行循环语句“for(i=1; i10; i=i+2) s+=i;”后,i的当前值为11。 6. a是一维数组名,数组元素a1还可以写作“*(a+)”。 7. 函数原型为“void sort(float a, int n)”,调用该函数时,形参数组a被创建,实参数组各元素的值被复制到a数组各元素中。 8. 若打开文件的方式为“w”而该文件已经存在,则文件中原有数据被清空。 9. 语言程序的三种基本结构是顺序结构、选择结构和循环结构。 10. 在C语言程序中,在main函数中定义的变量称为全局变量。 套数号答案11. T 2. T 3. T 4. F 5. T 6. F 7. F 8. T 9. T 10. F三、填空题(评分标准10分,每小题2分)1. 逻辑值“假”是用数值_表示的。2. 符号常量的定义符号是_。3. 说明变量时,若省略存储类型符,系统默认的符号为_。4. 无符号基本整型的数据类型符为_。5. 设下列运算符:、+、+、&、=,其中优先级最高的是_。第3套(1)0(2)#define (3)auto(4)unsigned(5)+四、程序改错题(评分标准20分,每小题5分)1. 本程序输入数字:2,程序运行输出结果:8。#include void func(int *a,int b) b0=*a+6; void main()int a,b5;scanf(“%d”,&a);b0=3;b1=4;func(a,b); /*$*/ printf(“%dn”,b0);操作说明:在考生目录的*子目录下,有*.c文件,该文件中“/*$1*/”行中的语句func(a,b);有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:如输入数字:2,程序运行结果为:8。答案:func(&a,b); 运行样例1行运行样例1:4 运行结果1:102. 本程序功能:把字符串中的小写字符d,改写成大写输出,如输入字符串:adfddsfe,程序运行结果为:aDfDDsfe。#include void ss(char *s,char t) while(*s) if(*s=t) /*$*/ *s=t-a+A;s+;void main()char str150,c=d;scanf(“%s”,str1);ss(str1,c); printf(“%sn”,str1);操作说明:在考生目录的*子目录下,有*.c文件,该文件中“/*$1*/”行中的语句if(*s=t) 有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:把字符串中的小写字符d,改写成大写输出,如输入字符串:adfddsfe,程序运行结果为:aDfDDsfe。答案:if(*s=t)运行样例1行运行样例1:efgddvetd 运行结果1:efgDDvetD3. 本程序运行结果为:8。#include fun(int k,int *p) int a,b;if(k=1&k=2) /*$*/ *p=1;else fun(k-1,&a); fun(k-2,&b); *p=a+b;void main()int x;fun(6,&x);printf(“%dn”,x);操作说明:在考生目录的*子目录下,有*.c文件,该文件中“/*$1*/”行中的语句if(k=1&k=2)有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:程序运行结果为:8。答案:if(k=1|k=2) 运行样例1行运行样例1: 运行结果1:84. 本程序实现数值的降排序,如输入数值:101 0 16 4 7 1 85,程序运行输出为:101 85 16 7 4 1 0。#include void main()int c7,i,j,t;for(i=0;i7;i+)scanf(%d,&ci);for(i=1;i=0&tcj) cj+1=cj; j-; cj=t; /*$*/for(i=0;i7;i+)printf(%d ,ci);printf(n);操作说明:在考生目录的*子目录下,有*.c文件,该文件中“/*$1*/”行中的语句cj=t; 有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:本程序实现数值的降排序,如输入数值:101 0 16 4 7 1 85,程序运行输出为:101 85 16 7 4 1 0。答案:cj+1=t;运行样例1行运行样例1:2 9 86 4 8 23 7 0 运行结果1:86 48 23 9 7 2 0五、程序填空(评分标准10分,每小题5分)1. 本程序同时对2个数字进行个十百等位的倒序排序,如输入两个数:12345 -34567,程序运行后输出:54321 -76543。#include #include int f(int n) int m,y=0; m=fabs(n); while(m!=0) /*$*/ m=m/10 ; if(n=0) return y; else return (-y); void main()long x,y; scanf(%d%d,&x,&y);printf(%dt,f(x); printf(%dn,f(y); 操作说明:在考生目录的*子目录下,有*.c文件,该文件中“/*$1*/”行是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:同时对2个数字进行个十百等位的倒序排序,如输入两个数:12345 -34567,程序运行后输出:54321 -76543。答案:y=y*10+m%10; 运行样例1行运行样例1:53461 -35684 运行结果1:16435 -486532. 以下程序将一个磁盘文件中的信息复制到另一个磁盘文件中。#include void main() FILE *in, *out; char infile10, outfile10; printf(Enter the infile name:); scanf(%s,infile); printf(Enter the outfile name:); scanf(%s,outfile); if (in = fopen(infile, r)=NULL) printf(can not open infile %sn, infile); exit(0); if (out = fopen(outfile, w)=NULL) printf(can not open outfile %sn, outfile); exit(0); /*$*/ fputc(fgetc(in), out); fclose(in); fclose(out);操作说明:在考生目录的*子目录下,有*.c文件,该文件中“/*$1*/”行是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:将一个磁盘文件:test1.txt中的信息复制到另一个磁盘文件test2.txt中。答案: while(!feof(in)运行样例2行运行样例1:Enter the infile name:test1.txt Enter the outfile name: test2.txt运行结果1:把test1.txt文件中的内容复制到了test2.txt文件中六.程序设计(评分标准20分,每小题10分)1. 编制程序,从键盘输入8个整数,要求:输出它们中数值大于或等于10的偶数的和,同时输出它们中奇数的和(奇数数值大小没有要求)。#include #include void main() int a8,sum1=0,sum2=0; int i;for(i=0;i8;i+) scanf(%d,&ai); for(i=0;i=10) sum1+=ai; else if(ai%2!=0) sum2+=ai; printf(%d %d,sum1,sum2);运行样例2行运行样例1:1 12 3 4 15 6 7 18 结果1:30 26运行样例2:1 5 9 11 1 12 3 5 结果2:12 352. 编写一个函数输出如下图案。用函数n控制输出的行数,参数值的取值范围是115,超过这个范围的,函数不做任何输出,返回整数0;否则,输出如下所示的图案后,并返回图案最后一行的字符。编写该函数,并编写主函数调用该函数。 a bbb ccccc dddddd eeeeeeeee 参考答案:#include char static cflag;int pri

温馨提示

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

评论

0/150

提交评论