数据结构与c语言模拟题一
第一部分 C语言(90分)
一.选择题(20分)
1、执行下面程序后,输出结果是()
main()
{ a=45,b=27,c=0;
c=max(a,b);
printf("%d\n",c);
}
int max(x,y)
int x,y;
{ int z;
if(x>y) z=x;
else z=y;
return(z);
}
A:45 B:27 C:18 D:72
2、C语言源程序的基本单位是( )
A:过程 B:函数 C:子程序 D:标识符
3、设C语言中,int类型数据占4个字节,则short类型数据占( )
A:1个字节 B:2个字节 C:4个字节 D:8个字节
4、以下描述中,正确的是( )
A:预处理是指完成宏替换和文件包含中指定的文件的调用
B:预处理指令只能位于C源文件的开始
C:C源程序中凡是行首以#标识的控制行都是预处理指令
D:预处理就是完成C编译程序对C源程序第一遍扫描,为编译词法和语
法分析作准备
5、 下列数组说明中,正确的是( )
A:int array[][4]; B:int array[][]; C:int array[][][5]; D:int array[3][];
6、下面有关for循环的正确描述是 ( )
A:for循环只能用于循环次数已经确定的情况
B:for循环是先执行循环体语句,后判断表达式
C:在for循环中,不能用break语句跳出循环体
D:for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
7、 若有下列定义int a[5],*p=a;,则对a数组元素地址的正确引用是( )
A:*(p+5) B:*p+2 C: &a[4] D: *p
8、以下( )是正确的变量名
A: 5f B: if C: f.5 D: _f5
9、在C语言中,形参的缺省存储类是( )
A:auto B:register C:static D:extern
10、下列程序的输出结果是( )
main()
{ int x=1,y=0,a=0,b=0;
switch(x)
{
case 1:switch(y)
{
case 0:a++;break;
case 1:b++;break;
}
case 2:a++;b++;break;
case 3:a++;b++;break;
}
printf("a=%d,b=%d\n",a,b);
}
A:a=1,b=0 B:a=2,b=1 C:a=1,b=1 D:a=2,b=2
11、以下能对二维数组a进行正确初始化的语句是( )
A:int a[2][]={{1,0,1},{5,2,3}}; B:int a[][3]={{1,2,3},{4,5,6}};
C:int a[2][4]={{1,2,3},{4,5},{6}}; D:int a[][4]={{1,0,1}{},{1,1}};
12、以下程序的运行结果是( )
main()
{ int n;
for(n=1;n<=10;n++)
{
if(n%3==0) continue;
printf("%d",n);
}
}
A B:369 C:12 D:1234567890
13、设有说明:char w;int x;float y;double z;则表达式w*x+z-y值的数据类型
为( )
A:float B:char C:int D:double
14、若已定义x为int类型变量,下列语句中说明指针变量p的正确语句是( )
A:int p=&x; B:int *p=x; C:int *p=&x; D:*p=*x;
15、若有以下定义int k=7,x=12;,则能使值为3的表达式是 ( )
A:x%=(k%=5) B:x%=(k-k%5) C:x%=k-k%5 D:(x%=k)-(k%=5)
16、经过int x=1,y=2,z=3;语句定义后,表达式z+=x>y?++x:++y的值为( )
A:2 B:3 C:6 D:5
17、下面程序段的输出结果为( )
int a,b;b=(a=3*5,a*4,a*5); printf("%d",b);
A:60 B:75 C:65 D:无确定值
18、若希望当A的值为奇数时,表达式的值为"真",A的值为偶数时,表达式的值
为"假",则以下不能满足要求的表达式是( )
A:A%2==1 B:!(A%2==0) C:!(A%2) D:A%2
19、执行y=10;x=y++;后变量x和y的值是(