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

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

1、国家二级( C语言)笔试模拟试卷 207 及答案与解析 1 结构化分析方法是面向 ( )的自顶向下、逐步求精进行需求分析的方法。 ( A)对象 ( B)数据结构 ( C)数据流 ( D)目标 2 对线性表进行二分法检索,其前提条件是 ( )。 ( A)线性表以顺序方式存储,并按关键码值排好序 ( B)线性表以顺序方式存储,并按关键码的检索频率排好序 ( C)线性表以链式方式存储,并按关键码值排好序 ( D)线性表以链式方式存储,并按关键码的检索频率排好序 3 结构化程序设计的 3种结构是 ( )。 ( A)顺序结构、选择结构、转移结构 ( B)分支结构、等价结构、循环结构 ( C)多分支结构、

2、赋值结构、等价结构 ( D)顺序结构、选择结构、循环结构 4 已知数据表 A中每个元素距其最终位置不远,为了节省时间,应采用的算法是( )。 ( A)堆排序 ( B)直接插入排序 ( C)快速排序 ( D)直接选择排序 5 在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是 ( )。 ( A)数据库系统 ( B)文件系统 ( C)人工管理 ( D)数据项管理 6 设有如图所示二叉树,对此二叉树后序遍历的结果为 ( )。( A) ZBTYCPXA ( B) ATBZXCYP ( C) TZBACYXP ( D) ATBZXCPY 7 链表不具

3、有的特点是 ( )。 ( A)不必事先估计存储空间 ( B)可随机访问任意元素 ( C)插入、删除不需要移动元素 ( D)所需空间与线性表长度成正比 8 在数据库设计中,将 E-R图转换为关系模式的过程属于 ( )。 ( A)需求分析阶段 ( B)逻辑设计阶段 ( C)概念设计阶段 ( D)物理设 计阶段 9 C语言可执行程序的开始执行点是 ( )。 ( A)包含文件中的第一个函数 ( B)程序中第一个函数 ( C)程序中的 main()函数 ( D)程序中第一条语句 10 在 C语言程序中可用做用户标识符的是 ( )。 ( A) void 123 BBN ( B) aa _abc cas (

4、 C) as+b3 -123 If ( D) 6f Do SIG 11 下列叙述中正确的是 ( )。 ( A) break语句只能用于 switch语句体中 ( B) continue语句的作用是使程序的 执行流程跳出包含它的所有循环 ( C) break语句只能用在循环体内和 switch语句体内 ( D)在循环体内使用 break语句和 continue语句的作用相同 12 已知大写字母 A的 ASCII码是 65,小写字母 a的 ACSII码是 97。下列能将变量 c中的大写字母转换为对应小写字母的语句是 ( )。 ( A) c=(c-A) 26+A ( B) c=c+32 ( C) c

5、=c-A+A ( D) c=(A+C) 26-a 13 下列叙述中正确的是 ( )。 ( A)在赋值表达式中 ,赋值号的左边既可以是变量,也可以是任意表达式 ( B)实型变量中允许存放整型数 ( C)若 a和 b类型相同,在执行赋值 a=b后, b中的值将放入 a中,但 b中的值不变 ( D)在 c程序中,求余算符 “ ”两边的类型相同时才能进行运算 14 若有说明 “char s130=“abc“, s2=“defghi“; ”,则在使用函数 stcat(s1, s2)后,结果是 ( )。 ( A) s1的内容更新为 abedefghi ( B) s1的内容更新为 defghi 0 ( C)

6、 s1的内容更新为 defghiabc 0 ( D) s1的内容更新为 abcdefghi 0 15 已知 i、 j、 k为 int型变量,若要从键盘输入 2、 3、 4,使 i、 j、 k的值分别为 2、 3、 4,下列正确的输入语句是 ( )n ( A) seanf(“ 3d, 3d, 3d“, &i, &i, k); ( B) scanf(“ d, d, d“, &i, &j, &k); ( C) scanf(“ d d d“, &i, &j, &k); ( D) scanf(“i= d, i= d, k= d“, &i, &j, &k); 16 下列程序的执行结果是 ( )。 #inc

7、lude main() int a, b, C; a=b=2, c=1; c=(a+)-1; printf(“ d, d“, a, c); c+=-a+(+b); printf(“ d, d“, a, c); ( A) 3, 14, 1 ( B) 3, 14, 2 ( C) 2, 04, 1 ( D) 2, 14, 1 17 有以下程序: main() int a=0, b=0; a=10; *给 a赋 值 b=20; 给 b赋值 * printf(“a十 b= d n“, a+b);输出计算机结果 程序运行后的输出结果是 ( )。 ( A) a+b=10 ( B) a+b=30 ( C) 3

8、0 ( D)出错 18 有以下程序: int fun(int x, int y)return(x+y); main() int a=1, b=2, c=3, sum; sum=fun(a+, b+, a+b), c+); printf(“ d n“, sum); 执行后的输出结果是 ( )。 ( A) 6 ( B) 7 ( C) 8 ( D) 9 19 有以下程序: main() int a=0, b=10, c=0, d=0; if(a=1)b=1; c=2; else d=3; printf(“ d, d, d, d n“, a, b c, d); 程序输出 ( )。 ( A) 0, 1,

9、 2, 0 ( B) 0, 0, 0, 3 ( C) i, 1, 2, 0 ( D)编译有错 20 在 16位编译系统上,若有定义 “int a=10, 20, 30, *p=&a; ”,当执行“p+; ”后,下列说法错误的是 ( )。 ( A) p向高地址移了一个字节 ( B) p向高地址移了一个存储单元 ( C) p向高地址移了两个字节 ( D) p与 a+1等价 21 执行下面的程序后, a的值为 ( )。 main() int a, b; for(a=1, b=1, a =10; a+) if(b 3=1) b+=3; continue; b-=5; ( A) 7 ( B) 8 ( C

10、) 9 ( D) 10 22 下列叙述中正确的是 ( )。 ( A)用 ER图能够表示实体集之间一对一的联系、一对多的联系、多对多的联系 ( B)用 ER图只能表示实体集之间一对一的联系 ( C)用 ER图只能表示实体集之间一对多的联系 ( D)用 ER图表示的概念数据模型只能转换为关系数据模型 23 若有运算符:、 =、 sizeof,则它们按优先级 (由高至低 )的正确排列顺序为 ( )。 ( A)、 sizeof、 = ( B) sizeof、 =、 ( C) sizeof、 = ( D) sizeof、 = 24 若变量 a, b已正确定义,且 b已正确赋值,则合法的语句是 ( )。

11、( A) b=double(b); ( B) (int)a=(int)b; ( C) a=a+=5; ( D) a=double(b); 25 执行下列程序中的输出语句后, a的值是 ( )。 main() int a; printf(“ d n“, (a=2*3, a*5, a+7); ( A) 17 ( B) 37 ( C) 6 ( D) 13 26 运行下列程序时,若输入的数据为 “1, 2, 3”,则输出结果是 ( )。 main() float a, b, c, t; scanf(“ f, f, f“, &a, &b, &c); if(a b) t=a; a=b; b=t; if(a

12、 c) t=a; a=c; c=t; it(b c) t=b; b=c; c=t; ) printf(“ f n f n f n“, a, b, c); ( A) 1 00 2 00 3 00 ( B) 1 00 3 00 2 00 ( C) 1 3 2 ( D) 3 00000 2 00000 1 00000 27 设有程序段: int k=12: while(k=1) k=k-1; 则下列描述中正确的是 ( )。 ( A) while循环执行 10次 ( B)循环是无限循环 ( C)循环体语句一次也不执行 ( D)循环体语句执行一次 28 在执行完下列的 C语句段之后,则 B的值是 ( )

13、。 char a=A; int b; B=(34&56)&(a b); ( A) 0 ( B) 1 ( C) TRUE ( D) FALSE 29 有下列函数定义: fun(float h) printf(“ f, f n“, h, h*h); 该函数的类型是 ( )。 ( A) int类型 ( B) float类型 ( C) vold类型 ( D)函数无类型说明,定义有错 30 有下列程序段: int n, t=1, S=0; scanf(“ d“, &n); dos=s+t; t=t-2; while(t!=n); 为使此程序段不陷入循环,从键盘输入的数据应该是 ( )。 ( A)任意正奇

14、数 ( B)任意负偶数 ( C)任意正偶数 ( D)任意负奇数 31 若有说明语句: double*p, a;则通过 scanf语句正确给输入项读入数据的程序段是 ( )。 ( A) *p=&a; scanf(“ if“, p); ( B) *p=&a; scanf(“ f“, p); ( C) p=&a; scanf(“ 1f“, *p); ( D) p=&a; scanf(“ 1f“, p); 32 下列程序的输出结果是 ( )。 #include main() int a23=1, 2, 3), 4, 5, 6, (*p)3, i; p=a: for(i=0; i 3; i+) if(i

15、 2) p1i=p1i-1; else p1i=1; printf(“ d n“, a01+a11+a12); ( A) 8 ( B) 7 ( C) 12 ( D) 9 33 执行下列程序后,输出的结果是 ( )。 #include #define S(X) X*X void main() int a=9, k=3, m=2; a =S(k+m) S(k+m): printf(“ d“, a); ( A) 1 ( B) 4 ( C) 9 ( D) 0 34 设 x=015,则 x=x 017的值是 ( )。 ( A) 00001111 ( B) 11111101 ( C) 00000010 (

16、 D) 11000000 35 若 fp是指向某文件的指针,且尚未读到文件末尾,则函数 feof(fp)的返回值是( )。 ( A) EOF ( B) -1 ( C)非零值 ( D) 0 36 设变量 a、 b、 c、 d和 y都已正确定义并赋值。若有以下 if语句: if(a b) if(c=d) y=0; else y=1; 该语句所表示的含义是 ( )。 ( A) y=0, a b且 c=d y=1, ab ( B) y=0, a b且 c=d y=1, ab且 cd ( C) y=0, a b且 c=d y=1, a b且 cd ( D) y=0, a b且 c=d y=1, cd 3

17、7 下列程序的运行结果是 ( )。 #inelude void main() int s=0, k; for(k=7; k 1; k-) switch(k) case 1: case 4: case 7: s+; break; case 2: case 3: case 6: break; case 0: case 5: s+=2; break; printf(“s= d“, s); ( A) s=3 ( B) s=4 ( C) s=5 ( D)无输出结果 38 若 i、 j已定义成 int型,则下列程序段中内循环体的总执行次数 是 ( )。 for(i=6; i 0; i-) for(j=0;

18、 j 4; j+) ( A) 20 ( B) 24 ( C) 25 ( D) 30 39 下列叙述中正确的是 ( )。 ( A)只能在循环体内和 switch语句体内使用 break语句 ( B) cotinue语句的作用是结束整个循环的执行 ( C)在循环体内使用 break语句或 continue语句的作用相同 ( D)从多层循环嵌套中退出时,只能使用 goto语句 40 有以下程序: #include void WriteStr(char*fn, char*str) FILE*fp; fp=fopen(fn, “w“); fputs(str, fp); fclose(fp); main(

19、) WriteStr(“t1 dat“, “start“); WriteStr(“t1 dat“, “end“); ) 程序运行后,文件 t1 dat中的内容是 ( )。 ( A) start ( B) end ( C) startend ( D) endrt 41 全面支持软件开发过程的软件工具集合称为 _。 42 数据模型分为格式化模型与非格式化模型,层次模型与网状模型属于_。 43 冒泡排序算法在最好的情况下元素交换次数为 _次。 44 若想通过以下输入语句给 a赋予 1,给 b赋予 2,则输入数据的形式应该是_。 int a, b; scanf(“a= d, b= d“, &a, &b

20、); 45 数据的独立性分为逻辑独立性与 _。 46 在关系运算中, _运算是在指定的关系中选取所有满足给定条件的元组,构成一个新的关系,而这个新的关系是原关系的一个子集。 47 在以下程序运行时若从键盘输入: 10 20 30,输出结果是 _。 #include main() (int i=0, j=0, k=0; scanf(“ d *d d“, &i, &j, &k); printf(“ d d d n“, i, j, k); 48 以下程序运行后的输出结果是 _。 main() int i=10, j=0; do j=j+i; i-; while(i 2): printf(“ d n“

21、, j); 49 以下程序的输出结果是 _。 #include int fun(int x, int y) static int m=0, i=2: i=i+1: m+=i+x+y; return m main() int j=4, m=1, k; k=fun(j, m); printf(“ d, “, k); k=fun(j, m); printf(“ d n“, k) 50 执行下列语句段后, x的值是 _。 int*p, x: x=100; p=&x; x=*p+50; 51 设有下列宏定义: #define A 2 #define B (A+3) 则执行赋值语句 “k=B*20; ”(

22、k为 int型变量 )后, k的值是 _。 52 下列程序运行后的输出结果是 _。 main() int x, a=1, b=2, c=3, d=4: x=(a b)?a: b; x=(x c)?x: c; x=(d x)?x: d; printf(“ d n“, x): 53 下列程序的功能是将输入的正整数按逆序输出。例如,若输入 135,则输入531,请填空。 #include main() int n, s; printf(“Enter a number: “); scanf(“ d“, &n): printf(“Output: “); do s=n 10; printf(“ d“, s

23、); _; while(n!=0); printf(“ n“); 54 设有以下程序: main() int a, b, k=4, m=8, *p1=&k, *p2=&m; a=&m; b=(*p1) (*p2)+7; printf(“a= d n“, a); printf(“b= d n“, b); 执行该程序后, a的值为 _, b的值为 _。 国家二级( C语言)笔试模拟试卷 207 答案与解析 1 【正确答案】 C 【试题解析】 结构化分析方法是面向数据流进行需求分析的方法,采用自顶向下、逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。 2 【正确答案

24、】 A 【试题解析】 对线性表进行二分法检索,要求线性表是按顺序方式存储的,并按关键码值的大小排好序。 3 【正确答案】 D 【试 题解析】 结构化程序设计的主要观点是采用自顶向下、逐步求精的程序设计方法;任何程序都可由顺序、选择和循环 3种基本控制结构构造。 4 【正确答案】 B 【试题解析】 当数据表 A中每个元素距其最终位置不远,说明数据 A按关键字值基本有序。在待排序数据基本有序的情况下,采用插入排序所用的时间最少。 5 【正确答案】 A 【试题解析】 数据库系统的一个重要目标就是使程序和数据真正分离,数据独立性包括数据的物理独立性和数据的逻辑独立性。相对文件系统人工管理和数据项管理,

25、数据库系统的数据独立性大大增加 。 6 【正确答案】 A 【试题解析】 后序遍历首先访问左子树,然后右子树,最后根结点,即左右根。故该二又树的前序遍历结果为 “ATBZXCYP”。后序遍历和中序遍历的结果分别为“ZBTYCPXA”和 “TZBACYXP”。 7 【正确答案】 B 【试题解析】 链表采用的是链式存储结构,它的结点空间可以动态申请和释放;它的数据元素的逻辑次序靠结点的指针来指示,插入、删除不需要移动数据元素。但是链式存储结构也有不足之处:每个结点中的指针域需额外占用存储空间,它是一种非随机存储结构。 8 【 正确答案】 B 【试题解析】 数据库设计阶段主要包括需求分析、概念设计、逻

26、辑设计和物理设计。逻辑设计的主要工作是将 E-R图转换为关系模式。 9 【正确答案】 C 【试题解析】 每个 C程序有且只有一个主函数 main(),且程序必须从 main()函数开始执行,并在 main()函数中结束。 10 【正确答案】 B 【试题解析】 C语言规定标识符是由字母、数字或下划线组成,并且它的第一个字符必须是字母或者下划线,不能使用关键字和数字, A中 vold, C中 if, D中Do,都属于关键字。 11 【正确答案】 C 【试题解析】 break 只能在循环体内和 switch 语句内。如果 break 出现在循环体的 switch 语句体内时,表示跳出该 switch

27、 语句体,但并不能中止循环体的执行。 12 【正确答案】 B 【试题解析】 根据 ASCII码可知大写字符 A与小写字符 a的 ASCII码相差 32,而 D中应该是加上 a,选项 A和 C左侧的表达式都是大写字符 C与大写字符 A的差与 a的 ASCII 代码的和就是小写字符 c的 ASCII代码。 13 【正确答案】 D 【试题解析】 选项 A,在赋 值表达式中,赋值号的左边只能是变量或者是代表某个存储单元的表达式,不能是任意表达式,右边也不得出现表达式;选项 B中,整型变量中只能存放整型数,但实型变量中能存放实型数,也能存放整型数;选项 C,表达式 a=b 的意思是把变量 b的值赋给变量

28、 a,从而覆盖 a中原来值;选项D,要求取余运算符 “ “两边的类型均为整型。 14 【正确答案】 D 【试题解析】 strcat(s1, s2)函数的功能是把 s2字符串连接到 s1字符串的末尾,要保证 s1有足够的空间容纳下连接后的字符串。 15 【正确答案】 B 【试 题解析】 本题主要考查 scanf函数的使用, scanf 函数的调用形式是:scanf(格式字符串,输入项地址表 )。 “格式字符串 ”是要输入的变量的格式符; “输入项地址表 ”是要输入的变量的地址。 16 【正确答案】 A 【试题解析】 本题主要考查自加减运算符 (+, -)的使用。 如果作为前缀变量“+a, -a”

29、,在使用 a之前,先使 a的值加 1或者减 1,再使用表达式的值参与运算; 后缀变量 “a+, a-”,先使用表达式的值参与运算,在使用 a之后,再使 i的值加 1或者减 1。在本题中计算表达式 c=(a+)-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。 17 【正确答案】 A 【试题解析】 本题中 * 为多行注释,所以可知 b=20为注释语句,在程序运行时不起作用, b仍为 0,所以本题中 A正确。 18 【正确答

30、案】 C 【试题解析】 sum=fun(a+, b+, a+b), c+)中 a+, b+, a+b为逗号表达式, 运算后取 a+b 的值为 5, c+为 3,故函数调用后输出结果为 8。 19 【正确答案】 D 【试题解析】 语法错误。 else与 if之间不应再用其他语句,如果满足 if条件,则继续执行 if 后面的语句;不满足就执行 else语句。 20 【正确答案】 A 【试题解析】 因为 p是整型的指针变量,因此其移动一个位置即两个字节,故选择 A选项。 21 【正确答案】 D 【试题解析】 本题考查 continue的用法 continue语句的作用结束本次循环,直接进行下次循环。

31、所以在程序中,只有当 a=10时,才返出循环,故选择 D选项。 22 【正确答案】 A 【试题解析】 用 E-R图可以描述实体及其相互之间的联系,还可以描述多个实体集之间的联系和一个实体集内部实体之间的联系,用 E-R图表示的概念敛据模型不仅能转换为关系数据模型,还可以转换为其他数据模型,如网状模型和层次模型等。所以 A的说法正确。 23 【正确答案】 D 【试题解析】 主要考查运算符的优先级。 sizof 的优先级最高,其次是,优先级最低的是 “=”。 24 【正确答案】 B 【试题解析】 在 C语言中规定进行强 制类型转换的格式是: (类型名 )变量名;并且给表达式赋值。 25 【正确答案

32、】 C 【试题解析】 本题考查逗号表达式。程序输出时输出一个 d,所以输出第一个。的值与后续无关。 26 【正确答案】 D 【试题解析】 本题考察语句。第 1个 if 语句,如果 a b,则 a与 b 交换;第 2个 if语句,如果 a c,则 a与 c交抉;第 3个 if语句,如果 b c:则 b与 c交换。 3个 if语句结合起来实现的功能就是 a、 b、 c按从大到小排序。 27 【正确答案】 C 【试题解析】 本题考查 while, while循环表达式 k=1是个赋值表达式而不是逻辑表达式, k的初值为 12 不符合循环条件,所以循环体一次也不执行。 28 【正确答案】 B 【试题解

33、析】 本题考查 3个知识点:将一个字符赋给一个字符变量时,是将该字符对应的 ASCII码存储到内存单元中;常见 ASCII码的值如 A和 a;只要逻辑与运算符 &的两个运算对象都为真时,返回值就是 1。 29 【正确答案】 A 【试题解析】 本题考查函数值的类型,在函数定义时,由于函数没有说明其类型,系统默认一律自动按整型 (int)处理。 30 【正确答案】 D 【试题解析】 本题主要考查 do-whlie循环,因为变量 t的初始值等于 1,经过第一次 do-while循环后。执行 t=t-1这条语句一次,所以变量 t的值为 -1,判断关系表达式 t!=n 是否成立,如果关系表达式成立,则执

34、行第二次循环,如果关系表运式不成立,退出循环。由此可见,只要输入变量 n 的值为负奇数,则一定会使t=n 成立,故退出 do-while循环。 31 【正确答案】 D 【试题解析】 double*p, a定义了一个指向双精度型的指针变量 p和双精度型变量 a, p=&a表示将变量 a的地址赋给指 针变量 p; scanf(“ 1f“, p)表示用键盘输入的数赋给指针变量 p所指向的地址单元中, scanf()函数要求在输入 double。型数据。格式控制符必须用 1f。否删,数据不能正确输入。所以选项 D正确。 32 【正确答案】 B 【试题解析】 本题考查 for循环及 ifelse 语句嵌

35、套,第 1次执行 for循环,p10=p10=p10-1=3;第 2次执行 for循环。 p11=p11-1=4;第 3次执行 for循环, p12=1,最后输出的是 a01+a11+a12=2+4+1=7 33 【正确答案】 D 【试题解析】 本题主要考查带参数的宏定义,过程如下:出于定义为 define(x) x*x没有括号优先级,所以: a=a (S(k+m) S(k+m)=a (k+in*k+mk+m*k+m)=9 (3+2*3+2 3+2*3+2)=0。 34 【正确答案】 C 【试题解析】 本题考查按位异或运算,异或就是相同为 0,不同为 1(化为二进制00001101), 017

36、的二进制为 000001111,两者异或结果为 00000010。 35 【正确答案】 D 【试题解析】 本题考查 feof(tp)函数,其功能是:测试所指的文件的位置指针是否已达到文件尾,如果已达到文件尾,则函数返回非 0值:否则返回 0,表示文件未结束。 36 【正确答案】 C 【试题解析】 语句 “if(c=d)y=0: else y=1; ”是 if(a b)语句的一个子句。所以整个语句表达式的意思是:在 a b 的情况下,如果 c=b则 y=0否,否则 y=1;如果 a b,则执行第 2个语句。如果 c等于 d,那么 y=0,如果 c不等于 d。那么y=1,所以,选项 C为正 确答案

37、。 37 【正确答案】 B 【试题解析】 运行程序,当 k=7时 switch(7)执行 case: 7, s+后 s=1, break 跳出。 k-, k=7继续循环 switch(6),执行 case 6;直接跳出循环, k-变成 5,继续循环 switch(5),执行 case 5后面的语句 s+=2,也相当于 s=s+2,此时 s为 3,break 跳出, k变为 4,继续循环,执行 case 4为空继续执行 case 7; s+为 4 跳出循环, k-变为 3,继续循环,执行 case 3,空语句住下执行 case 6,跳出, k-为2,继缕循环,执行 cane 2;宅语句往下执行

38、case 3,空语句再执行 case 7,跳出循环, k-为 1不符合循环,退出,此时 s=4。 38 【正确答案】 B 【试题解析】 本题考查 for循环的使用。对于第 1个 for循环,任何一个 i,内层j的循环都要使 j 0到 3, j=4时不符合,所以退出 j循环;然后 i城 1, j仍然要从 0 3, j=4时退出 j循环直到 i变成 0,退出 i循环。第一条 for语句执行 6次,第二条: for语句执行 4次,所以内循环体执行 6*4=24次。 39 【正确答案】 A 【试 题解析】 本题考查循环跳出的知识点: break 语句可以出现在 switct循环体内及语句体内,它的作用

39、是跳出循环体,不能用于其他的语句; continue语句的作用是结束本次循环,即跳过循环体中下面尚未执行的语句,而接着判定循环象僻是否成立,确定下一次循环是否继续执行,执行 contiune语句不会使整个循环终止; 循环体内使用 break 语句会使循环提前终止; 从多层循环、嵌套中退出时,可以使用 goto语句或者 break 语句。 40 【正确答案】 B 【试题解析】 用 ”w”方武打开文件,意思是如果文 件名相同则覆盖原来的文件,所以当再盘输入时覆盏了第一个次的内容, B选项正确。 41 【正确答案】 软件工程环境。 【试题解析】 本题考查对软件工程的理解,软件工程环境被称为软件开发环

40、境,全面支持软件开发过程的软件工具集合。 42 【正确答案】 格式化模型。 【试题解析】 层次模型可以看成是网状模型的特例,都是格式化模型。 43 【正确答案】 0。 【试题解析】 冒泡排序的思想:若待排序的初始序列为正序序列,则只需进行一趟排序,在排序过程中进行 n-1次关键字间的比较,且不移动和交 换记录,这种情况是冒泡排序的最好情况,故冒泡排序算法在最好的情况下的元素交换次数为 0次。 44 【正确答案】 a=1, b=2。 【试题解析】 scanf函数在输入数据时,输入变量必须和格式控制符统一,因此填 a=1, b=2。 45 【正确答案】 物理独立性。 【试题解析】 本题考查数据的独

41、立性,数据的独立性是指数据和应用程序相互独立,分为物理独立性和逻辑独立性。其中物理独立性是指数据的物理结构 (包括存储结构、存取方式 )改变时,不需要修改应用程序,而逻辑独立性是指当逻辑结构改变时,不需要修改 应用程序。 46 【正确答案】 选择。 【试题解析】 根据定义,在关系运算中,选择运算是在指定的关系中选取所有满足给定条件的元组,构成一个新的关系,而这个新的关系是原关系的一个子集。 47 【正确答案】 10 30 0。 【试题解析】 “*”的作用是:输入项在输入时不赋给相应的变量,因此 20不赋给j,而把 30赋给 j,习此结果为 10 300。 48 【正确答案】 52。 【试题解析

42、】 当 i=10时,执行 “j=j+i; i-; ”后 j为 10。 i为 9,此时 while循环成立;接着当 i=9时,执行 i=j+i; i-;后 j为 19, i为 8,此时 while循环成立,接着执行 do语句,当 i为 3时,此时 while循环成立,接着执行 do语句;执行“j=j+i; i-; ”后 i为 52, i为 2,此时 while循不成立,退出循环输出 j的值为52,故填 52。 49 【正确答案】 8, 17。 【试题解析】 因为在 fun中, m、 i都是静态局部变量,因此其生存期是直到整个程序的结束,当执行第一个 k=fun(i, m)时,返回值 m+i+x+

43、y,其中 x+y=j+m,m=0+3+4+1=8,接着再次执行 k=fun(j.m)后,返回值 m=4+8+4+1=17。 50 【正确答案】 150。 【试题解析】 本题先给变量 x赋初始值 100,然后将指针 p 指向变量 x, *p是取指针 p所指地址的内容,即 100,所以 x=100+50=150。 51 【正确答案】 100。 【试题解析】 本题考查带参数的宏定义,括号优先级的相关运算。运算过程为:k=B*20=(A+3)*20=(2+3)*20=100。 52 【正确答案】 1。 【试题解析】 本题考查三日运算符,因为在条件表达式 (a b)?a: b 中,如果比较表达 a b为

44、真,条件表达式的值等于 a的值,否则等于 b 的值,在第一个条件(a b)?a: b中, a b为真,所以返回 a的值 x=1,同理判断 x c时为真,返回 x的值 1, a x时也为真,返回 x的值 1,所以最终 x值为 1。 53 【正确答案】 n =10或 n=n 10。 【试题解析】 在主函数的每次循环中变量 s=n 10,所以变量 s的值是 n的个位上的数字,每次将其输出。在空白处填写 n 10或 n=n 10,就是每次循环时,将 n 的值缩小 10倍,这样直到 n的值等于 0时,就完成数字 n的逆序输出。 54 【正确 答案】 0 7。 【试题解析】 因为 p1 是指向 k的指针,其中的地址与 m的地址不同,因为 =的运算不成立,因此 a的值为 0,接着执行 b=(*p1) (*p2)+7=4 8+7=7。

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

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

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