【计算机类职业资格】二级C语言-116及答案解析.doc

上传人:李朗 文档编号:1324866 上传时间:2019-10-17 格式:DOC 页数:22 大小:79.50KB
下载 相关 举报
【计算机类职业资格】二级C语言-116及答案解析.doc_第1页
第1页 / 共22页
【计算机类职业资格】二级C语言-116及答案解析.doc_第2页
第2页 / 共22页
【计算机类职业资格】二级C语言-116及答案解析.doc_第3页
第3页 / 共22页
【计算机类职业资格】二级C语言-116及答案解析.doc_第4页
第4页 / 共22页
【计算机类职业资格】二级C语言-116及答案解析.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、二级 C 语言-116 及答案解析(总分:96.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.在下列模式中,能够给出数据库物理存储与物理存取方法的是_。(分数:1.00)A.外模式B.内模式C.概念模式D.逻辑模式2.以下选项中不合法的用户标识符是_。(分数:1.00)A._123B.printfC.A$D.Dim3.可在 C 程序中用作用户标识符的一组标识符是_。(分数:1.00)A.voiddefineWORDB.as_b3_123IfC.For_abccaseD.2cDOSIG4.针对简单程序设计,以下叙述的实施步骤顺序正确的是_。(分数:1.00)A.确定

2、算法和数据结构、编码、调试、整理文档B.编码、确定算法和数据结构、调试、整理文档C.整理文档、确定算法和数据结构、编码、调试D.确定算法和数据结构、调试、编码、整理文档5.在满足实体完整性约束的条件下_。(分数:1.00)A.一个关系中应该有一个或多个候选关键字B.一个关系中只能有一个候选关键字C.一个关系中必须有多个候选关键字D.一个关系中可以没有候选关键字6.若变量已正确定义为 float 型,要通过输入语句:scanf(“%f%f%f“, 给 a 赋值 11.0,b赋值 22.0,c 赋值 33.0,不正确的输入形式是_。(分数:1.00)A.112233B.11.0,22.0,33.0

3、C.11.022.0 33.0D.1122337.以下关于算法的叙述中错误的是_。(分数:1.00)A.算法可以用伪代码、流程图等多种形式来描述B.一个正确的算法必须有输入C.一个正确的算法必须有输出D.用流程图描述的算法可以用任何一种计算机高级语言编写成程序代码8.下面不属于需求分析阶段任务的是_。(分数:1.00)A.确定软件系统的功能需求B.确定软件系统的性能需求C.制订软件集成测试计划D.需求规格说明书评审9.下列叙述中正确的是_。(分数:1.00)A.为了建立一个关系,首先要构造数据的逻辑关系B.表示关系的二维表中各元组的每一个分量还可以分成若干数据项C.一个关系的属性名表称为关系模

4、式D.一个关系可以包括多个二维表10.在软件设计中不使用的工具是_。(分数:1.00)A.系统结构图B.程序流程图C.PAD 图D.数据流图(DFD 图)11.下列叙述中正确的是_。(分数:1.00)A.循环队列是队列的一种链式存储结构B.循环队列是队列的一种顺序存储结构C.循环队列是非线性结构D.循环队列是一种逻辑结构12.关于 C 语言中数的表示,以下叙述中正确的是_。(分数:1.00)A.只有整型数在允许范围内能精确无误地表示,实型数会有误差B.只要在允许范围内整型数和实型数都能精确地表示C.只有实型数在允许范围内能精确无误地表示,整形数会有误差D.只有用八进制表示的数才不会有误差13.

5、若变量 a、b、t 已正确定义,要将 a 和 b 中的数进行交换,以下选项中不正确的语句组是_。(分数:1.00)A.a=a+b,b=a-b,a=a-b;B.t=a,a=b,b=t;C.a=t;t=b;b=a;D.t=b;b=a;a=t;14.以下叙述中错误的是_。(分数:1.00)A.一个 C 程序中可以包含多个不同名的函数B.一个 C 程序只能有一个主函数C.C 程序在书写时,有严格的缩进要求,否则不能编译通过D.C 程序的主函数必须用 main 作为函数名15.设有以下语句 char ch1, ch2; scanf(“%c%c“, 若要为变量 ch1 和 ch2 分别输入字符 A 和 B

6、,正确的输入形式应该是_。(分数:1.00)A.A 和 B 之间用逗号间隔B.A 和 B 之间不能有任何间隔符C.A 和 B 之间可以用回车间隔D.A 和 B 之间用空格间隔16.以下选项中非法的字符常量是_。(分数:1.00)A.“/101“B.“/65“C.“/xff“D.“/019“17.以下选项中有语法错误的是_。(分数:1.00)A.char*str=“guest“;B.char str10=“guest“;C.char*str3; strt=“guest“;D.char str310; str1=“guest“;18.若 k 是 int 类型变量,且有以下 for 语句: for(

7、k=-1; k0; k+)printf(“*/n“); 下面关于语句执行情况的叙述中正确的是_。(分数:1.00)A.循环体执行一次B.循环体执行两次C.循环体一次也不执行D.构成无限循环19.以下选项中,能表示逻辑值“假”的是_。(分数:1.00)A.1B.0.000001C.0D.100.020.有以下程序: #includestdio.h main() int a; scanf(“%d“, if(a+9)printf(“%d/n“, a); clsc printf(“%d/n“, a-); 程序运行时从键盘输入 9回车,则输出结果是_。(分数:1.00)A.10B.11C.9D.821.

8、有以下程序: #includestdio.h main() int s=0, n; for(n=0; n3; n+) switch(s) case 0; case 1: s+=1; case 2: s+=2; break; case 3: s+=3; default: s+=4; printf(“%d, “s); 程序运行后的输出结果是_。(分数:1.00)A.1,2,4,B.1,3,6,C.3,10,14,D.3,6,10,22.有以下程序: #includestdio.h #define S(x)(x)“x“2 main() int k=5, j=2; printf(“%d, “, S(k

9、+j); printf(“%d/n“, S(k-j); 程序运行后的输出结果是_。(分数:1.00)A.98,18B.39,11C.39,18D.98,1123.有以下程序: #includestdio.h main() char a, b, c; b=“1“; c=“A“; for(a=0; a6; a+) if(a%2)putchar(b+a); else putchar(c+a); 程序运行后的输出结果是_。(分数:1.00)A.183D5FB.ABCDEFC.A2C4E6D.12345624.设有如下定义语句: int m=2, 4, 6, 8, 10, *k=m; 以下选项中,表达式

10、的值为 6 的是_。(分数:1.00)A.*(k+2)B.k+2C.*k+2D.*k+=225.fun 函数的功能是:通过键盘输入给 x 所指的整型数组所有元素赋值。在横线处应填写的是_。 #includestdio.h #define N 5 void fun(int xN) int m; for(m=N-t; m=0; m-)scanf(“%d“, _); (分数:1.00)A.% k=1, m=8; p1= a=/*p1-m; b=*p1+*p2+6; printf(“%d“, a); printf(“%d/n“, b); 编译时编译器提示错误信息,你认为出错的语句是_。(分数:1.00

11、)A.a=/*p1-m;B.b=*p1+*p2+6;C.k=1, m=8;D.p1=28.有以下程序: #includestdio.h main() int a=0, b=0, c=0; c=(a=a-5); (a=b, b+=4); printf(“%d, %d, %d/n“, a, b, c); 程序运行后的输出结果是_。(分数:1.00)A.0,4,5B.4,4,5C.4,4,4D.0,0,029.avg 功能是求整形数组中的前若干个元素的平均值,设数组元素个数最多不超过 10,则下列函数说明语句错误的是_。(分数:1.00)A.int avg(int*a, int n);B.int a

12、vg(int a10, int n);C.int avg(int a, int n);D.int avg(int a, int n);30.有以下程序: #includestdio.h #includestring.h main() printf“%d/n“, strlen(“%d/n“, strlen(“ATS/n012/|“); 程序运行后的输出结果是_。(分数:1.00)A.3B.8C.4D.931.有以下程序: #includestdio.h main() char a20, b20, c20; scanf(“%s%s“, a, b); gets(c); printf(“%s%s%s/

13、n“, a, b, c); 程序运行时从第一列开始输入: This is a cat!回车 则输出结果是_。(分数:1.00)A.Thisisacat!B.Thisis aC.Thisis a cat!D.Thisisa cat!32.以下函数不能用于向文件中写入数据的是_。(分数:1.00)A.ftellB.fwriteC.fputcD.fprintf33.有以下程序: #includestdio.h void func(int n) int i; for(i=0; i=n; i+)printf(“*“); printf(“#“); main() func(3); printf(“?“);

14、func(4); printf(“n“); 程序运行后的输出结果_。(分数:1.00)A.*#?*#B.*#?*#C.*#?*#D.*#?*#34.有以下程序: #includestdio.h void fun(int*s) static int j=0; dosj=sj+sj+1; while(+j2); main() int k.a10=1, 2, 3, 4, 5; for(k=1; k3; k+)fun(a); for(k=0; k5; k+)pfintf(“%d“, ak); printf(“n“); 程序运行后的输出结果是_。(分数:1.00)A.12345B.23445C.3475

15、6D.3574535.设变量均已正确定义并赋值,以下与其他三组输出结果不同的一组语句是_。(分数:1.00)A.x+; printf(“%d/n“, x);B.n=+x; printf(“%d/n“, n);C.+x; printf(“%d/n“, x);D.n=x+; printf(“%d/n“, n);36.有以下程序: #includestdio.h void exch(int t) t0=ts; main() int x10=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, i=0; while(i=4)exch( i+; for(i=0; i5; i+)printf(“%

16、d“, xi); printf(“/n“); 程序运行后输出的结果是_。(分数:1.00)A.2 4 6 8 10B.1 3 5 7 9C.1 2 3 4 5D.6 7 8 9 1037.设有以下程序段: struct MP3 char name20; char color; float price; std, *ptr; ptr= 若要引用结构体变量 std 中的 color 成员,写法错误的是_。(分数:1.00)A.std.colorB.ptr-colorC.std-colorD.(*ptr)color38.有以下程序: #includestdio.h struct stu int nu

17、m; char name10; int age; ; void fun(struct stu *p) printf(“%s/n“, p-name); main() struct stu x3=01, “Zhang“, 20, 02, “Wang“, 19, 03, “Zhao“, 18; fun(x+2); 程序运行后的输出结果是_。(分数:1.00)A.ZhangB.ZhaoC.WangD.1939.有以下程序: #includestdio.h main() int a=12, c; c=(a2)1; printf(“%d/n“, c); 程序运行后的输出结果是_。(分数:1.00)A.3B

18、.50C.2D.9640.有以下程序: #includestdio.b void fun(char c) if(c“x“)fun(c-1); printf(“%c“, c); traia() fun(“z“); 程序运行后的输出结果是_(分数:1.00)A.xyzB.wxyzC.xzyD.zyx二、程序填空题(总题数:1,分数:18.00)41.请补充 main()函数,该函数的功能是:把一个字符串中的所有小写字母字符全部转换成大写字母字符,其他字符不变,结果保存在原来的字符串中。 例如,当 strM=“abcdef123ABCD“,结果输出:“ABCDEF123ABCD”。 注意:部分源程序

19、给出如下。 请勿改动 main()函数和其他函数中的任何内容,仅在横线上填入所编写的若干表达式或语句。 试题程序: #includestdio.h #includestdlib.h #includeconio.h #define M 80 void main() int j; char strM=“abcdef123ABCD“; char *pf=str; system(“CLS“); printf(“*original string*/n“); puts(str); 1 while(*(pf+j) if(*(pf+j)=“a“ 3; else j+; printf(“*new string*

20、/n“); puts(str); system(“pause“); (分数:18.00)三、程序改错题(总题数:1,分数:20.00)42.下列给定程序中,函数 proc()的功能是:根据输入的 3 个边长(整型值),判断能否构成三角形:若能构成等边三角形,则返回 3;若是等腰三角形,则返回 2;若能构成三角形则返回 1;若不能,则返回 0。 例如,输入 3 个边长分别为 3,4,5,实际输入时,数与数之间以 Enter 键分隔而不是逗号。 请修改程序中的错误,使它能得出正确的结果。 注意:不要改动 main()函数,不得增行或删行,也不得更改程序的结构。 试题程序: #includestdi

21、o.h #includemath.h int proc(int a, int b, int c) if(a+bc else if(a=b|b=-c|a=c) return 2; |*found* else return 3; else return 0; void main() int a, b, C, shape; printf(“/nInput a, b, c:“); scanf(“%d%d%d“, printf(“/na=%d, b=%d, c=%d/n“, a, b, c); shape=proc(a, b, c); printf(“/n/nThe shape: %d/n“, shap

22、e); (分数:20.00)_四、程序设计题(总题数:1,分数:18.00)43.请编写函数 proc(),其功能是:将 str 所指字符串中下标为偶数的字符删除,串中剩余字符形成的新串放在 t 所指数组中。 例如,当 str 所指字符串中的内容为 abcdefg,则在 t 所指数组中的内容应是 bdf。 注意:部分源程序给出如下。 请勿改动 main()函数和其他函数中的任何内容,仅在函数 proc()的花括号中填入所编写的若干语句。 试题程序: #includestdlib.h #includeconio.h #includestdio.h #includestring.h void pr

23、oc(char*str, char t) void main() char str100, t100; system(“CLS“); printf(“/nPlease enter string str: “); scanf(“%s“, str); proc(str, t); printf(“/nThe result is: %s/n“, t); (分数:18.00)_二级 C 语言-116 答案解析(总分:96.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.在下列模式中,能够给出数据库物理存储与物理存取方法的是_。(分数:1.00)A.外模式B.内模式 C.概念模

24、式D.逻辑模式解析:解析 数据库领域公认的标准结构是三级模式结构,它包括外模式、模式和内模式,有效地组织、管理数据,提高了数据库的逻辑独立性和物理独立性。用户级对应外模式,概念级对应模式,物理级对应内模式,使不同级别的用户对数据库形成不同的视图。2.以下选项中不合法的用户标识符是_。(分数:1.00)A._123B.printfC.A$ D.Dim解析:解析 C 语言规定标识符只能由字母、数字、下划线组成,并且只能由字母或下划线开头,不能以数字开头。C 项中包含$特殊符号,所以 C 项不合法。3.可在 C 程序中用作用户标识符的一组标识符是_。(分数:1.00)A.voiddefineWORD

25、B.as_b3_123If C.For_abccaseD.2cDOSIG解析:解析 C 语言中用户标识符不能与 c 编译系统已经预定义的、具有特殊用途的保留标识符(即关键字)同名。选项 A,define,void 为关键字;选项 C,for,case 为关键字;选项 D,DO 为关键字。4.针对简单程序设计,以下叙述的实施步骤顺序正确的是_。(分数:1.00)A.确定算法和数据结构、编码、调试、整理文档 B.编码、确定算法和数据结构、调试、整理文档C.整理文档、确定算法和数据结构、编码、调试D.确定算法和数据结构、调试、编码、整理文档解析:解析 C 语言中程序中的步骤实现为:先确定程序中的算法

26、和数据结构,然后进行程序的编码,再进行对程序的调试,最后进行文档的整理和记录。使用这种步骤可以方便程序的编写以及在完成后提高代码的重用性。5.在满足实体完整性约束的条件下_。(分数:1.00)A.一个关系中应该有一个或多个候选关键字 B.一个关系中只能有一个候选关键字C.一个关系中必须有多个候选关键字D.一个关系中可以没有候选关键字解析:解析 实体完整性约束是指一个关系具有某种唯一性标识,其中主关键字为唯一标识,而主关键字中的属性不能为空。候选关键字可以有一个或者多个,答案选择 A。6.若变量已正确定义为 float 型,要通过输入语句:scanf(“%f%f%f“, 给 a 赋值 11.0,

27、b赋值 22.0,c 赋值 33.0,不正确的输入形式是_。(分数:1.00)A.112233B.11.0,22.0,33.0 C.11.022.0 33.0D.112233解析:解析 B 中不应该加“,”号。7.以下关于算法的叙述中错误的是_。(分数:1.00)A.算法可以用伪代码、流程图等多种形式来描述B.一个正确的算法必须有输入 C.一个正确的算法必须有输出D.用流程图描述的算法可以用任何一种计算机高级语言编写成程序代码解析:解析 一个正确的算法应该有零个或者多个输入。8.下面不属于需求分析阶段任务的是_。(分数:1.00)A.确定软件系统的功能需求B.确定软件系统的性能需求C.制订软件

28、集成测试计划 D.需求规格说明书评审解析:解析 需求分析阶段是确定软件的功能和性能的要求,最后产生一个需求规格说明书,同时制订系统测试计划。其中集成测试计划不是在需求分析阶段,所以答案选择 C。9.下列叙述中正确的是_。(分数:1.00)A.为了建立一个关系,首先要构造数据的逻辑关系 B.表示关系的二维表中各元组的每一个分量还可以分成若干数据项C.一个关系的属性名表称为关系模式D.一个关系可以包括多个二维表解析:解析 元组分量的原子性要求二维表中元组的分量是不可分割的基本数据项。关系的框架称为关系模式。一个称为关系的二维表必须同时满足关系的 7 个性质。10.在软件设计中不使用的工具是_。(分

29、数:1.00)A.系统结构图B.程序流程图C.PAD 图 D.数据流图(DFD 图)解析:解析 数据分析主要使用的是数据流图和数据字典,概念设计阶段使用的是系统结构图,在详细设计阶段使用的是程序流程图。所以答案选择 C。11.下列叙述中正确的是_。(分数:1.00)A.循环队列是队列的一种链式存储结构B.循环队列是队列的一种顺序存储结构 C.循环队列是非线性结构D.循环队列是一种逻辑结构解析:解析 循环队列是线性结构,所以 C 选项错误,存储结构是数据在计算机中的表示,循环队列在计算机内是顺序存储结构,所以答案选择 B。12.关于 C 语言中数的表示,以下叙述中正确的是_。(分数:1.00)A

30、.只有整型数在允许范围内能精确无误地表示,实型数会有误差 B.只要在允许范围内整型数和实型数都能精确地表示C.只有实型数在允许范围内能精确无误地表示,整形数会有误差D.只有用八进制表示的数才不会有误差解析:解析 当数据类型是实数时,在存储过程中,当小数部分无限长时,会存在小数部分的截断,会存在误差,所以答案选择 A。13.若变量 a、b、t 已正确定义,要将 a 和 b 中的数进行交换,以下选项中不正确的语句组是_。(分数:1.00)A.a=a+b,b=a-b,a=a-b;B.t=a,a=b,b=t;C.a=t;t=b;b=a; D.t=b;b=a;a=t;解析:解析 C 项开始 a=t,a

31、的值就没了,a 的值就被 t 的值代替,最后 b=a,b 中的值拿到的是 t 中的值。14.以下叙述中错误的是_。(分数:1.00)A.一个 C 程序中可以包含多个不同名的函数B.一个 C 程序只能有一个主函数C.C 程序在书写时,有严格的缩进要求,否则不能编译通过 D.C 程序的主函数必须用 main 作为函数名解析:解析 C 语言程序中有且只有一个主函数,但允许自定义多个函数。主函数的表示方法为 main(),所以答案选择 C。15.设有以下语句 char ch1, ch2; scanf(“%c%c“, 若要为变量 ch1 和 ch2 分别输入字符 A 和 B,正确的输入形式应该是_。(分

32、数:1.00)A.A 和 B 之间用逗号间隔B.A 和 B 之间不能有任何间隔符 C.A 和 B 之间可以用回车间隔D.A 和 B 之间用空格间隔解析:解析 scanf 输入函数中,格式控制必须严格按照函数中的要求进行输入,在 scanf(“%c%c“, B.char str10=“guest“;C.char*str3; strt=“guest“;D.char str310; str1=“guest“; 解析:解析 在 D 选项中,首先定义了一个二维数组 str,str1=“guest“,在赋值时使用一个字符串进行赋值是错误的,所以答案选择 D。18.若 k 是 int 类型变量,且有以下 f

33、or 语句: for(k=-1; k0; k+)printf(“*/n“); 下面关于语句执行情况的叙述中正确的是_。(分数:1.00)A.循环体执行一次 B.循环体执行两次C.循环体一次也不执行D.构成无限循环解析:解析 本题考查简单的 for 语句,程序中当 k0 时循环才执行,所以答案选择 A。19.以下选项中,能表示逻辑值“假”的是_。(分数:1.00)A.1B.0.000001C.0 D.100.0解析:解析 本题考查逻辑值假,在程序中非 0 字符表示逻辑真,0 表示逻辑假,所以答案选择 C。20.有以下程序: #includestdio.h main() int a; scanf(

34、“%d“, if(a+9)printf(“%d/n“, a); clsc printf(“%d/n“, a-); 程序运行时从键盘输入 9回车,则输出结果是_。(分数:1.00)A.10 B.11C.9D.8解析:解析 本题考查简单的运算符操作,当输入 9 时,(a+9)为假,所以执行 else 语句中的printf(“%d/n“, a-),在执行时,a 经过 a+操作 a=10,所以答案为 A。21.有以下程序: #includestdio.h main() int s=0, n; for(n=0; n3; n+) switch(s) case 0; case 1: s+=1; case 2

35、: s+=2; break; case 3: s+=3; default: s+=4; printf(“%d, “s); 程序运行后的输出结果是_。(分数:1.00)A.1,2,4,B.1,3,6,C.3,10,14, D.3,6,10,解析:解析 本题考查 switchcase 语句,在本题的程序中,只有在 case 2: s=s+2; break;,才有break 语句,所以当 s=0 时会执行 s=s+1; s=s+2;,所以 s=3;当 s=3 时,会执行 s=s+3; s=s+4;,所以s=10,依次类推,答案选择 C。22.有以下程序: #includestdio.h #defin

36、e S(x)(x)“x“2 main() int k=5, j=2; printf(“%d, “, S(k+j); printf(“%d/n“, S(k-j); 程序运行后的输出结果是_。(分数:1.00)A.98,18B.39,11 C.39,18D.98,11解析:解析 S(k+j)=(k+j)*k+j*2=(5+2)*5+2*2=39,同理 S(k-1)=(k+j)*k+i*2=(5-2)*5-2*2=11,所以答案选择 B。23.有以下程序: #includestdio.h main() char a, b, c; b=“1“; c=“A“; for(a=0; a6; a+) if(a

37、%2)putchar(b+a); else putchar(c+a); 程序运行后的输出结果是_。(分数:1.00)A.183D5FB.ABCDEFC.A2C4E6 D.123456解析:解析 本题考查 putehar 输出语句,当 a=0 时,a%2=0,执行 else 语句,所以第一次输出 A;当a=1 时,a%2=1,执行 if 语句,所以第二次输出 2,依次类推,所以答案选择 C。24.设有如下定义语句: int m=2, 4, 6, 8, 10, *k=m; 以下选项中,表达式的值为 6 的是_。(分数:1.00)A.*(k+2) B.k+2C.*k+2D.*k+=2解析:解析 本题

38、考查数组和指针,*k 指针是指向 m 数组的首地址,所以要使表达式的值为 6,只需要指针指向第 m2,所以答案选择 A。25.fun 函数的功能是:通过键盘输入给 x 所指的整型数组所有元素赋值。在横线处应填写的是_。 #includestdio.h #define N 5 void fun(int xN) int m; for(m=N-t; m=0; m-)scanf(“%d“, _); (分数:1.00)A.% k=1, m=8; p1= a=/*p1-m; b=*p1+*p2+6; printf(“%d“, a); printf(“%d/n“, b); 编译时编译器提示错误信息,你认为出

39、错的语句是_。(分数:1.00)A.a=/*p1-m; B.b=*p1+*p2+6;C.k=1, m=8;D.p1=解析:解析 本题考查指针,p1= c=(a=a-5); (a=b, b+=4); printf(“%d, %d, %d/n“, a, b, c); 程序运行后的输出结果是_。(分数:1.00)A.0,4,5 B.4,4,5C.4,4,4D.0,0,0解析:解析 本题考查简单的赋值运算,在程序中 c=(a-=a-5),先算括号中的 a-=a-5=5,所以 c=5,再计算(a=b,b+=4);,a=b=0,b+=4=0+4=4,所以 b=4,所以 a=0,b=4,c=5,答案选择 A

40、。29.avg 功能是求整形数组中的前若干个元素的平均值,设数组元素个数最多不超过 10,则下列函数说明语句错误的是_。(分数:1.00)A.int avg(int*a, int n);B.int avg(int a10, int n);C.int avg(int a, int n); D.int avg(int a, int n);解析:解析 对于数组参数传递时 C 语言中内部都使用指针进行传递,而 C 选项中形参为两个 int 型的值,所以答案选择 C。30.有以下程序: #includestdio.h #includestring.h main() printf“%d/n“, strle

41、n(“%d/n“, strlen(“ATS/n012/|“); 程序运行后的输出结果是_。(分数:1.00)A.3B.8 C.4D.9解析:解析 本题考查 strlen 函数和转移字符,strlen 函数的功能是求字符串的长度,在本题中有“/”,C 语言中“/”是转义字符,在计算长度时会将转义字符及后面的第一个字符作为 1 个长度进行计算,所以答案选择 B。31.有以下程序: #includestdio.h main() char a20, b20, c20; scanf(“%s%s“, a, b); gets(c); printf(“%s%s%s/n“, a, b, c); 程序运行时从第一

42、列开始输入: This is a cat!回车 则输出结果是_。(分数:1.00)A.Thisisacat!B.Thisis aC.Thisis a cat! D.Thisisa cat!解析:解析 在输入字符串时,空格表示输入结束,所以 a=“This“,b=“is“,c=“a cat“,所以在输出时会输出 Thisis a cat!。32.以下函数不能用于向文件中写入数据的是_。(分数:1.00)A.ftell B.fwriteC.fputcD.fprintf解析:解析 hell 是返回文件当前指针。33.有以下程序: #includestdio.h void func(int n) in

43、t i; for(i=0; i=n; i+)printf(“*“); printf(“#“); main() func(3); printf(“?“); func(4); printf(“n“); 程序运行后的输出结果_。(分数:1.00)A.*#?*#B.*#?*#C.*#?*#D.*#?*# 解析:解析 本题考查简单的 for 循环,func(3)由于 i 是从 0 开始,所以会输出四个“*”和一个“#”,然后打印四个“?”func(4),会输出五个“*”和一个“#”,所以答案选择 D。34.有以下程序: #includestdio.h void fun(int*s) static int

44、 j=0; dosj=sj+sj+1; while(+j2); main() int k.a10=1, 2, 3, 4, 5; for(k=1; k3; k+)fun(a); for(k=0; k5; k+)pfintf(“%d“, ak); printf(“n“); 程序运行后的输出结果是_。(分数:1.00)A.12345B.23445C.34756D.35745 解析:解析 本题考查静态变量,静态变量有储存已经操作过的值,所以 fun(a)s0=3,s1=5,s2=7,所以答案选择 D。35.设变量均已正确定义并赋值,以下与其他三组输出结果不同的一组语句是_。(分数:1.00)A.x+;

45、 printf(“%d/n“, x);B.n=+x; printf(“%d/n“, n);C.+x; printf(“%d/n“, x);D.n=x+; printf(“%d/n“, n); 解析:解析 本题考查+运算操作符,当+在变量前面时,是先加 1 再赋值,当+在变量后面时,是先赋值再加 1,所以答案选择 D。36.有以下程序: #includestdio.h void exch(int t) t0=ts; main() int x10=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, i=0; while(i=4)exch( i+; for(i=0; i5; i+)printf(“%d“, xi); printf(“/n“); 程序运行后输出的结果是_。(分数:1.00)A.2 4 6 8 10B.1 3 5 7 9C.1 2 3 4 5D.6 7 8 9 10 解析:解析 本题中 exch 函数是用数组中的第 6 个元素对第 1 个元素进行赋值,所以数组的值应该为 6 7 8 9 10。37.设有以下程序段: struct MP3 char name20; char color; float price; std, *ptr; ptr= 若要引用结构体变量 std 中的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

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