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

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

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

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

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

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

2、下面哪一项是不正确的字符串赋值或赋初值的方式

char *str; str="string";

char str[7]={'s','t','r','i','n','g'};

char str1[10];str1="string";

char str1[]="string",str2[]="12345678";

3、正确的标识符是:

?a

a=2

a.3

a_3

4、若变量c为char类型,能正确判断出c为小写字母的表达式是

'a'<=c<= 'z'

(c>= 'a')||(c<= 'z')

('a'<=c)and ('z'>=c)

(c>= 'a')&&(c<= 'z')

5、假设指针p已经指向某个整型变量x,则*p相当于:

&x

&p

x

*x

6、以下叙述中不正确的是

在C中,函数中的自动变量可以赋初值,每调用一次,赋一次初值

在C中,在调用函数时,实参和对应形参在类型上只需赋值兼容

在C中,外部变量的隐含类别是自动存储类别

在C中,函数形参可以说明为register变量

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

20

24

25

30

8、设有以下定义或语句,则输出的结果是?
(用small模式编译,指针变量占2个字节)
struct date
{long *cat;
struct date *next;
double dog;
}too;
printf("%d",sizeof(too));

20

16

14

12

9、设有如下定义:
char *aa[2]={"abcd","ABCD"};
则以下说法中正确的是

aa数组元素的值分别是"abcd"和"ABCD"

aa是指针变量,它指向含有两个数组元素的字符型一维数组

aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址

aa数组的两个元素中各自存放了字符'a'和'A'的地址

10、设有定义:struct sk
{int a;float b;}data,*p;
若有p=&data;,则对data中的a域的正确引用是

(*p).data.a

(*p).a

p->data.a

p.data.a