复习资料 c语言2级 笔试题 和上机题及答案Word文档格式.docx
《复习资料 c语言2级 笔试题 和上机题及答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《复习资料 c语言2级 笔试题 和上机题及答案Word文档格式.docx(71页珍藏版)》请在冰豆网上搜索。
A)n-1 B)n C)n+l D)2n
在n个结点的单向链表(无表头结点)中,每个结点都有一个指针单元(即指针域),加上头指针,至少需要n+1个指针单元。
(6)在软件开发过程中,软件结构设计是描述_______。
A)数据存储结构 B)软件体系结构 C)软件结构测试 D)软件控制过程
B
从工程管理角度来看,软件设计分两步完成:
概要设计和详细设计。
概要设计(又称结构设计)将软件需求转化为软件体系结构、确定系统级接口、全局数据结构或数据库模式。
(7)模块本身的内聚是模块独立性的重要性度量因素之一。
在7类内聚中,具有最强内聚 的一类是_______。
A)顺序性内聚 B)过程性内聚 c)逻辑性内聚 D)功能性内聚
D
内聚性是一个模块内部各元素间彼此结合的紧密程度的度量。
内聚共有7类,它们之间的内聚性由弱到强排列顺序为:
偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内聚和功能内聚。
(8)数据存储和数据流都是_______,仅仅是所处的状态不同。
A)分析结果 B)事件 C)动作 D)数据
数据流图有4种成分:
源点或终点、处理、数据存储和数据流。
数据存储是处于静止状态的数据,数据流是处于运动中的数据。
(9)数据的完整性是指数据的正确性、有效性和_______。
A)可维护性 B)独立性 C)安全性 D)相容性
评一、选择题
(1)~(10)每小题2分, (11)~(50)每小题1分,共60分)
数据模型的完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态及其状态的变化,以保证数据的正确性、有效性和相容性。
(10)关系代数运算是以_______为基础的运算。
A)关系运算 B)谓词运算 c)集合运算 D)代数运算
关系代数运算是以关系代数作为运算对象的一组高级运算的集合。
它的基本操作是并、交、差、笛卡尔积,另外还包垂直分割(投影)、水平分割(选择)、关系的结合(连接)等。
(11)能将高级语言程序转换成目标语言程序的是_______。
A)调试程序 B)解释程序 C)编译程序 D)编辑程序
用高级语言编写的程序称为"
源程序"
,而计算机只能识别和执行由0和l组成的二进制指令,所以高级语言必须先用一种称为"
编译程序"
的软件,把源程序翻译成二进制形式的"
目标
析:
评析:
(12)_______是构成c语言程序的基本单位。
A)函数 B)过程 c)子程序 D)子例程
c程序是由函数构成的。
一个c源程序至少包含一个main函数,也可以包含一个main函数和若干个其他函数,因此,函数是c程序的基本单位。
(13)可以在C语言中用做用户标识符的是_______。
A)void B)as_b3 C)for D)2c
define _123 -abc Do
WORD If cas SIG
c语言规定,标识符只能由字母、数字和下划线三种符号组成,而且第一个字符必须是字母或下划线。
另外还需要注意的是关键字不能作标识符。
选项A中void,C中for都为关键字,D中2c以字母开头。
(14)若有以下类型说明语句:
charw;
intx;
floaty,z;
则表达式w*x+z-y的结果为________类型。
A)float B)char C)int D)double
在进行运算时,不同类型的数据参加运算,需要先将其转换成同一类型的数据,然后再进行运算。
转换的顺序由低到高为:
char,short→int→unsigned→long→double→float,故结果为float型。
(15)main(()
{ floatx=123A56;
printf("
%-5.2f\n"
x);
}
以上程序输出的结果是________。
A)123.4 B)123.5 C)123.45 D)123.46
f格式符,用来输出实数,以小数形式输出。
"
%-m.nf"
的含义是:
输出数据共占m列,其中n位小数,如果输出位数小于m。
则右端补空格。
如果总长度大于列数,则按实际情况四舍五入输出。
(16)下面语句的输出结果是________。
Printf("
%d\n"
strlen("
\t\"
\065\xff\n"
));
A)14 B)8
C)5 D)输出项不合法,无正常输出
在c语言中,以"
\"
开头的字符均为转义字符,其中"
后可跟l~3位八进制数或在"
后跟字母x及l~2位十六进制数,以此来代表一个特定的字符。
(17)下列程序的输出结果是________。
main()
{ inta=0,b=0,c=0;
if(++a>
0lI++b>
0)++c;
\na=%d,b=%d,c=%d"
,a,b,c);
A)a=0,b=0,c=0 B)a=l,b=l,c=1
C)a=l,b=O,c=I D)a=0,b=1.c=1
"
︱︱"
是或运算,它有个"
短路"
的特点需特别注意,当"
运算符左边的表达式的值为真时,则程序就不再对"
右边的表达式的值进行运算,而是使得整个表达式的值直接为真。
(18)下列程序的输出结果是_________。
Main()
{ inti;
for(i=1;
i+l;
i++)
{ if(i>
4){printlf("
%d"
,i++);
break;
}
A)55 B)56
c)程序错误,没有输出 D)循环条件永远为真,死循环
本程序中有个for循环,但注意到for循环的条件是"
i+l"
,也就是只要i+l的值为真(非零值均为真),就执行循环。
当i=l的时,i+l的值为真,判断if条件不成立,执行i++,输出i的值为5。
(19)下列程序的输出结果是_________。
#defineA100
{ inti=O,sum=O;
do{ if(I==(i/2)*2)continue;
sum+=i;
}while(++i
sum);
A)2500 B)2050 C)4 D)O
本题程序的功能是求1到_99之问(包括1和99)所有奇数之和。
程序中的while循环的终止条件为++i=100,在while循环体内,如果i是偶数,则执行continue,跳过这一次循环,执行下一次循环,否则求和。
最后输出的值是1到99之间(包括l和99)所有奇数之和(1+99)*50/2=2500。
(20)下列程序的输出结果是_________。
{ intI=3;
switch(i)
{case1:
case2:
printf("
,i);
case3:
case4:
default:
OK"
);
A)0 B)3 C)OK D)没有任何输出
在题中,i的值为3,由于"
case3:
后面没有break语句,所以继续向下执行"
case4:
后面的语句,由于"
后面的语句为break强行退出switch语句,所以,本题没有任何输出。
(21)下列程序执行后的输出结果是________。
{ intm[][3]={1,4,7,2,5,8,3,6,9};
inti,k=2:
for(I=0;
i<
3;
{printf("
,m[k][i]);
A)456 B)258 C)369 D)789
根据二维数组的定义得出:
m[O][O]=1,m[O][1]=4,m[O][2]=7,m[1][0]=2,rail][1]=5,m[1][2]=8,m[2][0]=3,m[2][l]=6,m[2][2]=9,所以本题的输出是第3行的值m[2][0],m[2][1],m[2][2],即369。
(22)设已定义洱口k为int类型变量,则以下for循环语句_________。
for(i=0;
k=-1,k=1;
i++,k++)
****\n"
A)判断循环结束的条件不合法 B)是无限循环
C)循环一次也不执行 D)循环只执行一次
本题定义了一个for循环,循环变量是i,但由于本题并没有设置循环条件,所以循环的条件永远默认为真,即无限次执行循环。
(23)下面程序的输出结果是___________。
unsignedfun(unsignednum)
{ unsignedk=1;
do{
k*=num%lO;
num/=lO;
}while(num);
return(k);
{ unsignedn。
26;
fun(n));
A)0 B)4 c)12 D)无限次循环
本题定义了一个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/lO=O;
num=O:
while条件不成立,所以返回k的值12.
(24)已知字母A的ASCII码值是65,字母a的ASCII码值是97,以下程序_______。
{ chara='
A'
;
intb=20;
%d,%o"
,(a=a+a,a+b,b),a+'
a'
-'
,b);
A)表达式非法,输出零或不确定值
B)因输出项过多,无输出或输出不确定值
C)输出结果为20,141
D)输出结果为20,141,20
本题中首先输出逗号表达式"
a=a+a,a+b,b"
的值,即20。
然后以八进制的形式输出a+'
的值为97对应的八进制数141,由于最后一个表达式b没有对应输出格式的输出项表列就不会输出。
(25)C语言函数返回值的类型是由__________决定的。
A)return语句中的表达式类型 B)调用函数的主调函数类型
c)调用函数时临时 D)定义函数时所指定的函数类型
函数值的类型应当是在定义函数时指定的。
在定义函数时对函数值说明的类型一般应该和return语句中的表达式类型一致,如果不_致,则以函数类型为准,即函数类型决定返回值的类型。
一、选择题
(1)~(10)每小题2分,(11)-(50)每小题1分,共60分)
下列各题A)、B)、c)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)下面叙述正确的是________。
A)算法的执行效率与数据的存储结构无关
B)算法的空间复杂度是指算法程序中指令(或语句)的条数
C)算法的有穷性是指算法必须能在执行有限个步骤之后终止
D)算法的时间复杂度是指执行算法程序所需要的时间