【计算机类职业资格】二级C语言-277 (1)及答案解析.doc
《【计算机类职业资格】二级C语言-277 (1)及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言-277 (1)及答案解析.doc(18页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言-277 (1)及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:100.00)1.数据的存储结构是指_。(分数:2.50)A.数据所占的存储空间B.数据的逻辑结构在计算机中的存放形式C.数据在计算机中的顺序存储方式D.存储在计算机外存中的数据2.以下选项中正确的整型常量是_。(分数:2.50)A.12.B.-20C.1,000D.4563.关系数据库管理系统能实现的专门关系运算包括_。(分数:2.50)A.排序、索引、统计B.选择、投影、连接C.关联、更新、排序D.显示、打印、制表4.已知二叉树后序遍历序列是 dabec,中序遍历序列是 de
2、bac,那么它的前序遍历序列是_。(分数:2.50)A.achedB.decabC.deabcD.cedba5.若变量已正确定义并赋值,符合 C 语言语法的表达式是_。(分数:2.50)A.a=a+7;B.a=7+b+c, a+C.int(12.3%4)D.a=a+7=c+b6.设有二元关系 R 和三元关系 S,下列运算合法的是_。(分数:2.50)A.RSB.RSC.R-SD.RS7.两个或两个以上模块之间联系的紧密程度称为_。(分数:2.50)A.耦合性B.内聚性C.复杂性D.数据传输特性8.设 a=1,b=2,c=3,d=4,则表达式:“ab?a:bb?a:cd?a:d”的结果为_。(分
3、数:2.50)A.4B.3C.2D.19.若有定义:“int a=4, b=5; float x=3.4, y=2.1;”,则下列表达式的值为_。 (float)(a+b)/2+(int)x%(int)y;(分数:2.50)A.5.5B.55C.5.500000D.55.0000010.下列程序的输出结果是_。 main() int a, b, d=25; a=d/10%9; b=a printf(“%d, %d/n“, a, b); (分数:2.50)A.6,1B.2,1C.6,0D.2,011.以下叙述中正确的是_。(分数:2.50)A.在 C 程序中无论是整数还是实数,只要在允许的范围内
4、都能准确无误地表示B.C 程序由主函数组成C.C 程序由若干函数组成D.C 程序中只允许包含一个函数12.以下能正确定义二维数组的是_。(分数:2.50)A.int a3;B.int a3=2*3;C.int a3=;D.int a23=1, 2, 3, 4;13.语句 int(*ptr)()的含义是_。(分数:2.50)A.ptr 是一个返回值为 int 的函数B.ptr 是指向 int 型数据的指针变量C.ptr 是指向函数的指针,该函数返回一个 int 型数据D.ptr 是一个函数名,该函数的返回值是指向 int 型数据的指针14.要求通过 while 循环不断读入字符,当读入字母 N
5、时结束循环,若变量已正确定义,下列正确的程序段是_。(分数:2.50)A.while(ch=getchar()!=“N“)printf(“%c“, ch);B.while(ch=getchar()!=“N“)printf(“%c“, ch);C.while(ch=getchar()=“N“)printf(“%c“, ch);D.while(ch=getchar()=“N“)printf(“%c“, ch);15.下列说法不正确的是_。(分数:2.50)A.调用函数时,实参可以是表达式B.调用函数时,实参与形参可以共用内存单元C.调用函数时,将实参的值复制给形参,使实参变量和形参变量在数值上相等
6、D.调用函数时,实参与形参的类型必须一致16.有下列程序: main() int y=10 doy-; while(-y); printf(“%d/n“, -y); 当执行程序时,输 m 的结果是_。(分数:2.50)A.-1B.1C.4D.017.若已包括头文件string.h且已有定义 char s118,s2=“ABCDE“和 int i,现要将字符串“ABCDE“赋给 s1,下列语句错误的是_。(分数:2.50)A.strcpy(s1, s2)B.strcpy(s1, “ABCDE“);C.s1=“ABCDE“;D.for(i=0; i6; i+) s1i=s2i18.在位运算中,操作
7、数每左移两位,其结果相当于_。(分数:2.50)A.操作数乘以 2B.操作数除以 2C.操作数除以 4D.操作数乘以 419.以下程序的输出结果是_。 main() int a=7, b=8, *p, *q, *r; p= q= r=p; p=q; q=r; printf(“%d, %d, %d, %d/n“, *p, *q, a, b); (分数:2.50)A.8,7,8,7B.7,8,7,8C.8,7,7,8D.7,8,8,720.有以下程序: #includestdio.h main() int x=10, y=3; printf(“%d/n“, y=x/y); 执行后的输出结果是_。(
8、分数:2.50)A.0B.1C.3D.不确定的值21.下列程序的运行结果为_。 #includestdio.h main() struct date int year, month, day; today; printf(“%d/n“, sizeof(struct date); (分数:2.50)A.8B.6C.10D.1222.有以下程序: #includestdio.h struct stu int num; char name10; int age; void fun(struct stu *p) printf(“%s/n“, (*p).name); main() struct stu
9、students3=9801, “Zhang“, 20 9802, “Wang“, 19, 9803, “Zhao“, 18 fun(students+2); 输出的结果是_。(分数:2.50)A.ZhangB.ZhaoC.WangD.1823.有以下程序: viod fun(int a, int b, int c) a=456; b=567; c=678; main() int x=10, y=20, z=30; fun(x, y, z); printf(“%d, %d, %d/n“, x, y, z); 输出的结果是_。(分数:2.50)A.30,20,10B.10,20,30C.456,
10、567,678D.678,567,45624.有以下结构说明和变量定义,指针 p、q、r 分别指向链表中的 3 个连续结点。 struct node int data; struct node*next; *p, *q, *r; 现要将 q 所指结点从链表中删除,同时要保持链表的连续,以下不能按要求完成操作的语句是_。(分数:2.50)A.p-next=q-next;B.p-next=p-next-next;C.p-next=r;D.p=q-next;25.有定义:“int a=2, b=3, c=4;”,则下列选项中值为 0 的表达式是_。(分数:2.50)A.(!a=1)B.t=fun(“
11、D“, 16.5);C.fun(“65“, 2.8);D.fun(32, 32);27.有下列程序: main() char p=“a“, “b“, “c“, q=“abc“; printf(“%d%d/n“, sizeof(p), sizeof(q); 程序运行后的输 m 结果是_。(分数:2.50)A.4 4B.3 3C.3 4D.4 328.判断 char 型变量 c 是否为大写字母的最简单且正确的表达式是_。(分数:2.50)A.“A“=c=“Z“B.(c=“A“)|(c=“Z“)C.(“A“=c)AND(“Z“=c)D.(c=“A“) p= for(x=1; x3; x+) y+=p
12、x; printf(“%d/n, y“); 程序运行后的输出结果是_。(分数:2.50)A.10B.11C.14D.1530.有下列程序: void sort(int a, int n) int i, j, t; for(i=0; in-1; i+) for(j=i+1; jn; j+) if(aiaj)t=ai; ai=aj; aj=t; main() int aa10=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, i; sort(aa+2, 5); for(i=0; i10; i+) printf(“%d, “, aai); printf(“/n“); 程序运行后的输出结果
13、是_。(分数:2.50)A.1,2,3,4,5,6,7,8,9,10,B.1,2,7,6,3,4,5,8,9,10,C.1,2,7,6,5,4,3,8,9,10,D.1,2,9,8,7,6,5,4,3,10,31.有以下程序段: int x=3; do printf(“%3d“, x-=2); while(!(-x); 程序段的输出结果是_。(分数:2.50)A.1B.3 0C.1-2D.死循环32.下列程序的输出结果是_。 int f1(int x, int y)return xy? x:y; int f2(int x, int y)return xy? y:x; main() int a=
14、4, b=3, c=5, d=2, e, f, g; e=f2(f1(a, b), f1(c, d); f=f1(f2(a, b), f2(c, d); g=a+b+c+d-e-f; printf(“%d, %d, %d/n“, e, f, g); (分数:2.50)A.4,3,7B.3,4,7C.5,2,7D.2,5,733.下列程序的输出结果是_。 #includestdio.h main() int a=3, b=2, c=1; if(ab) if(b0)c=0; else c+; printf(“%d/n“, c); (分数:2.50)A.2B.0C.1D.不确定的值34.下述程序的输
15、出结果是_。 #includestdio.h main() char ch25=“1234“, “5678“, *p2; int i, j, s=0; for(i=0; i2; i+) pi=chi; for(i=0; i2; i+) s=pij-“0“; printf(“%d“, s); (分数:2.50)A.6357B.6135C.37D.69135735.下述程序的输出结果是_。 #includestdio.h main() int a23=1, 2, 3, 4, 5, 6, (*p)3, i; p=a; for(i=0; i3; i+) if(i2) p1i=p1i-1; else p
16、1i=1; printf(“%d/n“, a01+a11+a12); (分数:2.50)A.8B.7C.12D.936.若有以下说明,则_不是对 strcpy 库函数正确的调用。 strcpy 库函数用于复制一个字符串:char*str1=“abcd“, str210, *str3=“hijklmn“, *str42, *str5=“aaaa“;(分数:2.50)A.strcpy(str2, str1)B.strcpy(str3, str1)C.strcpy(str1, str2)D.strcpy(str5, str1)37.执行下述程序后,输出的结果是_。 #includestdio.h #
17、define S(X) X*X void main() int a=9, k=3, m=2; a/=S(k+m)/S(k+m); printf(“%d“, a); (分数:2.50)A.1B.4C.9D.038.已知有如下结构体: struct sk int a; float b; data, *p; 若有 p=C.p-data.aD.data.a39.下述程序的输出结果是_。 #includestdio.h void main() int b6=2, 4, 6, 8, 10, 12; int *p=b, *q= printf(“%d, “, *(p+); printf(“%d, “, *q)
18、; (分数:2.50)A.4,4B.2,2C.4,5D.2,440.有以下程序: #includestdio.h main() char X=“A“; x=(x=“A“ printf(“%c/n“, x); 程序的输出结果是_。(分数:2.50)AABaCZDz二级 C 语言-277 (1)答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:100.00)1.数据的存储结构是指_。(分数:2.50)A.数据所占的存储空间B.数据的逻辑结构在计算机中的存放形式 C.数据在计算机中的顺序存储方式D.存储在计算机外存中的数据解析:解析 数据的存储结构,又称为数据的物理
19、结构,是数据的逻辑结构在计算机中的存放形式。2.以下选项中正确的整型常量是_。(分数:2.50)A.12.B.-20 C.1,000D.456解析:解析 选项 A,为 float 类型;选项 C,中间有逗号不是一个常量;选项 D,中间有空格,是三个连续的整形常量。3.关系数据库管理系统能实现的专门关系运算包括_。(分数:2.50)A.排序、索引、统计B.选择、投影、连接 C.关联、更新、排序D.显示、打印、制表解析:解析 关系数据库管理系统的专门关系运算包括选择运算、投影运算和连接运算。4.已知二叉树后序遍历序列是 dabec,中序遍历序列是 debac,那么它的前序遍历序列是_。(分数:2.
20、50)A.achedB.decabC.deabcD.cedba 解析:解析 二叉树的遍历有 3 种:前序、中序和后序。前序遍历访问根结点,然后按左右顺序遍历子结点;中序首先遍历左子树,然后访问根结点,最后遍历右子树;后序遍历首先遍历左子树,然后遍历右子树,最后访问根结点。本题根据后序和中序遍历的结果可以得出二叉树的结构,然后再对其进行前序遍历,正确答案选项为 D。5.若变量已正确定义并赋值,符合 C 语言语法的表达式是_。(分数:2.50)A.a=a+7;B.a=7+b+c, a+ C.int(12.3%4)D.a=a+7=c+b解析:解析 选项 A,不是表达式,是语句;选项 B,是逗号表达式
21、;选项 C,12.3 是小数不能做%运算;选项 D,a+7 不能放在表达式左边。6.设有二元关系 R 和三元关系 S,下列运算合法的是_。(分数:2.50)A.RSB.RSC.R-SD.RS 解析:解析 本题给出的两个关系 R 与 S 的表结构是不同的(R 是二元关系,S 是三元关系),它们不能进行“、-”运算,却可以进行笛卡儿积()运算。7.两个或两个以上模块之间联系的紧密程度称为_。(分数:2.50)A.耦合性 B.内聚性C.复杂性D.数据传输特性解析:解析 耦合性用来表示模块间互相连接的紧密程度的度量,它取决于各个模块之间接口的复杂度、调用方式以及哪些信息通过接口。8.设 a=1,b=2
22、,c=3,d=4,则表达式:“ab?a:bb?a:cd?a:d”的结果为_。(分数:2.50)A.4B.3C.2D.1 解析:解析 在三目运算符中,优先级相同,按从右到左的结合性计算,ab?a:(cd?a:d)cd 成立,所以取值 a,以此可得,选择 D 选项。9.若有定义:“int a=4, b=5; float x=3.4, y=2.1;”,则下列表达式的值为_。 (float)(a+b)/2+(int)x%(int)y;(分数:2.50)A.5.5B.55C.5.500000 D.55.00000解析:解析 在计算(float)(a+b)/2 时,由于通过强制类型转换将(a+b)转换成了
23、 float 型,所以应先将 2 转换成 float 型,再进行计算,得 4.500000。 在计算(int)x%(int)y 时,先将 x 和 y 通过强制类型转换成 int 型,再进行求余运算,结果为 1。又因为4.500000 是 float 型,所以将 1 和它相加时,先将 1 换成 float 型,再计算,得到 5.500000。 类型转换的一般规则是低级类型从高级类型进行相应的转换。数据类型的级别由低到高的排序表示为:charintunsignedlogfloatdouble。10.下列程序的输出结果是_。 main() int a, b, d=25; a=d/10%9; b=a
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 2771 答案 解析 DOC
