ImageVerifierCode 换一换
格式:DOC , 页数:14 ,大小:90KB ,
资源ID:1334721      下载积分:5000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-1334721.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(【计算机类职业资格】国家二级(C语言)机试模拟试卷131及答案解析.doc)为本站会员(roleaisle130)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

【计算机类职业资格】国家二级(C语言)机试模拟试卷131及答案解析.doc

1、国家二级(C 语言)机试模拟试卷 131 及答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下列有关数据库的描述中正确的是( )。(分数:2.00)A.在需求分析阶段建立数据字典B.在概念设计阶段建立数据字典C.在逻辑设计阶段建立数据字典D.在物理设计阶段建立数据字典2.数据库系统的三级模式不包括( )。(分数:2.00)A.数据模式B.内模式C.外模式D.概念模式3.有三个关系 R、S 和 T 如下: (分数:2.00)A.并B.交C.投影D.自然连接4.面向对象设计方法的主要特征是( )。(分数:2.00)A.继承B.自顶向下C.模块化D.

2、逐步求精5.关于 C 语言常量的叙述中错误的是( )。(分数:2.00)A.经常被使用的变量可以定义成常量B.常量分为整型常量、实型常量、字符常量和字符串常量C.常量可分为数值型常量和非数值型常量D.所谓常量,是指在程序运行过程中,其值不能被改变的量6.以下关于 C 语言的相关叙述中正确的是( )。(分数:2.00)A.简单 C 语句必须以分号结束B.C 程序中的每一行只能写一条语句C.C 语言程序中的注释必须与语句写在同一行D.C 语句必须在一行内写完7.以下关于算法的叙述中错误的是( )。(分数:2.00)A.算法正确的程序可以有零个输入B.算法正确的程序可以有零个输出C.算法正确的程序最

3、终一定会结束D.算法正确的程序对于相同的输入一定有相同的结果8.关于 C 语言的用户标识符中,不合法的是( )。(分数:2.00)A.a_1B.Xa3cC.A 一一 xD._19.关于 C 语言的赋值语句,合法的是( )。(分数:2.00)A.a=b=1;B.e=n3;C.x+y=u;D.x=2=6+2;10.在使用 scanf(2df,&a,&b);语句并从键盘输入 123 456 后,a 和 b 的值分别是( )。(分数:2.00)A.12 和 30B.123 和 4560C.12 和 4560D.12 和 345 6011.下列 C 语言语句会出现错误的是( )。(分数:2.00)A.c

4、har a=123B.char a=n;C.char a=a;D.char =x2d;12.下列表达式的值当变量 c 的值不为 2、4、6 时也为“真”的是( )。(分数:2.00)A.(c=2&c=6)&(c2!=1)B.(c=2)(c=4)(c=6)C.c=2&c=6)&!(c2)D.(c=2&c=6)(c!=3)(c!=5)13.C 语句中不能够正确计算下述公式的程序段是( )f= (分数:2.00)A.if(x=0) f=sqrt(x); if(x0) f=sqrt(x);B.if(x=0) f=sqrt(x); else f=sqrt(x);C.f=sqrt(x) if(x0) f=

5、sqrt(x);D.f=sqrt(x=0?x:x);14.有以下程序: #include main() int m=20; while(m); printf(y=dn,m); 程序执行后的输出结果是( )。(分数:2.00)A.m=1B.m=0C.m=1D.while 构成无限循环15.有以下程序: #include main() int i; for(i=1;i=40;i+) if(i+5=0) if(i+8=0)print(d,i) printf(d,i); 程序执行后的输出结果是( )(分数:2.00)A.17B.24C.32D.1216.有以下程序: #include main() i

6、nt s; scanf(d,&s); while(s0) switch(s) case 1:printf(d,s+5) case 2:printf(d,s+4);break; case 3:printf(d,s+3); case 4:printf(d,s+2); default:printf(d,s+1);break; scanf(d,&s) 运行时,若输入 123450回车则输出的结果是(分数:2.00)A.6.56655e+008B.6.56646e+006C.6.66665e+006D.6.66666e+00617.关于 return 语句叙述中错误的是( )。(分数:2.00)A.函数

7、的 return 语句中可以没有表达式B.用户定义的函数中可以有多个 return 语句,以便可以调用一次返回多个函数值C.用户定义的函数中若没有 return 语句,则应当定义为 void 类型D.用户定义的函数中可以没有 return 语句18.有以下程序:#includestdiohvoid fun(char *c,int d) *c=*c+1;d=d+1;printf(c,c,*c,d);main()char x=1,y=A;fun(&x,y);printf(c,cn,x,y)(分数:2.00)A.2,B,2,AB.2,B,B,AC.1,B,B,1D.1,B,a,B19.下列选项中,能

8、正确定义数组的语句是( )。(分数:2.00)A.int a010B.int b;C.int N=10; int cN;D.#define N 10 int dN20.以下函数实现按每行 5 个输出 a 所指数组中的数据: #include void fun(int*a,int n) int i; for(i=0;in;i+) printf(d,ai); printf(n); 在横线处应填入的语句是( )。(分数:2.00)A.if(i5=0)printf(n);B.if(i5=0)continue;C.if(i5=0)prinff(n);D.if(i5=0)continue;21.有以下程序

9、: #include void if(char*c) while(*c) if(*c=a&*c=z) *c=*c 一(a一A); c+; main() char s21; gets(s); ff(s); puts(s); 当执行程序时从键盘上输入 Hello World,则程序运行后的输出结果是( )。(分数:2.00)A.hello world;B.Hello WorldC.HELLO WORLDD.hELLO World22.有以下程序:#includestdiohmain()int a44=1,2,3,4,2,4,3,1,1,7,1,5,5,6,7,8;int i,j,k,t;for(i

10、=0;i4;i+)for(j=0;j3;j+)for(k=j+1;k4;k+)if(ajiaki)t=aji;aji=aki;aki=t;*按列排序*for(i=0;i4;i+)printf(d,aii);程序运行后的输出结果是( )。(分数:2.00)A.1,4,3,8,B.1,7,3,1,C.4,7,5,8,D.1,2,5,4,23.有以下程序(strcat 函数用于连接两个字符串): #nclude #include main() char s20=Welcome0to0,t=Beijing; strcat(s,t); printf(sn,s); 程序运行后的输出结果是( )。(分数:2

11、.00)A.Welcome to BeijingB.Welcome0to0BeijingC.WelcomeBeijingD.Beijing24.有以下程序段: char name20; int Bum; scanf(name=s num=d,name,&hum); 当执行上述程序段,并从键盘输入:name=David num=101 后,name 的值为( )。(分数:2.00)A.name=DavidB.name=David num=101C.DavidD.David Bum=10125.有以下程序: #include main() char ch=12345,*P; p=ch; print

12、f(cn,*(p+3); 程序运行后的输出结果是( )。(分数:2.00)A.2B.3C.4D.一个地址值26.有以下程序: #include main() char s=012abc; int i,n=0; for(i=0;si!=0;i+) if(sia&si=z) n+; printf(dn,n); 程序运行后的输出结果是( )。(分数:2.00)A.0B.3C.5D.627.有以下程序: #include int fun(int n) if(n=1) return 1; else return(n+fun(n 一 1); main() int y; scanf(d,&y); y=fun

13、(y); printf(dn,y); 执行程序时,输入5,程序运行后的输出结果是( )。(分数:2.00)A.5B.10C.15D.2028.有以下程序: #include int fun(int m) static int n=( ); n+=m return n; main() int i=l; pfintf(d,fun(i+); printf(dn,fun(+i); 程序运行后的输出结果是( )。(分数:2.00)A.1,4B.1,1C.2,4D.2,229.有以下程序: #include struct S int a,b;st2=3,4,5,6; main() struct S*p=s

14、t; printf(d,+(p 一a); printf(dn,+(p 一b); 程序运行后的输出结果是( )。(分数:2.00)A.3,4B.4,5C.3,5D.4,630.设有以下语句:typedef struct Schar c;int a4;PN;则下面叙述中正确的是( )。(分数:2.00)A.PN 是 struct S 类型的变量B.S 是 struct 类型的变量C.可以用 S 定义结构体变量D.可以用 PN 定义结构体变量 31.有以下程序: #include #define SUB(x)(x)一(x) main() int a=l,b=2,c=3,s; s=SUB(a+b)*c

15、; printf(dn,s); 程序运行后的输出结果是( )。(分数:2.00)A.0B.一 6C.一 1D.332.有以下程序: #include main() int x=1,y; V=x2: printf(dn,y); 程序运行后的输出结果是( )。(分数:2.00)A.1B.2C.4D.833.下列关于文件概念的叙述中正确的是( )。(分数:2.00)A.文件由 ASC码组成,只能构成二进制文件B.文件由结构序列组成,可以构成二进制文件或文本文件C.文件由字符序列组成,其类型只能是文本文件D.文件由数据序列组成,可以构成二进制文件或文本文件34.有以下程序: #include main

16、() FILE*fp; int a10=a,b,C,d,i; fp=fopen(d2dat,wb); fwrite(a,sizeof(int),5,fp); fwrite(a,sizeof(int),5,fp);fclose(fp); fp=fopen(d2dat,rb); fread(a,sizeof(int),10,fp); fclose(fp); for(i=0;i10;i+) printf(d,a i); 程序运行后的输出结果是( )。(分数:2.00)A.a,b,c,d,B.a,b,C,d,0,a,b,c,dC.a,b,c,d,a,b,c,d,D.a,b,C,d,a,b,c,d,03

17、5.有以下程序 #include #define S1(z)4*z+4*(z) #define s2(x,y)4*(x)*(y)+y*x main() int a=1,b=2; printf(“d,”,S1(a+b); prinff(”d,”,S2(a,b)+S1(3); printf(“d”,s2(3+a,b+3); 程序执行后的输出结果是( )。(分数:2.00)A.18,34,100B.24,34,92C.24,34,100D.18,34,9236.如图所示:带有头结点的单向链表 head,其三个数据结点 A、B、C 的连接关系见图。 (分数:2.00)A.*(*p)next 一next

18、 一dtB.P 一next 一next 一dtC.(*(*(*P)next)next)dtD.(*(P 一next 一next)dt37.设有定义 #include #include typedef struetint x,y;T; typedef struetint x,y;*USER; USER fun() USER p; P=(USER)malloc(sizeof(T); P 一x=1; P 一y=2: retum P; 函数 fun 返回值的类型是( )。(分数:2.00)A.T 类型的结构体B.指向结构体类型的指针C.int 类型的元素D.int 类型的指针38.软件的需求分析主要产

19、生的文档是( )。(分数:2.00)A.可行性分析报告B.软件需求规格说明书C.概要设计说明书D.集成测试计划39.以下哪一项不是结构化程序设计的基本原则?( )(分数:2.00)A.多态性B.自顶向下C.模块化D.逐步求精40.软件设计中划分模块的基本准则是( )。(分数:2.00)A.低内聚低耦合B.高内聚低耦合C.低内聚高耦合D.高内聚高耦合二、程序填空题(总题数:1,分数:2.00)41.下列给定程序的功能是:从键盘输入若干行字符串(每行不超过 80 个字符),写入文件 myfile4txt中,用一 1 作字符串输入结束的标志,然后将文件的内容显示在屏幕上。文件的读写分别由函数Read

20、Text 和 WriteText 实现。请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件 BLANK1C 中。不得增行或删行,也不得更改程序的结构! #includestdioh #includestringh #includestdlibh void WriteText(FILE*); void ReadText(FILE*); main() FILE*fp; if(fp=fopen(“myfile4txt”,“w”)=NULL) prinff(“open fail!n”);exit(0); WriteText(f0); fclose(fp); i

21、f(fo=fopen(“my6le4txt”,“r”)=NULL) prinff(“open fail!n”);exit(0); ReadText(fp); fclose(fp); *found* void WriteText(FILE1) char str81; printf(“nEnter string with 一 1 to end:n”); gets(str); while(strcmp(str,“一 1”)!=0) *found* fputs(2,fw);fpnts(“n”,fw); gets(str); void ReadText(FILE*fr) char str81; prin

22、ff(“nRead file and output to screen:n”); fgets(str,81,fr); while(!feof(fr) *found* prinff(“s”,3); fsets(str,81,fr); (分数:2.00)_三、程序修改题(总题数:1,分数:2.00)42.下列给定程序中函数 fun 的功能是:逐个比较 P、q 所指两个字符串对应位置上的字符,并把 ASC值大或相等的字符依次存放到 c 所指的数组中,形成一个新的字符串。例如,若主函数中 a 字符串为“aBCDeFgH”,b 字符串为“Abed”,则 c 中的字符串应为“aBcdeFgH”。请改正程序

23、中的错误,使它能得出正确的结果。注意:部分源程序在文件 MODllC 中,不得增行或删行,也不得更改程序的结构! #includestdioh #includestringh void fun(char*P,char*q,char*c) *found* int k=1; *found* while(*P!=*q) if(*P*q)ck=*q; else ck=*P; if(*P)P+; if(*q) q+; k+: main() char a10=“aBCDeFgH”,b10=“ABcd”,c80=0; fun(a,b,c); prinff(“The string a:”);puts(a);

24、printf(“The string b:”);puts(b); prinff(“The result:”);puts(c); (分数:2.00)_四、程序设计题(总题数:1,分数:2.00)43.规定输入的字符串中只包含字母和*号。请编写函数 fun,其功能是:将字符串尾部的*号全部删除,前面和中间的*号不动。例如,字符串中的内容为:“*A*BC*DEF*G*”,删除后,字符串中的内容应当是:“*A*BC*DEF*G”。在编写函数时,不得使用 C 语言提供的字符串函数。注意:部分源程序在文件 PROG1C 中。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入

25、你编写的若干语句。 #includestdioh void fun(char*a) main() char s81;void NONO(); printf(“Enter a string:n”);gets(s); fun(s); printf(“The string after deleted:n”);puts(s); NONO(); void NONO() *本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。* FILE*in,*out; int i;char s81; in=fopen(“indat”,“r”); out=fopen(“outdat”,“W”); for(i=0;

26、i10;i+) fscanf(in,“s”,s); fun(s); fprintf(out,“sn”,s); fclose(in); fclose(out); (分数:2.00)_国家二级(C 语言)机试模拟试卷 131 答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下列有关数据库的描述中正确的是( )。(分数:2.00)A.在需求分析阶段建立数据字典 B.在概念设计阶段建立数据字典C.在逻辑设计阶段建立数据字典D.在物理设计阶段建立数据字典解析:解析:数据字典是在需求分析阶段建立的。2.数据库系统的三级模式不包括( )。(分数:2.00)A

27、.数据模式 B.内模式C.外模式D.概念模式解析:解析:数据库系统的三级模式是概念模式、内模式和外模式。3.有三个关系 R、S 和 T 如下: (分数:2.00)A.并B.交C.投影D.自然连接 解析:解析:自然连接要求两个关系的属性一致,并将其进行并操作。所以,答案为 D。4.面向对象设计方法的主要特征是( )。(分数:2.00)A.继承 B.自顶向下C.模块化D.逐步求精解析:解析:面向对象设计方法的基本特征:封装性、继承性、多态性、抽样性。5.关于 C 语言常量的叙述中错误的是( )。(分数:2.00)A.经常被使用的变量可以定义成常量 B.常量分为整型常量、实型常量、字符常量和字符串常

28、量C.常量可分为数值型常量和非数值型常量D.所谓常量,是指在程序运行过程中,其值不能被改变的量解析:解析:常量和变量的概念不同,常量是指在程序运行中,其值不能被改变的量,变量是在程序运行过程中会发生变化的量,所以选项 A 不正确,常量分为整型常量、实型常量、字符常量和字符串常量,也可分为数值型常量和非数值型常量。6.以下关于 C 语言的相关叙述中正确的是( )。(分数:2.00)A.简单 C 语句必须以分号结束 B.C 程序中的每一行只能写一条语句C.C 语言程序中的注释必须与语句写在同一行D.C 语句必须在一行内写完解析:解析:简单 C 语句必须以分号结束,多条语句可以写在同一行上,注释也可

29、以单独成行或有多行注释,另外,C 语句不一定要写在一行上,除了特别的一些地方(如字符串引用)之外,C 语句可以用硬回车连接。7.以下关于算法的叙述中错误的是( )。(分数:2.00)A.算法正确的程序可以有零个输入B.算法正确的程序可以有零个输出 C.算法正确的程序最终一定会结束D.算法正确的程序对于相同的输入一定有相同的结果解析:解析:程序可以不用输入,但一定要有输出,所以 B 不正确;算法正确的程序一定会结束,而且相对于相同的输入输出一定相同。8.关于 C 语言的用户标识符中,不合法的是( )。(分数:2.00)A.a_1B.Xa3cC.A 一一 x D._1解析:解析:C 语言的用户标识

30、符由数字、字母和下划线构成,选项 C 中出现的短线不是下划线,所以不合法。9.关于 C 语言的赋值语句,合法的是( )。(分数:2.00)A.a=b=1;B.e=n3; C.x+y=u;D.x=2=6+2;解析:解析:常量不能被赋值,所以 D 错,表达式不能被赋值,所以 C 错,赋值运算的级别高手逻辑运算符,所以 A 错,若写成 a=(b=1)则是合法的表达式。10.在使用 scanf(2df,&a,&b);语句并从键盘输入 123 456 后,a 和 b 的值分别是( )。(分数:2.00)A.12 和 30 B.123 和 4560C.12 和 4560D.12 和 345 60解析:解析

31、:scanf 是严格执照格式输入的,2d 指只输入两位数字,所以 a=12,b=3,另外,题目中没有c 格式用来输入字符,所以空格将会被看作是分隔符(此处为结束符)。11.下列 C 语言语句会出现错误的是( )。(分数:2.00)A.char a=123 B.char a=n;C.char a=a;D.char =x2d;解析:解析:选项 A 将一个字符串赋给了一个字符变量是不正确的;选项 B 和 C 是字符赋值,正确;选项D 是十六进制表示法。也正确。12.下列表达式的值当变量 c 的值不为 2、4、6 时也为“真”的是( )。(分数:2.00)A.(c=2&c=6)&(c2!=1)B.(c

32、=2)(c=4)(c=6)C.c=2&c=6)&!(c2)D.(c=2&c=6)(c!=3)(c!=5) 解析:解析:是或运算符,即只要其中有一个表达式为真,结果即为真,当 c=3 或 c=5 时,选项 D 最左边的表达式为真,所以整个表达式为真。13.C 语句中不能够正确计算下述公式的程序段是( )f= (分数:2.00)A.if(x=0) f=sqrt(x); if(x0) f=sqrt(x);B.if(x=0) f=sqrt(x); else f=sqrt(x);C.f=sqrt(x) if(x0) f=sqrt(x); D.f=sqrt(x=0?x:x);解析:解析:选项 C 中在没有

33、判断 x 的正负之前便进行了开方运算,所以和公式不符。14.有以下程序: #include main() int m=20; while(m); printf(y=dn,m); 程序执行后的输出结果是( )。(分数:2.00)A.m=1 B.m=0C.m=1D.while 构成无限循环解析:解析:注意 while 循环体为空语句,m 是先使用值再减 1,所以当 m=0 时退出循环,再减 1,结果为一 1。15.有以下程序: #include main() int i; for(i=1;i=40;i+) if(i+5=0) if(i+8=0)print(d,i) printf(d,i); 程序执

34、行后的输出结果是( )(分数:2.00)A.17 B.24C.32D.12解析:解析:i+是在表达式中先使用 i 的值,表达式执行完成后将 i 加 1。题目的意思是在 140 的数中先找到能被 5 整除的数,如 5,10,15,20 等,若找到则将其加 1 并判断是否能被 8 整除,如果能则再加 1,执行输出操作。所以只有 15 能被 5 整除,且加 1 后也能被 8 整除,再加 1 后为 17。16.有以下程序: #include main() int s; scanf(d,&s); while(s0) switch(s) case 1:printf(d,s+5) case 2:printf

35、(d,s+4);break; case 3:printf(d,s+3); case 4:printf(d,s+2); default:printf(d,s+1);break; scanf(d,&s) 运行时,若输入 123450回车则输出的结果是(分数:2.00)A.6.56655e+008 B.6.56646e+006C.6.66665e+006D.6.66666e+006解析:解析:case 语句执行后若没有 break,则会继续执行后面的 case 语句,直到碰到 break 或 switch结束。当输入 1 时输出 65,输入 2 时输出 6,输入 3 时输出 654,当输入 4 时输

36、出 65,当输入 5 时输出6,当输入 0 时 while 语句结束。17.关于 return 语句叙述中错误的是( )。(分数:2.00)A.函数的 return 语句中可以没有表达式B.用户定义的函数中可以有多个 return 语句,以便可以调用一次返回多个函数值 C.用户定义的函数中若没有 return 语句,则应当定义为 void 类型D.用户定义的函数中可以没有 return 语句解析:解析:函数中可以没有 return 语句,return 语句中也可以没有表达式,若没有 return 则函数要定义成 void 类型,一个函数中也可以有多个 return 语句,但要确保执行时只调用其

37、中一个 return 语句,不能一次返回多个函数值。18.有以下程序:#includestdiohvoid fun(char *c,int d) *c=*c+1;d=d+1;printf(c,c,*c,d);main()char x=1,y=A;fun(&x,y);printf(c,cn,x,y)(分数:2.00)A.2,B,2,A B.2,B,B,AC.1,B,B,1D.1,B,a,B解析:解析:这里主要考查形参和实参之间的值传递,子函数的形参第一个是指针,第二个是实徽,所以第一个参数的值在子函数中改变后在主函数中会体现出来,而第二个参数在子函数中改变后在主函数中不会体现出来;另外,字符可以

38、当作特殊的整数对待,因此在子函数中打印出的是“2,B,”,在主函数中再打印时 x 的值发生了变化,但 y 的值没有发生变化,所以打印出的是“2,A”。19.下列选项中,能正确定义数组的语句是( )。(分数:2.00)A.int a010B.int b;C.int N=10; int cN;D.#define N 10 int dN 解析:解析:A 的中的内容错误,B 中若没有确定数组的长度,则需要在定义的时候同时赋值,C 中不能用变量定义数组长度。20.以下函数实现按每行 5 个输出 a 所指数组中的数据: #include void fun(int*a,int n) int i; for(i

39、=0;in;i+) printf(d,ai); printf(n); 在横线处应填入的语句是( )。(分数:2.00)A.if(i5=0)printf(n);B.if(i5=0)continue;C.if(i5=0)prinff(n); D.if(i5=0)continue;解析:解析:一行输出 5 个,所以应该判断数组下标是否为 5 的整数倍,若是则输出一个换行符。21.有以下程序: #include void if(char*c) while(*c) if(*c=a&*c=z) *c=*c 一(a一A); c+; main() char s21; gets(s); ff(s); puts(

40、s); 当执行程序时从键盘上输入 Hello World,则程序运行后的输出结果是( )。(分数:2.00)A.hello world;B.Hello WorldC.HELLO WORLD D.hELLO World解析:解析:子函数的功能是将字符串中的字母变成大写,所以答案为 C。22.有以下程序:#includestdiohmain()int a44=1,2,3,4,2,4,3,1,1,7,1,5,5,6,7,8;int i,j,k,t;for(i=0;i4;i+)for(j=0;j3;j+)for(k=j+1;k4;k+)if(ajiaki)t=aji;aji=aki;aki=t;*按列

41、排序*for(i=0;i4;i+)printf(d,aii);程序运行后的输出结果是( )。(分数:2.00)A.1,4,3,8, B.1,7,3,1,C.4,7,5,8,D.1,2,5,4,解析:解析:前面的 for 循环的目的是按列排序,最后一个 for 循环是打印数组对角线上的值,所以答案是 1,4,3,8。23.有以下程序(strcat 函数用于连接两个字符串): #nclude #include main() char s20=Welcome0to0,t=Beijing; strcat(s,t); printf(sn,s); 程序运行后的输出结果是( )。(分数:2.00)A.Wel

42、come to BeijingB.Welcome0to0BeijingC.WelcomeBeijing D.Beijing解析:解析:系统会在字符串后面补一个结束符0,也就是说系统会将0作为字符串的结束符,在strcat 操作时 s=Welcome,t=“Beijing,所以操作后 s=WelcomeBeijing。24.有以下程序段: char name20; int Bum; scanf(name=s num=d,name,&hum); 当执行上述程序段,并从键盘输入:name=David num=101 后,name 的值为( )。(分数:2.00)A.name=DavidB.name=

43、David num=101C.David D.David Bum=101解析:解析:scanf 在输入内容时严格按照格式要求接收字符,沣意到s 后面有个空格,所以 name 的值将是 David。25.有以下程序: #include main() char ch=12345,*P; p=ch; printf(cn,*(p+3); 程序运行后的输出结果是( )。(分数:2.00)A.2B.3C.4 D.一个地址值解析:解析:字符指针只指向字符串或字符数组的首地址即 ch0的地址,对其进行加减操作时是将其向后或向前移动一个字符的位置,所以(p+3)指向了数组的第 4 个字符,*(p+3)提取了这个

44、字符。26.有以下程序: #include main() char s=012abc; int i,n=0; for(i=0;si!=0;i+) if(sia&si=z) n+; printf(dn,n); 程序运行后的输出结果是( )。(分数:2.00)A.0 B.3C.5D.6解析:解析:for 循环的功能是统计字符中的小写字母的个数,但此处判断条件写成了 si!=0,而不是 si!=0,所以当 i=0 时,第一个字符便是0,循环结束,n=0。27.有以下程序: #include int fun(int n) if(n=1) return 1; else return(n+fun(n 一 1); main() int y; scanf(d,&y); y=fun(y); printf(dn,y); 执行程序时,输入5,程序运行后的输出结果是( )。(分数:2.00)A.5B.10C.15 D.20解析:解析:子函数的功能是迭代求和,输入 5 的迭代过程是 5+4+3+2+1=15。28.有以下程序: #include int fun(int m) static int n=( ); n+=m return n; main() int i=l; pfintf(d,fun(i+); printf(dn

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1