【计算机类职业资格】二级C语言分类模拟题539及答案解析.doc
《【计算机类职业资格】二级C语言分类模拟题539及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言分类模拟题539及答案解析.doc(18页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言分类模拟题 539 及答案解析(总分:61.00,做题时间:90 分钟)一、选择题(总题数:40,分数:61.00)1.以下叙述中正确的是_。(分数:2.00)A.结构体类型中各个成分的类型必须是一致的B.结构体类型中的成分只能是 C 语言中预先定义的基本数据类型C.在定义结构体类型时,编译程序就为它分配了内存空间D.一个结构体类型可以由多个称为成员(或域)的成分组成2.以下程序中给数组所有元素输入数据,请从选项中选择正确的答案填入下划线处。 #includestdio.h main() int a10,i=0; while(i10)scanf(“%d“,_); (分数:1.00
2、)A.a+(i+)B. int i; a=“3“; b=“A“; for(i=0;i6;i+) if(i%2)putchar(a+i); else putchar(b+i); 程序运行后的输出结果是_。(分数:1.00)A.AB56EFB.A4C6E8C.B4D6F8D.A5C7E94.有以下程序: main() int a=2, 4, 6, 8, 10, y=0, x, *p; p= for(x=1; x3; x+) y+=px; printf(“%d/n, y“); 程序运行后的输出结果是_。(分数:2.50)A.10B.11C.14D.155.有以下程序: #includestdio.h
3、 struct S int n;int a20; void f(struct S*p) int i,j,t; for(i=0;ip-n-1;i+) for(j=i+1;jp-n;j+) if(p-aip-aj) t=p-ai; p-ai=p-aj; p-aj=t; main() int i; struct S s=10,2,3,1,6,8,7,5,4,10,9; f( for(i=0;is.n;i+) printf(“%d,“,s.ai); 程序的运行结果是_。(分数:2.00)A.2,3,1,6,8,7,5,4,10,9,B.10,9,8,7,6,5,4,3,2,1,C.1,2,3,4,5,
4、6,7,8,9,10,D.10,9,8,7,6,1,2,3,4,5,6.假定当前盘符下有两个文本文件,如下 文件名 a1.txt a2.txt 内容 123# 321# 则下面程序段执行后的结果为 #include“stdio.h“ void fc(FILE*p) char c; while(c=fgetc(p)!=“#“)putchar(c); main() FILE *fp; fp=fopen(“a1.txt“,“r“); fc(fp); fclose(fp); fp=fopen(“a2.txt“,“r“); fc(fp); fclose(fp); putchar(“/n/);(分数:1.
5、00)A.123321B.123C.321D.以上答案都不正确7.以下叙述中错误的是_。(分数:1.00)A.数值型常量有正值和负值的区分B.常量可以用一个符号名来代表C.定义符号常量必须用类型名来设定常量的类型D.常量是在程序运行过程中值不能被改变的量8.有以下程序: #include stdio.h #include stdlib.h int fun(int n) int *p; p=(int*)malloc(aizeof(int); *p=n; return *p; main( ) int a; a=fun(10); printf(“%d/n“,a+fun(10); 程序的运行结果是_。
6、(分数:2.00)A.0B.10C.20D.出错9.下面关于编译预处理的叙述正确的是_。(分数:1.00)A.预处理命令行必须使用分号结尾B.凡是以#号开头的行,都被称为编译预处理命令行C.预处理命令行不能出现在程序的最后一行D.预处理命令行的作用域是到最近的函数结束处10.以下对枚举类型名的定义中正确的是_。(分数:1.00)A.enum a=one, two,three;B.enum aone=9,two=1,three;C.enum a=“one“,“two“,“three“;D.enum a“one“, “two“,“three“;11.以下选项中非法的 C 语言字符常量是_。(分数:
7、2.50)A.“/x9d“B.“9“C.“/x09“D.“/09“12.有以下程序: #include stdio.h int fun(int n) int a; if(n= =1)return 1; a=n+fun(n-1); return(a); main( ) printf(“%d/n“,fun(5); 程序的输出结果是_。(分数:1.00)A.9B.14C.10D.1513.下列不属于软件工程 3 个要素的是_。(分数:2.50)A.工具B.过程C.方法D.环境14.若有定义:int x, *pb; 则正确的赋值表达式是_。(分数:1.00)A.pb=xB.pb=xC.*pb=xD.*
8、pb=*x15.设有两行定义语句: int scanf; float case; 则以下叙述正确的是_。(分数:1.00)A.两行定义语句都不合法B.两行定义语句都合法C.第 1 行语句不合法D.第 2 行语句不合法16.在数据库设计中,将 E-R 图转换成关系数据模型的过程属于_。(分数:1.00)A.需求分析阶段B.概念设计阶段C.逻辑设计阶段D.物理设计阶段17.设整型数 i=5,则 printf(“%d“i+i);的输出为_。(分数:2.00)A.10B.11C.12D.语法错误18.有以下程序 #includestdio.h main() struct STUchar name9;c
9、har sex;double score2; struct STU a=“Zhao“,“m“,85.0,90.0,b=“Qian“,“f“,95.0,92.0; b=a; printf(“%s,%c,%2.0f,%2.0f/n“,b.name,b.sex,b.score0,b.score1); 程序的运行结果是_。(分数:2.00)A.Zhao,m,85,90B.Qian,m,85,90C.Zhao,f,95,92D.Qian,f,95,9219.有两个关系 R 和 S 如下: R A B C a 1 2 b 2 1 c 3 1 S A B C c 3 1 则由关系 R 得到关系 S 的操作是
10、_。(分数:1.00)A.自然连接B并C.选择D.投影20.以下叙述中错误的是_。(分数:1.00)A.函数中的形参属于局部变量B.在函数内部定义的变量只能在本函数范围内使用C.在函数外部定义的变量在所有函数中都有效D.在不同的函数中可以使用相同名字的变量21.以下程序的输出结果是_。 #includestdio.h main() int a=8,b=6,m=1; switch(a%4) case 0:m+; break; case 1:m+; switch(b%3) default:m+; case 0:m+; break; printf(“%d/n“,m);(分数:2.50)A.1B.2C
11、.3D.422.若变量已正确说明为 float 类型,要通过语句 scanf(“%f %f %f“, for(i=1;il0;i+=2) s+=i+1 printf(“%d/n“,s); 程序执行后的输出结果是 _。(分数:2.00)A.自然数 19 的累加和B.自然数 110 的累加和C.自然数 19 中奇数之和D.自然数 110 中偶数之和24.对于循环队列,下列叙述中正确的是_。(分数:1.00)A.队头指针是固定不变的B.队头指针一定大于队尾指针C.队头指针一定小于队尾指针D.队头指针可以大于队尾指针,也可以小于队尾指针25.下列定义数组的语句中,正确的是_。(分数:1.00)A.in
12、t N 10int xN;B.#define N=10;int xN;C.int x010;D.int x;26.下面选项中不是关系数据库基本特征的是_。(分数:1.00)A.不同的列应有不同的数据类型B.不同的列应有不同的列名C.与行的次序无关D.与列的次序无关27.若有以下程序: #include stdio.h main( ) int a=-2,b=0; do + +b; while(a+ +); printf(“%d,%d/n“,a,b); 则程序的输出结果是_。(分数:2.50)A.1,3B.0,2C.1,2D.2,328.以下选项中关于 C 语言常量的叙述错误的是_。(分数:1.0
13、0)A.常量可分为数值型常量和非数值型常量B.常量分为整型常量、实型常量、字符常量和字符串常量C.经常被使用的变量可以定义成常量D.所谓常量,是指在程序运行过程中,其值不能被改变的量29.若有以下程序: #include stdio.h main( ) int a=1,b=2,c=3,d=4; if(a=2) if(c= =3)|(d=-1) a=5; printf(“%d,%d,%d,%d/n“,a,b,c,d); 则程序的输出结果是_。(分数:2.50)A.2,2,2,4B.2,1,2,-1C.5,1,2,-1D.1,2,3,430.若有定义“float x=1.5;int a=1,b=3
14、,c=2;”,则正确的 switch 语句是_。(分数:1.00)A.switch(a+b) case 1: printf(“*/n“);case 2+1: printf(“*/n“);B.switch(int)x); case 1: printf(“*/n“);case 2: printf(“*/n“);C.switch(x) case 1.0: printf(“*/n“);case 2.0: printf(“*/n“);D.switch(a+b) case 1: printf(“*/n“);case c: printf(“*/n“);31.若要求定义具有 10 个 int 型元素的一维数组
15、 a,则以下定义语句中错误的是_。(分数:1.00)A.int n=10,an;int a2*n;B.#define n 5C.int a5+5;D.#define N 10int aN;32.有以下程序: #include stdio.h #include string.h char * a = “you“; char * b = “Welcome you to Beijing!“; main( ) char * p; p = b; while (*p!= *a)p+; p += strlen(a) + 1; printf(“%s/11“,p); 程序运行后的输出结果是_。(分数:1.00)
16、A.Beijing!B.you to Beijing!C.Welcome you to Beijing!D.to Beijing!33.若定义函数 int *func(),则函数 func 的返回值为_。(分数:2.50)A.一个实数B.一个指向整型变量的指针C.一个指向整型函数的指针D.一个整型函数的入口地址34.若变量已正确定义,则语句 s=32;s=32;printf(“%d“,s);的输出结果是_。(分数:2.00)A.-1B.0C.1D.3235.有如下程序: #include stdio.h void convert(char ch) if(eh“X“) convert(ch+1)
17、; printf(“%c“, ch); main( ) convert(“W“); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.YZB.VWC.XYD.XW36.有以下程序 #includestdio.h main() int x32=0,i; for(i=0;i3;i+)scanf(“%d“,xi); printf(“%3d%3d%3d/n“,x00,x01,x10); 若运行时输入:246回车,则输出结果为_。(分数:2.00)A.204B.200C.240D.24637.下面描述中正确的是_。(分数:1.00)A.好的软件设计应是高内聚低耦合B.内聚性和耦
18、合性无关C.内聚性是指多个模块间相互连接的紧密程度D.耦合性是指一个模块内部各部分彼此结合的紧密程度38.将 E-R 图转换为关系模式时,实体和联系都可以表示为_。(分数:2.50)A.属性B键C.关系D域39.以下标识符不是关键宇的是_。(分数:2.00)A.breakB.charC.switchD.return40.若变量已正确定义,在语句“if(W) printf(“%d/n“,k);”中,以下不可替代 W 的是_。(分数:1.00)A.ab+cB.ch=getchar()C.a=b+cD.a+二级 C 语言分类模拟题 539 答案解析(总分:61.00,做题时间:90 分钟)一、选择题
19、(总题数:40,分数:61.00)1.以下叙述中正确的是_。(分数:2.00)A.结构体类型中各个成分的类型必须是一致的B.结构体类型中的成分只能是 C 语言中预先定义的基本数据类型C.在定义结构体类型时,编译程序就为它分配了内存空间D.一个结构体类型可以由多个称为成员(或域)的成分组成 解析:解析 本题考查结构体类型。结构体类型中的成分可以是结构体,所以 B 选项错误;定义结构体时编译程序并不会给它分配内存空间,所以 C 选项错误;结构体中各个成分的类型可以是不一样的,所以A 选项错误。2.以下程序中给数组所有元素输入数据,请从选项中选择正确的答案填入下划线处。 #includestdio.
20、h main() int a10,i=0; while(i10)scanf(“%d“,_); (分数:1.00)A.a+(i+) B. int i; a=“3“; b=“A“; for(i=0;i6;i+) if(i%2)putchar(a+i); else putchar(b+i); 程序运行后的输出结果是_。(分数:1.00)A.AB56EFB.A4C6E8 C.B4D6F8D.A5C7E9解析:解析 程序首先赋值 a 为字符3,赋值 b 为字符A,循环变量 i 的初值为 0,每次循环后自增 1,最大值为 5,if 条件判断 i 的值,当 i 的值为偶数时,将 b 与 i 的和当做字符输出
21、;当 i 的值为奇数时,将 a 与 i 的和当做字符输出;所以 i 为 0 时,输出 b+0 即 A;i 为 1 时,输出 a+1 即4;i 为2 时,输出 b+2 即 C;i 为 3 时输出 a+3 即6,综上,程序运行结果为:A4C6E8,本题答案为 B。4.有以下程序: main() int a=2, 4, 6, 8, 10, y=0, x, *p; p= for(x=1; x3; x+) y+=px; printf(“%d/n, y“); 程序运行后的输出结果是_。(分数:2.50)A.10B.11C.14 D.15解析:解析 由题目的语句 p=int a20; void f(stru
22、ct S*p) int i,j,t; for(i=0;ip-n-1;i+) for(j=i+1;jp-n;j+) if(p-aip-aj) t=p-ai; p-ai=p-aj; p-aj=t; main() int i; struct S s=10,2,3,1,6,8,7,5,4,10,9; f( for(i=0;is.n;i+) printf(“%d,“,s.ai); 程序的运行结果是_。(分数:2.00)A.2,3,1,6,8,7,5,4,10,9,B.10,9,8,7,6,5,4,3,2,1,C.1,2,3,4,5,6,7,8,9,10, D.10,9,8,7,6,1,2,3,4,5,解
23、析:解析 本题中子函数 f 的功能是对结构体变量 s 中第二个成员数组中的所有数据进行从小到大的冒泡排序,所以结果是 C 选项。6.假定当前盘符下有两个文本文件,如下 文件名 a1.txt a2.txt 内容 123# 321# 则下面程序段执行后的结果为 #include“stdio.h“ void fc(FILE*p) char c; while(c=fgetc(p)!=“#“)putchar(c); main() FILE *fp; fp=fopen(“a1.txt“,“r“); fc(fp); fclose(fp); fp=fopen(“a2.txt“,“r“); fc(fp); fc
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 分类 模拟 539 答案 解析 DOC
