【计算机类职业资格】二级C语言-34及答案解析.doc
《【计算机类职业资格】二级C语言-34及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言-34及答案解析.doc(24页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言-34 及答案解析(总分:58.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:45.00)1.设 int 型占 2 个字节,则 unsigned int 所能表示的数据范围是_。 A. 065535 B. -3276932767 C. 165536 D. 032767(分数:1.00)A.B.C.D.2.C 语言规定,在一个源程序中,main 函数的位置 A. 必须在最开始 B. 必须在系统调用的库函数的后面 C. 可以任意 D. 必须在最后(分数:1.00)A.B.C.D.3.以下选项中不合法的标识符是U /U。 A. print B. FOR C. ai=
2、aj;aj=t;fun(a,+i,-j);main() int a=1,2,3,4,5,6,i;fun(a,0,5);for(i=0;i6;i+)printf(“%d“,ai);执行后的输出结果是 _。 A. 6 5 4 3 2 1 B. 4 3 2 1 5 6 C. 4 5 6 1 2 3 D. 1 2 3 4 5 6(分数:2.00)A.B.C.D.8.以下语句或语句组中,能正确进行字符串赋值的是( )。 A. char *sp; *sp=“right!“; B. char s10; s=“right!“; C. char s10; *s=“right!“; D. char *sp=“ri
3、ght!“;(分数:1.00)A.B.C.D.9.若有如下定义:int x=6,y=3,z=2;则表达式“x=y|yz 该语句所表示的含义是 _。 (分数:2.00)A.B.C.D.11.已知在 ASCII 字符集中,数字 0 的序号为 48,下列程序的输出结果为_。main() char a=0,b=9;printf(“%d,%c/n“,a,b) ; A. 因输出格式不合法 B. 48,57 C. 0,9 D. 48,9(分数:1.00)A.B.C.D.12.数据的存储结构是指U /U。 A. 存储在外存中的数据 B. 数据所占的存储空间量 C. 数据在计算机中的顺序存储方式 D. 数据的逻
4、辑结构在计算机中的表示(分数:1.00)A.B.C.D.13.有以下程序:#includestdio.hmain()char c6;int i=0;for(;i6;ci=getchar(),i+);for(i=O;i6;i+)putchar(ci);printf(“/n“);如果从键盘上输入:ab回车c回车def回车则输出结果为_。 A. a B. a C. ab D. abcdef b b c c c d d d e f (分数:1.00)A.B.C.D.14.软件设计中模块划分应遵循的准则是U /U。 A.低内聚、低耦合 B.高内聚、低耦合 C.低内聚、高耦合 D.高内聚、高耦合(分数:1
5、.00)A.B.C.D.15.下列关于队列的叙述中,正确的是 A. 在队列中只能插入数据 B. 在队列中只能删除数据 C. 队列是先进先出的线性表 D. 队列是先进后出的线性表(分数:1.00)A.B.C.D.16.设 q1 和 q2 是指向一个 int 型一维数组的指针变最,k 为 float 型变量,下列小能正确执行的语句是U /U。 A. k=*q1*(*q2); B. q1=k; C. q1=q2; D. k=*q1+*q2;(分数:2.00)A.B.C.D.17.以下程序的输出结果是#includestdi0hmain() int i=0,a=0;while(i20) for(;)
6、if(i%10)=0)break;elsei-;i+=11;a+=i;printf(“%d/n”,A) ; A. 21 B. 32 C. 33 D. 11(分数:1.00)A.B.C.D.18.设有以下定义: int a=0;double b=1.25;char c=A; #define d 2 则下面语句中错误的是U /U。 A) a+; B) b+; C) c+;D) d+;(分数:2.00)A.B.C.D.19.以下合法的赋值语句是_。 A. X=Y=100 B. D-; C. X+Y; D. C=int(A+B)(分数:1.00)A.B.C.D.20.在函数 scanf 的格式控制中,
7、格式说明的类型与输入项的类型应该对应匹配。如果类型不匹配,系统将U /U。 A. 不予接收 B. 并不给出出错信息,但不能得到正确的数据 C. 能接收到正确输入 D. 给出出错信息,不予接收输入(分数:1.00)A.B.C.D.21.以下程序中与语句 k=ab?(bc?1:0):0;功能等价的是 A. if(ab) n+=m;return n;main() int n=0;printf(“%d,“,f(+n);printf(“%d/n“,f(n+);程序运行后的输出结果是U /U。 A.1,2 B.1,1 C.2,3 D.3,3(分数:2.00)A.B.C.D.29.设有以下语句:int a=
8、1,b=2,c;c=a(b2);执行后,c 的值为U /U。 A.6 B.7 C.8 D.9(分数:1.00)A.B.C.D.30.以下程序运行后,输出结果是( )。#define PT 5.5#define S(x) PT*x*x#includestdio.hmain() int a=1, b=2; printf(“%4.1f/n“, S(a+b) ); A. 49.5 B. 9.5 C. 22 D. 45.0(分数:1.00)A.B.C.D.31.下列叙述中正确的是U /U。 A. 软件交付使用后还需要进行维护 B. 软件一旦交付使用就不需要再进行维护 C. 软件交付使用后其生命周期就结束
9、 D. 软件维护是指修复程序中被破坏的指令(分数:2.00)A.B.C.D.32.有以下程序段typedef struct node(int data; struct node *next;) *NODE;NODE p;以下叙述中正确的是_。 A. P 是指向 struct node 结构变量的指针的指针 B. NODE p;语句出错 C. P 是指向 struct node 结构变量的指针 D. P 是 struct node 结构变量(分数:2.00)A.B.C.D.33.下面的程序 ASC。main() int x=3,y=0,z=0;if(x=y+z)printf(“*“);elsep
10、rintf(“#“); A. 有语法错误不能通过编译 B. 输出* C. 可以通过编译,但是不能通过连接,因而不能运行 D. 输出#(分数:1.00)A.B.C.D.34.若有以下定义:struct link int data;struct link * next;a,b,c,*p,*q;且变量 a 和 b 之间已有如下图所示的链表结构:(分数:1.00)A.B.C.D.35.栈底至栈顶依次存放元素 A、B、C、D,在第五个元素 E 入栈前,栈中元素可以出栈,则出栈序列可能是U /U。 A.ABCED B.DCBEA C.DBCEA D.CDABE(分数:1.00)A.B.C.D.二、B填空题
11、/B(总题数:1,分数:13.00)以下程序的功能是:求出数组 x 中各相邻两个元素的和依次存放到 a 数组中,然后输出。请填空。main() int x10,a9,i;for (i=0;i10;i+)scanf(“%d“,xi);forU U 12 /U /U10;i+)ai-1=xi+U U 13 /U /U:for (i=0;19;i+)printf(“%d“,ai);printf(“/n“);(分数:13.00)填空项 1:_填空项 1:_(3).以下程序运行后的输出结果是_。 struct NODE int hum; struct NODE *next; ; main ( ) str
12、uct NODE s3=1, /0 ,2, /0 ,3, /0 ,*p,*q,*r; int sum=0: s0.next=s+1; s1.next=s+2; s2.next=s: p=s; q=p-next; r=q-next; sum+=q-nexs-num; sum+=r next-next-num: prlntf(“%d/n“,sum ; (分数:3.25)填空项 1:_(4).若 a 是 int 型变量,则表达式(a=2*3,a*2),a+6 的值为_。(分数:3.25)填空项 1:_二级 C 语言-34 答案解析(总分:58.00,做题时间:90 分钟)一、B选择题/B(总题数:3
13、5,分数:45.00)1.设 int 型占 2 个字节,则 unsigned int 所能表示的数据范围是_。 A. 065535 B. -3276932767 C. 165536 D. 032767(分数:1.00)A. B.C.D.解析:解析 本题 int 型占 2 个字节,即 16 位,unsigned int 所能表示的数据范围是 0(2 16-1),即065535。2.C 语言规定,在一个源程序中,main 函数的位置 A. 必须在最开始 B. 必须在系统调用的库函数的后面 C. 可以任意 D. 必须在最后(分数:1.00)A.B.C. D.解析:解析 C 程序总是从 main 函数
14、开始执行,但 main 函数在程序中的位置可以是任意的。3.以下选项中不合法的标识符是U /U。 A. print B. FOR C. ai=aj;aj=t;fun(a,+i,-j);main() int a=1,2,3,4,5,6,i;fun(a,0,5);for(i=0;i6;i+)printf(“%d“,ai);执行后的输出结果是 _。 A. 6 5 4 3 2 1 B. 4 3 2 1 5 6 C. 4 5 6 1 2 3 D. 1 2 3 4 5 6(分数:2.00)A. B.C.D.解析:解析 本题考查指针变量作函数形参的问题。指针变量作函数的形参,实现的是地址传递,形参的改变可以
15、影响实参。fun 由数的功能是将 a 所指数组中的内容逆置。在 main 函数中调用 fun 函数后,实参数组 s 中元素的值变为:a0=6、 a1=5、a2=4、a3=3、a4=2、a5=1。8.以下语句或语句组中,能正确进行字符串赋值的是( )。 A. char *sp; *sp=“right!“; B. char s10; s=“right!“; C. char s10; *s=“right!“; D. char *sp=“right!“;(分数:1.00)A.B.C.D. 解析:在选项 A 中,首先定义了一个字符指针 sp,然后将个字符串赋给甲所指的地址,这是错误的。因为 sp 是一个
16、未经初始化的野指针,不知其指向哪儿,往一个不确定的地址中写数据很容易让程序出错。选项 B 首先定义了一个字符数组,然后将一个字符串赋给数组名,这是错误的。因为数组名是一个指针常量,不可以被改变。选项 C 首先定义了个字符数组,然后将个字符串赋给数组的第一个元素,这也是错误的。因为字符串在表达式中相当于一个常字符指针,将一个指针值赋给一个字符型变量是行不通的。选项 D 是定义一个字符指针 sp,同时使其指向一个字符串常量,即将个常字符型指针赋给 sp。这是可行的。所以,4 个选项中选项 D 符合题意。9.若有如下定义:int x=6,y=3,z=2;则表达式“x=y|yz 该语句所表示的含义是
17、_。 (分数:2.00)A.B.C. D.解析:解析 if 语句中 else 是与其最接近的 if 相匹配,因此是 c=d 时 y=0,cd 时 y=1,它们都是在ab 的情况下的。11.已知在 ASCII 字符集中,数字 0 的序号为 48,下列程序的输出结果为_。main() char a=0,b=9;printf(“%d,%c/n“,a,b) ; A. 因输出格式不合法 B. 48,57 C. 0,9 D. 48,9(分数:1.00)A.B.C.D. 解析:解析 注意输出控制符%d,%c,分别表示以十进制形式输出字符的 ASCII 码值和字符。12.数据的存储结构是指U /U。 A. 存
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 34 答案 解析 DOC
