如题目或答案有误,请通过BUG反馈告知我们修正,谢谢!

1、正确的标识符是:

?a

a=2

a.3

a_3

2、若有以下定义和语句:
char c1='b',c2='e';
printf("%d,%c\n",c2-c1,c2-'a'+'A');
则输出结果是

2,M

3,E

2,E

输出项与对应的格式控制不一致,输出结果不确定

3、若有以下说明和语句,则输出结果是哪一项?
(strlen(s)为求字符串s的长度的函数)
char s[12]="a book!";
printf("%d",strlen(s));

12

8

7

11

4、以下说法中正确的是

C语言程序总是从第一个定义的函数开始执行

在C语言程序中,要调用的函数必须在main()函数中定义 

C语言程序总是从main()函数开始执行

C语言程序中的main()函数必须放在程序的开始部分

5、若i、j已定义为int型,则以下程序段中内循环体的总的执行次数是
for(i=5;i>0;i--)
for(j=0;j<4;j++){…}

20

24

25

30

6、以下对C语言函数的有关描述中,正确的是

在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参

C函数既可以嵌套定义又可以递归调用

函数必须有返回值,否则不能使用函数

C程序中有调用关系的所有函数必须放在同一个源程序文件中

7、设有以下定义:
int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};
int (*prt)[3]=a, * p=a[0];
则下列能够正确表示数组元素a[1][2]的表达式是

*((*prt+1)[2])

*(*(p+5))

(*prt+1)+2

*(*(a+1)+2)

8、若执行以下程序时从键盘上输入9,
Main()
{ int n;
scanf("%d",&n);
if(n++<10) printf("%d\n",n);
else printf("%d\n",n--);
}
则输出结果是:

11

10

9

8

9、以下c语言函数声明中,不正确的是:

void fun (int x, int y);

fun (int x, int y);

int fun (int x,y);

char *fun (char *s);

10、若t为double类型,表达式t=1,t+5,t++的值是

1

6.0

2.0

1.0