【计算机类职业资格】二级C语言-116及答案解析.doc
《【计算机类职业资格】二级C语言-116及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言-116及答案解析.doc(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
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 116 答案 解析 DOC
