(16)答案:(B) 解析: 本题中,“!”表示逻辑非运算符,逻辑非运算符比等于运算符的优先级低。
(17)答案:(C) 解析: 选项A)中定义函数时,形参的类型说明应该放在形参表列内说明。老版本C语言中,对形参类型的声明是放在函数定义的第2行,也就是不在第1行的括号内指定形参的类型,而在括号外单独指定。选项B)中return后面的值可以是一个表达式。选项D)中实参与形参的类型应相同或赋值兼容。如果实参为整型而形参为实型,或者相反,则按不同类型数值的赋值规则进行转换,以形参类型为准。
(18)答案:(D) 解析: C语言在函数中说明的变量为局部变量,只在函数内起作用但不会影响到其他函数。所以在不同的函数中使用相同的函数名不代表是同一函数。在函数定义时声明的参数只在函数内部起作用,是函数的局部变量。在一个函数中定义的变量是这个函数的局部变量,所以只在这个函数内起作用。复合语句中定义的变量其作用域是这个复合语句,不会扩大到整个函数。
(19)答案:(A) 解析: 该题是if语句的嵌套,else总是与它上面最近的if配对。因为a《 p》
(20)答案:(D) 解析: 本题考查数组指针的应用。选项D)第一层括号中为数组a中第i项元素的值,外面再加指针运算符没有意义。
(21)答案:(C)解析:p=&a[3]将指针指向数组a的第4个元素,p[5]指向数组a的第9个元素,而a[8]=9,所以b=9。
(22)答案:(D) 解析:定义一个结构的一般形式为:
struct 结构名
{
成员列表
};
本题中,stutype是在声明类型的同时定义的struct stu类型的变量,而不是用户定义的结构体类型名。我们需要注意以下几点:①类型与变量是不同的概念;②对结构体中的成员,可以单独使用,它的作用与地位相当于普通变量;③成员也可以是一个结构体变量;④成员名可以与程序中的变量名相同,二者不代表同一对象。
(23)答案:(C)解析: 最初,指针变量p和q分别指向整型变量a和b,然后借助第三个指针变量r,使p和q的内容进行交换,此时p和q分别指向整型变量b和a,而变量a和b并没有进行交换。
(24)答案:(C) 解析: int a,b,k=4,m=6,*p1=&k,*p2=&m;声明整型变量a,b,k,m和指针p1,p2,并分别将4和6赋给k和m,将k和m的地址赋给p1和p2;a=p1==&m;等价于a=(p1==&m);将p1是否等于地址m的值(0)赋给变量a,b=(*p1)/(*p2)+7;该句的含义是将后面表达式的的值7赋给变量b。
(25)答案:(B) 解析:本题考查函数的递归调用。fib(3)=fib(2)+ fib(1),而fib(2)的返回值为2,fib(1)的返回值也为2,故输出的fib(3)的值为4。
本新闻共
6页,当前在第
2页
1 2 3 4 5 6