- 49
- 0
- 约2.09万字
- 约 15页
- 2022-07-04 发布于上海
- 举报
C语言初学者百题大战之十答案 2022/7/2
C语言初学者百题大战之十答案
一、选择题 (请在 【答题】菜单上选择 【选择题】命令,启动选择题测 程序,按
照题目上的内容进行答题。作答选择题时键盘被封锁,使用键盘无效,考生须使用
鼠标答题。选择题部分只能进入一次,退出后不能再次进入。选择题部分不单独计
时。)
1、有以下程序
#include stdio.h
int fun (int x ,int y )
{
if(x !=y ) return ((x +y )/2);
else return (x );
main()
{
int a=4,b=5,c =6;
printf(%d\n,fun(2*a,fun(b,c)));
程序运行后的输出结果是 ( )。
A . 3
B. 6
C . 8
D. 12
『正确答案』
B
『答案解析』
fun的功能是求两数的平均数,并且参数和结果都为整型。题中是用一个函数作为另一个函数的参数,所以应该先做里面嵌套
的函数即fun(b,c),值为5 。fun(2*a,fun(b,c))即为计算fun(2*4,5),所以结果为(5+8)/2=6 。答案选择B选项。
2、以下数组定义中错误的是 ( )。
A . int x[2][3]={ 1,2,3,4,5,6 ;
B. int x[][3]={0 ;
C . int x[][3]={{ 1,2,3 ,{4,5,6 ;
D. int x[2][3]={{ 1,2 ,{3,4 ,{5,6 ;
『正确答案』
D
『答案解析』
A 项正确,在给二维数组赋初值时可以不用行花括号对;B项正确,对于二维数组,第一维的大小可以省略,计算规则是元素
的个数除以第二维的大小向上取整,定义1行3列的数组,里面的元素全部是零;C项正确,第一维的大小由所赋初值的行数
来决定,定义2行3列的数组;D项错误,应该是x[3][2]。答案选择D选项。
3、设循环队列为Q (1:m),初始状态为front =rear=m。现经过一系列的入队与退队运算后,front =rear=1,则该循环队列中的元素个数为
( )。
A . 1
B. 2
C . m-1
D. 0或m
『正确答案』
D
编号:a57bb5ef47fc6072e8e1fca6fd2d8fa7 1
C语言初学者百题大战之十答案 2022/7/2
『答案解析』
在循环队列中,front为队首指针,指向队首元素的前一个位置;rear为队尾指针,指向队尾元素。front=rear=1时,①循环
队列可能为空,队首和队尾指针都指向空元素,此时循环队列的元素个数为0 ;②循环队列可能为满,此时循环队列的元素个
数为m 。答案选择D选项。
4 、程序测 的目的是 ( )。
A . 为被测程序设计正确的测 用例
B. 发现并改正程序中的错误
C . 发现程序中的错误
D. 改正程序中的错误
『正确答案』
C
『答案解析』
程序测 是使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与
实际结果之间的差别,即为发现错误而执行程序的过程,而不是改正错误,调 是在测 的基础上去改正错误。答案选择C选
项。
5、以下叙述中正确的是 ( )。
A . 数组说明符的一对方括号中只能使用整型常量,而不能使用表达式
B. 一条语句只能定义一个数组
原创力文档

文档评论(0)