


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、二级 C 语言笔试 -205( 总分: 96.00 ,做题时间: 90 分钟 )一、选择题 (总题数: 40,分数: 70.00)1. 线性表的顺序存储结构和线性表的链式存储结构分别是 ( ) 。(分数: 2.00 )A. 顺序存取的存储结构、顺序存取的存储结构B. 随机存取的存储结构、顺序存取的存储结构VC. 随机存取的存储结构、随机存取的存储结构D. 任意存取的存储结构、任意存取的存储结构解析: 解析 顺序存储结构中,数据元素存放在一组地址连续的存储单元中,每个数据元素地址可通过公 式 LOC(ai)=LOC(a1)+(i-1)L 计算得到,从而实现了随机存取。对于链式存储结构,要对某结点
2、进行存取, 都得从链的头指针指向的结点开始,这是一种顺序存取的存储结构。2. 有以下程序:main()char k; int i;for(i=1; i v 3; i+)scanf("%c",k);switch(k)case'0': printf("another/n");case '1': printf("number/n");程序运行时,从键盘输入:01 v回车,程序执行后的输出结果是()。(分数: 2.00 )A. another numberB. another number anotherC.
3、another number numberVD. number number解析: 解析 本题考核的知识点是 for 循环语句和 switch 语句嵌套使用。 switch 语句的执行过程是:在 switch 后面的表达式的值和 case 后面常量表达式的值吻合时,就执行后面的语句。如果在该语句的后面 没有 break 语句,则继续执行下一个 case ,直到遇到 break 语句或 switch 多分支的结束,在 switch 语句 中, break 语句的作用是使流程跳出 switch 结构,终止 switch 语句的执行。本题中在 for 循环中嵌套了 switch 语句,每循环一次通过
4、 scanf() 函数从键盘上输入一个 k 值,然后执行 switch 语句。3. (2S) 以下叙述中错误的是 ( ) 。分数: 2.00 )A. 改变函数形参的值,不会改变对应实参的值B. 函数可以返回地址值C. 可以给指针变量赋一个整数作为地址值VD. 当在程序的开头包含头文件stdio.h 时,可以给指针变量赋 NULL解析:解析本题考查的知识点是:函数、指针。在C语言中,指针变量是不能直接赋给一个整数作为地址值的。因此选项 C)是错误的。故应该选择 C)。4. 一个关系中属性个数为 1 时,称此关系为 ( ) 。(分数: 2.00 )A. 对应关系B. 单一关系C. 一元关系 VD.
5、 二元关系解析: 解析 在关系模型数据库中,基本结构是二维表,这种二维表称为关系。关系的列称为属性,一个 具有N个属性的关系称为N元关系。5. 下列有关数据库的描述,正确的是 ( ) 。(分数: 2.00 )A. 数据库是一个DBF文件B. 数据库是一个关系C. 数据库是一个结构化的数据集合 VD. 数据库是一组文件解析:解析数据库(DataBase , DB)是数据的集合,它具有统一的结构形式并存放于统一的存储介质内, 是多种应用数据的集成,可被各个应用程序所共享。数据库中的数据具有“集成”、“共享”的特点。6. 若以下选项中的变量已正确定义,则正确的赋值语句是 ( ) 。(分数: 2.00
6、 )A. xb26.8%3;B. 1+2=x2C. x3=0x12;VD. x4=1+2=3;解析:解析本题考核的知识点是 C语言中对变量赋值的应用。赋值操作由赋值运算符“=”来完成,一 般形式为变量 =表达式, 赋值的方向为由右向左,即将“=”右侧表达式的值赋给“ =”左侧的变量,执行步骤是先计算再赋值。选项A中运算符“ %的运算对象必须为整数,而选项 A)中268不为整数,故选项 A不正确;选项B)将一个变量赋值给一个表达式,这在C语言中是不允许的,故选项B)不正确;选项D)中是将一个常量3赋值给一个表达式,故选项D)不正确。所以,4个选项中选项C)符合题意。7. 有以下程序:#inclu
7、de < stdio.h >void fun (int *s, int n1, int n2)int i,j. t;i=n1; j=n2;while (i<j)t=si; si=sj; sj=t; i+; j-;main()int a10=1, 2, 3, 4, 5, 6, 7, 8, 9, 0, k;fun(a, 0, 3); fun(a, 4, 9); fun(a, 0, 9);for(k=0; k < 10; k+) printf("%d", ak); printf("/n");程序的运行结果是 ( ) 。(分数: 2.00
8、 )A. 049382716B.C. 5678901234 VD. 0987651234解析: 解析 函数 fun(int *s,int n1 ,int n2) 的功能是对数组 s 中的元素进行首尾互相调换。所以在主函数中,当 fun(a ,0,3)执行完后,数组 a10=(4 ,3,2,1,5,6,7,8,9,0;再执行 fun(a ,4, 9),数组 a10=(4 ,3,2,1,0,9,8,7,6,5);再执行 fun(a , 0,9)后,数组 a10=(5 ,6,7,8, 9,0,1,2,3,4)。8. 以下选项中,当 x 为大于 1 的奇数时,值为 0 的表达式是 ( ) 。(分数:
9、2.00 )A. x%2=1B. x/2C. x%2!=0D. x%2=0 V解析:解析因为X的值为大于1的奇数,所以x除以2的余数等于1,因此,选项 A、C)中表达式的结 果为真,不为0;对于选项B)来说,x除以2的商不会等于0;选项D)中表达式的结果为假,即等于0。9. 有以下程序:main()char *p10="abc", "aabdfg", "dcdbe", "abbd", "cd"printf("%d/n". strlen(p4);执行后输出结果是 ( ) 。(分
10、数: 2.00 )A. 2 VB. 3C. 4D. 5解析: 解析 本题考核的知识点是指针数组的定义和 strlen() 函数的应用。本题中首先定义了一个长度 为10的指针数组,并赋初值,因此执行strlen (p4)后的返回值为字符串“ cd”的长度为 2。所以,4个选项中选项A)符合题意。10. 设有定义:int n仁0 ,n2,*P= & n2,*q= & n1;,以下赋值语句中与 n2=n1;语句等价的是()。(分数: 2.00 )A. *p=*q ; VB. p=q;C. *p= &n1;D. p=*q ;解析:解析本题考查的是指针的运算。题目中定义了两个变量
11、n1和n2,又定义了两个指针 p和q分别指向变量n2和n1。要通过指针实现n2=n1,就是要将q所指内容赋给p所指内容,即*p=*q。所以应该选 择 A) 。11. 下面程序段的输出为 ( ) 。#include "stdio.h"main()printf("%d/n", 12<< 2);(分数: 1.00 )A. 0B. 47C. 48VD. 24解析:解析 考查位运算的运算原理。 <<为左移运算符, 运算符的左边是移位对象: 右边是整型表达式, 代表左移的位数,左移时,右端 ( 低位 ) 补 0 ;左端 ( 高位 ) 移出的部
12、分舍弃。1 2.一个算法应该具有“确定性”等 5个特性,下面对另外 4个特性的描述中错误的是 ( ) 。(分数: 1.00 )A. 有零个或多个输入B. 有零个或多个输出 VC. 有穷性D. 可行性解析: 解析 本题考核的知识点是算法的性质。 算法是为解决某个特定问题而采取的确定的且有限的步骤, 一个算法应当具有以下 5 个基本特性: 1有穷性, 就是指一个算法应当包含有限个操作步骤。2确定性,就是说算法中每一条指令必须有确切的含义,不能有二义性,对于相同的输入必能得出相同的执行结果。3有零个或多个输入。 4可行性,就是说算法中指定的操作,都可以通过已经实现的基本运算执行有限次实现。5.有一个
13、或多个输出。由此可知选项B)不正确,所以,4个选项中选项B)符合题意。13. 软件开发的结构化生命周期方法将软件生命周期划分成 ( ) 。(分数: 1.00 )A. 定义、开发、运行维护 VB. 设计阶段、编程阶段、测试阶段C. 总体设计、详细设计、编程调试D. 需求分析、功能定义、系统设计解析: 解析 通常将软件产品从提出、实现、使用维护到停止使用的过程称为软件生命周期。它可以分为 软件定义、软件开发及软件运行维护 3 个阶段。14. 有以下程序:main()int m=12, n=34;printf("%d%d", m+, +n);printtf("%d%d/
14、n", n+, +m);程序运行后的输出结果是 ( ) 。分数: 1.00 )A. 12353514 VB. 12353513C. 12343514D. 12343513解析: 解析 本题考查的是自加运算符的运用。自加运算符有前缀和后缀两种不同的形式,对于变量本身 来说,无论是前缀还是后缀其作用的效果都是相同的, 使变量值增 1。但作为表达式来说却有着不同的值, 前缀时自增表达式的值是变量增 1 后的值,而后缀时自增表达式的值是变量增 1 前的值。本题程序开始定 义了两个整型变量 m和n,并分别初始化为12和34。第一条输出语句是按整型格式输出表达式m+和+n的值,根据前面所述,表达
15、式m+的值为12,+n的值为35,所以第一次输出的字符串是“ 1235”,执行完后m和n的值都自增1,分别是13和35,第二条输出语句n+的值为35,+m的值为14,所以输出的字 符串是 3514。15. 有以下程序: int fun(int n) if(n=1)return 1;elsereturn(n+fun(n-1) ;main()int x;scanf("%d",x); x=fun(x); printf("%d/n", X);执行程序时,给变量 X输入10,程序的输出结果是()。(分数: 1.00 )A. 5S VB. S4C. 65D. 45解
16、析:解析 本题考查的是递归算法的分析。一个直接或间接地调用自身的算法称为递归算法。在一个递 归算法中, 至少要包含一个初始值和一个递归关系。 本题的 fun() 函数在 n 等于 1 时返回 1 ,而在其余情况 下返回 n+fun(n-1) ,所以本题的递归算法可以这样来表示:fun(n)=1(n=1)( 初始值 )fun(n)=n+fun(n- 1)(n 工 1)(递归关系)此时不难看出,该递归算法实现的是计算1+2+3+-+n,而且n必须大于0,否则会陷入死循环。故题目输出的结果是1+2+3+-+10=55,应该选择A)。16. 设有以下语句:typedef struct Sint g;
17、char h; T;则下面叙述中正确的是 ( ) 。分数: 1.00 ) 解析: 解析 本题考核的知识点是结构体类型定义和结构体的基本概念。结构体类型的定义格式为: strcut 结构体名成员说明列表17. 有以下程序:main()int a, b, d=25;a=d/10%9; b=a -1;printf("%d , %d/n", a, b);程序运行后的输出结果是 ( )(分数: 1.00 )A. 6 , 1B. 2 , 1 VC. 6 , 0D.2, 0解析:解析本题主要考查的是 C语言中的整除、求余以及逻辑值的概念。在C语言中,/号的两边如果都是整数的话,返回的结果
18、也是整数,如果除不净则舍去小数部分。%是求余运算,它的运算对象只能是整型,运算结果是两数相除后所得的余数,当运算量为负数时,结果的符号与被除数相同。因此,执行语句“a=d/10%9 ”后,a=25/10%9=2%9=2 C语言中没有专门的逻辑值,而是用整型值来代替。当整型值作逻 辑值使用时, 非零即表示“真”, 零表示“假”, 而逻辑值当整型值使用时, “真”等于 1,“假”等于 0。 因此,执行语句“ b=a (-1) ;”后输出结果为 2, 1 。18. 以下叙述中错误的是 ( ) 。(分数: 1.00 )A. C 语言是一种结构化程序设计语言B. 结构化程序由顺序、分支、循环三种基本结构
19、组成C. 使用三种基本结构构成的程序只能解决简单问题 VD. 结构化程序设计提倡模块化的设计方法解析: 解析 本题考查的知识点是:结构化程序设计。结构化程序由3 种基本结构组成:顺序结构、选择结构和循环结构。已经得到证明,由 3 种基本结构组成的算法结构可以解决任何复杂的问题。故本题中选 项C)是错误的。19. 下列关于栈的叙述中正确的是 ( ) 。(分数: 1.00 )A. 在栈中只能插入数据B. 在栈中只能删除数据C. 栈是先进先出的线性表D. 栈是先进后出的线性表 V解析: 解析 栈是限定在一端进行插入与删除的线性表。栈是按照“先进后出”的或“后进先出”的原则组织数据的,因此,栈也被称为
20、“先进后出”表或“后进 先出”表。20. 使用关系运算对系统进行操作,得到的结果是 ( ) 。(分数: 1.00 )A. 属性B. 元组C. 关系 VD. 关系模式解析: 解析 关系运算分为: 传统的关系运算 ( 集合运算 )进行并、差、交集合运算的两个关系必须具有相同的关系模式,即相同结构。在Visual FoxtPro 中没有提供传统的集合运算,可以通过其他操作或编写程序来实现。 专门的关系运算 选择:从关系中找出满足给定条件的元组的操作称为选择。 投影:从关系模式中指定若干个属性组成新的关系称为投影。 连接:连接是关系的横向结合。连接运算将两个关系模式拼接成一个更宽的关系模式,生成的新关
21、系中包 含满足连接条件的元组。21. 有以下程序:main()int i, s=0, t=1, 2, 3, 4, 5, 6, 7, 8, 9;for(i=0; i v 9; i+=2)s+=*(t+i); printf("%d/n", s);程序执行后的输出结果是 ( ) 。(分数: 2.00 )A. 45B. 20C. 25 VD. 36解析:解析统计19九个数中的奇数和,此题考查指向数组的指针。C语言规定数组名代表数组的首地址,也就是第一个元素的地址。因此*(t+i)代表数组的第i+1个元素。程序运行的结果是1+3+5+7+9=25。22. 若要求从键盘读入含有空格字符
22、的字符串,应使用函数 ( ) 。(分数: 2.00 )A. getc()B. gets()VC. getchar()D. scanf()解析: 解析 scanf() 语句用“空格”区别不同的字符串; getc() 与 getchar() 语句不能用于字符串的读 入。23. 下面概念中,不属于面向对象方法的是 ( ) 。(分数: 2.00 )A. 对象B. 继承C. 类D. 过程调用 V解析: 解析 面向对象方法是一种运用对象、类、封装、继承、多态和消息等概念来构造、测试、重构软 件的方法。面向对象方法从对象出发,发展出对象、类、消息、继承等概念。24. 以下选项中,不能作为合法常量的是 ( )
23、 。(分数: 2.00 )A. 1.234e04B. VC. 1.234e+4D. 1.234e0解析:解析本题考查的是C语言中实型常量的指数表示法。实型常量的指数表示法是用字母e(或E)将一个实数的小数部分和指数部分分隔开。字母e(或E)之前是小数部分,之后是指数部分,这两部分都不能省略,且指数部分必须为整数。故选项B)不正确。所以,4个选项中选项B)符合题意。25. 用C语言编写的代码程序()(分数: 2.00 )A. 可立即执行B. 是一个源程序VC. 经过编译即可执行D. 经过编译解释即可执行解析:解析本题考核的知识点是 C程序的基本概念。C语言一种高级语言,C语言源程序经过 C语言程
24、 序编译之后,生成一个后缀为 .obj 的二进制文件 ( 称为目标文件 ),最后还要由称为“连接程序” (Link) 的 软件,把此.obj文件与C语言提供的各种库函数连接在一起,生成一个后缀.exe的可执行文件。显然C语言不能立即执行,故选项 A错误。根据以上定义,选项 C)和选项D)错误,所以,4个选项中选项B)符合 题意。26. 一个教师可讲授多门课程,一门课程可由多个教师讲授,则实体教师和课程间的联系是( ) 。(分数: 2.00 )A. 1:1 联系B. 1:m 联系C. m:1 联系D. m:n 联系 V解析: 解析 两个实体间的联系可以归纳为 3 种类型:一对一联系:一对 _的联
25、系表现为主表中的每一条记录只与相关表中的一条记录相关联。 一对多联系或多对一联系:一对多的联系表现为主表中的每一条记录与相关表中的多条记录相关联。 多对多联系:多对多的联系表现为一个表中的多个记录在相关表中同样有多个记录与其匹配。 一个教师可讲授多门课程,一门课程可由多个教师讲授,所以实体教师和课程间的联系是多对多的联系。27. 设有以下程序段:int x=0, s=0;while(!x!=0) s+=+X;printf("%d", s);则( ) 。(分数: 2.00 )A. 运行程序段后输出 0B. 运行程序段后输出 1VC. 程序段中的控制表达式是非法的D. 程序段执
26、行无限次解析: 解析 本题中,“ !”表示逻辑非运算符, “ !=“表示不等于运算符,逻辑非运算符比不等于运算 符的优先级高。28. 在函数调用过程中,如果函数funA调用了函数funB,函数funB又调用了函数funA,则()。分数: 2.00 )A. 称为函数的直接递归调用B. 称为函数的间接递归调用 VC. 称为函数的循环调用D. C语言中不允许这样的递归调用解析:解析本题考核的知识点是函数递归调用的基本概念。在C语言中所谓函数的递归是指在调用一个函数的过程中,又出现了直接或间接地调用该函数本身,直接调用该函数本身的称为函数递归,而间接调 用该函数称为函数的间接递归调用。显然题目中所说的
27、函数调用为函数的间接递归调用。所以,4个选项中选项 B) 符合题意。29. 有以下程序:#include < stdio.h >#include < stdlib.h>int fun(int n) int *p;P=(int,) malloc(sizeof(int);-p=n; return *p;main()int a;a=fun(10); printf("%d/n", a+fun(10);程序的运行结果是 ( ) 。(分数: 2.00 )A. 0B. 10C. 20 VD. 出错解析:解析本题考查的是动态内存分配。题目中的fun()函数,首先定义
28、了一个int型指针变量p,然后动态分配一个int型大小的内存空间给它,并将它初始化为参数n的值,然后返回这个值。虽然看起来很复杂,但其实它仅仅就是将传递给它的参数保存了一份然后返回这个值。所以在主函数中,a=fun(10)令a变为10,然后调用Drintf()函数输出a+fun(10)的值,也就是10+10=20,所以应该选择 C)。30. 若有定义:int a23;,以下选项中对a数组元素正确引用的是()。(分数: 2.00 )A. a2!1B. a23C. a03D. a1 >1! V解析:解析本题主要考查的是二维数组的运用。本题定义的二维数组a23,其下标范围分别是01和02。因此
29、,选项A)、B)和C)都不正确。选项D)中,表达式1> 1的值是“假”,可以被看作整数“ 0”, 表达式!1的值也是“假",所以整个a1 > 1!1就是a00,这是对a数组元素的正确引用,故应该选择 D)。31. 以下叙述中正确的是 ( ) 。分数: 2.00 )A. 局部变量说明为 static存储类,其生存期将得到延长VB. 全局变量说明为 static存储类,其作用域将被扩大C. 任何存储类的变量在未赋初值时,其值都是不确定的D. 形参可以使用的存储类说明符与局部变量完全相同解析: 解析 本题考核的知识点是变量的生成期与作用域。静态局部变量在整个程序运行期间,静态局
30、部 变量在内存的静态存储区中占据着永久性的存储单元。由此可知静态局部变量的生存期将一直延长到程序 运行结束。故选项 A 正确;而全局变量的只有一种静态存储类别,故全局变量说明为 static 存储类,和没 有说明为 stacic 存储类其生存期都是一直延长到程序运行结束,故选项B) 不正确;未赋初值的 auc0 型变量的初值是随机的,未赋初值的static 型变量的初值是0(故选项C)和选项D)不正确)。所以,4个选项中选项 A) 符合题意。32. 当用户要求输入的字符串中含有空格时,应使用的输入函数是( ) 。(分数: 2.00 )A. scanf()B. getchar()C. gets(
31、)VD. getc()解析:解析本题考查的知识点是:输入函数。C语言提供了许多输入函数,其中有:qecchar(输入字符)、scanf( 格式输入 ) 和 gecs( 输入字符串 ) 等。题目要求输入的是字符串, 所以可以排除 getchar ,而且要求输 入的字符串中包含空格,而 scanf 函数默认将输入的空格字符作为分隔符,所以空格不会被输入,故可排 除 scanf 。 getc 的作用是从文件中输入一个字符, 故也不可取。 aecs 函数可以输入一整行作为一个字符串, 其中也包括空格字符,故应该选择 C)。33. 以下能正确定义一维数组的选项是 ( ) 。(分数: 2.00 )A. i
32、nt a5=0, 112, 3, 4, 5;B. char a='0', '2', '3', '4', '5', '/0'VC. char a='A', 'b', 'C'D. int a5="0123"解析:解析选项A)中,定义的初值个数大于数组的长度;选项C)中,数组名后少了中括号;选项D)中,整型数组不能赋予字符串。34. 有以下程序:void sort (int a, int n)int i,j,t;for(i=0; i &l
33、t; n-1; i+)for(j=i+1; j < n; j+)if(ai < aj)t=ai;ai=aj;a1=t;main()int aa10=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, i;sort(aa+2, 5);for(i=0; i < 10; i+)printf("%d", aai);(分数: 2.00 )A. 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,B. 1, 2, 7, 6, 3, 4, 5, 8, 9, 10,C. 1,2, 7, 6, 5, 4, 3, 8, 9, 10,VD. 1, 2, 9,
34、8, 7, 6, 5, 4, 3, 10,解析:解析 本题考查的是考生的代码阅读能力。先看 sot() 函数,它没有返回值, 有两个参数, 一个 int型数组和一个 int 型变量。 在函数中是一个二重循环, 外循环变量 i 从 0 递增到 n-2 ,内循环变量 i 从 i+1 递增到n-1。内循环体是一条if语句“如果ai < aj就把两个值交换”。这是一个典型的从大到小选择排序算法,排序的范围是a0an-1,共n个数排序。主函数中定义了一个数组aa10,然后调用sort(aa+2 , 5);的意思是将aa2aa6范围的5个数据从大到小排序。35. 有如下程序:main()int n=
35、9;while(n > 6)n-; printf("%d", n);该程序的输出结果是 ( ) 。(分数: 2.00 )A. 987B. 876 VC. 8765D. 9876解析: 解析 该题目应该根据循环体第一次和最后一次执行时的输出结果来决定哪一项是正确的。第一次进入循环时,n的值是9,循环体内先经过n-运算,n的值变为8,所以第一次的输出值是 8,由此可以排 除选项A)和D)。由循环条件n>6可以知道,最后一次循环开始时, n的值应该为7,所以最后一次执行循 环时,输出为 6,由此可以排除选项 C)。36. 有以下程序:int f(int(分数: 2.0
36、0 )A.V解析: 解析 本题考核的知识点是一维数组的定义,初始化和数组中元素的引用。函数f() 的作用是形参a为偶数的时候返回0,主函数中首先定义了一个长度为 8的一维数组,然后给它赋初值使得sO=1、s1=3、 s2=5 、 s3=2 、 s4=4 、 s5=6 。其他没有赋值的数组元素将自动赋值为 0。 for 循环中,当 si 不为 偶数时,将 si 相加,即当 1=3时, si=2 为偶数,退出循环; 此时 d 的值为 d=s0+s1+s2=1+3+5=9,因此最后输出的d的值为9。所以,4个选项中选项 A)符合题意。37. 以下不正确的叙述是 ( ) 。(分数: 2.00 )A.
37、在 C 程序中,逗号运算符的优先级最低B. 在C程序中,APH和aph是两个不同的变量C. 若a和b类型相同,在计算了赋值表达式aob后b中的值将放入a中,而b中的值不变D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值V解析:解析在C语言所有的运算符中, 逗号运算符的优先级最低。C语言中区分大小写,所以APH和aph是两个不同的变量。赋值表达式a=b表示将b的值赋给a,而b本身的值保持不变,通过键盘可以向计算 机输入允许的任何类型的数据。选项 D) 中当从键盘输入数据时,对于整型变量可以输入整型数值和字符, 对于实型变量可以输入实型数值和整型数值等。38.
38、软件开发离不开系统环境资源的支持,其中必要的测试数据属于 ( ) 。(分数: 2.00 )A. 硬件资源B. 通信资源C. 支持软件D. 辅助资源V解析: 解析 软件测试过程中,辅助资源包括测试用例 ( 测试数据 ) 、测试计划、出错统计和最终分析报告 等。39. 若整型变量a、b、c、d中的值依次为:1、4、3、2。则条件表达式 a< b?a:c < d?c:d的值是()。(分数: 2.00 )A. 1 VB. 2C. 3D. 4解析: 解析 本题考查的是条件表达式的嵌套。因为条件运算符的结合方向为“自右至左”,所以表达式a< b?a:c < d?c:d相当于a<
39、; b?a:(c < d?c:d)。由于a=1, b=4,所以a< b的结果为“真",所以整个表达 式的值为a的值1。所以,4个选项中选项A)符合题意。40. 软件工程的出现是由于 ( ) 。(分数: 2.00 )A. 程序设计方法学的影响B. 软件产业化的需要C. 软件危机的出现 VD. 计算机的发展解析: 解析 软件工程概念的出现源自于软件危机。为了消除软件危机,通过认真研究解决软件危机的方 法,认识到软件工程是使计算机软件走向工程科学的途径,逐步形成了软件工程的概念。二、 填空题 (总题数: 13,分数: 26.00)41. 在算法的 4 个特征中,算法必须能在执行
40、有限个步骤之后终止,指的是算法的1 性。(分数: 2.00 )填空项 1: (正确答案:有穷)解析: 解析 算法的 4个基本特征是可行性、确定性、有穷性和拥有足够的情报。其中算法的有穷性是指 算法必须能在执行有限个步骤之后终止。另外算法的有穷性还包括合理的执行时间,如果一个算法执行千 万年才能终止,那就失去了实用价值。42. 对长度为 10 的线性表进行冒泡排序,最坏情况下需要比较的次数为 1 。(分数: 2.00 )填空项 1: (正确答案: 45 或 45 次)解析:解析假设线性表的长度为n,则在最坏情况下,冒泡排序需要经过n/2遍的从前往后扫描和n/2遍的从后往前扫描,需要比较次数为 n
41、(n-1)/2 。43. 有一棵非空二叉树,其第 K 层上最多有 1 个结点(分数: 2.00 )填空项 1: (正确答案: 2k-1 )解析:解析此题应用的是二叉树的基本性质1,在二叉树的第k层上,最多有2k-1(k >1),题中指明是非空二叉树,所以已经满足条件k>1o44. 符合结构化原则的三种基本控制结构是:选择结构、循环结构和1 。(分数: 2.00 )填空项 1: (正确答案:顺序结构)解析:解析结构化程序设计方法是程序设计的先进方法和工具。其中结构化程序设计的三种基本控制结 构是:选择结构、循环结构、顺序结构。45. 数据库设计分为以下 6个设计阶段:需求分析阶段、
42、1、逻辑设计阶段、物理设计阶段、实施阶段、运 行和维护阶段。(分数: 2.00 )填空项 1: (正确答案:概念设计阶段)解析: 解析 数据库设计分为以下 6个设计阶段:需求分析阶段、概念设计阶段、逻辑设计阶段、物理设 计阶段、实施阶段及数据库运行和维护阶段。46. 以下程序段的输出结果是 oint i=9; printf("%0/n", i);(分数: 2.00 ) 填空项 1: (正确答案: 11 )解析:解析本题考核的知识点是 printf() 函数的输出格式。本题中定义了一个整型变量i并赋初值为9,然后要求以八进制输出 i 的值,因为 9的八进制表示为 11,所以最
43、后输出的值为 11o47. 若变量 a、 b 已定义为 int 类型并赋值 21 和 55,要求用 printf 函数以 a=21, b=55 的形式输出,请写 出完整的输出语句 1 o(分数: 2.00 )填空项 1: (正确答案: princf ("a=%d, b=%d/n", a, b); 或 princf ("a=%d, b=%d",a, b); )解析:解析本题考查的是printf1|函数。printf1|函数是C语言中最常用的格式输出函数,其一般格式为:printf(格式控制,输出列表)。本题中,完整的输出语句应该为: printf(&quo
44、t;a=%d, b=%d", a, b); 或 printf("a=%d, b=%d", a, b); o48. 已有定义:char c=" int a=1, b ;(此处C的初值为空格字符),执行b=!c && a ;后b的值为1。(分数: 2.00 )填空项 1: (正确答案: 0)解析: 解析 字符空格的 ASCII 码不为 0,所以本题中表达式 !c 的值为 0, b=0&& 1 的结果显然为 0 以下程序的功能是:求出数组X中各相邻两个元素的和依次存放到a数组中,然后输出。请填空。main()int x10, a
45、9, i;fori=0; i v 10; i+) scanf("%d", & xi); for( (9) ; i v 10; i+)ai-1=xi+ (10);for(i=0; i v 9; i+)printf("%d", ai);printf(” ");(分数:2.00 )填空项1: (正确答案:i=1 )解析:填空项1: (正确答案:xi-1)解析:解析对于10个数,相邻的两个数相加取和,总共要进行9次加法运算,所以空9处应填入i=1相邻的两个数相加取和,放在数组a中,x0与x1的和存放在a0中,所以空10处应填入xi-1。以下程序中函数f的功能是在数组X的n个数(假定n个数互不相同)中找出最大最小数,将其中最小的数 与第一个数对换,把最大的数与最后一个数对换。请填空。#i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 花呗协议个人信息授信合同
- 药店转让合同协议范本
- 装修设计报价合同协议
- 虚拟沙发租房合同协议
- 西丽回迁房买卖合同协议
- 虚拟财产包赔合同协议
- 西宁市劳动合同协议
- 花岗岩界桩采购合同协议
- 营业执照使用协议合同
- 装饰公司补充合同协议
- 四川省射洪市金华镇初级中学-以终为始 育梦成光-初二上期末家长会【课件】
- 2025年广东省高中学业水平考试综合测评卷(二)政治试题(含解析)
- 医院员工保密协议书模板2025年
- 外研版(2025新版)七年级下册英语Unit 5 学情调研测试卷(含答案)
- 2014-2024年高考语文真题汇编之诗歌鉴赏含答案解析
- CT室放射防护PDCA课件
- 2025年新高考语文模拟考试试卷(五)
- 人教版2025九年级道德与法治中考备考复习计划
- 财务管理实务(浙江广厦建设职业技术大学)知到智慧树章节答案
- 部编版历史九年级上册第1课-古代埃及【课件】d
- 外包加工安全协议书
评论
0/150
提交评论