- 21
- 0
- 约2.33万字
- 约 15页
- 2022-07-04 发布于上海
- 举报
C语言前置加加和后置加加的题 2022/7/2
C语言前置加加和后置加加的题
一、选择题 (请在 【答题】菜单上选择 【选择题】命令,启动选择题测试程序,
照题目上的内容进行答题。作答选择题时键盘被封锁,使用键盘无效,考生须使用
鼠标答题。选择题部分只能进入一次,退出后不能再次进入。选择题部分不单独计
时。)
1、下面结构体的定义语句中,错误的是 ( )。
A . struct ord {int x; int y; int z; } struct ord a;
B. struct ord {int x; int y; int z; }; struct ord a;
C . struct ord {int x; int y; int z; } a;
D. struct {int x; int y; int z; } a;
『正确答案』
A
『答案解析』
C语言中结构体变量的定义有三种方法:①定义结构体类型的同时定义结构体变量,如C项;②使用无名结构体类型定义结构
体变量,如D项;③先定义结构体类型,后定义结构体变量,如B项,A 项错在分别定义结构体类型与结构体变量时需要
用“;”隔开。故答案选择A 选项。
2、设有某函数的说明为
int* func(int a[10] int n);
则下列叙述中,正确的是 ( )。
A . 形参a对应的实参只能是数组名
B. 说明中的a[10]写成a[]或*a效果完全一样
C . func的函数体中不能对a进行移动指针(如a++)的操作
D. 只有指向10个整数内存单元的指针,才能作为实参传给a
『正确答案』
B
『答案解析』
考查数组名作为函数参数。数组名作为函数参数时,只传递数组的首地址而不检查形参数组的长度,所以形参表中可以不给
出形参数组的长度,形参数组和实参数组长度也可以不同,选项D错; a[10]、a[]、*a做形参都是接受实参数组首地址,效
果一样,B正确。传递给形参的实参可以是数组名,还可以是指向该数组的指针变量,选项A 错。数组名可以看做一个指针常
量,对其进行自加自减运算相当于指针变量的自加自减,选项C错。答案选择B选项。
3、有以下程序
#include stdio.h
main()
{
int a b;
for(a=0; a3; a++)
{
scanf(%d b);
switch(b)
{
default : printf(%d ++b);
case 1: printf(%d ++b);
case 2: printf(%d ++b);
}
}
}
执行时输入:1 2 3 回车,则输出结果是 ( )。
A . 2 3 3 4 5 6
B. 2 3 4
编号:8e9d714a869c7175f5a3e837a34d946c 1
C语言前置加加和后置加加的题 2022/7/2
C . 2 2 3 4 4 4
D. 2 3 4 3 4 4
『正确答案』
A
『答案解析』
考查C语言中的switch-case语句。执行switch-case语句时,一定会先进行匹配,匹配成功则执行当前case语句,再根据是否有
break,判断是否继续输出,或是跳出判断。程序中输入1时,与case 1匹配成功,执行后面的输出语句,输出2,且此时
b=2,因为后面没有break语句,继续执行下一条输出语句,输出3 。继续输入2时,与case 2匹配成功,执行后面的输出语
句,输出3 。输入3时,没有可匹配的case语句,执行default语句,输出4 ,b变为4 ;后面没有break语句,继续执行
原创力文档

文档评论(0)