高级语言程序设计(一)2011年10月真题及答案解析
-
从键盘输入一串字符(!作为结束标志),保存到文件“user.dat”中。
-
某幼儿园入园分班规定如下:
输入某个孩子的年龄后,输出其分班情况(要求使用switch语句)。
-
键入一个字符串(不超过80个字符)存至字符数组s中并对各元素升序排序。
-
输入一个正整数,若是素数(或称质数)则输出“Yes”,否则输出“No”。
void main()
{
int i,n;
scanf("%d", __________); /*第一空*/
printf("%d",n);
for(i=2; i
if(n%i==0) __________; /*第二空*/
if(__________) printf("Yes\n"); /*第三空*/
else printf("No\n");
}
-
求数组a的所有元素之和。
#define N 3
void main()
{
int i,j,sum=0;
int a[N][N]={2,4,6,8,10,12,14,16,18};
for(i=0; i
for(i=0; i for(j=0; __________; j++) /*第二空*/
sum=sum+__________; /*第三空*/
printf("sum=%d\n", sum);
}
-
func(int a)
{
static int m=0;
m+=a;
printf("%d\n",m);
}
void main()
{
int k=4;
func(k); func(k);
}
-
void main()
{
int a[]={0,9,8,7,6,5,4,3,2,1), *p=a;
printf("%d,%d\n",*p+9,*(p+9));
}
-
void main()
{
int n=9;
if(n++<10) printf("%d\n",n);
else printf("%d\n",n--);
}
-
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);
}
-
函数的自我调用被称为_______调用。
-
设char w; int x; float y; double z;,则表达式w*x+z-y的值的类型是_______。
-
设int x=1,y=1;,则执行表达式--x&&y++后,y的值是_______。
-
字符串"A"在内存中占用的字节数是_______。
-
设int a[2][3],p;,将数组a的最后一个元素赋值给变量p的正确语句是_______。
-
数组名作为实参传给被调用的函数时,形参获得的是_______。
-
设char c[5]={'c','d','0','e','\0'};,执行语句printf("%s\n",c); 后的结果是_______。
-
设int x=9;,执行语句printf("%d\n",x<<2);后的结果是_______。
-
设int a=2,b=3; float x=3.5,y=2.5;,表达式(float)(a+b)/2+(int)x%(int)y的值是_______。
-
设int i;,语句for(i=1; i=10; i++) ++i;循环的次数是_______。
-
设int i,j=7,*p=&j;,与赋值语句i=j;等价的是( )
- A.i=&p;
- B.p=*&j;
- C.p=&j;
- D.i=*p;
-
设struct student{char name[10]; char sex;}stu;,则sizeof(stu)的值是( )
- A.2
- B.10
- C.11
- D.12
-
正确表示数学关系式x≥y≥z的C语言表达式是( )
- A.x>=y>=z
- B.(x>=y)&&(y>=z)
- C.(x>=y)&(y>=z)
- D.(x>=y)‖(y>=z)
-
下列不属于C语言数据类型的保留字是( )
- A.real
- B.void
- C.float
- D.double
-
设char *s1="12345",*s2="1234";,执行语句printf("%d\n", strlen(strcpy(s1,s2)));后的输出结果是( )
- A.4
- B.5
- C.9
- D.10
-
在循环结构中,continue语句的作用是( )
- A.继续执行本次循环
- B.提前退出多重循环
- C.提前结束本次循环
- D.提前退出本重循环
-
数组定义及初始化正确的是( )
- A.char a[5]={};
- B.int a[5]={0,1,2,3,4,5};
- C.char a={"string"};
- D.char a[]={'0','1','2','3','4','5'};
-
设int m;,与while(!m)等价的是( )
- A.while(m!=0)
- B.while(m==1)
- C.while(m==0)
- D.while(m!=1)
-
设int *p[4];,则标识符p是( )
- A.整型数组名
- B.指针数组名
- C.指针函数名
- D.指向整型变量的指针
-
关于for(表达式1; 表达式2; 表达式3),叙述正确的是( )
- A.表达式1不可以缺省
- B.表达式2不可以缺省
- C.表达式3不可以缺省
- D.三个表达式都可以缺省
-
转义字符中正确的是( )
- A.'\'
- B.'\xyz'
- C.'\\'
- D.'\820'
-
下列程序段执行后x、y和Z的值分别是( )
int x=10,y=20,z=30;
if(x>y) z=x; x=y; y=z;
- A.10,20,30
- B.20,30,30
- C.20,30,10
- D.20,30,20
-
下列程序段执行后的输出结果是( )
int k=4,a=3,b=2,c=1;
printf("%d\n",k
- A.1
- B.2
- C.3
- D.4
-
自定义标识符由字母、数字或下划线组成,且第一个字符必须是( )
- A.数字
- B.字母或数字
- C.数字或下划线
- D.字母或下划线
-
运算符优先级符合由高到低排列的一组是( )
- A.+、!=、&&、=
- B.&&、!=、+、=
- C.!=、+、=、&&
- D.&&、=、!=、+