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

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

1、国家二级( C语言)笔试模拟试卷 79及答案与解析 1 算法的时间复杂度是指 _。 ( A)执行算法程序所需要的时间 ( B)算法程序的长度 ( C)算法执行过程中所需要的基本运算次数 ( D)算法程序中的指令条数 2 下列叙述中正确的是 _。 ( A)线性表是线性结构 ( B)栈与队列是非线性结构 ( C)线性链表是非线性结构 ( D)二叉树是线性结构 3 下面关于完全二叉树的叙述中,错误的是 _。 ( A)除了最后一层外,每层上的结点数均达到最大值 ( B)可能缺少若干个 左右叶子结点 ( C)完全二叉树一般不是满二叉树 ( D)具有结点的完全二叉树的深度为 log2n+1 4 结构化程序

2、设计主要强调的是 _。 ( A)程序的规模 ( B)程序的易读性 ( C)程序的执行效率 ( D)程序的可移植性 5 在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是 _。 ( A)概要设计 ( B)详细设计 ( C)可行性分析 ( D)需求分析 6 数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的 图符不属于数据流图合法图符的是 _。 ( A)控制流 ( B)加工 ( C)数据存储 ( D)源和潭 7 软件需求分析一般应确定的是用户对软件的 _。 ( A)功能需求 ( B)非功能需求 ( C)性能需求 ( D)功能需求和非功能需

3、求 8 下述关于数据库系统的叙述中正确的是 _。 ( A)数据库系统减少了数据冗余 ( B)数据库系统避免了一切冗余 ( C)数据库系统中数据的一致性是指数据类型的一致 ( D)数据库系统比文件系统能管理更多的数据 9 关系表中的每一横行称为 一个 _。 ( A)元组 ( B)字段 ( C)属性 ( D)码 10 数据库设计包括两个方面的设计内容,它们是 _。 ( A)概念设计和逻辑设计 ( B)模式设计和内模式设计 ( C)内模式设计和物理设计 ( D)结构特性设计和行为特性设计 11 软件危机产生的原因从根本上说是 ( ) ( A)软件需求的增长超过软件生产率的提高 ( B)软件需求的增长

4、小于软件生产率的提高 ( C)软件需求的减少大于软件生产率的减少 ( D)软件需求的减少小于软件生产率的减少 12 在 Windows中,启动应用程序的正确的方法是 ( ) ( A)用鼠标指向该应用程序图标 ( B)将该应用程序窗口最小化成图标 ( C)将该应用程序窗口还原 ( D)用鼠标双击该应用程序图标 13 字长为 32位的计算机是指 ( ) ( A)该计算机中的 CPU有 32个寄器 ( B)该计算机能够处理的最大数不超过 232 ( C)该计算机每秒钟所能执行的指令条数为 32MIPS ( D)该计算机中的 CPU可以相同时处理 32位的二进制数 14 微型机系统中,对输入设备赶进行

5、管理的基本程序模块 (BIOS)存放在 ( ) ( A) RAM中 ( B) ROM中 ( C)硬盘中 ( D)寄存器中 15 使计算机病毒传播范围最广的媒介是 ( ) ( A)硬磁盘 ( B)软磁盘 ( C)内部存储器 ( D)互联网 16 微机显示器一般有两组引线,它们是 ( ) ( A)电源线与信号线 ( B)电源线与控制线 ( C)电源线与地线 ( D)控制线与地线 17 486PC机主板上一般带有高速缓冲存储器 Cache,它是 ( )之间的储存。 ( A) CPU与辅助存助器 ( B) CPU与主存储器 ( C)软盘与内存 ( D)硬盘与内存 18 目前因特网 (Internet)

6、尚未提供的服务是 ( ) ( A)电子邮件 ( B)文件传送 ( C)远程使用计算机 ( D)电视广播 19 Modem的数据传输速率可达到 ( ) ( A)几十 Kbps ( B)几十 KBps ( C)几十 Mbps ( D)几十 MBps 20 IEEE802.3的物理层协议 10BASE T规定从网卡到集线器的最大距离为 ( ) ( A) 100m ( B) 185m ( C) 360m ( D) 500m 21 下列程序执行后的输出结果是 _。 main() int m3=1, 4, 7, 2,5, 8, 3, 6, 9; int i,k=2; for(i=0; i 3; i+) p

7、rintf(“%d“,mki); ( A) 456 ( B) 258 ( C) 369 ( D) 789 22 设已定义 i和 k为 int类型变量,则以下 for循环语句 _。 for(i=0;k=-1,k=1; i+, k+) printf(“*n“); ( A)判断循环结束的条件不合法 ( B)是无限循环 ( C)循环一次也不执行 ( D)循环只执行一次 23 下面程序的输出结果是 _。 unsigned fun(unsigned num) unsignedk-I; do k*=num%10; num/=10; while(num); retum(k); main() unsigned

8、n=26; printf(“%dn“,fun(n); ( A) 0 ( B) 4 ( C) 12 ( D)无限次循环 24 已知字母 A的 ASCII码值是 65,字母 a的 ASCII码值是 97,以下程序_。 main() char a=A; int b=20; printf(“%d,%0“,(a=a+a,a+b,b) ,a+a-A,b); ( A)表达式非法,输出零或不确定值 ( B)因输出项过多,无输出或输出不确定值 ( C)输出结果为 20,141 ( D)输出结果为 20,141,20 25 C语 言函数返回值的类型是由 _决定的。 ( A) return语句中的表达式类型 ( B

9、)调用函数的主调函数类型 ( C)调用函数时临时 ( D)定义函数时所指定的函数类型 26 下列程序执行后输出的结束是 _。 int d=1; fun(int p) int d=5; d+=p+; printf(“%d,“,d) ; main() int a=3; fun(a); d+=a+; printf(“%dn“,d) ; ( A) 8, 12 ( B) 9,13 ( C) 8, 4 ( D) 9,5 27 已知下面的程序段,正确的判断是 _。 #define A3 #define B(A) (A+1)*a) int a=3; X=3*(A+B(7); ( A)程序错误,不允许嵌套定义

10、( B) X=93 ( C) X=81 ( D)程序错误,宏定义不允许有参数 28 定义 int*swap()指的是 _。 ( A)一个返回 整型值的函数 swap() ( B)一个返回指向整型值指针的函数 swap() ( C)一个指向函数 swap()的指针,函数返回一个整型值 ( D)以上说法均错 29 以下程序段的输出结果是 _。 main() char s110,s210, s310; scanf(“%s“,s1); gets(s2); gets(s3); puts(s1); puts(s2); puts(s3); 输入数据如下: (此处 CR代表回车符 ) aaa CR bbb C

11、R ( A) aaa bbb ( B) aaa bbb ( C) aaa0bbb0 ( D) aaabbb 30 下述函数功能是 _。 int fun(char*x) char *y=x; while(*y+); return y-x-1; ( A)求字符串的长度 ( B)求字符串存放的位置 ( C)比较两个字符串的大小 ( D)将字符串 x连接到字符串 y后面 31 以下程序的输出结果是 _。 main() char str12=s,t,r,i,n,g; printf(“%dn“,strlen(str); ( A) 6 ( B) 7 ( C) 11 ( D) 12 32 请读程序段: cha

12、r str=“ABCD“,*p=str, printf(“%dn“,*(p+4); 程序段的输出结果是 _。 ( A) 68 ( B) 0 ( C)字符 D的地址 ( D)不确定的值 33 若有定义: int a410;,则以下选项中对数组元素 aij引用错误的是 _。 (0 i 4,0 j 10) ( A) *( ( B) strcpy(str2 “HELLO2“); ( C) strcpy(str3 “HELLO3“); ( D) strcpy(str4 “HELLO4“); 35 请读程序: #include stdio.h #include string.h main() char*s

13、1=“AbCdEf“,*s2=“aB“; s1+; s2+; printf(“%dn“,strcmp(s1,s2); 上面程序的输出结果是 _。 ( A) 正数 ( B)负数 ( C)零 ( D)不确定的值 36 下面程序的输出是 _。 char s=“ABCD“; main() char *p; for(p=s;p s+4;p+) printf(“%sn“,p); ( A) ABCD BCD CD D ( B) A B C D ( C) D C B A ( D) ABCD ABC AB A 37 以下程序输出的结果为 _。 main() char*alpha6=“ABCD“, “EFGH“,

14、“IJKL“, “MNOP“, “QRST“, “UVWX“; char*p; int i; p=alpha; for(i+0;i 4; i+) printf(“%s“,pi); ( A) ABCDEFGHIJKL ( B) ABCD ( C) ABCDEFGHIJKLMNOP ( D) AEIM 38 下面程序的输出结果是 _。 #include stdio.hmain() char*p=“BOOL“, “OPK“, “H“, “SP“; int i; for(i=3;i =0;i-,i-) printf(“%c“, *pi); printf(“n“); ( A) SO ( B) SP (

15、C) SPOPK ( D) SHOB 39 以下程序的输出结果是 _。 #include stdio.h void prt(int.*x,int*y,int*z) printf(“%d,%d,%dn“,+*x,+*y, *(z+); int a=10, b=40,c=20; main() prt( prt( ( A) 11,42, 31 12,22,41 ( B) 11,41,20 12,42,20 ( C) 11,21,40 11,21,41 ( D) 11,41,21 12,42,22 40 若一个外部变量的定义形式为 static int x;,那么,其中 static的作用应该是_。

16、( A)将变量存储在静态存储区 ( B)使变量 x可以由系统自动初始 化 ( C)使 x只能在本文件内引用 ( D)使 x的值可以永久保留 41 以下程序的输出结果是 _。 #include stdio.h #define SQR(x)x*x main() int a,k=3; a=+SQR(k+1); printf(“%dn“, a); ( A) 8 ( B) 9 ( C) 17 ( D) 20 42 下面是对宏定义的描述,不正确的是 _。 ( A)宏不存在类型问题,宏名无类型,它的参数也无类型 ( B)宏替换不占用运行时间 ( C)宏替换时先求出实参表达式的值,然后代入形参运算求值 ( D

17、)宏替换只不过是字符替代而已 43 以下程序 (程序左边的数字为附加的行号 )_。 1#include str.h 2#include stdio.h 3main() 4 char s=“string“; 5puts(s); 6strcpy(s,“hello“); 7printf(“%3sn“,s); ( A)没有错 ( B)第 1行有错 ( C)第 6行有错 ( D)第 7行有错 44 若有如下说明,则 _的叙述是正确的。 struct st int a; int b2; a; ( A)结构体变量 a与结构体成员 a同名,定义是非法的 ( B)程序只在执行到该定义时才为结构体 st分配存储单

18、元 ( C)程序运行时为结构体 st分配 6个字节存储单元 ( D)类型名 struct st可以通过 extern关键字提前引用 (即引用在前,说明在后 ) 45 若有以下结构体定义,则 _是正确的引用或定义。 struct example int x; int y; v1; ( A) example.x=10 ( B) example v2.x=10 ( C) struct v2; v2.x=10 ( D) struct example v2=10; 46 下列程序的执行结果是 _。 #include stdio.h union un int i; char c2; ; void main

19、() union un x; x.c0=10; x.c1=1; printf(“n%d“,x.i) ( A) 266 ( B) 11 ( C) 265 ( D) 138 47 已知形成链表的存储结构如下图所示,则下述类型描述中的空白处应填_。 struct link char data; _; node; ( A) struct link next ( B) link * next ( C) struct next link ( D) struct link *next 48 已知小写字母 a的 ASCII码为 97,大写字母 A的 ASCII码为 65,以下程序的结果是 _。 main()

20、unsigned int a=32,b=66; printf(“%cn“, b|b); ( A) 66 ( B) 98 ( C) b ( D) B 49 C语言库函数 fgets (str,n,fp)的功能是 _。 ( A)从中指向的文件中读取长度 n的字符串存入 str指向的内存 ( B)从 fp指向的文件中读取长度不超过 n-1的 字符串存入 str指向的内存 ( C)从 fp指向的文件中读取 n个字符串存入 str指向的内存 ( D)从 str读取至多 n个字符到文件 fp 50 下述程序向文件输出的结果是 _。 #include stdio.h void main() FILE*fp=

21、fopen(“TEST“,“wb“); fprintf(fp,“%d%5.0f%c%d“,58,76273.0,_,2278); fclose(fp); ( A) 5876273-2278 ( B) 5876273.000000-2278 ( C) 5876273-2278 ( D)因文件为二进制文件而不可读 51 一棵二叉树中共有 80个叶子结点与 10个度为 1的结点,则该二叉树中的总结点数为【 】。 52 耦合和内聚是评价模块独立性的两个主要标准,其中【 】反映了模块内各成分之间的联系。 53 模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块。其中【 】的作用是模拟被

22、测试模块的下层模块。 54 软件工程研究的内容主要包括:软件开发技术和【 】。 55 数据库管理系统是位于用户与【 】之间的软件系统。 56 下列程序的运行结果为【 】。 main() int x,y,z; X=12; y=012; z=0l2; printf(“%d,%d,%dn“,x,y,z); 57 若有如下定义: int=11,24,56,19,29,39),*t=s; 则不移动指针 t,且通过指针 t引用数组中值为 29的元素的表达式是【 】。 58 执行下面程序段时输出 suet,请填空。 main() static char a=“student“; char *p; for(p

23、=a;p【 】; p+=2) putchar(*p); 59 有以下程序: #include stdio.h main() char c; while(c=getchar()!=?) putchar(-c); 程序运行时,如果从键盘输入 Y?N?回车,则输出结果为【 】。 60 以下程序 的输出结果是【 】。 main() int a=1,b=2; a=a+b;b=a-b;a=a-b; printf(“%d,%dn“,a,b); 61 若有如下程序: main() int s=8,a=3,b=5,c=6; if(a b) s=a; a=b; b=s; if(a c) s=a; a=c;b=s)

24、; if(b c) s=b; b=c;c=s; printf(“%d,%d,%dn“,a,b,c); 则程序运行后的输出结果是【 】。 62 下面程序的输出结果是【 】。 main() int arr10,i,k=0; for(i=0;i 10;i+) arri=i; for(i=0;i 4;i+) k+=arri=i; printf(“%dn“,k); 63 以下 sstrcpy()函数实现字符串复制,即将 t所指字符串复制到 s所指向内存空间中,形成一个新的字符串 s。清填空。 void sstrcpy(char *s,char *t) while(*s+=【 】 ); main() ch

25、ar str1100,str2=“abcdefgh“; strcpy(str1,str2); printf(%sn“,str1); 64 下列程序的运行结果是【 】。 #include string.h char *ss(char *s) return s+strlen(s)/2; main() char *p,*str=“abcdefgh“; p=ss(str); printf(“%n“,p); 65 下面程序的运行结果是【 】。 int f( int a, int n) if(n 1) return a0+f( else return a0; main () int aa3=1,2,3),

26、s; s=f( printf(“%dn“,s); 66 以下程序中给指针 p分配 3个 double型动态内存单元,请填空。 # include stdio.h main () double *p; p=(double *)malloc(【 】 ); p0=1.5;p1=2.5;p2=3.5; printf(“%f%f%fn“,p0,p1,p2); 67 以下程序的运行结果是【 】。 #include string.h typedef struct student char name10; long sno; float score; STU; main() STU a=“Zhangsan“,

27、2001,95,b=“Shangxian“,2002,90, c=“Anhua“,2003,95,d,*p= d=a; if(strcmp(a.name,b.name) 0) d=b; if(strcmp(c.name,d.name) 0) d=c; printf(“%1d%sn“,d.sno,p- name); 68 以下 sum函数的功能是计算下列级数之和。 请给函数中的各变量正确赋初值。 double sum( double x, int n) int i; double a,b,s; 【 】 for( i=1;i =n;i+) a=a*x; b=b*i; s=s+a/b; return

28、 s; 69 函数 YangHui的功能是把杨辉三角形的数据赋给二维数组的下半三角,形式如下: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 其构成规律是,第 0列元素和主对角线元素均为 1,其余元素为其左上方和正上方元素之和,数据的个数每行递增 1。请将程序补充完整。 #defint N 6 void YangHui(int*NN) int i,j; x00=1 for(i=1; i N; i+) xi 0=【 】 =1 for(j=1;j i;j+ ) xij=【 】 ; 国家二级( C语言)笔试模拟试卷 79答案与解析 1 【正确答案】 C 【试题解析】 所谓算法的时间复杂

29、度,是指执行算法所需要的计算工作量。 2 【正确答案】 A 【试题解析】 一般将数据结构分为两大类型:线性结构与非线性结构。线性表、栈与队列、线性链表都是线性结构,而二叉树是非线性结构。 3 【正确答案】 B 【试题解析】 满二叉树指除最后一层外每一层上所有结点都有两个子结点的二叉树。完全二叉树指除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右 边的若干子结点 (叶子结点 )的二叉树。 4 【正确答案】 B 【试题解析】 结构化程序设计主要强调的是结构化程序清晰易读,可理解性好,程序员能够进行逐步求精、程序证明和测试,以保证程序的正确性。 5 【正确答案】 D 【试题解析】 需

30、求分析是对特开发软件提出的需求进行分析并给出详细定义,即准确地确定软件系统的功能。编写软件规格说明书及初步的用户手册,提交评审。 6 【正确答案】 A 【试题解析】 数据流图从数据传递和加工的角度,来刻画数据流从输入到输出的移动变换过程。数据流图中的 主要图形元素有:加工 (转换 )、数据流、存储文件(数据源 )、源和潭。 7 【正确答案】 D 【试题解析】 软件需求分析中需要构造一个完全的系统逻辑模型,理解用户提出的每一功能与性能要求,是用户明确自己的任务。因此,需求分析应确定用户对软件的功能需求和非功能需求。 8 【正确答案】 A 【试题解析】 由数据的共享自身又可极大地减少数据冗余性,不

31、仅减少了不必要的存储空间,更为重要的是可以避免数据的不一致性。所谓数据的一致性是指在系统中同一数据的不同出现应保持相同的值。 9 【正确答案】 A 【试题解析】 在关系数据库中,关系模型采用二维表来表示,简称 “表 ”。二维表是由表框架及表元组组成。在表框架中,按行可以存放数据,每行数据称为元组。 10 【正确答案】 A 【试题解析】 数据库设计可分为概念设计与逻辑设计。概念设计的目的是分析数据间内在语义关联,在此基础上建立一个数据的抽象模型。逻辑设计的主要工作是将 ER图转换为指定的 RDBMS中的关系模型。 11 【正确答案】 B 12 【正确答案】 D 13 【正确答案】 D 14 【正

32、确答案】 B 15 【正确答案 】 D 16 【正确答案】 A 17 【正确答案】 B 18 【正确答案】 D 19 【正确答案】 A 20 【正确答案】 A 21 【正确答案】 C 【试题解析】 根据二维数组的定义得出: m00=1, m01=4, m02=7,m10=2, m11=5, m12=8, m20=3, m21=6, m22=9,所以本题的输出是第 3行的值 m20,m21, m22,即 369。 22 【正确答案】 B 【试题解析】 本题定义了一个 for循环,循环变量是 i,但由于本题并没有设置循环条件,所以循环的条件永远默认为真,即无限次执行循环。 23 【正确答案】 C

33、【试题解析】 本题定义了一个 fun函数,用于 num求和,具体执行过程如下: num=26: k=k*(num%10)=1*(26%10),所以 k=6, num=num/10=2; num=2: k=k*(num%10)=6*(2%10),所以 k=12; num=num/10=0: num=0: while条件不成立,所以返回 k的值 12。 24 【正确答案】 C 【试题解析】 本题中首先输出逗号表达式 “a=a+a,a+b,b”的值,即 20。然后以八进制的形式输出 a+a-A的值为 97对应的八进制数 141,由于最后一个表达式 b没有对应输出格式的输出项表列就不会输出。 25 【

34、正确答案】 D 【试题解析】 函数值的类型应当是在定义函数时指定的。在定义函数时对函数值说明的类型一般应该和 return语句中的表达式类型一致,如果不一致,则以函数类型为准,即函数类型决定返回值的类型。 26 【正确答案】 C 【试题解析】 本题执行过程如下:首先调用 fun函数,使得实参 a的值 3传递给形参 p,得到局部变量 d=8,打印出局部变量 d的值 8:返回主函数执行“d+=a+”,此处的 d为全局变量,所以 d=1+3=4(由于本题是值传递,所以在函数fun中对 p值的改变并不能引起 a的改变 ),故本题的输出是 8,4。 27 【正确答案】 C 【试题解析】 本题的宏定义是合

35、法的,宏定义展开为3*(3+(A+1)*a) )=3*(3+(7+1)*3)=81。 28 【正确答案】 B 【试题解析】 一个函数可以带回 个整型值、字符值、实型值等,但也可以带回指针型数据,即地址。本题的定义中,包括括号和 *号,由于 ()优先级高于 *。故它是一个返回整型指针的函数。 29 【正确答案】 B 【试题解析】 scanf是标准输入函数,在输入字符串 aaa时,实际的内容为“aaa0”,“ 0”是由系统自动加入的: gets的功能是从终端读入一行字符,即一直读到换行符为止,并由系统自动以 “0”代替换行符。 30 【正确答案】 A 【试题解析】 在函数体内定义一字符型指针并指向

36、形参,然后遍历其中各字符直到 NULL,最 后返回字符串首尾地址的差值,即字符串的长度。 31 【正确答案】 A 【试题解析】 在 C语言中,字符串的长度是其首字符到 NULL(不含 )字符的总字符个数。本题定义字符数组 str的同时,对第 7个元素,由系统自动添加上 “0”,故字符串的长度为 6。 32 【正确答案】 B 【试题解析】 在对字符数组赋字符串值时,系统会自动在字符串的末尾加上一个字符串结束标志 “0”,故指向字符数组的指针 p的 *(p+4)的值为 “0”。由于 “0”的编码值就是 0,所以本题输出为 0。 33 【正确答案】 B 【试题解析】 本题中选项 B是错误的引用, *

37、(a+i)+j只代表了 aij的地址。 34 【正确答案】 C 【试题解析】 C语言中: strcpy(st1,st2);,其两个参数均为字符指针或字符数组,选项 C中的字符串指针 str3没有指向具体有效的存储单元,故是错误的调用。 35 【正确答案】 A 【试题解析】 函数 strcmp的功能是比较字符串 s1和 s2,如果 s1 s2, 则返回个正数:如果 s1 s2,则返回负数,否则返回零。由于本题中小写字母 b的ASCII码值大于大写字母 B,故 s1 s2,所以函数的值为正数。 36 【正确答案】 A 【试题解析】 在第一次执行 for循环时,字符数组的首地址赋给了指针变量 p,使

38、得指针变量 p指向了 s的首地址,输出 p所指向的字符串;第二次执行 for循环时, p值增加 1, p指向了 s的第二个元素输出 BCD;第三次输出 CD;第四次输出 D;直到 p指向字符串的结束字符 “0”, for循环终止执行。 37 【正确答案】 C 【试题解析】 alpha0指向 “ABCD”的首地址; alpha1指向 “EFGH”的首地址;alpha2指向 “IJKL”的首地址,依此类推。当执行 p=alpha后, p指向指针数组alpha的首地址。 for循环中输出了 4个字符串。 38 【正确答案】 A 【试题解析】 p0存放的是 “BOOL0”的首地址; p1存放的是 “O

39、PK0”的首址等。 在 printf语句中输出的 *pi表示 pi字符串的第一个字符。在 for循环中, i的初值为 3,那么输出的第一个字符为 “S”,接着两次 i-,则输出的值为 *p1,即字符 “0”,所以本题的输出为 SO。 39 【正确答案】 B 【试题解析】 由于实 参传送的是变量的地址,所以对形参指针所指向的单元内容的改变,即对实参内容的改变。 40 【正确答案】 C 【试题解析】 事实上,无论有无 static修饰,外部变量都具有 A、 B和 C三种特性。作为一种修饰, static仅是限制此类型外部变量的引用范围:只能在定义它的文件范围内使用。 41 【正确答案】 B 【试题

40、解析】 本题宏替换中遇到形参 x以实参 k+1代替,其他字符不变。SQR(k+1)展开后应为字符串 k+1*k+1。 42 【正确答案】 C 【试题解析】 宏替换实质上就是字符替 代,它不可能进行计算,故 C错误。带参数的宏与函数相比,宏在程序编译之前已经将代码替换到程序内,执行时不会产生类似于函数调用的问题,可以说不占用运行时间。 43 【正确答案】 B 【试题解析】 字符串复制函数 strcpy包含在头文件 string.h中,因此,程序中的第 1行文件包含命令是错误的。 44 【正确答案】 D 【试题解析】 结构体变量 a与结构体成员 a同名是合法的定义,引用成员 a的方法是 aa,变量

41、 a处于不同的 “层次 ”上,系统完全能够分清。 st是一个结构体名,不会为结构体名分配存储空间 ,应该是在运行时为结构体变量 a分配 6个字节的存储单元,故选项 B和选项 C错误。 45 【正确答案】 D 【试题解析】 在定义结构体变量时,不能只用结构体名 example或关键字 struct进行定义,必需要用结构体类型名 struct example定义,在引用结构体成员变量时,需要用结构体变量名进行引用,所以选 D。 46 【正确答案】 A 【试题解析】 由于本题定义的是共用体,所以成员表列中的整型变量 x与字符数组 c共占用同一个存储单元,且此存储单元为 2个字节,通常 c0位于低字节

42、,c1位于高字节,所以 x.i的值为 266。 47 【正确答案】 D 【试题解析】 在单向链表中,由于每个结点需要存储下一个结点的地址,且下一个结点的数据类型与前一个结点的数据类型完全相同,故应为 struct link *next。 48 【正确答案】 C 【试题解析】 位运算符 “|”的作用是按位或,即两个二进制数的相应位中只要一个为 1,该位的结果值为 1。最后以字符型输出, 98对应的字符 “b”。 49 【正确答案】 B 【试题解析】 fgets函数的作用是从指定的文件读入一个字符串。 fgets(str,n,fp)冲的 n为要求得到的字符的个数,但只从 fp指向的文件输入 n-1

43、个字符,然后在最后加一个 0字符,因此得到的字符串共有 n个字符。 50 【正确答案】 C 【试题解析】 fprintf函数工作时,多个数据间不会自动加分隔符,选项 A错误:浮点数的输出格式是 “%5.0f”表明其小数部分输出 0位,即没有输出,所以选项 B也是错误的。 51 【正确答案】 179 【试题解析】 在任意一棵二叉树中,度为 0的结点 (即叶子结点 )总是比度为 2的结点多一个。本题中的二叉树有 80个叶 子结点,因此,该二叉树有 80-1=79个度为 2的结点;又知本题中的二叉树有 10个度为 1的结点。因此,本题中的二叉树总结点数为:叶子结点数 +度为 1的结点数 +度为 2的

44、结点数 =80+10+79=179 52 【正确答案】 内聚 【试题解析】 系统设计的质量主要反映在模块的独立性上。评价模块独立性的主要标准有两个:一是模块之间的耦合,它表明两个模块之间互相独立的程度;二是模块内部之间的关系是否紧密,称为内聚。即内聚反映了模块内各成分之间的联系。 53 【正确答案】 承接模块 【试题解析】 进行模 块测试时,应为每个被测试的模块另外设计两类模块:驱动模块和承接模块。其中驱动模块的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果;承接模块的作用是模拟被测试模块的下层模块。 54 【正确答案】 软件工程管理 【试题解析】 软件工程足指,采用工程的概

45、念、原理、技术和方法指导软件的开发与维护:软件工程学的主要研究对象包括软件开发与维护的技术、方法、工具和管理等方面。即软件工程研究的内容主要包括:软件开发技术和软件工程管理。 55 【正确答案】 操作系统 【试题解析】 数据库 管理系统是一个帮助用户创建和管理数据库的应用程序的集合。因此,数据库管理系统需要操作系统的支持,为用户提供服务。 56 【正确答案】 12, 10, 18 【试题解析】 本题定义了 3个整型变量 x、 y、 z,并分别用十进制数、八进制数、十六进制数为它们赋值。然后以十进制整型输出这 3个变量。八进制数 012的十进制表示为 10,十六进制数 0x12的十进制表示为 1

46、8。此外输出函数格式控制中的 “,”原样输出。 57 【正确答案】 *(t+4) 【试题解析】 本题定义了指针变量 t,并用数组 s的首地址给它赋初 值。 t+4代表数组第 6个元素的地址, *(t+4)是取得该地址中的值即 29,而此时并没有移动指针t。 58 【正确答案】 a+strlen(a)或 strlen(a)+a 【试题解析】 要输出 suet就要将指针从字符串开始移动到字符串结尾,表达式p=a使 p指向字符串的首地址;表达式 p+=2使每次循环 p值加 2,是向前移动指针;空白处应判断是否到达字符串结尾,因此应填字符串的首地址加字符串长度, strlen(a)的返回值为字符串 a所含的字符个数。 59 【正确答案】 X 【试题解析】 程序是从键 盘缓冲区循环接收字符,并输出接收到的字符在 ASCII码表中的前一个字符,直到接收到 ?为止。 60 【正确答案】 2, 1 【试题解析】 程序的功能是交换 a和 b的值,输出 a和 b的值为 2, 1。 61 【正确答案】 5,6,8 【试题解析】 首先要

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

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

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