【计算机类职业资格】二级C语言笔试-149及答案解析.doc

上传人:amazingpat195 文档编号:1325983 上传时间:2019-10-17 格式:DOC 页数:28 大小:104.50KB
下载 相关 举报
【计算机类职业资格】二级C语言笔试-149及答案解析.doc_第1页
第1页 / 共28页
【计算机类职业资格】二级C语言笔试-149及答案解析.doc_第2页
第2页 / 共28页
【计算机类职业资格】二级C语言笔试-149及答案解析.doc_第3页
第3页 / 共28页
【计算机类职业资格】二级C语言笔试-149及答案解析.doc_第4页
第4页 / 共28页
【计算机类职业资格】二级C语言笔试-149及答案解析.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

1、二级 C 语言笔试-149 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.以下选项中不合法的标识符是(分数:2.00)A.ptintB.FORC.&aD._002.下面程序中有错误的行是(每行程序前面的数字表示行号)1 main()2 3 int a3=1;4 int i;5 scanf(“%d“,&(分数:2.00)A.;&3.阅读下面程序段,则执行后的结果为#inclide“stdio.h“main()int m=4,n=2,k;k=fun(m,n);printf(“%d/n“,k);fun(int m,int n)return(m*

2、m*m-n*n*n);(分数:2.00)A.64B.8C.56D.04.以下合法的十六进制数是(分数:2.00)A.0xB.0x4deC.0x1hD.oX775.下面程序的运行结果是#includestdio.hmain()static char a=“Languagef“ ,b=“programe“;char *p1,*p2; int k;p1=a;p2=b;for(k=0;k=7;k+)if(*(p1+k)=*(p2+k) printf(“%c“,*(p1+k);(分数:2.00)A.gaeB.gaC.LanSuageD.有语法错6.下列叙述中正确的是(分数:2.00)A.在面向对象的程序

3、设计中,各个对象之间具有密切的联系B.在面向对象的程序设计中,各个对象都是公用的C.在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小D.上述三种说法都不对7.以下定义语句中正确的是(分数:2.00)A.int a=b=0;B.char A=65+1,b=b;C.float a=1,*b=&a,*c=&b;D.double a=0.0;b=1.1;8.主程序调用 findmax 函数求出数组中最大元素在数组中的下标,括号中需填写的内容是#includestdio.hfindmax(int*s,int t,int*k)int p;for(p=0,*k=p;pt;p+)if(sps*k)(

4、 );main()int a10,i,k;for(i=0;i10;i+)scanf(“%d“,&ai);findmax(a,10,&k);printf(“%d%d/n“ ,k,ak);(分数:2.00)A.k=pB.*k=pC.k=p-sD.*k=p-s9.结构化程序设计方法的 3 种基本控制结构中不包括(分数:2.00)A.循环结构B.递归结构C.顺序结构D.选择结构10.数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和(分数:2.00)A.编码设计B.测试阶段C.运行阶段D.物理设计11.定义如下变量和数组:int i;int x33=1,2,3,4,5,6,7,8,9;则下面语句的

5、输出结果是( )。for(i=0; i3; i+)printf(“%d“,xi2-i);(分数:1.00)A.1 5 9B.1 4 7C.3 5 7D.3 6 912.如果需要打开一个已经存在的非空文件“Demo”进行修改,下面选项中正确的是(分数:1.00)A.fp=fopen(“Demo“,“r“);B.fp=fopen(“Demo“,“ab+“);C.fp=fopen(“Demo“,“w+“);D.fp=fopen(“Demo“,“r+“);13.以下程序运行时若要正确输出函数的入口地址和输入数的绝对值,应在程序空缺处填入的正确选项是abs(int x)if(x=0)return x;e

6、lse return-x;main()int y,z,(*p)(int x)=abs;scanf(“ %d“ ,&y);z=( *p)(y); (分数:1.00)A.printf(“%d%d/n“,&p,z)B.Printf(“%d%d/n“,p,z)C.printf(“%d%d/n“,*p,z)D.printf(“%d%d/n“,p,*z)14.设已执行预编译命令#includestring.h,以下程序段的输出结果是char s=“ an apple“ ;printf(“%d/n“,strlen(s);(分数:1.00)A.7B.8C.9D.1015.x,y,z 被定义为 int 型变量,

7、若从键盘给 x,y,z 输入数据,正确的输入语句是(分数:1.00)A.INPUTx、y、z;B.scanf(“%d%d%d“,&x,&y,&z);C.scanf(“%d%d%d“,x,y,z);D.read(“%d%d%d“,&x,&y,&z);16.下述程序的输出结果是#includestdio.hvoid main()int a5=2,4,6,8,10;int*p=a,*q=&p;printf(“%d,“,*(p+);pfintf(“%d“,*q);(分数:1.00)A.4,4B.2,2C.4,5D.2,417.软件工程的出现是由于(分数:1.00)A.程序设计方法学的影响B.软件产业化

8、的需要C.软件危机的出现D.计算机的发展18.下面程序段的输出为#nclude“stdio.h“main()printf(“%d/n“,122);(分数:1.00)A.0B.47C.48D.2419.在数据管理技术的发展过程中,可实现数据共享的是(分数:1.00)A.人工管理阶段B.文件系统阶段C.数据库系统阶段D.系统管理阶段20.以下叙述正确的是(分数:1.00)A.continue 语句的作用是结束整个循环的执行B.只能在循环体内和 swish 语句体内使用 break 语句C.在循环体内使用 break 语句或 continue 语句的作用相同D.从多层循环嵌套中退出时,只能使用 go

9、to 语句21.设变量 a、b、c、d 和 y 都已正确定义并赋值。若有以下 if 语句if(ab)if(c=d)y=0;else y=1;该语句所表示的含义是(分数:2.00)A.B.C.D.22.有三个关系 R、S 和 T 如下:RB C Da 0 k1b 1 n1SB C Df 3 h2a 0 k1n 2 x1TB C Da 0 k1由关系 R 和 S 通过运算得到关系 T,则所使用的运算为(分数:2.00)A.并B.自然连接C.笛卡尔积D.交23.请阅读以下程序:#includestdio.hmain()int x=1,y=0,a=0,b=0;switch(x)case 1:switc

10、h(y)case 0:a+;break;case 2:a+,b+;break;printf(“a=%d,b=%d/n“,a,b);上面程序的输出结果是(分数:2.00)A.a=2,b=1B.a=1,b=1C.a=1,b=0D.a=2,b=224.设有定义 int n=0,*p=&n,*q=&p;,则下列选项中正确的赋值语句是(分数:2.00)A.p=1;B.*q=2;C.q=p;D.*p=5;25.在 C 语言中,只有在使用时才占用内存单元的变量,其存储类型是(分数:2.00)A.auto 和 registerB.extern 和 registerC.auto 和 staticD.static

11、 和 register26.下面程序的运行结果是#includestdio.hvoid delch(char *s)int i,j;char *a;a=S;for(i=0,j=0;ai!=/0;i+)if(ai=0 &aai=9)sj=ai; j+;sj=/0;main()char *item=“a34bC“;delch(item);printf(“/n%s|,item);(分数:2.00)A.abcB.34C.a34D.a34bc27.有以下程序段char ch; int k;ch=a; k=12;printf(“%c,%d,“,ch,ch,k); printf(“k=%d/n“,k);已知

12、字符 a 的 ASCII 码值为 97,则执行上述程序段后输出结果是(分数:2.00)A.因变量类型与格式描述符的类型不匹配,输出无定值B.输出项与格式描述符个数不符,输出为零值或不定值C.a,97,12k=12D.a,97,k=1228.下列数据结构中,按先进后出原则组织数据的是(分数:2.00)A.线性链表B.栈C.循环链表D.顺序表29.在下列关于二叉树的叙述中,正确的一项是(分数:2.00)A.在二叉树中,任何一个结点的度都是 2B.二叉树的度为 2C.在二叉树中至少有一个结点的度是 2D.一棵二叉树的度可以小于 230.执行下面的程序后,a 的值为main()int a,b;for(

13、a=1,b=1;a=10;a+)if(b%3=1)b+=3;continue;b-=5;(分数:2.00)A.7B.8C.9D.1031.能正确表示逻辑关系:“a10 或 a0”的 C 语言表达式是(分数:2.00)A.a=10 or a=0B.a=0|a=10C.a=10&a=0D.a=10a=032.以下叙述中正确的是(分数:2.00)A.C 程序中的注释只能出现在程序的开始位置和语句的后面B.C 程序书写格式严格,要求一行内只能写一个语句C.C 程序书写格式自由,一个语句可以写在多行上D.用 C 语言编写的程序只能放在一个程序文件中33.以下程序运行后,输出结果是#define PT 5

14、.5#define S(x) PT*x*x#includestdio.hmain()int a=1,b=2;printf(“%4.1f/n“,s(a+b);(分数:2.00)A.49.5B.9.5C.22D.45.034.下面叙述正确的是(分数:2.00)A.算法的执行效率与数据的存储结构无关B.算法的空间复杂度是指算法程序中指令(或语句)的条数C.算法的有穷性是指算法必须能在执行有限个步骤之后终止D.以上三种描述都不对35.以下程序的输出结果是#includestdio.hinfun(int n,int *s)int n,f2;if(n=0n=1)*s=1;elsefun(n-1,&f1);

15、fun(n-2,&f2);*s=f1+f2;void main()int x;fun(6,&x);pfintf(“/n%d“,x);(分数:2.00)A.7B.13C.9D.1036.下列对于软件测试的描述中正确的是(分数:2.00)A.软件测试的目的是证明程序是否正确B.软件测试的目的是使程序运行结果正确C.软件测试的目的是尽可能多地发现程序中的错误D.软件测试的目的是使程序符合结构化原则37.若有以下的说明,对初值中整数 2 的正确引用方式是static structchar ch;int i;double x;a23=a,1,3,45,b,2,7,98,c,31,93;(分数:2.00)

16、A.a01.chB.a01.iC.a00.iD.a02.i38.以下叙述中错误的是(分数:2.00)A.gets 函数用于从终端读入字符串B.getehar 函数用于从磁盘文件读入字符C.fputs 函数用于把字符串输出到文件D.fwrite 函数用于以二进制形式输出数据到文件39.以下正确的程序段是(分数:2.00)A.cgar str20;scanf(“%s“,&str);B.char *p;scanf(“%s“,p);C.cha str20;scanf(“%s“,&str2)D.char str20,*p=str;scanf(“%s“,p2);40.若有以下定义的语句struct stu

17、dentint age;int num;struct student stu3=1001,20,1002,19,1003,21;main()stmct student *p;p=stu;则以下不正确的引用是(分数:2.00)A.(p+)-numB.p+C.(*p).numD.P=&stu.age二、填空题(总题数:14,分数:30.00)41.数据结构分为线性结构和非线性结构,线性表、栈和队列都属于_。(分数:2.00)填空项 1:_42.按“先进后出”原则组织数据的数据结构是_。(分数:2.00)填空项 1:_43.软件危机出现于 60 年代末,为了解决软件危机,人们提出了_的原理来设计软件

18、,这就是软件工程诞生的基础。(分数:2.00)填空项 1:_44._(黑箱或白箱)测试方法完全不考虑程序的内部结构和内部特征。(分数:2.00)填空项 1:_45.数据库设计分为以下 6 个设计阶段:需求分析阶段、_、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段。(分数:2.00)填空项 1:_46.以下条件表达式可计算:1+|a|的值,请填空。a=0? 6 : 7 (分数:4.00)填空项 1:_47.下面程序的运行结果是_。#includestdio.hmain()int y,a;y=2,a=1;while(y-!=-1)doa*=y;a+;while(y-);printf(“%d

19、,%d“,a,y);(分数:2.00)填空项 1:_48.以下程序的功能是根据输入的“y”(“Y”)与“n”(“N”),在屏幕上分别显示出“This is YES.”与“This is NO.”。空白处需要填入的内容是#includestdio.hvoid YesNo(char ch)switch(ch)casey:caseY:printf(“/n This is YES./n“);casen:caseN:Printf(“/nThis is NO./n“);main()char ch;printf(“/nEnter a chary,Yorn,N:“);ch=_;printf(“ch;%c“,c

20、h);YesNo(ch);(分数:2.00)填空项 1:_49.定义 int a=5,b;,则执行表达式 b=+a*-a 之后,变量 b 的值为_。(分数:2.00)填空项 1:_50.以下程序的输出结果是_。#include stdio.hvoid swap(int *a, int *b)int *t;int i=3,j=5,*p=&i,*q=&j;swap(p,q); printf(“%d %d/n“,*p,*q);(分数:2.00)填空项 1:_51.下面的程序实现的是从指针 p 所指向的地址的 n 个数中,找出最大的和最小的数据,请填空。fun(int *p,int n)int *q;

21、int max,min;max=min=*p;for(q=p;_;q+)if(*qmax)max=*q;else if(*qmin)min=*q;(分数:2.00)填空项 1:_52.下面程序的输出结果是_。main()static char a=“language“,b=“program“;char *ptrl=a,*ptr2=b;int kfor(k=0;k7;k+)if(*(ptrl+k)=*(ptr2+k)printf(“%c“,*(ptr1+k);(分数:2.00)填空项 1:_53.已知 bead 指向一个带头结点的单向链表,链表中每个结点包含数据域(data)和指针域(next)

22、,数据域为整型。以下函数求出链表中所有连接点数据域的和值作为函数值返回。请在横线处填入正确内容。int data; struct link *next;main()struct link *head;sam(_);stmct link *p;int s=0;p=head-next;while(p)s+=p-data;p=p-next;return(s);(分数:2.00)填空项 1:_54.以下程序的功能是从名为 filea.dat 的文本文件中逐个读入字符并显示在屏幕上。请填空。majn()FILE *fp; char ch;fp=fopen(_);ch=fgetc(fp);whle(!fe

23、of(fp) putchar(ch); ch=f8etc(fp); putchar(/n); fclose(fp);(分数:2.00)填空项 1:_二级 C 语言笔试-149 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.以下选项中不合法的标识符是(分数:2.00)A.ptintB.FORC.&a D._00解析:命题目的 考查 C 语言标识符。解题要点 C 语言合法标识符的命名规则是:标识符只能由字母、数字和下划线组成,并且第一个字符必须为字母或下划线。因为选项 C)中的标识符的第一个字符为“&“,所以 C)为本题的正确答案。2.下面程序

24、中有错误的行是(每行程序前面的数字表示行号)1 main()2 3 int a3=1;4 int i;5 scanf(“%d“,&(分数:2.00)A.;&解析:命题目的 主要考查了一维数组的定义、初始化及元素的引用方法。解题要点 第 5 行代码中 scanf 输入数据时,要求输入项为地址,而数组名即为数组的首地址,所以不应该再在前面加取地址符号&。考点链接 二维数组的定义、初始化及元素的引用方法。3.阅读下面程序段,则执行后的结果为#inclide“stdio.h“main()int m=4,n=2,k;k=fun(m,n);printf(“%d/n“,k);fun(int m,int n)

25、return(m*m*m-n*n*n);(分数:2.00)A.64B.8C.56 D.0解析:命题目的 函数之间的数据传递。解题要点 如果没有指明函数值类型,则默认函数返回值的类型为 int 型。考点链接 顺序程序结构的执行过程。4.以下合法的十六进制数是(分数:2.00)A.0xB.0x4de C.0x1hD.oX77解析:命题目的 考查十六进制数的表示方法。解题要点 十六进制数以 0x 开头,后面跟着若干位 1f 的数,所以正确答案为 B)。考点链接 整形常量、实型常量和字符型常量的合法性判断。5.下面程序的运行结果是#includestdio.hmain()static char a=“

26、Languagef“ ,b=“programe“;char *p1,*p2; int k;p1=a;p2=b;for(k=0;k=7;k+)if(*(p1+k)=*(p2+k) printf(“%c“,*(p1+k);(分数:2.00)A.gae B.gaC.LanSuageD.有语法错解析:命题目的 考查用指针来引用字符数组元素的方法。解题要点 指针 p1+k 相当于指针 p1 向后移动了 k 个字符的位置,指针 p2 同理。6.下列叙述中正确的是(分数:2.00)A.在面向对象的程序设计中,各个对象之间具有密切的联系B.在面向对象的程序设计中,各个对象都是公用的C.在面向对象的程序设计中,

27、各个对象之间相对独立,相互依赖性小 D.上述三种说法都不对解析:命题目的 本题考查了面向对象的基本概念。解题要点 在面向对象程序设计中所使用的对象,其数据和操作是作为平等伙伴出现的。因此,对象具有很强的自含性,此外,对象所固有的封装性,使得对象的内部实现与外界隔离,具有较强的独立性。考点链接 对象的定义。7.以下定义语句中正确的是(分数:2.00)A.int a=b=0;B.char A=65+1,b=b; C.float a=1,*b=&a,*c=&b;D.double a=0.0;b=1.1;解析:命题目的 本题考查变量的定义方法。解题要点 如果要一次进行多个变量的定义,则在它们之间要用逗

28、号隔开,因此选项 A)和 C)错误。在选项 C)中,变量 c 是一个浮点型指针,它只能指向一个浮点型数据,不能指向指针变量 b,所以正确答案为B)。8.主程序调用 findmax 函数求出数组中最大元素在数组中的下标,括号中需填写的内容是#includestdio.hfindmax(int*s,int t,int*k)int p;for(p=0,*k=p;pt;p+)if(sps*k)( );main()int a10,i,k;for(i=0;i10;i+)scanf(“%d“,&ai);findmax(a,10,&k);printf(“%d%d/n“ ,k,ak);(分数:2.00)A.k=

29、pB.*k=p C.k=p-sD.*k=p-s解析:命题目的 考查通过指针来引用一维数组的方法。解题要点 数组元素可以通过数组首地址和下标的方式来引用,数组元素的下标是从 0 开始的,也可以将数组首地址赋给一个指针变量,通过指针和下标的方式来引用数组元素。考点链接 通过数组的首地址引用数组元素。9.结构化程序设计方法的 3 种基本控制结构中不包括(分数:2.00)A.循环结构B.递归结构 C.顺序结构D.选择结构解析:命题目的 本题考查了程序的基本结构。解题要点 程序由一些基本结构组成。任何一个大型的程序都由 3 种基本结构组成,由这些基本结构顺序的构成了一个结构化的程序。这 3 种基本结构为

30、:顺序结构、选择结构和循环结构。考点链接 条件语句和分支语句。10.数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和(分数:2.00)A.编码设计B.测试阶段C.运行阶段D.物理设计 解析:命题目的 本题考查了数据库设计概述。解题要点 数据库设计目前一般采用生命周期法,即将整个数据库应用系统的开发分解成目标独立的若干阶段。它们是需求分析阶段、概念设计阶段、逻辑设计阶段和物理设计阶段。考点链接 数据库设计的需求分析。11.定义如下变量和数组:int i;int x33=1,2,3,4,5,6,7,8,9;则下面语句的输出结果是( )。for(i=0; i3; i+)printf(“%d“,

31、xi2-i);(分数:1.00)A.1 5 9B.1 4 7C.3 5 7 D.3 6 9解析:命题目的 考查二维数组元素的引用方法。解题要点 题中通过二维数组的行、列下标来定位元素的位置,从而实现元素的引用。考点链接 二维数组和数组元素的值。12.如果需要打开一个已经存在的非空文件“Demo”进行修改,下面选项中正确的是(分数:1.00)A.fp=fopen(“Demo“,“r“);B.fp=fopen(“Demo“,“ab+“);C.fp=fopen(“Demo“,“w+“);D.fp=fopen(“Demo“,“r+“); 解析:命题目的 考查文件的打开方式。解题要点 此题考查文件打开方

32、式对文件操作的影响。由于打开文件进行修改,可见选项 A)是错误的,因为此种方式打开时,只能读,不能写,当然无法修改;选项 B)是以追加方式“ab+”打开文件读写,以这种方式打开时,新写入的数据只能追加在文件原有内容之后,但可以对以前的数据读出。换言之,“ab+”或“a+”方式打文件后,对于写操作,文件指针只能定位在文件的原有内容之后,但对于读操作,文件指针可以定位在全文件范围内,可见,按此种方式打开文件不能实现文件内容的修改;选项 C)以“w+”方式打开文件,此时,原文件中已存在的内容都被清除,但新写入文件的数据可以被再次读出或再次写入,故也不能实现对文件的修改。只有以“r+”方式汀开文件时,

33、才允许将文件原来数据读出,也允许在某些位置上再写入,从而实现对文件的修改。13.以下程序运行时若要正确输出函数的入口地址和输入数的绝对值,应在程序空缺处填入的正确选项是abs(int x)if(x=0)return x;else return-x;main()int y,z,(*p)(int x)=abs;scanf(“ %d“ ,&y);z=( *p)(y); (分数:1.00)A.printf(“%d%d/n“,&p,z)B.Printf(“%d%d/n“,p,z) C.printf(“%d%d/n“,*p,z)D.printf(“%d%d/n“,p,*z)解析:命题目的 考查函数指针的使

34、用方法。解题要点 可以使用函数指针来调用函数。调用形式为:(*指针变量)(实参表列)。考点链接 调用函数和被调用函数之间的数据传递。14.设已执行预编译命令#includestring.h,以下程序段的输出结果是char s=“ an apple“ ;printf(“%d/n“,strlen(s);(分数:1.00)A.7B.8 C.9D.10解析:命题目的 考查了测字符串长度函数 strlen。解题要点 如果一个字符数组中存放一个字符串,则函数 strlen 的值为“/0”之前的全部字符个数,也包括空格在内。考点链接 字符串处理函数的使用。15.x,y,z 被定义为 int 型变量,若从键盘

35、给 x,y,z 输入数据,正确的输入语句是(分数:1.00)A.INPUTx、y、z;B.scanf(“%d%d%d“,&x,&y,&z); C.scanf(“%d%d%d“,x,y,z);D.read(“%d%d%d“,&x,&y,&z);解析:命题目的 考查格式输入函数 scanf 的使用。解题要点 scanf 函数的一般格式是:scanf(格式控制,地址表列)该格式中,地址表列中应是变量地址,而不是变量名。考点链接 调用 putchar 和 getchar 函数输出和输入字符。16.下述程序的输出结果是#includestdio.hvoid main()int a5=2,4,6,8,10

36、;int*p=a,*q=&p;printf(“%d,“,*(p+);pfintf(“%d“,*q);(分数:1.00)A.4,4B.2,2C.4,5D.2,4 解析:命题目的 考查一维数组的指针和指向指针的指针两个知识点。解题要点 通过赋值,指针 p 和 q 都指向了数组 a 的首地址,*(p+)先引用数组元素,然后 p+,所以输出结果为 2,*q 指向的数组元素为 4。考点链接 通过建立一个指针数组来引用二维数组元素。17.软件工程的出现是由于(分数:1.00)A.程序设计方法学的影响B.软件产业化的需要C.软件危机的出现 D.计算机的发展解析:命题目的 软件工程的基本概念。解题要点 软件工

37、程概念的出现源自于软件危机。为了消除软件危机,通过认真研究解决软件危机的方法,认识到软件工程是使计算机软件走向工程科学的途径,逐步形成了软件工程的概念。考点链接 软件生命周期。18.下面程序段的输出为#nclude“stdio.h“main()printf(“%d/n“,122);(分数:1.00)A.0B.47C.48 D.24解析:命题目的 考查位运算的运算原理。解题要点 为左移运算符,运算符的左边是移位对象;右边是整型表达式,代表左移的位数,左移时,右端(低位)补 0;左端(高位)移出的部分舍弃。19.在数据管理技术的发展过程中,可实现数据共享的是(分数:1.00)A.人工管理阶段B.文

38、件系统阶段C.数据库系统阶段 D.系统管理阶段解析:命题目的 本题考查了考生对数据库基础知识的记忆。解题要点 数据库技术的主要目的是有效地管理和存取数据资源,包括提供数据的共享性,使多个用户能够同时访问数据库中的数据;减少数据的冗余度,以提交数据的一致性和完整性;提供数据与应用程序的独立性,从而减少应用程序的开发和维护代价。错解分析 数据库的人工管理阶段和文件系统阶段,数据都不能实现共享,出现数据冗余现象。选项 D)的说法是错误的。考点链接 掌握关系数据库的功能及特点。20.以下叙述正确的是(分数:1.00)A.continue 语句的作用是结束整个循环的执行B.只能在循环体内和 swish

39、语句体内使用 break 语句 C.在循环体内使用 break 语句或 continue 语句的作用相同D.从多层循环嵌套中退出时,只能使用 goto 语句解析:命题目的 考查 continue 和 break 语句的使用。解题要点 continue 是结束本次循环,直接进入到下次循不中,break 用于循环语句中的作用是直接跳出本层循环,能从多层循环中退出的语句,除了 goto 语句,exit,retum 等语句也能直接跳出多层循环。考点链接 continue 和 break 语句在 while 语句中的作用。21.设变量 a、b、c、d 和 y 都已正确定义并赋值。若有以下 if 语句if

40、(ab)if(c=d)y=0;else y=1;该语句所表示的含义是(分数:2.00)A.B.C. D.解析:命题目的 考查 if 语句的使用。解题要点 整个语句都是以 ab 为假设的,在 ab 的情况下,如果 c=d,则 y=0;否则 y=1。所以答案为选项 C)。考点链接 if 嵌套语句的使用。22.有三个关系 R、S 和 T 如下:RB C Da 0 k1b 1 n1SB C Df 3 h2a 0 k1n 2 x1TB C Da 0 k1由关系 R 和 S 通过运算得到关系 T,则所使用的运算为(分数:2.00)A.并 B.自然连接C.笛卡尔积D.交解析:命题目的 本题考查了关系之间的运

41、算。解题要点 在关系运算中,交的定义如下:设 R1 和 n2 为参加运算的两个关系,它们具有相同的度 n,且相对应的属性值取自同一个域,则 R1R2 为交运算,结果仍为度等于 n 的关系,其中,交运算的结果既属于 R1 又属于 R2。23.请阅读以下程序:#includestdio.hmain()int x=1,y=0,a=0,b=0;switch(x)case 1:switch(y)case 0:a+;break;case 2:a+,b+;break;printf(“a=%d,b=%d/n“,a,b);上面程序的输出结果是(分数:2.00)A.a=2,b=1 B.a=1,b=1C.a=1,b

42、=0D.a=2,b=2解析:命题目的 考查 switch 语句的使用。解题要点 switch 语句的执行过程为:进入 switch 结构舌,对条件表达式进行运算,然后从上至下去找与条件表达式直相匹配的 case,以此作为入口,执行 switch 结构中后面的各吾句,直到遇到 break 语句,则跳出 switch 语句,如果各 case 都不匹配时,则执行 default 后面的语句。考点链接 if 语句及 if 嵌套语句的使用。24.设有定义 int n=0,*p=&n,*q=&p;,则下列选项中正确的赋值语句是(分数:2.00)A.p=1;B.*q=2;C.q=p;D.*p=5; 解析:命

43、题目的 指针变量的定义。解题要点 选项 A),B),C)的指针赋值表达方式都不正确,*p=5 表达整数 5 放到指针 P 所指向的存储单元中。考点链接 通过指针引用一个存储单。25.在 C 语言中,只有在使用时才占用内存单元的变量,其存储类型是(分数:2.00)A.auto 和 register B.extern 和 registerC.auto 和 staticD.static 和 register解析:命题目的 自动变易和寄存器变易。解题要点 在 C 语言中只有自动变量和寄存器变量在使用时才占用内存单元。26.下面程序的运行结果是#includestdio.hvoid delch(char

44、 *s)int i,j;char *a;a=S;for(i=0,j=0;ai!=/0;i+)if(ai=0 &aai=9)sj=ai; j+;sj=/0;main()char *item=“a34bC“;delch(item);printf(“/n%s|,item);(分数:2.00)A.abcB.34 C.a34D.a34bc解析:命题目的 考查用指针引用字符串元素的方法。解题要点 指针 s 通过数组元素下标来从头逐个地引用字符串 item 中的字符,判断不是 09 之间的数字时,就去掉这个字符,所以程序结束后,字符串 item 中就只剩下和两个字符了。考点链接 形参为指针变量时,实参和形参

45、之间的数据传递。27.有以下程序段char ch; int k;ch=a; k=12;printf(“%c,%d,“,ch,ch,k); printf(“k=%d/n“,k);已知字符 a 的 ASCII 码值为 97,则执行上述程序段后输出结果是(分数:2.00)A.因变量类型与格式描述符的类型不匹配,输出无定值B.输出项与格式描述符个数不符,输出为零值或不定值C.a,97,12k=12D.a,97,k=12 解析:命题目的 考查 printf 函数的相关知识。解题要点 输出格式控制符%c 表示将变量以字符的形式输出;输出格式控制符%d 表示将变量以带符号的十进制整型数输出,所以第一个输出语

46、句输出的结果为 a,97;第二个输出语句输出的结果为 k=12。所以选项 D)为正确答案。28.下列数据结构中,按先进后出原则组织数据的是(分数:2.00)A.线性链表B.栈 C.循环链表D.顺序表解析:命题目的 本题主要考查对于栈的理解。解题要点 栈是限定在一端进行插入与删除的线性表。在栈中,允许插入与删除的一端称为栈顶,而不允许插入与删除的另一端称为栈底。栈顶元素总是最后被插入的元素,从而也是最先能被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素,即栈是按照“先进后出”或“后进先出”的原则组织数据的。错解分析 队列组织数据的原则是“先进先出”或“后进后出”。考点链接

47、 数据结构中,栈和队列组织数据的原则。29.在下列关于二叉树的叙述中,正确的一项是(分数:2.00)A.在二叉树中,任何一个结点的度都是 2B.二叉树的度为 2C.在二叉树中至少有一个结点的度是 2D.一棵二叉树的度可以小于 2 解析:命题目的 本题考查了二叉树的基本概念。解题要点 在二叉树中,叶子节点的度是 1;当该二叉树为空树时,根节点的度为零;为非空树时,根节点的度为 2。考点链接 二叉树的基本性质。30.执行下面的程序后,a 的值为main()int a,b;for(a=1,b=1;a=10;a+)if(b%3=1)b+=3;continue;b-=5;(分数:2.00)A.7B.8C.9D.10 解析:命题目的 考查 continue 语句的使用。解题要点 continue 语句的作用是结束本次循环,直接进入下次循环。31.能正确表示

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1