[计算机类试卷]国家二级(C语言)笔试模拟试卷152及答案与解析.doc

上传人:wealthynice100 文档编号:503317 上传时间:2018-11-29 格式:DOC 页数:28 大小:67KB
下载 相关 举报
[计算机类试卷]国家二级(C语言)笔试模拟试卷152及答案与解析.doc_第1页
第1页 / 共28页
[计算机类试卷]国家二级(C语言)笔试模拟试卷152及答案与解析.doc_第2页
第2页 / 共28页
[计算机类试卷]国家二级(C语言)笔试模拟试卷152及答案与解析.doc_第3页
第3页 / 共28页
[计算机类试卷]国家二级(C语言)笔试模拟试卷152及答案与解析.doc_第4页
第4页 / 共28页
[计算机类试卷]国家二级(C语言)笔试模拟试卷152及答案与解析.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

1、国家二级( C语言)笔试模拟试卷 152及答案与解析 1 下列叙述中正确的是 ( )。 ( A)一个算法的空间复杂度大,则其时间复杂度必定大 ( B)一个算法的空间复杂度大,则其时间复杂度必定小 ( C)一个算法的时间复杂度大,则其空间复杂度必定小 ( D)上述三种说法都不对 2 下列叙述中正确的是 ( )。 ( A)一个逻辑数据结构只能有一种存储结构 ( B)逻辑结构属于线性结构,存储结构属于非线性结构 ( C)一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率 ( D)一 个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率 3 对长度为 n的线性表进行顺

2、序查找,在最坏的情况下需要比较的次数为 ( )。 ( A) 125 ( B) n/2 ( C) n ( D) n+1 4 简单的交换排序方法是 ( )。 ( A)快速排序 ( B)选择排序 ( C)堆排序 ( D)冒泡排序 5 设计程序时,应采纳的原则之一是 ( )。 ( A)程序的结构应有助于读者的理解 ( B)限制 GOTO语句的使用 ( C)减少或取消注释行 ( D)程序越短越好 6 关 于结构化程序设计原则和方法的描述错误的是 ( )。 ( A)选用的结构只准许有一个入口和一个出口 ( B)复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现 ( C)不允许使用 GOTO语句 ( D)语

3、言中所没有的控制结构,应该采用前后一致的方法来模拟 7 下列特征中不是面向对象方法的主要特征的是 ( )。 ( A)多态性 ( B)继承 ( C)封装性 ( D)模块化 8 在面向对象方法中,一个对象请求另一个对象为其服务的方式是通过发送 ( )。 ( A)调用语句 ( B)命令 ( C) N令 ( D)消息 9 下列描述错误的是 ( )。 ( A)继承分为多重继承和单继承 ( B)对象之间的通信靠传递消息来实现 ( C)在外面看不到对象的内部特征是基于对象的 “模块独立性好 ”这个特征 ( D)类是具有共同属性、共同方法的对象的集合 10 下列叙述中正确的是 ( )。 ( A)软件交付使用后

4、还需要进行维护 ( B)软件一旦交付使用就不需要再进行维护 ( C)软件交付使用后其生命周期就结束 ( D)软件维护是指修复程序中被破坏的指令 11 下列说法不正确的是 ( ) ( A) C语言程序是以函数为基本单位的,整个程序由函数组成 ( B) C语言程序的一条语句可以写在不同的行上 ( C) C语言程序的注释行对程序的运行功能不起任何作用,所以注释应该尽可能少写 ( D) C语言程序的每个语句都以分号结束 12 下列程序的执行结果是 ( ) #include stdio.h main() int a,b,c; a=b=2; c=(a+) -1;printf(“%d,%d“,a,c); c

5、+=-a+(+b);printf(“%d,%d“,a,c); ( A) 3,14,1 ( B) 3,14,2 ( C) 2,04,1 ( D) 2,14,1 13 若 w、 x、 y、 z、 m均为 int型变量,则执行下列的语句后 m的值是 ( ) w=2,x=3,y=4,z=5; m=(w x)?w:x; m=(m z)?m:z; m=(m y)?m:y; ( A) 2 ( B) 3 ( C) 5 ( D) 4 14 若有定义: int a=4,b=5;float x=3.4,y=2.1;,则下列表达式的值为 ( ) (float) (a+b)/2+(int)%(int)y ( A) 5.

6、5 ( B) 55 ( C) 5.500000 ( D) 55.00000 15 在 ASCII代码表中每一个大写字母比它相应的小写字母的 ASCII码 ( ) ( A)小 32 ( B)小 64 ( C)大 32 ( D)大 1 16 下列不是合法的 C语言语句是 ( ) ( A) a=5 ( B) int i; i+; ( C) ; ( D) ; 17 下列写法正确的是 ( ) ( A) main() int i=3,j; j=5 ( B) main() int i=3; ( C) main() ( D) main() ; 18 下列程序的输出结果是 ( ) main() int a,b,

7、d=25; a=d/10%9; b=a printf(“%d,%dn“,a,b); ( A) 6,1 ( B) 2,1 ( C) 6,0 ( D) 2,0 19 下列程序的输出结果是 ( ) #include stdio.h main() int a=3,b=2,c=1; if(a b) if(b 0) c=0; else c+; printf(“%dn“,c); ( A) 0 ( B) 2 ( C) 1 ( D) 3 20 下列程序的功能是给 r输入数据后计算半径为 r的圆面积 s。程序在编译时出错。 main() /* Beginning */ int r; float s; scanf(

8、“%d“, S=*r*r; printf(“s=%fn“,s); 出错的原因是 ( ) ( A)注释语句书写位置错误 ( B)存放圆半径的变量 r不应该定义为整型 ( C)输出语句中格式描述符非法 ( D)计算圆面积的赋值语句中使用了非法变量 21 下列程序的运行结果是 ( ) #include stdio.h main() int x=5,a=1,b=2,c=5,d=0; if(a b) if(b!=3) if(!c) x=1; else if(d) x=l; else x=-1; printf(“%d“,x); ( A) -1 ( B) 0 ( C) 1 ( D)不确定的值 22 要求通过

9、 while循环不断读入字符,当读入字母 N时结束循环。若变量已正确定义,下列正确的程序段是 ( ) ( A) while(ch=getchar ()!=N)printf(“%c“,ch); ( B) while(ch=getchar()!=N) printf(“%c“,ch); ( C) while(ch=getchar()=N) printf(“%c“,ch); ( D) while(ch=getchar() =N)printf(%c,ch); 23 不能与 dowhile(exp) 语句中的 (exp)等价的表达式是 ( ) ( A) (!exp=0) ( B) (exp 0exp 0)

10、 ( C) (exp=0) ( D) (exp!=0) 24 有下列程序: main() inti; for(i=1;i =40;i+) if(i+ +%5=0) if(+i%8=0) printf(“%d“,i); printf(“n“); 执行后的输出结果是 ( ) ( A) 5 ( B) 24 ( C) 32 ( D) 40 25 下列选项中不是字符常量的是 ( ) ( A) V ( B) x2a ( C) a ( D) 0 26 有下列程序: main() int i,j; for(i=1;i 4;i+) for(j=i;j 4;j+)printf(“%d*%d=%d“,i,j,i*j

11、); printf(“n“); 程序运行后的输出结果是 ( ) ( A) 1*1=1 1*2=2 1*3=3 2*1=2 2*2=4 3*1=3 ( B) 1*1=1 1*2=2 1*3=3 2*2=4 2*3=6 3*3=9 ( C) 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 ( D) 1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 27 下列说法不正确的是 ( ) ( A)调用函数时,实参可以是表达式 ( B)调用函数时,实参与形参可以共用内存单元 ( C)调用函数时,将实参的值复制给形参,使实参变量和形参变量在数值上相等 ( D)调用

12、函数时,实参与形参的类型必须一致 28 下列叙述错误的是 ( ) ( A)函数名是属于用户标识符,需符合 C语言对标识符的规定 ( B)形参只能是变量 ( C)为保证程序的正常运行,函数中定义的变量不能与其他函数中的变量同 名 ( D)函数中定义的变量可以与其他函数中的变量同名 29 下列程序段中,不能正确赋值的是 ( ) ( A) char*p,ch; p= scanf(“%c“, ( B) char*p; p=(char*)malloc(1); scanf(“%C“,p); ( C) char*p; *p=getchar(); ( D) char*p,ch; p= *p=getchar()

13、; 30 若有定义 float a15,*p=a;,且数组 a的首地址为 300H,则 p+13所指向的数组元素的地址为 ( ) ( A) 334H ( B) 30DH ( C) 352H ( D) 31AH 31 若有说明: int a3=0,0;则不正确的叙述是 ( ) ( A)数组 a的每个元素的初值都是 0 ( B)数组 a的第一维大小为 1 ( C)数组 a的行数为 1 ( D)只有元素 a00和 a01可得到初值 0,其余元素均得不到初值 0 32 在 C语言中,引用数组元素时,其数组下标的数 据类型允许是 ( ) ( A)整型表达式 ( B)整型常量 ( C)整型常量或整型表达式

14、 ( D)任何类型的表达式 33 对于下列字符串,说明表达式 strlen(s) 值的是 ( ) char s10=(a,n,a,b,t,c; ( A) 10 ( B) 1 ( C) 6 ( D) 7 34 若已包括头文件 string.h且已有定义 char s118,s2=“ABCDE“和 int i,现要将字符串 “ABCDE“赋给 s1,下列语句错误的是 ( ) ( A) strcpy(s1,s2) ( B) strcpy(s1,“ABCDE“); ( C) s1=“ABCDE“; ( D) for(i=0;i 6;i+) s1i=s2i; 35 下列叙述中不正确的是 ( ) ( A)

15、在 C语言中调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参 ( B)在 C的函数中,最好使用全局变量 ( C)外部变量可以在函数之间传递数据 ( D)自动变量实质上是一个函数内部的局部变量 36 在 “文件包含 ”预处理语句的使用形式中,当 #include后面的文件名用 (尖括号 ) 括起时,寻找被包含文件的方式是 ( ) ( A)仅仅搜索当前目录 ( B)仅仅搜索源程序所在目录 ( C)在标准目录下查找指定的文件 ( D)先在源程序所在目录搜索,如查找不到,再按系统指定的标准目录查找 37 根据下列的定义,能打印出字母 P的语句是 ( ) struct stu char na

16、me10; int age; ; stmct stu s10=“John“,11, “Paul“,12, “Mary“,11, “adam“,12 : ( A) printf(“%c“,s3.name); ( B) printf(“%c“,s3.name1); ( C) printf(“%c“,s2.name11); ( D) printf(“%c“,s1.name0); 38 下列程序的运行结果为 ( ) #include stdio.h main() struc tdate int year,month,day; )today; printf(“%dn“,sizeof(struct dat

17、e); ( A) 8 ( B) 6 ( C) 10 ( D) 12 39 在位运算中,操作数每左移两位,其结果相当于 ( ) ( A)操作数乘以 2 ( B)操作数除以 2 ( C)操作数除以 4 ( D)操作数乘以 4 40 若以 “a+”方式打开一个已存在的文件,则下列叙述正确的是 ( ) ( A)文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可以进行添加或读操作 ( B)文件打开时,原有文件内容不被删除,只能进行 读操作 ( C)文件打开时,原有文件内容被删除,只能进行写操作 ( D)以上三种说法都不正确 41 软件定义时期主要包括 _和需求分析两个阶段。 42 为了便于对照检

18、查,测试用例应由输入数据和预期的 _两部分组成。 43 数据的逻辑结构有线性结构和 _两大类。 44 某二叉树中度为 2的结点有 18个,则该二叉树中有 _个叶子结点。 45 在 E-R图中,矩形表示 _。 46 表示 “整数 x的绝对值大于 5”时值为 “假 ”的 C语言表达式是 _。 47 设 y为血型变量,请写出描述 “y是偶数 ”的表达式 _。 48 下列程序的运行结果是 _。 main() int x 1,y 2,Z 3; printf(“%d,“x y?y:x); printf(“%d,“,z y?x+:y+); printf(“%d,%d“,x,y); 49 下列程序段中循环体的

19、执行次数是 _。 a 15; b 0, dob+ 2;a- 2+b;while(a 0); 50 语 句 “int(*ptr)();“的含义是 _是指向函数的指针,该函数返回一个 int型数据。 51 下列程序的输出结果是 _。 #include stdio.h int t(int x,int y,int cp,int dp) cp x*x+y*y; 如: dp x*-y*y; main() int a 1,b 8,c 7,d 9; t(a,b,c,D) ; printf(“%d%dn“,c,D) ; 52 13在内存中占 1个字节, “12“在内存中占 _个字节。 53 #define命令出

20、现在程序中函数的外面,宏名的有效范围为 _。 54 下列程序段的运行结果是 _。 char str口 “ABCD“,*p str; printf(“%dn“,*(p+3); 55 下列程序中的数组 a包括 10个整数元素,分别将前项和后项之和存入数组 b,并按每行 4个元素输出数组 b。请填空。 #include stdioh main() int a10,b10,i; for(i 0;i 10;i+) scanf(“%d“, for(i 0;i 9;i+) for(i;0;i 9;i+) if(i%4 0)primf(“n“); printf(“%3d“,bi; 56 以下程序的功能是:求出

21、数组 x中各相邻两个元素的和依次存放到 a数组中,然后输出。请填空。 main( ) int x10, a9,i; for(i=0;i 10;i+) scanf(“%d“, xi); for( 11 ;i 10;i+) ai-1=xi+ 12 ; for(i=0;i 9;i+) printf(“%d“,ai); printf(“); 57 以下程序的功能是建立一个带有头结点的单向链表,链表结点中的数据通过键盘输入,当输入数据为 -1时,表示输入结束 (链表头结点的 data域不放数据,表空的条件是 ph- next=NULL),请填空。 #include stdio.h struct list

22、 int data;struct list *next; struct list *creatlist( ) struct list *p,*q,*ph;int a;ph=(struct list*)malloc(sizeof(struct list); p=q=ph;printf(“Input an integer number;entre-1 to end:n“); scanf(“%d“, a); while(a!=-1) p=(struct list*)malloc(sizeof(struct list); 14 =a;q- next=p; 15 =p;scanf(“%d“, a); p

23、- next=0;return(ph); main( ) stuct list * head;head=creatlist(); 国家二级( C语言)笔试模拟试卷 152答案与解析 1 【正确答案】 D 【试题解析】 算法的时间复杂度和算法的空间复杂度是从不同的角度来衡量算法的 执行情况,它们之间没有内在联系。 2 【正确答案】 D 【试题解析】 数据的存储结构是指数据的逻辑结构在计算机存储空间中的存放形式,一种数据结构可以根据需要采用不同的存储结构,常用的存储结构有顺序和链式结构。采用不同的存储结构,其处理的效率是不同的。 3 【正确答案】 C 【试题解析】 对线性表进行顺序查找时,从表中的

24、第一个元素开始,将给定的值与表中逐个元素的关键字进行比较,直到两者相符,查找到所要找的元素为止。在最坏的情况下,要查找的元素是表的最后一个元素或查找失败,这两种情况都需要将 这个元素与表中的所有元素进行比较,因此比较次数为 n。 4 【正确答案】 D 【试题解析】 所谓的交换类排序方法是指借助数据元素之间的互相交换进行排序的一种方法,包括冒泡排序和快速排序,冒泡排序是一种最简单的交换排序方法,它通过相邻元素的交换,逐步将线性表变成有序。 5 【正确答案】 A 【试题解析】 程序设计的风格主要强调程序的简单、清晰和可理解性,以便读者理解。程序滥用 GOTO语句将使程序流程无规律,可读性差;添加注

25、释行有利于对程序的理解,不应减少或取消,程序的长短要依据实际的需要而定 ,并不是越短越好。 6 【正确答案】 C 【试题解析】 限制使用 GOTO语句是结构化程序设计的原则和方法之一,但不是绝对不允许使用 GOTO语句。其他三项为结构化程序设计的原则。 7 【正确答案】 D 【试题解析】 面向对象设计方法与面向过程设计方法有本质的不同,其基本原理是:使用现实世界的概念抽象地思考问题从而自然地解决问题。其特点包括:分类性、多态性、封装性、模块独立性、继承和多态性等。模块化是结构化程序设计的特点。 8 【正确答案】 D 【试题解析】 在面向对象方法中;对象 之间通过消息进行通信。消息中只包含传递者

26、的要求,它告诉接受者需要做哪些处理,但并不指示接受者应该怎么完成这些处理,接受者独立决定采用什么方式完成所需的处理。 9 【正确答案】 C 【试题解析】 对象的封装性是指从外面看只能看到对象的外部特性:而对象的内部,其处理能力的实行和内部状态对外是不可见的,是隐蔽的。 10 【正确答案】 A 【试题解析】 软件生命周期一般可以分为软件定义、软件开发及软件运行维护 3个阶段。软件交付并投入运行后,需要不断地进行维护,并根据新提出的需求进行必要而且可能的 扩展和删改。 11 【正确答案】 C 【试题解析】 本题涉及 C语言的 3个基本知识点: C语言的源程序是由函数构成的,函数是其基本单位,每一个

27、函数完成相对独立的功能,其中只能包括一个主函数: C语言规定每个语句以分号结束,其书写格式是自由的,一条语句可以写在不同的行上,或者一行也可以写多条语句; 注释行虽然对程序的运行不起作用,但是它可以方便程序员阅读,提高程序的可读性和可移植性,所以书写注释行还是很有必要的。 12 【正确答案】 A 【试题解析】 本题主要考查自加运算符 (+、 -)的使 用。 前缀变量 “+i、 -i”,在使用 i之前,先使 i的值加 1或者减 1,再使用此时的表达式的值参与运算: 后缀变量 “i+、 i-”,先使用此时的表达式的值参与运算,在使用 i之后,再使 i的值加 1或者减 1。 题中计算表达式 c=(a

28、+)-1时先使用 a的值进行计算,结果为 c=2-1=1,然后将 a的值加 1,即执行完此语句后 a的值是 3;表达式 c+=-a+(+b)等价于 c=c+(-a+)+(+b), c=1+(-3)+3=1,此时 a=4, b=3。 13 【正确答案】 A 【试题解析】 条件表 达式 “a?b:c”的含义是:当 a为真时,其值等于表达式 b的值;当 a为假时,其值等于表达式 c的值。表达式运算过程:第 1个表达式: w=2 x=3为真,所以返回 w的值,即 m=w=2:第 2个表达式: m=2 z=5为真,所以返回 m的值,即 m=2;第 3个表达式: w=2 y=4为真,所以返回 m的值,即m

29、=2。 14 【正确答案】 C 【试题解析】 在计算 (float)(a+b) /2时,由于通过强制类型转换将 (a+b)转换成了float型,所以应先将 2转换成 float型,再进行计算,得 4.500000。 在计算 (int)x%(int)y时,先将 x和 y通过强制类型转换成血型,再进行求余运算,得 1。 又因为 4.500000是 float型,所以将 1和它相加时,先将 1换成 float型,再计算,得到 5.500000。 知识扩展 类型转换的一般规则是:低级类型服从高级类型,并进行相应的转换。数据类型的级别由低到高的排序表示为:charintunsignedlongfloat

30、double 。 15 【正确答案】 A 【试题解析】 本题考查大小写字母的 ASCII码值的关系。大写字母比它相应 的小写字母的 ASCII码小 32。 16 【正确答案】 A 【试题解析】 选项 A是一个表达式,它后面没有分号结尾 (C语言中规定语句必须以分号结束 ) ,所以它不是语句;选项 B用一个花括号把几条语句括起来了,这是一个复合语句;选项 C中只有一个分号,是一个空语句:选项 D是个复合语句,也是一个空语句。 17 【正确答案】 D 【试题解析】 本题考查语句的基本构成。选项 A中 i=5后面少了一个分号;选项B中少了 “”;选项 C不是一个完整的函数定义格式,一个完整的函数定义

31、格式还包括一对花括号;选项 D正确 ,是一个空语句。 18 【正确答案】 B 【试题解析】 算术运行符 “/”、 “%”的优先级处于同一级,并且两者的结合性都是从左到右。所以算术表达式运算过程为: a=25/10%9=2%9=2;当逻辑运算符“语句,即输出 32。本题的答案为选项 C) 25 【正确答案】 D 【试题解析】 C语言规定,一个字符常量代表 ASCII码字符集里的一个字符,在程序中用单引号括起来,以便区分。 “v”表示的是竖向跳格; “x2a”表示的是两位 +六进制数; “a”表示的是字符 a对应的 ASCII码值。 26 【正确答案】 B 【试题解析】 外层 for循环的自变量

32、i从 1开始,每次循环后增 1,直到 i等于 3结束。对于外层循环自变量 i的每一个值,内层循环的自变量 j每次从 i开始,每次循环后增 1,直到 j等于 3结束。所以在每次外循环开始后,内层循环在一行先打印 i*j=两个 乘数的积,然后回车换行,下次循环从下一行开始打印输出结果。 27 【正确答案】 B 【试题解析】 本题考查函数调用的基本概念。调用函数时,实参的形式可以是具体的数值,也可以是表达式。实参将数值或表达式的值传递给形参,因而两者的类型必须保持一致;形参在运算过程中会发生改变,但不一定会影响到实参值,所以可知两者不共用内存单元。 28 【正确答案】 C 【试题解析】 本题考查函数

33、调用时参数的作用域。在函数调用时,函数体内定义的变量的作用域连函数体内,因而在不同函数体内定义的变量可以相同,不影响各个变量的使用。 29 【正确答案】 C 【试题解析】 地址变量 p指向的存储空间一定要明确,否则可能影响程序的正确性。 30 【正确答案】 C 【试题解析】 解答本题,首先要明白在对指针进行加、减运算的时候,数字 “1”不是 +进制的数 “1”,而是指 “1”个存储单元长度,而 1个存储单元长度占多少存储空间,应该视具体情况而定。如果基本类型是 int型,移动 1个存储单元的长度就是位移 2个字节,如果基本类型是 float型,移动 1个存储单元的长度就是位移 4个字节。所以

34、p+13所指向的数组元素的地址为 : 300H+(13*4) H=352H。 31 【正确答案】 D 【试题解析】 本题考查给二维数组元素赋值。给二维数组元素赋值时应注意下列两点: 在对二维数组元素赋初值时,可以只对部分元素赋初值,未赋初值的元素自动取 0。 二维数组第一维的大小由下列规则确定:当初值的个数能被第二维的常量表达式的值除尽时,所得商数就是第一维的大小;当初值的个数不能被第二维的常量表达式的值除尽时,第一维的大小等于所得商数加 1。 32 【正确答案】 C 【试题解析】 在 C语言中,引用数组元素时,其数组下标的数据 类型可以是整型常量,也可以是整型表达式。 33 【正确答案】 C

35、 【试题解析】 strlen(s)返回 s字符串中字符的个数,若 s是个数组,则返回数组元素的个数。 34 【正确答案】 C 【试题解析】 数组名 s1是代表 s1数组首地址的地址常量,而不是变量,因为“=”左边不能出现常量, 因此 sl=“ABCDE“的方法是错误的。 35 【正确答案】 B 【试题解析】 编译时,编译系统不为局部变量分配内存单元,而是在程序运行中,当局部变量所在的函数被调用时,编译系统根据需要要临时分 配内存,调用结束空间释放:全局变量一经定义,编译系统为其分配固定的内存单元,在程序运行的自始至终都占用固定的单元。在内存不确定的情况下,最好使用全局变量。 36 【正确答案】

36、 C 【试题解析】 本题考查文件包含的知识点:格式 1: #include 文件名,预处理程序在标准目录下查找指定的文件;格式 2: #include”文件名 ”,预处理程序首先在引用被包含文件的源文件所在的目录中寻找指定的文件,如查找不到,再按系统指定的标准目录查找。 37 【正确答案】 D 【试题解析】 本题主要考查按 结构数组元素方式引用结构成员。字母 P为 “Paul”的第一个字母,是结构体 s1的 name成员的第二个元素的值,即 s 1.name0的值。 38 【正确答案】 B 【试题解析】 解答本题需要注意两个知识点: 结构体变量的长度是其内部成员长度的总和,本题中, struc

37、t date中包含 year、 month、 day这 3个整型变量,一个整型变量占 2个字节; sizeof是求所占字节数的运算符。 39 【正确答案】 D 【试题解析】 本题主要考查左移、右移对数据值的影响,左移 n位相当于乘 以 2的 n次幂,右移 n位相当于除以 2的 n次幂。 40 【正确答案】 A 【试题解析】 本题考查文件使用方式标识符,以 “a+”方式打开一个已存在的文件,则表示保留文件中原有的数据,文件的位置指针在文件末尾,此时,可以进行追加或读操作。 41 【正确答案】 可行性研究 【试题解析】 软件生命周期一般包括可行性研究与需求分析、设计、实现、测试、交付使用及维护等,

38、还可以将软件生命周期分为三个阶段: 软件定义阶段:可行性研究和需求分析; 软件开发阶段:设计、实现和测试; 软件运行维护阶段:交付使用和 维护。 42 【正确答案】 输出结果 【试题解析】 测试用例 (Text Case)是为测试设计的数据。测试用例由测试输入数据和与之对应的预期输出结果两部分组成。 43 【正确答案】 非线性结构 【试题解析】 数据的逻辑结构有线性结构和非线性结构两大类。 44 【正确答案】 19 【试题解析】 在任意一棵二叉树中,度为 0的结点 (即叶子结点 )总是比度为 2的结点多一个。 45 【正确答案】 实体 【试题解析】 在 E-R图中用矩形表示实体;椭圆形表示属性

39、;菱形表示联系。 46 【正确答案】 (X -5)&(x 5) 【试题解析】 本题考查基本逻辑表达, “整数 x的绝对值大于 5”时值为 “假 ”,即整数 x的绝对值小于等于 5,也就是整数 x要大于等于 -5且要小于等于 5。这里“且 ”用 “与 (&)”表示,所以 C语言表达式为: (X -5)&(x 5)。 47 【正确答案】 (y%2) 0 【试题解析】 因符合偶数的条件是对 2取余为 0,所以要描述 y是偶数的表达式是 (y%2) 0。 48 【正确答案】 2,2,1,3 【试题解析】 本题考查 +,-运算符和条件 运算符的使用。 “表达式 1?表达式 2:表达式 3”的功能是:表达

40、式 1的值若非 0,则计算表达式2的值,且表达式 2的值为最终结果;若表达式 1的值为 0,则计算表达式 3的值,且为最终结果。 本题中, x 1,y 2时, x y成立,输出 y的值 2; y 2,z 3时, z y不成立,执行 y+,输出 2后 y值增 1,所以最后一个输出 x的值不变为 1, y的值为增加后的 3。 49 【正确答案】 3 【试题解析】 本题考查 dowhile 语句形式: do循环体 while表达式 首先执行循环体语句, 然后检测循环控制条件表达式的值,若为真,则重复执行循环体语句,否则退出循环。第 1次循环: b+ 2,b 2,a- 2+b,a 11;第 2次循环:

41、 b 4,a 5:第 3次循环: b 6,a -3,此时再判断循环条件不满足,退出循环。 50 【正确答案】 ptr 【试题解析】 本题考查函数指针的概念。函数指针的定义格式是:类型标识符 (*旨针变量名 )()。注: “类型标识符 ”为函数返回值的类型。 51 【正确答案】 7 9 【试题解析】 因为在调用子函数时进行的是数值传递,调用子函数并不能改变实参的 值,所以经过调用子函数, c、 d的值并没有发生变化还是原来的值。 52 【正确答案】 2 【试题解析】 13:表示八进制数 13表示的 ASCII字符,是一个字符,占一个字节;而 “12”是个字符串,除了八进制数 12表示的 ASCI

42、I字符占一个字节外,还有在字符串的末尾加上串结束标志 “0”,所以共有两个字节。 53 【正确答案】 从定义到本源文件结束 【试题解析】 C语言规定,宏名的有效范围为从定义宏到本源程序结束。 54 【正确答案】 68 【试题解析】 本题考查如何用指 针引用数组元素。本题先定义了一个指向字符型数组 str的指针 p,指针 p指向数组 str的首地址, p+3将指针指向 str3, *(p+3)指的是字符 “D”,输出时是以 “%d,格式输出的,即输出其相应 ASCII码值 68。 55 【正确答案】 bi ai+ai+1 【试题解析】 将数组 a中元素 ai与 ai+1值相加后的值赋予数组 b中元素 bi小即可实现将一个数组的前项和后项之和存入另一数组。 56 【正确答案】 i=1 xi-1 【试题解析】 对于 10个数,相邻的两 个数相加取和,总共要进行 9次加法运算,所以空 11处应填入 i=1。相邻的两个数相加取和,放在数组 a中, x0与 x1的和存放在 a0中,所以空 12处应填入 xi-1。 57 【正确答案】 p- data q 【试题解析】 本题考查的是链表这一数据结构对结构体变量中数据的引用。链表的特点是结构体变量中有两个域,一个是数据,另一个是指向该结构体变量类型的指针,用以指明链表的下一个结点。

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

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

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