A.10 B.20
C.30 D.40
11.如下程序的输出结果是( )。
#include <stdio.h>
#define F(x) (x-1)*x
void main()
{ int a=1,b=2;
printf("%d\n",F(a+b));
}
A.4 B.6
C.12 D.16
12.以下说法错误的是( )。
A.C 程序总是从 main 函数开始执行,也在 main 函数结束
B.函数不可以嵌套定义,但可以嵌套调用
C.若函数的形参为一维数组,调用函数时对应的实参必须为数组名
D.若函数的形参为一维数组,形参数组可以不指定大小
13.若 int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
则以下选项中值不是 8 的是( )。
A.a[7] B.*p+7
C.*(p+7) D.p[8]
14.如下函数 f 实现的功能是( )。
void f(char *d,char *s)
{
while((*d++=*s++)!='\0');
}
A.求字符串长度 B.字符串复制
C.字符串比较 D.编译错误
15.以下关于逻辑运算符两侧运算对象的叙述正确的是( )。
A.只能是整数 0 或 1 B.只能是整数 0 或非 0
C.只能是整数 0 或正整数 D.可以是任意合法表达式
16.switch 语句使用中,下列叙述正确的是( )。
A.break 只能用于 switch 语句 B.在 switch 语句中必须使用 default
C.switch 语句中不一定使用 break D.default 必须放在 switch 结构最后
17.已知 int a=12; 则语句 f=a<<2;执行后 f 的值为( )。
A.16 B.8
C.6 D.48
18.设有定义:
struct sk