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

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

1、二级 C语言笔试 375及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:70.00)1.若整型变量 a、b、c、d 中的值依次为:1、4、3、2。则条件表达式 ab?a:cd?c:d 的值是( )。(分数:2.00)A.1B.2C.3D.42.#define能作简单的替代,用宏来替代计算多项式 5*x*x+5*x+5的值的函数 f,正确的宏定义语句为( )。(分数:2.00)A.#define f(5*x*x+5*x+5B.#define f5*x*x+5*x+5C.#definef(5*a*a+5*a+5)D.#define(5*x*x+5*x+5

2、)f(3.下列叙述中,错误的是( )。(分数:2.00)A.在同一 C程序文件中,不同函数中可以使用名字相同的变量B.在 main()函数体内定义的变量是全局变量C.形参是局部变量,函数调用完成即失去意义D.若同一文件中全局和局部变量同名,则全局变量在局部变量作用范围内不起作用4.若定义 int a=10,则表达式 a+=a-*=a的值是( )。(分数:2.00)A.0B.-180C.-100D.-905.结构化程序设计主要强调的是( )。(分数:2.00)A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序的易读性6.下列选项中非法的字符常量是( )。(分数:2.00)A./tB./

3、039C.,D./n7.设 R是一个二元关系,S 是一个三元关系,则下列运算中正确的是( )。(分数:2.00)A.R-SB.RSC.RsD.RS8.下列程序的运行结果是( )。 #includestdio.h main() int a=2,b=3,c=4; ifaB) if(b0)c=0; else c+=1; printf(“%d/n“,C) ; (分数:2.00)A.2B.3C.5D.49.按照“先进后出”原则组织数据的数据结构是( )。(分数:2.00)A.队列B.栈C.双向链表D.二叉树10.下列叙述中正确的是( )。(分数:2.00)A.break语句只能用于 switch语句B.

4、在 switch语句中必须使用 defaultC.break语句必须与 switch语句中的 case配对使用D.在 switch语句中,不一定使用 break语句11.常采用的两种存储结构是( )。(分数:2.00)A.顺序存储结构和链式存储结构B.散列方法和索引方式C.链表存储结构和数组D.线性存储结构和非线性存储结构12.设 int x=7,则x 的值是( )。(分数:2.00)A.-8B.-7C.-1D.113.若有下列说明和语句,已知 int型数据占 2个字节,则下列语句的输出结果是( )。 stmct st char a15; int b; double c; ; printf(“

5、%d“,sizeof(struct st);(分数:2.00)A.15B.8C.25D.215.下列不正确的转义字符是( )。(分数:2.00)A./B.tC./nD.08816.C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递是( )。(分数:2.00)A.地址传递B.值传递C.由实参传给形参,并由形参传回给实参D.由用户指定传递方式17.下列程序的输出结果是( )。 #includestdio.h f(int a) int b=0; static int c=4; a=c+;b+; return(a); main() int a=2,i,c; for(i=0;i2;i+) C=

6、f(a+); printf(“%d/n“,c); (分数:2.00)A.4B.7C.6D.518.若希望下列的程序运行后输出 25,程序空白处的正确选项是( )。 main() int i,j=50,a=7,4,10,5,8; for( ) j+=ai; printf(“%d“,j-40); (分数:2.00)A.i=1;i4;+iB.i=1;i3;+iC.i=4;i2;i-D.i:2;i4;+i19.若有说明:int*p1,*p2,n=8,m;下列均是正确赋值语句的选项是( )。(分数:2.00)A.p1:p2=B.p1=n;C.p1=*p2=p1;D.p1=p2=p1;20.设变量 a、b

7、、c、d 和 y都已正确定义并赋值。若有下列 if语句 if(aB) if(c=D) y=0; else y=1; 该语句所表示的含义是( )。 (分数:2.00)A.B.C.D.21.已知一个有序线性表为(13,18,24,35,47,50,62,83,90,115,134) ,当用二分法查找值为 90的元素时,查找成功的比较次数为( )。(分数:2.00)A.1B.2C.3D.922.树是结点的集合,它的根结点的数目是( )。(分数:2.00)A.有且只有 1个B.1或多于 1C.0或 1D.至少有 2个23.需求分析阶段的任务是( )。(分数:2.00)A.软件开发方法B.软件开发工具C

8、.软件开发费用D.软件系统功能24.函数 ftell(fp)的作用是( )。(分数:2.00)A.得到 fp所指向文件的当前读写位置B.初始化流式文件的位置指针C.移动流式文件的位置指针D.以上三种答案均正确25.下列程序的输出结果是( )。 main int x=8,y=8; printf(“%d%d/n“,x-,-y); (分数:2.00)A.8 8B.7 7C.7 8D.8 726.能正确表示“当 x的取值在1,10和100,110范围内为真,否则为假”的表达式是( )。(分数:2.00)A.(x=1)”,则正确的输入语句是( )。(分数:2.00)A.scanf(“%1f“,;B.sc

9、anf(“%f“,&;C.scanf(“%lf“,29.定义结构体数组: struct stu int num; char name20; x5=1,“LI“,2,“ZHAO“,3,“WANG“,4,“ZHANG“,5,“LIU“; for(i=1;i5;i+) printf(“%d%c“,xi.num,xi.name2; 以上程序段的输出结果为( )。(分数:2.00)A.2A3N4A5UB.112A3H41C.1A2N3A4UD.2H3A4H5130.结构化程序设计的核心和基础是( )。(分数:2.00)A.结构化分析方法B.结构化设计方法C.结构化设计理论D.结构化编程方法31.假定所有

10、变量均已正确说明,下列程序段运行后 x的值是( )。 a=b=c=0;x=12; if(!a)x-; else x=5; if(C) x=3; else x=4;(分数:1.00)A.11B.4C.12D.332.函数调用 strcat(strcpy(str1,str2) ,str3) 的功能是( )。(分数:1.00)A.将字符串 str1复制到字符串 str2中后再连接到字符串 str3之后B.将字符串 str1连接到字符串 str2之后再复制到字符串 str3之后C.将字符串 str2复制到字符串 str1中后再将字符串 str3连接到字符串 str1之后D.将字符串 str2连接到字符

11、串 str1之后再将字符串 str1复制到字符串 str3中33.有下列二叉树,对此二叉树前序遍历的结果为( )。 (分数:1.00)A.ACFXDBEYZB.ABEFXYZCDC.ABCDEFXYZD.ABDYECFXZ34.在面向对象方法中, ( )描述的是具有相似属性与操作的一组对象。(分数:1.00)A.属性B.事件C.方法D.类35.c语言的基本单位是( )。(分数:1.00)A.函数B.过程C.子程序D.子函数36.有下列程序: main() char s=“abcde“; S+=2; printf(“%d/n“,s0); 执行后的结果是( )。(分数:1.00)A.输出字符 a的

12、 ASCII码B.输出字符 c的 ASCII码C.输出字符 cD.程序出错37.下列选项中合法的赋值语句是( )。(分数:1.00)A.a=b=34B.a=34,b=34C.i-1;D.m=(in(x+;38.有下列程序: #include“stdio.h“ main() int x=0; int y=0; while(x7 x+; printf(“%d,%d“,y,x); 程序的输出结果是( )。(分数:1.00)A.0,7B.7,7C.0,6D.1,639.设 q1和 q2是指向一个 float型一维数组的指针变量,k 为 float型变量,则不能正确执行的语句是( )。(分数:1.00)

13、A.k=*q1+*q2;B.q1=k;C.q1=q2;D.k=*q1*(*q2);40.若有说明 int a3=1,2,3,4,5,6,7,8,9,则 a数组第一维的大小是( )。(分数:1.00)A.2B.3C.4D.无确定值二、B填空题/B(总题数:15,分数:30.00)41.在结构化设计方法中,数据流图表达了问题中的数据流与加工间的关系,并且每一个 1 实际上对应一个处理模块。(分数:2.00)填空项 1:_42.结构化程序设计的 3种基本结构分别是顺序、选择和 1。(分数:2.00)填空项 1:_43.二分法查找仅限于这样的表:表中的数据元素必须有序,其存储结构必须是 1。(分数:2

14、.00)填空项 1:_44.一个模块直接调用的其他模块的模块个数称为 1。(分数:2.00)填空项 1:_45.数据库系统中实现各种数据管理功能的核心软件是 1。(分数:2.00)填空项 1:_46.C语言中用 1 表示逻辑值为“真”,用数字“0”表示逻辑值为“假”。(分数:2.00)填空项 1:_47.语句:x+;+x;x=1+x;执行后都使变量 x中的值增 1,请写出一条同一功能的赋值语句 1。(分数:2.00)填空项 1:_48.下列程序的输出结果是_。 main() int a=1,b=2,c=3,t=0; if(aB) t=a;a=b;b=t; if(aC) t=a;a=c;c=t;

15、 printf(“%d,%d,%d/n“,a,b,c); (分数:2.00)填空项 1:_49.在 C语言中,while 和 dowhile循环的主要区别是 1 的循环至少被执行一次。(分数:2.00)填空项 1:_50.下列程序的输出结果是_。 #includestdio.h main() intx=10,y=10,i; for(i=0;x8;y=+) printf(“%d%d“,X-,y); (分数:2.00)填空项 1:_51.若有定义 doublea5;,则 a数组元素下标的上限为 1。(分数:2.00)填空项 1:_52.执行下列语句段后,x 的值是_。 int*p,X; x=100

16、; p= x=*p+50;(分数:2.00)填空项 1:_53.设有下列宏定义: #define A 2 #define B (A+3) 则执行赋值语句“k=B*20;”(k 为 int型变量)后,k的值是_。(分数:2.00)填空项 1:_54.有下列程序: #includestdio.h main() char c; while(c=getchar()!=,)putchar(+c); 程序运行时,如果从键盘输入:A,B,CR,则输出结果为_。(分数:2.00)填空项 1:_55.下列程序执行输出的结果是_。 #includestdio.h f(int a) int b=0; static

17、c=7; a=c+;b+; return(a); main() int a=2,i,k; for(i=0;i2;i+) k=f(a+); printf(“%d/n“,k); (分数:2.00)填空项 1:_二级 C语言笔试 375答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:70.00)1.若整型变量 a、b、c、d 中的值依次为:1、4、3、2。则条件表达式 ab?a:cd?c:d 的值是( )。(分数:2.00)A.1 B.2C.3D.4解析:解析 条件表达式的形式如下:表达式 1?表达式 2:表达式 3,所以本题条件表达式ab?a:cd?c:d

18、 应该理解为 ab?a:(cd?c:d),首先求出条件表达式 cd?c:d 的值等于 2,再求条件表达式 ab?a:2 的值,由于 a=1b=4 成立,所以上述条件表达式的值等于 1。2.#define能作简单的替代,用宏来替代计算多项式 5*x*x+5*x+5的值的函数 f,正确的宏定义语句为( )。(分数:2.00)A.#define f(5*x*x+5*x+5B.#define f5*x*x+5*x+5C.#definef(5*a*a+5*a+5) D.#define(5*x*x+5*x+5)f(解析:解析 带参数宏的格式为:#define 标识符(形参表)形参表达式。其功能是:在预处理

19、程序中将程序中出现的所有带实参的宏名,展开成由实参组成的表达式。3.下列叙述中,错误的是( )。(分数:2.00)A.在同一 C程序文件中,不同函数中可以使用名字相同的变量B.在 main()函数体内定义的变量是全局变量 C.形参是局部变量,函数调用完成即失去意义D.若同一文件中全局和局部变量同名,则全局变量在局部变量作用范围内不起作用解析:解析 本题考查函数调用时变量的作用域。形参是局部变量,函数调用完就失去意义了,所以在同一个 C程序文件中,不同的函数体中可以使用名字相同的局部变量。4.若定义 int a=10,则表达式 a+=a-*=a的值是( )。(分数:2.00)A.0B.-180

20、C.-100D.-90解析:解析 算术运算符的运算规则是:从右到左的原则。所以表达式中先计算 a=a-a*a的值是-90,再计算 a=a+a的值是-180。5.结构化程序设计主要强调的是( )。(分数:2.00)A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序的易读性 解析:解析 程序不光是编写完就结束了,为了测试和维护程序,往往还有其他人阅读和跟踪程序,因此程序设计的风格应该强调简单和清晰,即程序的易读性,“清晰第一,效率第二”。6.下列选项中非法的字符常量是( )。(分数:2.00)A./tB./039 C.,D./n解析:解析 选项 A)中,t表示的是横向跳若干格;选项 B)

21、中,/039错误,/039是八进制形式表示的字符,但其中出现了9,所以错误;选项 C)中,,是字符逗号:选项 D 中,/n表示的是回车换行。7.设 R是一个二元关系,S 是一个三元关系,则下列运算中正确的是( )。(分数:2.00)A.R-SB.RS C.RsD.RS解析:解析 关系的交()、并()和差(-)运算要求两个关系是同元的,显然作为二元的 R和三元 S只能做笛卡儿积运算。8.下列程序的运行结果是( )。 #includestdio.h main() int a=2,b=3,c=4; ifaB) if(b0)c=0; else c+=1; printf(“%d/n“,C) ; (分数:

22、2.00)A.2B.3C.5 D.4解析:解析 本题考查 if else语句。第一个 if语句,先判断条件,发现 ab 条件成立,执行下列的语句:第二个 if语句,先判断条件,发现 b0 条件不成立,则执行与其配对的 else语句,c+=1,得c=5。9.按照“先进后出”原则组织数据的数据结构是( )。(分数:2.00)A.队列B.栈 C.双向链表D.二叉树解析:解析 栈是一种特殊的线性表,其插入和删除运算都只在线性表的一端进行,而另一端是封闭的。进行插入、删除的一端称为栈顶,封闭的一端称为栈底。栈顶元素是最后被插入的元素,也是最后被删除的,是按先进后出的原则组织数据的。10.下列叙述中正确的

23、是( )。(分数:2.00)A.break语句只能用于 switch语句B.在 switch语句中必须使用 defaultC.break语句必须与 switch语句中的 case配对使用D.在 switch语句中,不一定使用 break语句 解析:解析 bteak 为 C语言关键字,又称间断语句。break 语句的功能是跳出正在执行的条件语句或循环语句。它可以出现在 switch语句中,也可以出现在循环语句中。 default 是关键字,起标号的作用,代表所有 case标号之外的那些标号。default 标号可以出现在语句体中任何标号位置上。在 switch语句体中也可以没有 default标

24、号。11.常采用的两种存储结构是( )。(分数:2.00)A.顺序存储结构和链式存储结构 B.散列方法和索引方式C.链表存储结构和数组D.线性存储结构和非线性存储结构解析:解析 线性表的存储通常要用两种存储结构:顺序存储结构和链式存储结构。12.设 int x=7,则x 的值是( )。(分数:2.00)A.-8 B.-7C.-1D.1解析:解析 本题主要考查按位求反运算和 C语言中正负数的表示,“0”代表正数,“1”代表负数:x=7的二进制为 00111,第个 0代表正数,x 为 11000,第一个 1代表负数,值为 8。13.若有下列说明和语句,已知 int型数据占 2个字节,则下列语句的输

25、出结果是( )。 stmct st char a15; int b; double c; ; printf(“%d“,sizeof(struct st);(分数:2.00)A.15B.8C.25 D.2解析:解析 本题主要考查结构体的内存使用:对结构体而言,结构中不同的成员分别使用不同的内存空间,一个结构所占内存空间的大小是结构中每个成员所占内存空间大小的总和,结构中每个成员相互独立。题中 int b占 2个字节,char a15占 15个字节,double c 占 8个字节,所以共 25个字节。解析:解析 在 while(E)中,表达式 E可以是 C语言中任意合法的条件表达式,但不能为空,由

26、它来控制循环体是否执行。在选项 B)中表达式 E0E0 是一个逻辑表达式。15.下列不正确的转义字符是( )。(分数:2.00)A./B.tC./nD.088 解析:解析 /是反斜线转义字符;/t是水平跳格转义字符;/n是换行转义字符;C 语言中没有规定088为转义字符。16.C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递是( )。(分数:2.00)A.地址传递B.值传递 C.由实参传给形参,并由形参传回给实参D.由用户指定传递方式解析:解析 本题考查函数调用时的参数传递。在函数调用时,实参和其所对应的形参分别占用不同的存储单元,彼此之间只是实参将值传递给形参。17.下列程序的输

27、出结果是( )。 #includestdio.h f(int a) int b=0; static int c=4; a=c+;b+; return(a); main() int a=2,i,c; for(i=0;i2;i+) C=f(a+); printf(“%d/n“,c); (分数:2.00)A.4B.7C.6D.5 解析:解析 本题考查静态变量的使用方法和 for循环。在函数调用时,static 变量在函数调用结束后所作的所有变化均不保持,所以当 i=1时,第 2次进入 f函数时 c=5,所以最终 main函数中 c的值为 5。18.若希望下列的程序运行后输出 25,程序空白处的正确选

28、项是( )。 main() int i,j=50,a=7,4,10,5,8; for( ) j+=ai; printf(“%d“,j-40); (分数:2.00)A.i=1;i4;+iB.i=1;i3;+iC.i=4;i2;i-D.i:2;i4;+i 解析:解析 要想使程序输出是 25,则 i-40=25,j=65,而 j初值是 50,所以填入 for循环中的语句,使引用的数组元素累加为 65-50=15即可。19.若有说明:int*p1,*p2,n=8,m;下列均是正确赋值语句的选项是( )。(分数:2.00)A.p1:p2=B.p1=n;C.p1=*p2=p1;D.p1=p2=p1; 解析

29、:解析 本题考查指针变量的赋值。 选项 A)中,p1、p2 本身都是地址变量,不能再将 p1 取地址赋给 p2;选项 B)中,不能将整型数据直接赋值给指针型数据;选项 C)中,*p2 代表了一个整型变量,而*p2=p1这个语句试图把一个地址值放入一个整型变量中是错误的;选项 D)中指针间的赋值是正确的。20.设变量 a、b、c、d 和 y都已正确定义并赋值。若有下列 if语句 if(aB) if(c=D) y=0; else y=1; 该语句所表示的含义是( )。 (分数:2.00)A.B.C. D.解析:解析 语句 if(c=d) y=0;else y=1;是 if(ab)语句的一个子句。所

30、以整个 C语句表达式的意思是:在 ab 的情况下,如果 c=d则 y=0,否则 y=1。所以,选项 C)为正确答案。21.已知一个有序线性表为(13,18,24,35,47,50,62,83,90,115,134) ,当用二分法查找值为 90的元素时,查找成功的比较次数为( )。(分数:2.00)A.1B.2 C.3D.9解析:解析 根据二分法查找需要两次:首先将 90与表中间的元素 50进行比较,由于 90大于 50,所以在线性表的后半部分查找。第二次比较的元素是后半部分的中间元素,即 90,这时两者相等,即查找成功。22.树是结点的集合,它的根结点的数目是( )。(分数:2.00)A.有且

31、只有 1个B.1或多于 1C.0或 1 D.至少有 2个解析:解析 树具有明显的层次关系,即树是一种层次结构。在树结构中,根结点在第一层上。当树为非空时,树中有且只有一个根结点,当树为空时,树中根结点的数目为 0。23.需求分析阶段的任务是( )。(分数:2.00)A.软件开发方法B.软件开发工具C.软件开发费用D.软件系统功能 解析:解析 需求分析是软件定义时期的最后一个阶段,它的基本任务就是详细调查现实世界要处理的对象,充分了解原系统的工作概况,明确用户的各种需求,然后在这些基础上确定新系统的功能。24.函数 ftell(fp)的作用是( )。(分数:2.00)A.得到 fp所指向文件的当

32、前读写位置 B.初始化流式文件的位置指针C.移动流式文件的位置指针D.以上三种答案均正确解析:解析 位置指针当前值函数 ftell()的基本调用格式为:fiell(fp)。 fiell()函数的参数说明:“fp”是指向文件的文件型指针。 fiell 函数的功能:得到 fp所指向文件的当前读写位置,即位置指针的当前值,如果函数的返回值为-1L,表示出错。25.下列程序的输出结果是( )。 main int x=8,y=8; printf(“%d%d/n“,x-,-y); (分数:2.00)A.8 8B.7 7C.7 8D.8 7 解析:解析 本题考查自减(-)运算符的使用。“x-”是先引用 x的

33、值然后将 x的值减 1,所以输出的x值为 8;“-y”是先将 y的值减 1然后再引用 y的值,所以输出的 y值为 7。26.能正确表示“当 x的取值在1,10和100,110范围内为真,否则为假”的表达式是( )。(分数:2.00)A.(x=1)”,则正确的输入语句是( )。(分数:2.00)A.scanf(“%1f“,;B.scanf(“%f“,&;C.scanf(“%lf“, 解析:解析 scanf 函数的调用形式是:scanf(格式字符串,输入项地址表)。其中,“格式字符串”是要输入的变量的格式符;“输入项地址表”是要输入的变量的地址。 题中定义变量 a为双精度型变量,双精度变量的格式符

34、为“le”;变量的地址用取地址符“ char name20; x5=1,“LI“,2,“ZHAO“,3,“WANG“,4,“ZHANG“,5,“LIU“; for(i=1;i5;i+) printf(“%d%c“,xi.num,xi.name2; 以上程序段的输出结果为( )。(分数:2.00)A.2A3N4A5U B.112A3H41C.1A2N3A4UD.2H3A4H51解析:解析 本题主要考查结构体数组的使用。xi.num 为结构体 xi中的 num成员,xi.name2是结构体 xi中 name成员的第 3个元素。程序执行循环过程时:第 1次循环,i=1,输出 x1.num,x1.na

35、me2的值,即 2A;第 2次循环,i=2,输出 x2.num,x2.name2的值,即 3N;第 3次循环,i=3,输出 x3.num,x3.name2的值,即 4A;第 4次循环,i=4,输出 x4.num,x4.name2的值,即5U。30.结构化程序设计的核心和基础是( )。(分数:2.00)A.结构化分析方法B.结构化设计方法C.结构化设计理论 D.结构化编程方法解析:解析 结构化程序设计的核心和基础是结构化设计理论,其中包括:结构化分析方法、结构化设计方法和结构化编程方法。31.假定所有变量均已正确说明,下列程序段运行后 x的值是( )。 a=b=c=0;x=12; if(!a)x

36、-; else x=5; if(C) x=3; else x=4;(分数:1.00)A.11B.4 C.12D.3解析:解析 本题考查 if else语句。第一个订语句,先判断条件,发现 a=0,则!a 成立,执行下列的语句,x-,得 x=11;第二个 if语句,判断条件,发现 c=0,则条件不成立,执行下列的 else语句,得x=4。32.函数调用 strcat(strcpy(str1,str2) ,str3) 的功能是( )。(分数:1.00)A.将字符串 str1复制到字符串 str2中后再连接到字符串 str3之后B.将字符串 str1连接到字符串 str2之后再复制到字符串 str3

37、之后C.将字符串 str2复制到字符串 str1中后再将字符串 str3连接到字符串 str1之后 D.将字符串 str2连接到字符串 str1之后再将字符串 str1复制到字符串 str3中解析:解析 strcat(s1,s2) 是把 s2字符串连接到 s1字符串末尾,strcpy(s1,s2)是把 s2字符串复制给 s1字符串,要保证 s1能容纳下连接或复制后的字符串。33.有下列二叉树,对此二叉树前序遍历的结果为( )。 (分数:1.00)A.ACFXDBEYZB.ABEFXYZCDC.ABCDEFXYZD.ABDYECFXZ 解析:解析 对二叉树的前序遍历是指:先访问根结点,然后访问左

38、子树,最后访问右子树,并且,在访问左、右子树时,先访问根结点,再依次访问其左、右子树。记住 3种遍历的顺序:前序,访问根一按前序遍历左子树一按前序遍历右子树;中序,按中序遍历左子树一访问根一按中序遍历右子树;后序,按后序遍历左子树一按后序遍历右子树一访问根。34.在面向对象方法中, ( )描述的是具有相似属性与操作的一组对象。(分数:1.00)A.属性B.事件C.方法D.类 解析:解析 类(class)描述的是具有相似属性与操作的一组对象,而一个具体对象则是其对应类的一个实例。35.c语言的基本单位是( )。(分数:1.00)A.函数 B.过程C.子程序D.子函数解析:解析 C 语言是函数式的

39、语言,它的基本组成单位是函数,在 C语言中任何程序都是由一个或者多个函数组成的。36.有下列程序: main() char s=“abcde“; S+=2; printf(“%d/n“,s0); 执行后的结果是( )。(分数:1.00)A.输出字符 a的 ASCII码B.输出字符 c的 ASCII码C.输出字符 cD.程序出错 解析:解析 因为字符数组 s中的数组名 s表示的是一个地址常量。所以语句“s+=2;”不能将指针在当前位置的基础上再向后移动两位。因而程序编译时出错。37.下列选项中合法的赋值语句是( )。(分数:1.00)A.a=b=34B.a=34,b=34C.i-1;D.m=(i

40、n(x+; 解析:解析 选项 A)是一个合法的赋值表达式,但结尾没加分号,所以它不是一个赋值语句;选项 B)是一个逗号表达式,也因为结尾没有加分号而不是合法的赋值语句;选项 C)是一个算术表达式,虽然有分号,但这个表达式没有赋值操作,因此,也不是一条赋值语句。38.有下列程序: #include“stdio.h“ main() int x=0; int y=0; while(x7 x+; printf(“%d,%d“,y,x); 程序的输出结果是( )。(分数:1.00)A.0,7 B.7,7C.0,6D.1,6解析:解析 本题考查 while循环。y 的值在 while循环的控制表达式中加

41、1,在循环体内减 1,所以总的 y值不变,且控制条件+y 永远非零。当 x加到 7时不满足循环条件,结束循环。39.设 q1和 q2是指向一个 float型一维数组的指针变量,k 为 float型变量,则不能正确执行的语句是( )。(分数:1.00)A.k=*q1+*q2;B.q1=k; C.q1=q2;D.k=*q1*(*q2);解析:解析 选项 A)是将指针 q1和 q2所指向的变量值相加,然后赋给 k;选项 B)中,float 型数据和指针型数据之间不能进行赋值运算:选项 C)中,是两个指针变量之间的赋值;选项 D)中,是两个指针型变量所指向的两个 float型数据相乘。40.若有说明

42、int a3=1,2,3,4,5,6,7,8,9,则 a数组第一维的大小是( )。(分数:1.00)A.2B.3 C.4D.无确定值解析:解析 本题考查二维数组第一维的大小如何确定。二维数组第一维的大小由下列规则确定:当初值的个数能被第二维的常量表达式的值除尽时,所得商数就是第一维的大小;当初值的个数不能被第二维的常量表达式的值除尽时,第一维的大小等于所得商数加 1。二、B填空题/B(总题数:15,分数:30.00)41.在结构化设计方法中,数据流图表达了问题中的数据流与加工间的关系,并且每一个 1 实际上对应一个处理模块。(分数:2.00)填空项 1:_ (正确答案:加工)解析:解析 数据流

43、图是从数据传递和加工的角度,来刻画数据流从输入到输出的移动变换过程。其中的每一个加工对应一个处理模块。42.结构化程序设计的 3种基本结构分别是顺序、选择和 1。(分数:2.00)填空项 1:_ (正确答案:重复(或循环))解析:解析 结构化程序设计包括 3种基本的结构:顺序结构、选择结构和重复结构(循环结构),利用这 3种结构就足以表达出各种其他形式结构的程序设计方法。其中利用循环结构,可以简化大量的程序执行。43.二分法查找仅限于这样的表:表中的数据元素必须有序,其存储结构必须是 1。(分数:2.00)填空项 1:_ (正确答案:顺序存储(顺序方式存储))解析:解析 二分法查找对表的要求是

44、有序的顺序表,即第一要求是数据元素有序,第二要求是按顺序方式存储。44.一个模块直接调用的其他模块的模块个数称为 1。(分数:2.00)填空项 1:_ (正确答案:扇出)解析:解析 在结构图中,调用一个给定模块的模块个数称为扇入,一个模块直接调用的其他模块个数称为扇出。45.数据库系统中实现各种数据管理功能的核心软件是 1。(分数:2.00)填空项 1:_ (正确答案:数据库管理系统)解析:解析 数据库管理系统是数据库的管理机构,它是一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等。46.C语言中用 1 表示逻辑值为“真”,用数字“0”表示逻辑值为“假”。(分数

45、:2.00)填空项 1:_ (正确答案:非 0)解析:解析 逻辑运算中,非 0表示逻辑“真”,用 0表示逻辑“假”。47.语句:x+;+x;x=1+x;执行后都使变量 x中的值增 1,请写出一条同一功能的赋值语句 1。(分数:2.00)填空项 1:_ (正确答案:x+1)解析:解析 本题考查“+”、“-”运算符;“+”、“-”只能作用于变量,不能用于表达式或常量;前缀形式是在使用变量之前先将其值增 1或减 1,后缀形式是先使用变量原来的值,使用完后再使其增 1或减 1。48.下列程序的输出结果是_。 main() int a=1,b=2,c=3,t=0; if(aB) t=a;a=b;b=t;

46、 if(aC) t=a;a=c;c=t; printf(“%d,%d,%d/n“,a,b,c); (分数:2.00)填空项 1:_ (正确答案:3,1,2)解析:解析 分析程序,第一个汀语句,a=1,b=2,控制条件 ab 成立,则交换 a、b 的值,此时a=2,b=1。第二个 if语句,a=2,c=3,控制条件 ac 成立,则交换 a、c 的值,此时 a=3,c=2。49.在 C语言中,while 和 dowhile循环的主要区别是 1 的循环至少被执行一次。(分数:2.00)填空项 1:_ (正确答案:dowhile)解析:解析 考查 while和 dowhile循环的主要区别。 while 循环的控制出现在循环体之前,只有当while后面的表达式的值为非零时,才可能执行循环体:在 dowhile构成的循环体中,总是先执行一次循环体,然后再求表达式的值,因此无论表达式的值是否为零,循环体至少要被执行一次。50.下列程序的输出结果是_。 #includestdio.h main() intx=10,y=10,i; for(i=0;x8;y=+) printf(

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

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

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