一、选择题
1. 设有n 个数按从大到小的顺序存放在数组x 中,以下能使这n 个数在x 数组中的顺序变为从小到大的是( )。
答:A
【解析】本题使用for 循环实现数组元素首尾倒置。A 项中控制变量上限为n/2, 用变量t 实现数组下标值i 与
的元素交换,使数组元素首尾倒置,从而实现从小到大排列,A 项正确。B
项控制变量上限为m 用变量t 实现数组下标值i 与n-i-1的元素交换,当i=n/2时,已经实现数组首尾倒置,而继续运行至i=n,将再次将新的数组首尾倒置,与原数组相比没有发生变化,依然是从大到小排列,B 项错误。C 项数组越界,i=0时x[n+ll不存在,C 项错误。D 项控制变量每次加2, 实现数组偶数下标值的元素首尾倒置,奇数下标值元素不变,不能实现整个数组从小到大排列,D 项错误。
2. 有以下程序:
程序运行的结果是( )。 A.4 B.34
C.31 D.32 答:C
【解析】函数fun 通过数组指针引用二维数组,其作用是遍历中最大的元素。
3. 有以下程序:
程序运行后的输出结果是( )。 A.0 B.1 C.2 D.3 答:C
【解析】“++”和“一”运算,当以前缀形式出现时,贝U 先进行加一或减一操作,再取值,当以后缀形式出现时,则先取值,再进行加一或减一操作。a 初始定义为1,b 为0,先执行--a ,结果为0,即if 判断为假,执行b+=2; ,然后输出b 的值。即b 为2。
4. 有以下程序:
程序运行后的输出结果是( )。 A.10 B.11 C.20 D.21 答:D
【解析】题中定义了一个包含两个元素的结构体数组,其中data[0].a=10,data[0].b=100,data[l].a=20,data[l].b=200。指针p 指向结构体数组的第2个元素,那么p.a 的值为20, p.b 的值为200, 所以输出结果为21。
找出数组
5. 有以下程序:
以下叙述中正确的是( )。 A. 此while 语句将无限循环
B.getchar ( )不可以出现在while 语句的条件表达式中 C. 当执行此while 语句时,只有按回车键程序才能继续执行 D. 当执行此while 语句时,按任意键程序就能继续执行 答:C
【解析】本题中while 循环条件
为行下一条语句。
6. 有以下程序:
若要使程序的运行结果为248, 应在下画线处填入的是( )。
A. B.1248 C. D. 答:D
【解析】要输入248,是124的两倍,124为01111100,248为11111000,因此只要左移一位即可。
7. 若有以下定义
则对x 数组元素的正确引用是( )。
A.
B.
C.
D. 答:B
【解析】pt 是int 类型指针,指向int 数组x 的首部。B 项,项,相当于
x 的长度是10, 访问越界;C 项,相当于
表示只要不输入回车键
,
语句一直为真,则while 循环会出现空循环,当按下回车键后跳出while 循环执
相当于引用正确。A
访问越界;D 项,int 类型指针,