全国2017年0月自考《高级语言程序设计》试题及答案
2011年10月
一、单项选择题(本大题共1 5小题,每小题2分,共30分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或 未选均无分。
1自定义标识符由字母、数字或下划线组成,且第一个字符必须是( )
数字 字母或数字 数字或下划线 字母或下划线
2运算符优先级符合由高到低排列的一组是( )
+、!=、&&、= &&、!=、+、= !=、+、=、&& &&、=、!=、+
3转义字符中正确的是( )
4、下列程序段执行后、和的值分别是( )
int x=10,y=20,z=30;
if(x>y)z=x;x=y;yz;
10,20,30 20,30,30 20,30,10 20,30,20
5下列程序段执行后的输出结果是( )
int k=-4,a=3,b=2,c=l;
printf("%",k
1 2 3 4
6、关于for(表达式1;表达式2;表达式3),叙述正确的是( )
表达式1不可以缺省 表达式2不可以缺省
表达式3不可以缺省 三个表达式都可以缺省
7设intp[4];,则标识符是( )
整型数组名 指针数组名 指针函数名 指向整型变量的指针
8在循环结构中,continue语句的作用是( )
继续执行本次循环 提前退出多重循环
提前结束本次 提前退出本重循环
9数组定义及初始化正确的是( )
char a[5]={}; int a[5]={0,1,2,3,4,5;
char a={"string"}; char a[]={'0',1',2',3',4',5'};
设it m;,与while(!m)等价的是( )
while(m!=0) while(m=1) While(m=0) while(m!=1)
11、设char*s l="12345",*s2="1234";,执行语句printf("%dn",strlen(strcpy(sl,s2)));后的输出结果是( )
4 5 9
12、下列不属于C语言数据类型的保留字是( )
real void float double
13、设int j=7,p=&j;,与赋值语句i;等价是( )
i=&p; p=*&j; p=&j; i=*p:
14正确表示数学关系式x≥y≥z的C语言表达式是( )
x>=y>=z (x>=y)&&(y>=z) (x>=y)&(y>=z) (x>=y)||(y>=z)
15、设struct student{char name[10];char sex;}stu;,则sizeof(stu)的值是( )
2 10 11 12
二、填空题(本大题共小题,每小题2分,共20分)
请在每小题的空格中填上正确答案。错填、不填均无分。
16设int2,b=3;float x=35,y=25;,表达式(float)(a+b)2+(int)x%(int)y的值是。
17设 i;,语句for(il;10;++i;循环的次数是。
数组名作为实参传给被调用的函数时,形参获得的是。
19设int x=9;,执行语句printf("%",x<<2);后的结果是。
20设char c[5]{'c',d',,e',;,执行语句printf("%s”,c);后
21、设int a2][3],p;,将数组a的最后一个元素赋值给变量P的正确语句是。
22字符串"A"在内存中占用的字节数是。
23设int x=l,y=1;,则执行表达式x&&y++后,的值是。
24函数的自我调用被称为调用。
25设char w;int x;float y;double z;,则表达式w*x+z-y的值的类型是。
(本大题共4小题,每小题4分,共1 6分)
阅读下列程序,将输出结果写到各题右侧的空白处。
26void main()
{ int n=9;
if(n++
else printf("%d\n",n--);
}
运行结果:10
27、void fun(int x, int y, int z)
{ z=x*x+y*y;
printf("%d\n",z);
}
void main()
{ int a=31;
fun(5,2,a);
printf("%d\n",a);
}
运行结果:29 \n 31
28、 void main()
{