计算机等级考试二级C语言考前密卷(8)
一、多项选择题
(1)在以下数据结构中,根据FIFO原理,数据按
A)线性链表b)栈
C)循环链表D)序列表
(2)三节点二叉树有
a)两种形式b)四种形式
c)七种形式D)5 .这个二叉树遍历的结果是
A)zbtycpXAB)atbzxcyp
C)zbtacyxpd)atbzxcpy
(4)结构化程序设计主要强调
A)程序规模b)程序效率
C)。Br/](5)程序的三个基本控制结构是
A)进程、子进程和子程序b)顺序、选择和重复
C)递归、堆栈和队列d)调用、返回和转移
(6)下列说法中,不属于测试特点的是
A)测试的苛求;b)不可能完成测试;c)测试的可靠性;d)测试的经济性;
;7)在需求分析中,开发者要从用户那里了解
A)软件是做什么的;b)用户界面
c. (8)下列关系模型中,能使运算后得到的新关系中的属性数多于原关系中的属性数的是
A)选择b)连接
c)投影d)和
(9)下列说法中,正确的
A) E-R图能表示一一对应的关系, 实体集之间的一对多关系和多对多关系
B) E-R图只能显示实体集之间的一对一关系
C) E-R图只能显示实体集之间的一对多关系
D) (10)“年龄在18到25岁之间”的约束属于数据库
A)原子度量B)一致性度量
C)完整性度量D)安全度量
(11)以下语句 b)计算机只能处理由0和1的代码组成的二进制指令或数据
C)C语言源程序由C语言编译器编译生成一个带后缀的二进制文件。EXE
D)每一种高级语言都有其对应的编译器
(12)算法是指为解决某一特定问题而采取的某些且有限的步骤,以下不属于算法的五个特征是
A)零个或多个输入
B)高效率
C)有限性
D)确定性
(13)已知int A = 6;执行a+= a-= a * a;语句后,a的值为
a)36
b)0
c)-24
d)-60
(14)下列选项中, 都是c语言标识符的选项组是
a)for chinato
b)long _ 123 short 56 _ do
c)void union _ 342
d)text . txt _ 023 _ 3ew
(15 5的结果是
a)6 * 5% 6
b)5 *-2+15
c)5+75
d)6+。 非法的实数常量是
A). 0032
B)0.0
C)0.3242 E8
D). E3
(17)C语言主函数的描述是正确的[/br/ B)C程序必须有且只能有一个主函数
C)C程序可以没有主函数
D)C程序不一定在主函数的开头执行
(17) 然后语句printf ("%d \ n ",(a-,++ b));的输出结果是
a)-1
b)0
c)1
d)语句错误
(19) int a,b已知;双c;下列语句中错误的函数调用是
a) scanf ("%d,% x,% lf ",&a,&b,& c);
B)scanf("%d,%d,%le ",&a,&b,& c);
C)scanf("%o,%x,%o ",&a,& b);
D)scanf("%d,%o,%e ",&a,&b,& c);
(20)如果已知X,Y,z Y,Z都是整型变量,并且它们的值都是1,那么执行语句++ X | | ++ Y & ++ Z;表达式x+y的值为
a)1
b)2
c)3
d)4
(21)如果int k = 8;那么变量k的正确结果是
main()
{ int k = 8;
开关(k)
{情况9:k+= 1;
情况10:k+= 1;
情况11:k+= 1;打破;
默认值:k+= 1;}
printf("%d\n ",k);}
a)12
b)11
c)10
d)9
(22)If int I,j;,那么对于(I = j = 0;Ia
b)++p-> a
c) (* p)。a++
d)p++--> A
(50)读取下面的程序,它的作用是(a123.txt在当前盘符下已经存在)
int a(7)当程序的输入为123456789时,程序的运行结果为[7]。
# include " stdio . h "
main()
{ int a,b;
scanf("-%*2d",&a,&b);
printf("%d\n ",a-b);}
解析:根据函数scanf中格式控制器的描述:“-”控制前两位赋给变量A,变量A的值为12,“”控制下一位作为输入数据存储在变量B中,变量B的值为5,所以后续输出为7。注意:在%和格式控制符号之间添加*号意味着跳过相应的输入数据。,* p = A;
fp=fopen("a123.txt "," w ");
while(strlen(gets(p))> 0)
{ fputs(a,FP);
fputs("\n ",FP);}
f close(FP);}
A)从键盘输入几行字符,按行号的逆序写入文本文件a123.txt
B)从键盘输入几行字符,将前两行写入文本文件a123.txt
C)从键盘输入几行字符,将第一行写入文本文件a123 . txt
(1)排序是计算机编程中的一项重要操作。常见的排序方法包括插入排序、[1]和选择排序。
【命题目的】要求考生记住常用的排序方法。
【解决问题的要点】常见的排序方法有插入排序(包括简单插入排序和Hill排序等。)、交换排序(包括冒泡排序和快速排序等。)和选择排序(包括简单的选择排序和堆排序等。).
[考点链接]常用的排序方法,它们的机制和区别。
(2)当循环队列不是空且队列末尾的指针等于队列头的指针时,说明循环队列已满,无法进行入队操作。这种情况叫做[2]。
【命题目的】本题考察队列的基本性质。
【解题要点】入队操作是指在循环队列的末尾增加一个新元素。这个操作有两个基本操作:一是将队列结束指针输入为一(即rear=rear+1),当rear=m+1时设置rear = 1;然后将新元素插入队列末尾指针所指的位置。当循环队列不是空(s=1)且队列末尾的指针等于队列头的指针时,说明循环队列已满,无法进行入队操作。这种情况叫做“溢出”。
(3) [3]是一种信息隐藏技术,旨在将对象的使用者与对象的设计者分离开来。
【命题目的】本题考查面向对象技术中的一些基本概念。
【解决问题的要点】面向对象技术包括以下基本概念,即对象、类、方法、消息、继承和封装。封装是一种信息隐藏技术,旨在分离对象的用户、对象和设计者。
(4)为了便于交叉检查,测试用例应该由输入数据和预期数据组成[4]。
【命题目的】本题主要考察考试的步骤。
[考点链接]测试的基本方法和步骤。
(5) [5]是从二维表列方向的操作。
【命题目的】本题考查关系运算的基础知识。
【解题要点】在关系模型的数据语言中,除了常规的集合运算(并、交、差、笛卡尔积等。),定义了一些特殊的关系操作,如投影、选择、连接等。前者将关系(即二维表)视为一组元组,这些操作主要从二维表的行方向进行;后者主要是从二维表的列的方向。两者统称为关系代数。
(6)定义int a=5,b = 20如果执行printf ("%d \ n ",++a *-b/5)语句;之后,输出结果为[6]。
解析:当++和-作为前缀时,先将变量增加或减少1,然后进行其他运算,再根据同级运算符从左到右进行运算。
[10]
(8)读完下面的程序,执行时的输出是[8]。
# include " stdio . h "
main()
{ int x = 1,y=2,z = 0;
if(x=2)z=x,x=y,y = z;
printf("%d,%d\n ",x,y);}
解析:if语句的执行过程是:先计算紧跟在if语句后面的一对括号中的表达式。如果表达式的值不为零,则执行下面的if子句,然后执行if语句之后的下一条语句。如果表达式为零,则跳过if子句,直接执行if语句后的下一条语句。if(x=2)的值为真,即x的值为2。
(9)语句printf ("%d \ n ",' h '-' 0 '+64);的执行结果是[9]。
解析:C程序中的字符数可以参与任意整数运算,所有运算都用ASCII值进行。
(10)读取下面的程序,程序的执行结果为[10]。
# include " stdio . h "
main()
{ int a = 10;
乐趣(一);
printf("%d\n ",a);}
fun(int x)
{ x = 50;}
解析:调用函数时,函数名必须与被调用函数名完全相同,形参类型也要相同。如果函数返回值的类型没有给定,默认为shaping。当返回值是整数并放在main函数之后时,可以调用这个函数而无需事先解释。
(11)下面这个程序的输出结果是[11]。
int fun(int x,int y,int *p,int * q)
{ * p = x * y;
* q = x/y;}
main()
{int a,b,c,d;
a = 4;b = 3;
fun(a,b,&c,& d);
printf("%d,%d\n ",c,d);}
解析:被调用函数中的变量可以通过地址传递在被调用函数中引用。函数被调用后,通过地址传递改变C和D变量的值。
(12)下面的过程是求数组arr的两条对角线上的元素之和。请填写空。
# include " stdio . h "
main()
{ int arr[3][3]= { 2,3,4,8,3,2,7,9,8},a=0,b=0,I,j;
for(I = 0;idata = ch
fun(p);}
p = head;
while(p!=NULL)
{printf("%c ",p-> data);
p = p-> next;}}
解析:本题的功能是从键盘输入一行字符,调用函数建立倒序链表,然后输出整个链表。从主函数往下依次分析程序,分析初始状态下的程序,再分析函数。
0条评论