C语言上机考试试题3.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《C语言上机考试试题3.pdf》由会员分享,可在线阅读,更多相关《C语言上机考试试题3.pdf(62页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C 语言上机考试试题32008.1.31一、选 择 题(评分标准2 0 分,每小题2 分)1 .以下选项中可作为c语 言 合 法 常 量 的 是。(A)-8 0.(B)-08 0(C)-8 e l.O(D)-8 0.0e2 .以 下 叙 述 中 正 确 的 是。(A)用C程序实现的算法必须要有输入和输出操作(B)用C程序实现的算法可以没有输出但必须要输入(C)用C程序实现的算法可以没有输入但必须要有输出(D)用C程序实现的算法可以既没有输入也没有输出3 .已有定义:c ha r a =x y z ,b =x,y,z);,以 下 叙 述 中 正 确 的 是。(A)数组a和b的长度相同(B)a数组
2、长度小于b数组长度(C)a数组长度大于b数组长度(D)上述说法都不对4 .以 下 叙 述 中 错 误 的 是。(A)数组名代表的是数组所占存储区的首地址,其值不可改变。(B)当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息。(C)时于d o u b l e类型数组,不可以直接用数组名对数组进行整体输入或输出。(D)可以通过赋初值的方式确定数组元素的个数。5 .以下叙述中正确的是 o(A)预处理命令行必须位于源文件的开头(B)在源文件的一行上可以有多条预处理命令(C)宏名必须用大写字母表示(D)宏替换不占用程序的运行时间6 .表达式 s t r l e n(h
3、e l l o )的值是。(A)4 (B)5 (C)6 (D)77 .设变量定义为“i n t a,b;,执行语句s c a n f(a=%d,b=%d ,&a,&b);时,输入,贝!|a和b的值都是1 0。(A)1 0 1 0(B)1 0,1 0(C)a=1 0 b=1 0(D)a=1 0,b=1 08 .以下与函数f s e e k(f p,OL,SE E K _ SE T)有 相 同 作 用 的 是。(A)f e o f(f p)(B)f t e l l(f p)(C)f g e t c(f p)(D)r e w i n d(f p)9 .以下语句或语句组中,能 正 确 进 行 字 符
4、串 赋 值 的 是。(A)c ha r *s p=r i g ht!;(B)c ha r s 1 0|;s=r i g ht!;(C)c ha r s 1 0J;*s=r i g ht!;(D)c ha r *s p;*s p=r i g ht!;1 0.设变量定义为“i n t a 4,则表达式 不符合C语言语法。(A)*a (B)a OJ (C)a (D)a+套数号答案3LA 2.C 3.C 4.B 5.D 6.B 7.D 8.D 9.A 10.D二、判断题(评分标准20分,每小题2分)1.个C 程序的执行是从本程序文件的第一个函数开始,到 main函数结束。2.在 C 程序中,用整数0
5、表示逻辑值“假”。3.C 语 言 中 w hile和 do-while循环的主要区别是do-while的循环体至少无条件执行一次。4.设变量定义为char s=hello,则数组s 中有6 个元素。5.对以下语句的正确理解是将5 个初值依次赋给a 6|到int aIO=6,7,8,9,10;6.若变量已正确定义,表达式x=y=l符合C 语言语法。7.表达式!(x0 II y0)等价于!(x0&!(y0)。8.C 语言规定简单变量作实参时,它与对应形参之间的数据传递方式是实参和形参间来回传递。9.在 C 源程序中将语句“if(x=5)y+;”误写成“if(x=5)y+;”,将导致编译错误。lO.
6、fscanf函数的正确调用格式为:fscanf(fp,格式字符串,输出表列);。套数号答案2l.F 2.T 3.T 4.T 5.F 6.T 7.T 8.F 9.F 10.T三、填空题(评分标准10分,每小题2分)1.标 识 符 是 用 户 自 定 义 的 一 种,通常用来表示程序中需要辨认的对象。2.C 语言的语句主要分为:变量定义语句、赋值语句、函数调用语句、表达式语句、语句、复合语句、空语句和其他语句等8 类。3.C 程序是由函数构成的。其中有并且只能有 个主函数。4.在内存中存储“A”要占用 个字节。5.若定义:inta=88,*b=&a;,贝 U printf(%dn,*b);的输出结
7、果为。第 2 套(1)字符序列(2)流程控制(3)1(4)2(5)88四、程序改错题(评分标准20分,每小题5分)1.假设该程序输入10个数字:1 2 345 67 89 1 0,则程序运行结果:1-3-5-7-9-.#include void main()inti;int a10;fbr(i=0;i10;i+)scanf(n%d;&ai);for(i=0;i10;i+)if(ai%2=0)/*$*/continue;elseprintf(d,ai);)操作说明:在考生目录的*子目录下,有*.c文件,该文件中/*$l*r 行中的语句if(ai%2=0)有错误,请改正(注意:不得加行、减行、加句
8、、减句,否则后果自负)。该程序功能:该程序输入10个数字:1 2 3 4 5 6 7 8 9 1 0,程序运行后输出结果为:1-3-5-7-9-。答案:if(ai%2=0)运行样例1行运行样例1:1 3 2 6 10 20 8 12 5 3运行结果:l一 3-5-3-2.以下程序的功能是输入一个正整数,判断是否是素数,若为素数输出1,否则输出0。#include void main()int i,x,y=l;scanf(%d,&x);for(i=2;ix/2;i+)/*$1 */if(x%i=0)y=o;break;printf(%dn,y);)操作说明:在考生目录的*子目录下,有*.c文件,
9、该文件中“/*$1*/”行中的语句for(i=2;ix/2;i+)有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:输入一个正整数,判断是否是素数,若为素数输出1,否则输出0。答案:for(i=2;i=x/2;i+)运行样例1行运行样例1:7 运行结果:13.假设该程序输入两个数据:2 3,程序运行结果为:2o#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(n%d%d;&x,&y);
10、k=fun(a,b);printf(dn”,*k);)操作说明:在考生目录的*子目录下,有*.C 文件,该文件中”行中的语句retum(m);有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:假设该程序输入两个数据:2 3,则程序运行结果为:2o答案:retum(&m);运行样例1行运行样例1:5 4运行结果:64.本程序功能:实现对字符数组的倒序。输入字符串:hg25DA,输出结果:str now is AD52gh#include#include#include int main()char str5O;int length=strlen(str);char*p
11、l=str;char*p2;scanf(s,str);length=strlen(str);p2=str+length;/*$*/while(pl p2)char c=*pl;*pl=*p2;*p2=c;+pl;-p2;)printf(nstr now is:%snstr);return 0;操作说明:在考生目录的*子目录下,有*.c 文件,该文件中“/*$1*/”行中的语句p2=str+length;有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:实现字符串的逆转功能。例如:该程序输入:hg25DA,程 序 输 出 结 果:str now is:AD52gh答案
12、: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、要 填 充 部 分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:删除字符串中的数字字符。这里用到isdigit()函数,所以需要在前加#include o答案:strcpy(s+i,s+i+1)。运行样例1行运行样例 1:i521ove89y793ou 运行结果:iloveyou2.以下程序对test.txt进行读操作,并将读出的文本输出到屏幕上。#include stdio.hHvoid main()FILE*fp;char ch;fp=fopen(utest.txt,nrM);if(fp=NULL)printf(Mcan not open testnu);
14、exit(O);)ch=fgetc(fp);while(/*$*/)putchar(ch);ch=fgetc(fp);)fclose(fp);)操作说明:在考生目录的*子目录下,有*.C 文件,该文件中“/*$1*1行是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能对test.txt进行读操作,并将读出的文本输出到屏幕上。删除:将 test.txt文件放在考生目录下,并在其中存入“hello,welcome to the world of C!”字样。答案:ch!=EOF运行样例1行运行结果 1:hello,welcome to the
15、world of C!六、程序设计(评分标准20分,每小题10分)1.编制函数,其功能是在float类型一维数组中查找最大值、最小值,并将它们返回到调用程序,并输出,一维数组的数值要求在主函数中输入。参考答案:#include#include void find(float num,int n,float*min,float*max);void main()float min=1000000.0,max=0,num5;int i;for(i=0;i5;i+)scanf(u%f;&numi);find(num,5,&mi n,&max);printf(%.lf%.l f”,max,min);ge
16、tchar();)void find(float num,int n,float*min,float*max)inti;for(i=0;in;i+)if(numi*max)*max=numi;运行样例2 行运行样例1:1.512.342.20.714.5(输入5 个数)运行结果1:42.20.7运行样例2:1.215.483.70.128.2(输入5 个数)运行结果2:83.7 0.12.某一电脑外设批发店 经营品牌无线键盘鼠标套装。如果成套购买(键盘+鼠标),一次买的数量多于50套,每套450元;如果一次买的数量不足50套,每套500元;如果只买键盘,每个250元,如果只买鼠标,每个300元
17、。编写程序:要求在键盘中输入需要买的无线键盘和鼠标的数量,计算应付金额。参考答案:#include void main()int c,t;int m;printf(please input the number of c and t:);scanf(,%d%d,&c,&t);if(c=t)if(c=50)m=c*450;elsem=c*500;)else if(ct)if(t=50)m=t*450+(c-t)*250;elsem=t*500+(c-t)*250;)else if(c50)m=c*450+(t-c)*300;elsem=c*5OO+(t-c)*3OO;)printf(the mo
18、ney you need to pay is:%dn,m);)运行样例2 行运行样例 1:please input the number of c and t:5 6结果 1:the money you need to pay is:2800第二套第一章C语言概述-、选择题:1、一个C 程序的执行是从(A )。A 本程序的m a i n 函数开始,到m a i n 函数结束B 本程序文件的第个函数开始,到本程序文件的最后个函数结束C本程序的m a i n 函数开始,到本程序文件的最后一个函数结束D 本程序文件的第 个函数开始,到本程序m a i n 函数结束2、在 C语言中,每个语句必须以(D
19、 )结束。A.回车符 B.冒号 C.逗号 D.分号3、C语言规定:在一个源程序中,m a i n 函数的位置(C )。A.必须在最开始 B.必须在系统调用的库函数的后面C.可以任意 D.必须在最后4、一个C语言程序是由(B)。A.个主程序和若干子程序组成 B.函数组成C.若干过程组成 D.若干子程序组成5、下列说法中错误的是(D )。A.主:函数可以分为两个部分:主函数说明部分和主函数体B.主函数可以调用任何非主函数的其他函数C.任何非主函数可以调用其他任何非主函数I).程序可以从任何非主函数开始执行6、用C语言编写的源文件经过编译,若没有产生编译错误,则系统将(C )。A.生成可执行目标文件
20、 B.生成目标文件C.输出运行结果 I).自动保存源文件二、填空题:1、C语言只有32个关键字和9 种控制语句。2、每个源程序有且只有一个m a i n 函数,系统总是从该函数开始执行C语言程序。3、C语言程序的注释可以出现在程序中的任何地方,它总是以*符号作为开始标记,以 */符号作为结束标记。4、C语言中,输入操作是由库函数s c a n f完成的,输出操作是由库函数 p r i n t f 完成的。5、系统默认的C语言源程序文件的扩展名是.c ,经过编译后生成的目标文件的扩展名是.ob j ,经过连接后生成的可执行文件的扩展名是.e x e 。6、C语言的标识符只能由字母、数字和 下划线
21、 三种字符组成。第三章数据类型、运算符和表达式一、选择题:I、以下选项中,不正确的C语言浮点型常量是(C )。A.1 6 0.B.0.1 2 C.2 e 4.2 D.0.02、以下选项中,(D )是不正确的C语言字符型常量。A.a B.x 4 1 C.M O I D.a 3、在C语言中,字符型数据在计算机内存中,以字符的(C )形式存储。A.原码 B.反码 C.A S C I I码 D.BC D码4、若x、i、j和k都是i n t型变量,则计算下面表达式后,x的值是(C )。x=(i=4,j=1 6,k=3 2)A.4 B.1 6 C.3 2 D.5 25、算术运算符、赋值运算符和关系运算符的
22、运算优先级按从高到低依次为(B)A.算术运算、赋值运算、关系运算 B.算术运算、关系运算、赋值运算C.关系运算、赋值运算、算术运算 D.关系运算、算术运算、赋值运算6、若有代数式,则不正确的C语言表达式是(C )。A.a/b/c*e*3 B.3*a*e/b/c C.3*a*e/b*c D.a*e/c/b*37、表达式!x|a=b等效于(D )。A.!(x|a)=b)B.!(x I i y)=b C.!(x i I(a=b)D.(!x)|(a=b)8,设整型变量m,n,a,b,c,d均为1,执 行(m=ab)&(n=c d)后,m,n的值是(A)A.0,0 B.0,1 C.1,0 D.1,19、
23、设有语句i n t a=3;)则执行了语句a+=a-=a*=a;后,变 量a的值是(B)A.3 B.0 C.9 D.-1 21 0、在以下一组运算符中,优先级最低的运算符是(D )oA.*B.!=C.+D.=1 1、设整型变量i值为2,表达式(+i)+(+i)+(+i)的结果是(B)。A.6 B.1 2 C.1 5 D.表达式出错1 2、若已定义x和y为dou b l e类型,则表达式x=l,y=x+3/2的值是(C )。A.1 B.2 C.2.0 D,2.51 3、s i z e of (dou b l e)的结果值是(A )。A.8 B.4 C.2 D.出错1 4、设 a=l,b=2,c=
24、3,d=4,则表达式:a b?a :c d?a :d 的结果为(D ).A.4 B.3 C.2 D.11 5、设a为整型变量,不能正确表达数学关系:1 0a 15的C语言表达式是(A)oA.10a 10&a 15D.!(a=15)16、设f是实型变量,卜列表达式中不是逗号表达式的是(D )。A.f=3.2,1.0 B.f 0,f 0 D.f=(3.2,1.0)17、表达式18/4*s q r t(4.0)/8值的数据类型是(C )。A.i nt B.f l o a t C.d o ub l e D.不确定18、已知字母A的A S C H码为十进制数制,且c 2为字符型,则执行语句C 2=A+6
25、-3;后 c 2 中的值是(A)。A.D B.68 C.不确定的值 D.C19、以下用户标识符中,合法的是(B )。A.i nt B.ni t C.123 D.a+b20、C语言中,要求运算对象只能为整数的运算符是(A)。A.%B./C.D.*21、若有说明语句:c h a r c=7 2;则变量c在内存占用的字节数是(A)。A.1 B.2 C.3 I).422、字符串AB C”在内存占用的字节数是(B )。A.3 B.4 C.6 I).823、要为字符型变量a赋初值,下列语句中哪个是正确的(B )。A.c h a r a=3”;B.c h a r a=3;C.c h a r a=%;D.c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 上机 考试 试题
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内