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

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

1、国家二级( C语言)笔试模拟试卷 173及答案与解析 1 下列选项中不属于结构化程序设计方法的是 ( A)自顶向下 ( B)逐步求精 ( C)模块化 ( D)可复用 2 模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准则是模块的 ( A)抽象和信息隐蔽 ( B)局部化和封装化 ( C)内聚性和耦合性 ( D)激活机制和控制方法 3 在软件测试设计中,软件测试的主要目的是 ( A)实验性运行软件 ( B)证明软件正确 ( C)找出软件中全部错误 ( D)尽可能多地发现软件中的错误 4 栈通常采用的两种存储结构是 ( A)顺序存储结构和链式存储结构 ( B)散列方式和索引方式 ( C)

2、链表存储结构和数组 ( D)线性存储结构和非线性存储结构 5 线性表 L=(a1, a2, a3, ai , an) ,下列说法正确的是 ( A)每个元素都有一个直接前件和直接后件 ( B)线性表中至少要有一个元素 ( C)表中诸元素的排列顺序必须是由小到大或由大到小 ( D)除第一个元素和最后一 个元素外,其余每个元素都有一个且只有一个直接前件和直接后件 6 若某二叉树的前序遍历访问顺序是 abdgcefh,中序遍历访问顺序是 dgbaechf,则其后序遍历的结点访问顺序是 ( A) bdgcefha ( B) gdbecfha ( C) bdgaechf ( D) gdbehfca 7 具

3、有 3个结点的二叉树有 ( A) 2种形态 ( B) 4种形态 ( C) 7种形态 ( D) 5种形态 8 下列叙述中,正确的是 ( A)用 E-R图能够表示实 体集间一对一的联系、一对多的联系和多对多的联系 ( B)用 E-R图只能表示实体集之间一对一的联系 ( C)用 E-R图只能表示实体集之间一对多的联系 ( D)用 E-R图表示的概念数据模型只能转换为关系数据模型 9 在数据库设计中,将 E-R图转换成关系数据模型的过程属于 ( A)需求分析阶段 ( B)逻辑设计阶段 ( C)概念设计阶段 ( D)物理设计阶段 10 在长度为 64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为

4、 ( A) 63 ( B) 64 ( C) 6 ( D) 7 11 以下不合法的用户标识符是 ( A) j2_KEY ( B) Double ( C) 4d ( D) _8_ 12 下列是用户自定义标识符的是 ( A) _w1 ( B) 3_xy ( C) int ( D) LINE-3 13 若有说明语句: char c=72;则变量 c ( A)包含 1个字符 ( B)包含 2个字符 ( C)包含 3个字符 ( D)说明不合法, c的值不确定 14 表达 式 3.6-5/2+1.2+5%2的值是 ( A) 4.3 ( B) 4.8 ( C) 3.3 ( D) 3.8 15 有如下程序段 i

5、nt a=14, b=15, x; char c=A; x=(a&b)&(c b); 执行该程序段后, x的值为 ( A) true ( B) false ( C) 0 ( D) 1 16 若要求从键盘读入含有空格字符的字符串,应使用函数 ( A) getc() ( B) gets() ( C) getchar() ( D) scanf() 17 下列关于单目运算符 +, -的叙述中正确的是 ( A)它们的运算对象可以是任何变量和常量 ( B)它们的运算对象可以是 char型变量和 int型变量,但不能是 float型变量 ( C)它们的运算对象可以是 int型变量,但不能是 double型变

6、量和 float型变量 ( D)它们的运算对象可以是 char型变量、 int型变量和 float型变量 18 以下 4个程序中,完全正确的是 ( A) #include stdio.h main(); /*programming*/ printf(“programming!n“); ( B) #include stdio.h main() /*/programming/*/ printf(“programming!n“); ( C) #include stdio.h main() /*/*programming*/*/ printf(“programming!n“) ( D) include

7、 stdio.h main() /*programming*/ printf(“programming!n“); 19 若有定义 float x=1.5; int a=1, b=3, c=2;,则正确的 switch语句是 ( A) swimh(x) case 1.0: printf(“*n“); case 2.0: printf(“*n“); ( B) switch(int)x); case 1: printf(“*n“); case 2: printf(“*n“); ( C) switch(a+ ( D) case 1: pfintf(“*n“); case 2+1: pfintf(“*n

8、“); switch(a-I-case 1:pfintf(“*n“); case c: printf(“*n“); 20 以下数组定义中错误的是 ( A) int x3=0; ( B) int x23=1, 2, 3, 4, 5, 6; ( C) int x3=1, 2, 3, 4, 5, 6; ( D) intx23=1, 2, 3, 4, 5, 6; 21 有如下程序 main() float x=2.0, y; if(x 0.0)y=0.0; else if(x10.0)y=1.0/x; else y=1.0; printf(“%fn“, y); 该程序的输出结果是 ( A) 0.000

9、000 ( B) 0.250000 ( C) 0.500000 ( D) 1.000000 22 运行下面程序时,从键盘输入字母 H,则输出结果是 main() char ch; ch=getchar(); swimh(ch) caseH: printf(“Hello!n“); caseG: printf(“Good morning!n“); default: printf(“Bye_Bye!n“); ( A) Hello! ( B) Hello! GoodMoring! ( C) Hello! Good moming! Bye_ye! ( D) Hello! Bye_ye! 23 在下列选项

10、中,没有构成死循环的是 ( A) int i=100; while(1) i=i%100+1; if(i 100)break; ( B) for(; ); ( C) int k=10000; dok+; while(k 10000); ( D) int s=36; while(s)-s; 24 阅读下面程序,则程序段的功能是 #include“stdio.h“ main() int c=23,1, 56, 234, 7, 0, 34, i, j, t; for(i=1; i 7; i+) t=ci; j=i-1; while(j =0&t cj) cj+1=cj; j-; cj+1=t for

11、(i=0; i 7; i+) printf(“%d“, ci); putchar(n); ( A)对数组元素的升序排列 ( B)对数组元素的降序排列 ( C)对数组元素的倒序排列 ( D)对数组元素的随机排列 25 现有如下程序段 #include“stdio.h“ #include“string.h“ main() char a=“acfijk“; /*这里是有序的字符序列 */ char b=“befijklqswz“; /*这里是有序的字符序列 */ char c80, *p; int i=0, j=0, k=0; while(ai!二 0&bj!=0) if(ai bj)ck+=ai+

12、; else i ( A) acfijkbefijklqswz ( B) abceffiijjkklqswz ( C) befijklqswz acfijk ( D) abcefijklqswz 26 下面函数调用语句含有实参的个数为 func(exp1, exp2)(exp3, exp4, exp5); ( A) 1 ( B) 2 ( C) 4 ( D) 5 27 设 fp为指向某二进制文件的指针,且已读到此文件末尾,则函数 feof(fp)的返回值为 ( A) EOF ( B)非 0值 ( C) 0 ( D) NULL 28 以下程序的输出结果是 long fun(int n) long

13、s; if(n=1n=2)s=2; else s=n-fun(n-1); return s; main() printf(“%1dn“, fun(3); ( A) 1 ( B) 2 ( C) 3 ( D) 4 29 有以下程序 main() int i, j, x=0; for(i=0; i 2; i+) x+; for(j=0; j =3; j+) if(j%2)continue; x+; x+; printf(“x=%dn“, x); 程序执行后的输出结果是 ( A) x=4 ( B) x=8 ( C) x=6 ( D) x=12 30 下列选项中 C语言中不合法的字符串常量的是 ( A)

14、 121 ( B) y ( C) nn ( D) ABCDx6d 31 若有定义 int a9, *p=a;,则 p+5表示 ( A)数组元素 a5的值 ( B)数组元素 a5的地址 ( C)数组元素 a6的地址 ( D)数组元素 a0的值加上 5 32 有以下程序 #include stdio.h main() char c1, c2, c3, c4, c5, c6; scanf(“%c%c%c%c“, &c1, &c2, &c3, &c4); c5=getchar(); c6=getchar(); putchar(c1); putchar(c2); printf(“%c%cn“, c5,

15、c6); 程序运行后,若从键盘输入 (从第 1列开始 ) 123回车 45678回车 则输出结果是 ( A) 1267 ( B) 1256 ( C) 1278 ( D) 1245 33 以下正确的程序段是 ( A) char str1=“12345“, str2=“abcdef“; ( B) char str10, *st=“abcde“; strcat(str, st); ( C) charstr10=“ “。 *st=“abcde“; strcat(str, st); ( D) char*st1=“12345“, *st2=“abcde“; strcat(st1, st2); 34 若有定

16、义 int a23;,则对 a数组的第 i行第 j列 (假设 i, j已正确说明并赋值 )元素值的正确引用为 ( A) *(*(a+i)+j) ( B) (a+i)j ( C) *(a+i+j) ( D) *(a+i)+j 35 有以下程序 int fun1(double a)return a*=a; int fun2(double x, double y) double a=0, b=0; a=fun1(x); b=fun1(y); return(int)(a+b); main() double w;w=fun2(1.1, 2.0); 程序执行后变量 w中的值是 ( A) 5.21 ( B)

17、 5 ( C) 5.0 ( D) 0.0 36 以下不能对二维数组 a进行正确初始化的语句是 ( A) int a23=0; ( B) int a3=1, 2, 0; ( C) int a23=1, 2, 3, 4, 5, 6; ( D) int a3=1, 2, 3, 4, 5, 6; 37 下面程序段的运行结果是 char *p=“abcdefgh“; p+=3; printf(“%dn“,strlen(strcpy(p, “ABCD“); ( A) 8 ( B) 12 ( C) 4 ( D) 7 38 下列程 序的输出结果为 main() union u char *name; int

18、age; int income; s s.name=“WANGLIONG“; s.age=28; s.income=1000; printf(“%dn“, s.age); ( A) 28 ( B) 1000 ( C) 0 ( D)不确定 39 有以下程序 void swap(char* x, char *y) char t; t= *x; *X= *y; *y=t; main() char*s1: “abc“, *s2=“123“; swap(s1, s2);printf(“%s, %sn“, s1, s2); 程序执行后的输出结果是 ( A) 123, abc ( B) abc, 123 (

19、 C) 1bc, a23 ( D) 321, cba 40 有以下程序 int fun(int x, int n) static int sum=0, i; for(i=0; i n;i+)sum+=xi; return sum; main() int a=1, 2, 3, 4, 5, b=6,7, 8, 9, s=0; s=fun(a, 5)+fun(b, 4); printf(“%dn“, s); 程序执行后的输出结果是 ( A) 45 ( B) 50 ( C) 60 ( D) 55 40 测试的目的是暴露错误,评价程序的可靠性;而 _得目的是发现错误的位置并改正错误。 40 对于图书管理

20、数据库,将图书表中 “人民邮电出版社 ”的图书的单价涨价 5%。请对下面的 SQL语句填空: UPDATE图书 _WHERE出版单位 =“人民邮电出版社 “ 40 按 “先进后出 ”原则组织数据的数据结构是 _。 40 长度为 n的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为 _。 40 以下程序的功能是:将输入的正整数按逆序输出。例如:若输入 135则输出531。请填空。 #include stdio.h main() int n, s; printf(“Enter a number: “); scanf(“%d“, &n); printf(

21、“Output: “); do s=n%10; printf(“%d“, s); _; while(n! =0); printf(“n“); 40 以下程序的运行结果是 _。 #include stdio.h main() int fun(); fun(); fun() static int a3=0, 1, 2; int i; for(i=0; i 3; i+)ai+=ai; for(i=0; i 3; i+)printf(“%d, “, ai); pfintf(“n“, ); 40 以下函数用来求出数组的最大元素在数组中的下标并存放在 k所指的存储单元中。请填空。 #include con

22、io.h #include stdio.h int fun(int *s, int t, int *k) int i; *k=0; 8 if(s*k si)*k=i; return 9 ; main() int a10: 876, 675, 896, 101, 301, 401, 980, 431, 451, 777, k; fun(a, 10, &k); pfintf(“%d, %dn“ 40 以下程序中,函数 fun的功能是计算 x2-2x+6,主函数中将调用 fun函数计算: y1=(x+8)2-2(x+8)+6 y2=sin2(x)-2sin(x)+6 请填空。 ginclude “m

23、ath.h“ double fun(double x)return(x*x-2*x+6); main() double x, y1, y2; pfintf(“Enterx: “);scanf(“%lf“&x); y1=fun( 10 ); y2=fun( 11 ); pin 40 以下程序运行后的输出结果是 _。 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; pfintf(“%dn“, x); 40 下面程序的功能是将一个字符串 str的内容颠倒过来,请填空。 #include st

24、ring.h main() infi, j, 13 ; char str=“1234567“; for(i=0, j=strlen(str) 14 ; i j; i+, j-) k=stri; stri=stri; strj=k; printf(“%sn“, str); 40 以下定义的结构体类型拟包括两个成员,其中成员变量 info用来存入整形数据;成员变量 link是指向自身结构体的指针,请将定义比冲完整 struct node int info; _link; ; 国家二 级( C语言)笔试模拟试卷 173答案与解析 1 【正确答案】 D 【试题解析】 结构化程序设计方法的主要原则是:自

25、顶向下,逐步求精,模块化,限制使用 goto语句。可复用性是指软件元素不加修改和稍加修改可在不同的软件开发过程中重复使用的性质。软件可复用性是软件工程追求的目标之一,是提高软件生产效率的最主要方法。面向对象的程序设计具有可复用性的优点。 2 【正确答案】 C 【试题解析】 模块的独立程序是评价设计好坏的重要度量标准。衡量软件的模块独立性使用耦合性和内聚性两个定性的度量标准。 3 【正确答案】 D 【试题解析】 使用人工或自动手段来运行或测定某个系统的过程,目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。软件测试是为了发现错误而执行程序的过程。测试以查找错误为目的,而不是为

26、了演示软件的正确功能。 4 【正确答案】 A 【试题解析】 和线性表类似,栈也有两种存储方法,一是顺序栈,二是链式栈。栈的顺序存储结构是利用一组地址连续的存储单元一次存储自栈底到栈顶的数据元素,同时附设指针 top指示栈顶元素的位置,由于栈的操作是线性表操作的特例,相对 而言,链式栈的操作更易于实现。 5 【正确答案】 D 【试题解析】 线性表可以为空表;第一个元素没有直接前件,最后一个元素没有直接后件;线性表的定义中,元素的排列并没有规定大小顺序。 6 【正确答案】 D 【试题解析】 前序遍历的第一个结点 a为树的根结点;中序遍历中 a的左边的结点为 a的左子树, a右边的结点为 a的右子树

27、;再分别对 a的左右子树进行上述两步处理,直到每个结点都找到正确的位置。 7 【正确答案】 D 8 【正确答案】 A 【试题解析】 两个实体之间的联系实际上 是实体集合的函数关系,这种函数关系可以有下面几种,即一对一的联系、一对多 (或多对一 )的联系和多对多的联系;概念模型便于向各种模型转换。由于概念模型不依赖于具体的数据库管理系统,因此,容易向关系模型、网状模型和层次模型等各种模型转换。 9 【正确答案】 B 【试题解析】 E-R模型即实体 联系模型,是将现实世界的要求转化成实体、联系、属性等几个基本概念,以及它们之间的两种连接关系。数据库逻辑设计阶段包括以下几个过程:从 E-R图向关系模

28、式转换,逻辑模式规范化及调整、实现规范化和 RDBMS,以及关系视 图设计。 10 【正确答案】 B 【试题解析】 顺序查找是从线性表的第 个元素开始依次向后查找,如果线性表中的第一个元素就是要查找的元素,则只需要做 次比较就查找成功;但如果要查找的元素是线性表中的最后一个元素,或者要查找元素不在线性表中,则需要与线性表中所有元素进行比较,这是顺序查找的最坏情况,比较次数为线性表的长度。 11 【正确答案】 C 【试题解析】 C语言规定,标志符由字母、数字或下划线组成,它的第一个字符必须是字母或下划线。 12 【正确答案】 A 【试题解析】 C语言规定用户标识符由英文字母、数字和下划线组成,且

29、第一个字符必须是字母或下划线,由此可见选项 B), D)是错的;此外, C语言不允许用户将关键字作为标识符,而选项 C)选项项中的 int是 C语言的关键字。 13 【正确答案】 A 【试题解析】 C语言的字符型常量中,允许用一种特殊形式的字符常量,就是以一个 “”开头的字符。其中, “ddd”表示用 ASCII码 (八进制数 )表示一个字符,本题中的 char c=72H口表示占一个字符的变量 c的 ASCII码值。 14 【正确答案】 D 【 试题解析】 这道题要注意 2/5的结果是 2,因为运算符两边的数值类型均为整型,故运算结果的数值类型也被认定为整型。 15 【正确答案】 D 【试题

30、解析】 在 C语言中,逻辑运算符有 4个,它们分别是: !(逻辑非 )、 (逻辑或 )、 &(逻辑与 )、 (异或 )。在位运算里面还有 &(位与 )、 |(位或 )的运算。本题考查逻辑与运算符的用法,在表达式 x=(a&b)&(c B);中,先判断 a&b条件,逻辑与条件的两边都要保证为 1,即 a和 b都成立,当然 c B,是成立的,显然,该表达式的值为 1。 16 【正确答案】 B 【试题解析】 canf()语句用 “空格 ”区别不同的字符串; getc()与 getchar()语句不能用于字符串的读入。 17 【正确答案】 D 【试题解析】 +(或 -)的运算结果是使运算对象增 1(或

31、减 1);运算对象可以是整型变量,实型交易也可以是字符型变量,但可能是常量或表达式。 +(或 -)的结合方向是 “自右向左 ”。 18 【正确答案】 B 【试题解析】 选项 A)main();的分号是错误的,不能有分号;选项 C)的注释语句多了两个 *号;选项 D)include前面没有 #。 19 【正确答案】 C 【试题解析】 C语言中, switch语句专用于实现多分支结构程序,其特点是各分支清晰且直观。 switch后面括号中可以是任何表达式,取其整数部分与各常量表达式进行比较。常量表达式中不能出现变量,且类型必须是整型、字符型或枚举型,各常量表达式各不相同。 20 【正确答案】 B

32、【试题解析】 二维数组的初始化有以下几种形式: 分行进行初始化; 不分行的初始化; 部分数组元素初始化; 省略第一维的定义,不省略第二维的定义。选项 B)等号右边分了 3行 ,大于等号左边数组的行数 2。 21 【正确答案】 C 【试题解析】 该题目测验考生对 if.elseif结构的理解,比较简单。 x的值满足 x 10.0的关系,所以程序将执行 y=1.0/x;语句, y的值应该等于 0.5。最后,用printf函数输出时, %f的输出格式为小数点后保留 6位。 22 【正确答案】 C 【试题解析】 本题主要对 switch语句进行了考查。 switch语句的执行过程为:进入 switch

33、结构后,对条件表达式进行运算,然后从上至下去找与条件表达式值相匹配的 case,以此 作为入口,执行 switch结构中后面的各语句,直到遇到break语句,则跳出 switch语句,如果各 case都不匹配时,则执行 de-fault后面的语句。本题中 ch为字符 H,所以 caseH条件中的语句将被执行,由于没有break语句,所以 caseC后的语句也被执行,由于同样的缺少 break语句,所以default后的语句也被执行 23 【正确答案】 D 【试题解析】 选项 A)的循环表达式的条件永久为 1,并且小于 100的数与 100取余不超过 99,所以在循环体内表达式 i%100+1的

34、值永 远不大于 100, break语句永远不会执行,所以是死循环;选项 B)的括号内没有能使循环停下来的变量增量,是死循环;选项 C)中先执行 k+,使 k=10001,从而使循环陷入死循环。 24 【正确答案】 B 【试题解析】 读懂两个循环的关系,是解这个题目的关键,本题的第一个 for循环的作用是实现对数组元素的遍历,第二个循环的作用是排序。 while(j =0&t cj),这个语句是控制排序的关键语句,它即实现了比较两个元素大小的作用,又实现了元素向后移动的作用,不断地把大的数据向前移动,直到找到 一个比它小的,或到数据的上界为止。 25 【正确答案】 D 【试题解析】 这个题目的

35、功能是实现两个有序字符串,合并成一个新的有序的字符串。 26 【正确答案】 B 【试题解析】 函数调用的一般形式为:函数名 (形参表 )若函数无形参,调用形式为:函数名 (),当所调用的函数用于求出某个值时,函数的调用可作为表达式出现在允许表达式出现的任何地方,本题中调用语句的参数个数为 2个。 27 【正确答案】 B 【试题解析】 函数 feof的功能是:测试 fp所指文件的位置是否已达到文件尾,如 果达到文件尾,则函数返回非 0值,否则返回 0,表示文件尚未结束。 28 【正确答案】 A 【试题解析】 该题考查的是递归函数的调用,题中读 fun函数进行了递归调用,第 1次调用: fun(3

36、)n=3 s=3-fun(2);第二次调用时: fun(2)n=2 s=2返回第一次调用后, s=3-2=1。 29 【正确答案】 B 【试题解析】 此程序考查了 for循环和 x+。对于大循环,有两个 x+,其中循环 3次,对于小循环,循环三次,但是运行了两次 x+,所以最后结果是 6+2=8。 30 【正 确答案】 B 【试题解析】 字符串常量是由双引号括起来的一串字符,其中的双引号不可缺少。由此可知,选项 A)、 C)、 D)都是合法的字符串常量,而选 B)是一个字符常量。 31 【正确答案】 B 【试题解析】 本题考查了通过指针来引用一维数组元素的方法。题中 *p=a;这一赋值语句是指

37、针 p指向了数组 a的首地址, p+5是指针 p向后移动了 5个 int类型的存储单元,所以 p+5指向了数组元素 a5。 32 【正确答案】 D 【试题解析】 putchar(c1)输出 1, putchar(c2)输出 2, pfintf(“%c%cn“, c5, c6)输出 45。 33 【正确答案】 C 【试题解析】 本题考查了一维字符数组的定义和初始化。选项 C中 str10初始化为空,可以不必进行类似 “ “的空赋值,字符数组若没有进行初始化赋值,默认的字符为空,并且定义完 str数组后,应该用 “, ”分隔而不是 “。 ”,所以选项 C错误。 34 【正确答案】 A 【试题解析】

38、 本题考查了二维数组元素的引用方法。选项 A中 a+i指向了数组 a的第 i+1行, *(a+i)则是第 i+1行第 0列的地址值, *(a+i)+j指向了数组 a第 i+1行, j+1列, *(*(a+i)+j)取到的是数组 a的 aij元素。 35 【正确答案】 C 【试题解析】 题中变量 w的定义为 double型,函数 fun2()的定义为 int型,按照各类数值型数据间的混合运算,整型数据被转换为实型数据。 36 【正确答案】 C 【试题解析】 关于二维数组的初始化,我们需要掌握如下方法: 所赋初值个数与数组元素的个数相同; 所赋初值行数少于数组行数时,系统将自动给后面各行的元素补初

39、值 0; 在给二维数组赋初值时可以不用行花括号对 。选项 C)应该是 int a32=1, 2, 3, 4, 5, 6, ; 37 【正确答案】 C 【试题解析】 本题考查两个知识点: strlen函数的功能是求字符串的长度,并返回字符个数,不计最后的 0, strcpy函数的功能是把后面的字符串复制到前面字符串所指向的空间。 38 【正确答案】 B 【试题解析】 本题对共用体的使用进行了考查。由于共用体所有成员共同占据一段存储空间,所以对成员变量的赋值,后面的赋值会覆盖掉前面的赋值,因为s.income=1000;是最后一 次成员变量赋值,变量 age与变量 income共同占据一段存储空间

40、,所以 age的值也为 1000。 39 【正确答案】 C 【试题解析】 这是一个转换程序:低字节相互转换,高字节不变。 “abe”的 ab和 “123”的 12相互转化。 40 【正确答案】 C 【试题解析】 内部静态变量是始终存在的,当函数被调用退出后,内部静态变量会保存数据,再次调用该函数时,以前调用时的数值仍然保留着。 fun(a, 5)的值是 15,再次调用后 sum=15,所以 Fun(b, 4)=45, s=45+15=60。 40 【试题解析】 软件测试的目标是在精心控制的环境下执行程序,以发现程序中的错误,给出程序可靠性的鉴定;调试也称排错,它是一个与测试有联系又有区别的概念

41、。具体来说,测试的目的是暴露错误,评价程序的可靠性,而调试的目的是发现错误的位置,并改正错误。 40 【试题解析】 更新表中元组的值,使用 UPDATE命令,一次可以更新表中的一个或多个属性值。 UPDATE短语之后指定更新数据所属的表,将新的属性值或表达式赋值给对应的属性名 (SET单价 =单价 *1.05),并置于 SET短语之后。要求对人民邮电出版社的图 书涨 5%,需要用 WHERE短语对元组进行限制,即对符合条件的元组进行更新。 40 【试题解析】 栈是限定只在一端进行插入和删除操作的线性表,通常称插入、删除的这一端为栈顶,另一端为栈底。栈按照 “先进后出 ”或 “后进先出 ”的原则

42、组织数据。 40 【试题解析】 每次循环把 n除以 10所得的商赋给 n。 40 【试题解析】 本题主要考查 for循环语句的使用以及静态局部变量的特点。 40 【试题解析】 本题中直接使用指针变量 k,但在使用时要注意对 k的指针运算,此外,一开始应使 *k的值为数组中的某一 下标值,即 *k=0。 40 【试题解析】 用 x+8代替函数 fun(double x)中形式参数 x。用 sin(x)代替函数fun(double x)中形式参数 x。 40 【试题解析】 因为在条件表达式 (a b)?a: b中,比较表达式 a b为真,所以x的值等于 a的值等于 1,后面两个条件表达式中的比较表

43、达式都为真,所以最终x的值等于 1。 40 【试题解析】 颠倒一个字符串中的字符,就是首尾对应的元素两两交换。简单地可用两个游标变量 i和 j, i是前端元素的下标, j是后端元素的下标,交换以这两个变量值 为下标的元素 stri和 strj。开始时, i的值为 0, j的值为字符串末元素的下标 (字符串长度减 1)。每次交换后, i增 1, j减 1。继续交换的条件是 stri位于 strj的前面,即 i j字符串末元素的下标是它的长度减 1,所以在第二个空框处应填入 -1。程序为了交换 stri和 strj,使用了变量 k,该变量应在程序的变量定义部分中 起定义,所以在第 个空 40 【试题解析】 本题中的结构类型名为 struct node,所以空白处应填: struct node *,即定义一个指向自身的结构体指 针。

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

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

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