21. 以下叙述不正确的是( )
A)在函数内部定义的变量是局部变量
B)函数中的形式参数是局部变量
C)全局变量的作用范围仅限于其所在的整个文件
D)局部变量的作用范围仅限于本函数
22. 设a=3,b=4,c=2,d=1,则表达式“a>b?a:c>d?c:d”的值为( )
A)4 B)3 C)2 D)1
23. 有以下程序段:
x=-1;
do
x=x*x;
while(!x);
执行时,循环体执行的次数为( )
A)0 B)1 C)2 D)不确定
24. 以下不正确的if语句形式是( )
A)if (x>y&&x!=y);
B)if (x= =y) x+=y;
C)if (x!=y) scanf("%d",&x)
else scanf("%d",&y);
D)if (x<y) {x++;y++;}
25. 以下程序的输出结果是( )
#include <stdio.h>
void main( )
{int x=2,y=-1,z=2;
if (x<y)
if (y<0) z=0;
else z+=1;
printf("%d\n",z);}
A)0 B)1 C)2 D)3
26. 以下能正确计算1×2×3×…×10的程序段是( )
A) i=1,s=1; B) s=1;i=1;
do while(i<=10)
{s=s*i;i++;} s=s*(++i);
while(i<11);
C) for(i=1,s=0;i<=10;i++) D)for(i=1,s=1;;i++)
s=s*i; s=s*i;
27. 若j为整型变量,则以下循环执行次数是( )
for (j=0;j= =0;)
printf("%d",j--);
A)无限次 B)0次 C)1次 D)2次
28. 若有说明:int a[10];则对a数组元素的正确引用是( )
A)a[3.5] B)a(8) C)a[6-5] D)a[10]
29. C语言规定,变量做实参时,它和对应形参之间的数据传递方式是( )
A)地址传递 B)单向值传递 C)双向值传递 D)由用户指定传递方式
30. C中,一个float类型的数据在内存中占( )个字节。
A) 1 B) 2 C) 4 D) 8