C语言上机考试试题

上传人:桔**** 文档编号:558008921 上传时间:2024-01-24 格式:DOCX 页数:15 大小:51.34KB
返回 下载 相关 举报
C语言上机考试试题_第1页
第1页 / 共15页
C语言上机考试试题_第2页
第2页 / 共15页
C语言上机考试试题_第3页
第3页 / 共15页
C语言上机考试试题_第4页
第4页 / 共15页
C语言上机考试试题_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《C语言上机考试试题》由会员分享,可在线阅读,更多相关《C语言上机考试试题(15页珍藏版)》请在金锄头文库上搜索。

1、-C语言上机考试试题3 (总8页)-CAL-FENGHAI.-(YICAI)-Company Onel-CAL -本页仅作为文档封面,使用请直接删除C语言上机考试试题-32008.1.31一、选择题(评分标准20分,每小题2分)1-以下选项中可作为c语言合法常量的是。(A) -80. ( B) -080 (C) -8e1.0 (D) -80.0e2. 以下叙述中正确的是。(A) 用C程序实现的算法必须要有输入和输出操作(B) 用C程序实现的算法可以没有输出但必须要输入(C) 用C程序实现的算法可以没有输入但必须要有输出(D) 用C程序实现的算法可以既没有输入也没有输出3. 已有定义:char

2、a=xyz,b=x;y,z;,以下叙述中正确的是。(A)数组a和b的长度相同(B) a数组长度小于b数组长度(C) a数组长度大于b数组长度(D)上述说法都不对4. 以下叙述中错误的是。(A) 数组名代表的是数组所占存储区的首地址,其值不可改变。(B) 当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越 界”的出错信息。(C) 对于double类型数组,不可以直接用数组名对数组进行整体输入或输出。(D) 可以通过赋初值的方式确定数组元素的个数。5. 以下叙述中正确的是。(A)预处理命令行必须位于源文件的开头(B) 在源文件的一行上可以有多条预处理命令(C) 宏名必须用大写字

3、母表示(D) 宏替换不占用程序的运行时间6表达式 strlen(”hello”)的值是。(A) 4 (B) 5 (C) 6 (D) 77. 设变量定义为“int a, b;”,执行语句scanf(“a=%d, b=%d”,&a, &b);时,输入则a和b的值都是10。(A)10 10 (B) 10, 10 (C) a = 10 b=10 (D)a = 10, b=108. 以下与函数fseek(fp,0L,SEEK_SET)有相同作用的是。(A) feof(fp) (B) ftell(fp) (C) fgetc(fp) (D) rewind(fp)9. 以下语句或语句组中,能正确进行字符串赋值

4、的是。(A) char *sp= right!; (B) char s10;s= right!;(C) cha r s10;*s= right!; (D) cha r *sp;*sp=r ight!;10. 设变量定义为“int a4;”,则表达式不符合C语言语法。(A) *a (B) a0 (C) a (D) a+ +套数号答案31.A 2.C 3.C 4.B 5.D 6.B 7.D 8.D 9.A 10.D二、判断题(评分标准2 0分,每小题2分)1. 个C程序的执行是从本程序文件的第一个函数开始,到main函数结束2在C程序中,用整数0表示逻辑值“假”。3. C语言中while和do-w

5、hile循环的主要区别是do-while的循环体至少无条件执行一4. 设变量定义为char s二“hello”,则数组s中有6个元素。5. 对以下语句的正确理解是将5个初值依次赋给a6到a10oint a10 = 6, 7, 8, 9, 10;6若变量已正确定义,表达式x=y=1符合C语言语法。7. 表达式!(x0|y0)等价于!(x0&!(y0)。8. C语言规定简单变量作实参时,它与对应形参之间的数据传递方式是实参和形参间 来回传递。9在C源程序中将语句“if(x=5) y+ + ;”误写成“if(x=5) y+ + ;”,将导致编译错误。10. fscanf函数的正确调用格式为:fsca

6、nf (fp,格式字符串,输出表列);。套数号|答案21. F 2. T 3. T 4. T 5. F 6. T 7. T 8. F 9. F 10. T三、填空题 ( 评分标准10分,每小题2分)1在C语言中,NULL的数值为o2. 如果定义结构体struct student int id;int age; * s;则如果要表示其成员变量id,可以用o3. C程序是由函数构成的。其中有并且只能有个主函数4. 在内存中存储“A”要占用个字节。5. 若定义:int a=88, *b=&a ;则 printf(%dn,*b);的输出结果为第2套0(2s-id(31(42(588)、程序改错题(评分

7、标准20分,每小题5分)1. 假设该程序输入10个数字:1 2 3 4 5 6 7 8 9 10,则程序运行结果: 1-3-5-79-。#include void main() int i;int a10;for(i=0;i10;i+)scanf(%d,&ai);for(i=0;i10;i+) if (ai%2=0)/*$*/continue;elseprintf(%d-,ai);操作说明:在考生目录的*子目录下,有*.c文件,该文件中7*$1*/行中的语句if (ai%2=0) 有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功 能:该程序输入10个数字:1 2 3

8、4 5 6 7 8 9 10。程序运行后输出结果为: 1-3-5-7-9-。答案:if(ai%2=0) 运行样例1行 运行样例1:1 3 2 6 10 20 8 12 5 3 运行结果:1-3-5-3-2. 以下程序的功能是输入一个正整数,判断是否是素数,若为素数输出1,否则输出 0。#include void main() int i, x, y=1;scanf(%d, &x);for(i=2; ix/2; i+)/*$1*/if(x%i=0) y=0;break;printf(%dn,y);操作说明:在考生目录的*子目录下,有*.c文件,该文件中7*$1*/行中的语句for(i=2; ix

9、/2;该程i+) 有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负 序功能:输入一个正整数,判断是否是素数,若为素数输出1,否则输出0。答案:for(i=2; i=x/2; i+)运行样例1行运行样例1:7 运行结果:13. 假设该程序输入两个数据:2 3,程序运行结果为:2。#include stdio.hint *fun(int *a,int *b) int m;m=*a;m+=*b-3;return(m);/*$*/void main() int x,y;int *a=&x,*b=&y;int *k;scanf(%d%d,&x,&y);k=fun(a,b);printf(%

10、dn,*k);操作说明:在考生目录的*子目录下,有*.c文件,该文件中7*$1*/行中的语句return(m);有 错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功 能:假设该程序输入两个数据:2 3,则程序运行结果为:2。答案:return(&m);运行样例1行运行样例1:5 4 运行结果:64.本程序功能:实现对字符数组的倒序。输入字符串:hg25DA,输出结果:str now isAD52gh#include #include #include int main() char str50 ;int length = strlen(str);char * p1 =

11、str;char * p2;scanf(%s,str);length = strlen(str);p2 = str + length; /*$*/while(p1 p2) char c = *p1;*p1 = *p2;*p2 = c;+p1;-p2;printf(str now is :%sn,str);return 0;操作说明:在考生目录的*子目录下,有*.c文件,该文件中7*$1*/行中的语句p2 = str + length;有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。该 程序功能:实现字符串的逆转功能。例如:该程序输入:hg25DA,程序输出结果: str no

12、w is:AD52gh答案:p2 = str + length 一 1;运行样例1行运行样例1 : SH87ch运行结果:str now is : hc78HS五、程序填空(评分标准10分,每小题5分)1阅读以下程序,假设输入为it6y7hh9e,请写出运行后的结果。#include #include #include void f(char *s) int i=0;while(si!=0)if(isdigit(si)/*$*/else i+;void main() char str80;gets(str);f(str);puts(str);操作说明:在考生目录的*子目录下,有*.c文件,该文

13、件中“/*$1*/ ”行是根据程序功能需要填 充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能:删除字符串中的数字字符。这里用到iSdigit ()函数,所以需要在前加 #include 。答案:strcpy (s+i,s+i + 1);运行样例1行运行样例 1:i52love89y793ou 运行结果:iloveyou2.以下程序对test.txt进行读操作,并将读出的文本输出到屏幕上。#include #include void main() FILE *fp;char ch;fp = fopen(test.txt, r);if (fp = NULL) printf(can not open testn);exit(0);ch = fgetc(fp);while(/ *$* /) putchar(ch);ch = fgetc(fp);fclose(fp);操作说明:在考生目录的*子目录下,有*.c文件,该文件中7*$1*/”行是根据程序功能需要填 充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能对test.txt进行读操作,并将读出的文本输出到屏幕上。答案:ch != EOF运行样例1行运行结果 1 : hello,welco

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号