【计算机类职业资格】二级C语言分类模拟题541及答案解析.doc
《【计算机类职业资格】二级C语言分类模拟题541及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言分类模拟题541及答案解析.doc(18页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言分类模拟题 541 及答案解析(总分:60.00,做题时间:90 分钟)一、选择题(总题数:40,分数:60.00)1.在 printf 的格式字符中,e 格式字符的作用是_。(分数:2.00)A.以十六进制无符号形式输出整数B.以带符号的十进制形式输出整数C.以指数形式输出实数D.以字符形式输出,且只输出一个字符2.数据结构中,与所使用的计算机无关的是数据的_。(分数:2.50)A.存储结构B.物理结构C.逻辑结构D.线性结构3.有两个关系 R,S 如下: R A B C a 3 2 b 0 1 c 2 1 S A B a 3 b 0 c 2 由关系 R 通过运算得到关系 S,
2、则所使用的运算为_。(分数:1.00)A.选择B.投影C.插入D.连接4.以下不能正确定义二维数组的选项是_。(分数:2.00)A.int a22=1,2);B.int a2=1,2,3,4;C.int a22=1,2,3;D.int a2=1,2),3,4;5.有以下程序: #inelude stdio.h #include string.h typedef struct Stu char name10; char gender; int score; STU; void f(char * name, char * gender, int * score) strcpy(name, “Qia
3、n“); * gender=“f“; * score = 350; main( ) STU a = “Zhao“,“m“,290, b; b = a; f(b.name, printf(“%s,%c,%d,“, a.name,a.gender,a,score); printf(“%s,%c,%d/n“, b.name,b.gender,b.score); 程序运行后的输出结果是_。(分数:1.00)A.Zhao,m,290,Qian,f,350B.Qian,in,290,Zhao,m,290C.Zhao,m,290,Zhao,m,290D.Zhao,m,290,Qian,m,2906.有如下程
4、序: #include stdio.h void convert(char ch) if(eh“X“) convert(ch+1); printf(“%c“, ch); main( ) convert(“W“); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.YZB.VWC.XYD.XW7.有以下程序: #includestdio.h int sum(int*array,int len) if(len=1) return array1; else return array1+sum(array+1,len-1); main() int array5=0,9,1,2
5、,res; res=sum(array,3); printf(“%d/n“,res); 程序运行后的输出结果是_。(分数:1.00)A.27B.11C.8D.128.以下对联合类型叙述正确的是_。(分数:2.00)A.可以对联合变量名直接赋值B.使用联合变量的目的是为了节省内存C.任何一个联合变量可以同时引用联合中的不同成员D.联合类型定义中不能同时出现结构类型的成员9.若定义:int a=511, *b=,则 printf(“%d/n“, *b);的输出结果为_。(分数:0.50)A.无确定值B.a 的地址C.512D.51110.以下程序段的执行结果为_。 #define PLUS(X,Y
6、)X+Y main() int x=1,y=2,z=3,sum; sum=PLUS(x+y,z)*PLUS(y,z); printf(“SUM=%d“,sum); (分数:1.00)A.SUM=9B.SUM=12C.SUM=18D.SUM=2811.以下程序的输出结果是_。 #includestdio.h main() int a=4,b=3,c=2,d=1; printf(“%d“,ab?a:dc?d:b);(分数:2.00)A.1B.3C.2D.412.算法中,对需要执行的每一步操作,必须给出清楚、严格的规定这属于算法的_。(分数:2.00)A.正当性B.可行性C.确定性D.有穷性13.设
7、有某函数的说明为: int*func(int a10,int n); 则下列叙述中,正确的是_。(分数:1.00)A.形参 a 对应的实参只能是数组名B.说明中的 a10写成 a或*a 效果完全一样C.func 的函数体中不能对 a 进行移动指针(如 a+)的操作D.只有指向 10 个整数内存单元的指针,才能作为实参传给 a14.对长度为 n 的线性表作快速排序,在最坏情况下,比较次数为_。(分数:1.00)AnB.n-1C.n(n-1)D.n(n-1)/215.在执行完下面的 C 语句段之后,则 B 的值是_。 char a=“A“; intb; B=(34if(5)y=1;B.int x=
8、5,y=0;if(x)y=1;C.int x=10,y=0;if(x=y)y=1;D.int x=5,y=10;if(x=y)y=1;17.以下程序的输出结果是_。 main() char a=“programming“,b=“language“; char *p1,*p2; int i; p1=a;p2=b; for(i=0;i7;i+) if(*(p1+i)=*(p2+i)printf(“%c“,*(p1+i); (分数:2.00)A.gmB.rgC.orD.ga18.有以下程序: #include stdio.h #define SUB(X,Y) (X+1)*Y main( ) int
9、a=3,b=4; printf(“%d/n“,SUB(a+ +,b+ +); 程序运行后的输出结果是_。(分数:5.00)A.25B.20C.12D.1619.关于程序设计基本概念,以下叙述错误的是_。(分数:1.00)A.计算机可以直接执行由任意高级语言编写的程序B.高级语言都有与之对应的编译程序或解释程序C.用任何一种计算机高级语言都可以把算法转换为程序D.结构化算法可以解决任何复杂的问题20.以下叙述中正确的是( )。(分数:1.00)A.预处理命令行必须位于 C 源程序的起始位置B.在 C 语言巾,预处理命令行都以“#“开头C.每个 C 程序必须在开头包含预处理命令行;#include
10、 stdio.hD.C 语言的预处理不能实现宏定义和条件编译的功能21.有如下程序: #include stdio.h main() int i,*ptr; int array5 = 5,3,1; for(ptr=array, i=0; i5; i+, ptr+) if (*ptr = 0) putchar(“X“); else putchar(“A“+*ptr); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.FDBXXB.FFFXXC.FDBBBD.ABCDE22.若有定义语句:int(*p)M;其中的标识符 p 是(分数:1.00)A.M 个指向整型变量的指
11、针B.指向 M 个整型变量的函数指针C.一个行指针,它指向具有 M 个整型元素的一维数组D.具有 M 个指针元素的一维指针数组,每个元素都只能指向整型量23.有以下程序: #include studio. h #define F(X, Y) (X)*(Y) main ( ) int a=3, b=4; printf(“%d/n“, F(a+, b+); (分数:1.00)A.12B.15C.16D.2024.设有以下程序段: struct person float weight; char sex; char name10; rec, *ptr; ptr= 从键盘读入字符串给结构体变量 rec
12、 的 name 成员,错误的输入语句是_。(分数:1.00)A.scanf(“%s“,rec-name);B.scanf(“%s“,rec.name);C.scanf(“%s“,(*ptr).name);D.scanf(“%s“,ptr-name);25.以下叙述中错误的是_。(分数:1.00)A.C 语言编写的函数源程序,其文件名后缀可以是 CB.C 语言编写的函数都可以作为一个独立的源程序文件C.C 语言编写的每个函数都可以进行独立的编译并执行D.一个 C 语言程序只能有一个主函数26.字符串“/“ABCDEF“/“的长度是 _ 。(分数:1.00)A.15B.10C.7D.827.有以下
13、程序: #includestdio.h int fun() static int x=1; x+=1; return X; main() it i,s=1; for(i=1;i=5;i+) s+=fun(); printf(“%d/n“,s); 程序运行后的输出结果是_。(分数:1.00)A.120B.11C.6D.2128.C 语言程序的执行是_。(分数:2.00)A.从程序的主函数开始,到程序的主函数结束B.从程序的主函数开始,到程序的最后一个函数结束C.从程序的第一个函数开始,到程序的最后一个函数结束D.从程序的第一个函数开始,到程序的主函数结束29.以下选项中,能够正确利用随机函数 r
14、and(),产生一个英文字母的表达式是_。(分数:1.00)A.rand()%2=0?rand()%“A“:rand()%“a“B.rand()%26+“A“|rand()%26+“a“C.rand()%26+“A“C.int num=1,2,3,4,5,6;D.int num4=1,2,3,4,5,6;31.下面程序的运行结果是_。 #includestdio.h #includestring.h main() char*s1=“abDuj“; char*s2=“ABdUG“; int t; t=strcmp(s1,s2); printf(“%d“,t); (分数:2.00)A.正数B.负数
15、C零D.不确定的值32.若 fp 已正确定义并指向某个文件,当未遇到该文件结束标志时函数 feof(fp)的值为(分数:1.00)A.0B.1C.-1D.一个非 0 值33.设 x=011050,则 x=x01252 的值是_。(分数:1.00)A.0000001000101000B.1111110100011001C.0000001011100010D.110000000010100034.函数调用 strcat(strcpy(str1, str2), str3)的功能是_。(分数:2.50)A.将字符串 str1 复制到字符串 str2 中后再连接到字符串 str3 之后B.将字符串 st
16、r1 连接到字符串 str2 之后再复制到字符串 str3 之后C.将字符串 str2 复制到字符串 str1 之后再将字符串 str3 连接到字符串 str1 之后D.将字符串 str2 连接到字符串 str1 之后再将字符串 str1 复制到字符串 str3 中35.有三个关系 R,S 和 T 如下: R A B C a 1 2 b 2 1 c 3 1 S A B C d 3 2 T A B C a 1 2 b 2 1 c 3 1 d 3 2 其中关系 T 由关系 R 和 S 通过某种操作得到,该操作为_。(分数:2.00)A.选择B.投影C交D并36.下面说明不正确的是(分数:2.00)
17、A.char a10=“china“;B.char a10,*p=a;p=“china“C.char *a;a=“china“;D.char a10,*p;p=a=“china“37.若变量已正确定义,有以下程序段 i=0; do printf(“%d,“,i); while(i+); printf(“%d/n“,i); 其输出结果是_。(分数:1.00)A.0,1B.0,0C.1,1D.程序进入无限循环38.有以下程序 #includestdio.h main() unsigned char a=8,c; c=a3; printf(“%d/n“,c); 程序运行后的输出结果是_。(分数:1.
18、00)A.1B.16C.32D.039.将 E-R 图转换到关系模式时,实体与联系都可以表示成( )。(分数:1.00)A.属性B.关系C键D域40.以下不能正确定义二维数组的选项是_。(分数:2.50)A.int a22=1,2;B.int a2=1,2,3,4;C.int a22=1,2,3;D.int a2=1,2,3,4;二级 C 语言分类模拟题 541 答案解析(总分:60.00,做题时间:90 分钟)一、选择题(总题数:40,分数:60.00)1.在 printf 的格式字符中,e 格式字符的作用是_。(分数:2.00)A.以十六进制无符号形式输出整数B.以带符号的十进制形式输出整
19、数C.以指数形式输出实数 D.以字符形式输出,且只输出一个字符解析:2.数据结构中,与所使用的计算机无关的是数据的_。(分数:2.50)A.存储结构B.物理结构C.逻辑结构 D.线性结构解析:解析 数据的逻辑结构反映的是数据元素之间的逻辑关系,与使用的计算机无关。3.有两个关系 R,S 如下: R A B C a 3 2 b 0 1 c 2 1 S A B a 3 b 0 c 2 由关系 R 通过运算得到关系 S,则所使用的运算为_。(分数:1.00)A.选择B.投影 C.插入D.连接解析:解析 投影运算是从关系模式中挑选若干属性组成新的关系,这是从列的角度进行的运算,相当于对关系进行垂直分解
20、。本题中,S 是在原有关系 R 的内部进行的,是由 R 中原有的那些域的列所组成的关系,因此选择 B。4.以下不能正确定义二维数组的选项是_。(分数:2.00)A.int a22=1,2);B.int a2=1,2,3,4;C.int a22=1,2,3; D.int a2=1,2),3,4;解析:5.有以下程序: #inelude stdio.h #include string.h typedef struct Stu char name10; char gender; int score; STU; void f(char * name, char * gender, int * scor
21、e) strcpy(name, “Qian“); * gender=“f“; * score = 350; main( ) STU a = “Zhao“,“m“,290, b; b = a; f(b.name, printf(“%s,%c,%d,“, a.name,a.gender,a,score); printf(“%s,%c,%d/n“, b.name,b.gender,b.score); 程序运行后的输出结果是_。(分数:1.00)A.Zhao,m,290,Qian,f,350 B.Qian,in,290,Zhao,m,290C.Zhao,m,290,Zhao,m,290D.Zhao,m
22、,290,Qian,m,290解析:解析 main 函数中,首先定义两个结构体 stu 类型的变量 a,b,把 a 成员信息复制给 b 成员后,再调用函数 f(),在 f()函数中,利用指针重新对 b 成员信息进行赋值,分别输出 a,b,成员信息,答案为 A 选项。6.有如下程序: #include stdio.h void convert(char ch) if(eh“X“) convert(ch+1); printf(“%c“, ch); main( ) convert(“W“); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.YZB.VWC.XYD.XW 解
23、析:解析 在 main 函数中,执行 convert(“W“)函数,因为W比X小,满足 if 语句,再执行convert(ch+1);此时 ch=“X“,不满足条件,输出 X,完成后,返回上一次 convert 中,输出上次ch=“W“,因此答案为 D 选项。7.有以下程序: #includestdio.h int sum(int*array,int len) if(len=1) return array1; else return array1+sum(array+1,len-1); main() int array5=0,9,1,2,res; res=sum(array,3); print
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 分类 模拟 541 答案 解析 DOC
