首页>> 资料园地>> 试题资料 试题资料
全国2011年10月自学考试高级语言程序设计(一) 试题课程代码:00342
发布时间:2012-06-06 浏览次数: 19
全国2011年10月自学考试高级语言程序设计(一) 试题课程代码:00342
一、单项选择题(本大题共1 5小题,每小题2分,共30分)
1.自定义标识符由字母、数字或下划线组成,且第一个字符必须是(      )
A.数字      B.字母或数字        C.数字或下划线     D.字母或下划线
2.运算符优先级符合由高到低排列的一组是(      )
A.+、!=、&&、=    B.&&、!=、+、=    C.!=、+、=、&&     D.&&、=、!=、+
3.转义字符中正确的是(      )
A.'\'         B. '\xyz'         C.'\\'         D. '\820'
14.下列程序段执行后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
5.下列程序段执行后的输出结果是(      )
int k=-4,a=3,b=2,c=l; printf("%d/n",k<a?k:c<b?c:a);
A.1         B.2          C.3           D.4
6.关于for(表达式1;表达式2;表达式3),叙述正确的是(      )
A.表达式1不可以缺省   B.表达式2不可以缺省   C.表达式3不可以缺省    D.三个表达式都可以缺省
7.设int*p[4];,则标识符p是(      )
A.整型数组名      B.指针数组名      C.指针函数名      D.指向整型变量的指针
8.在循环结构中,continue语句的作用是(      )
A.继续执行本次循环    B.提前退出多重循环    C.提前结束本次循环      D.提前退出本重循环
9.数组定义及初始化正确的是(      )
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'};
1O.设int m;,与while(!m)等价的是(      )
A.while(m!=0)    B.while(m=1)    C.While(m=O)     D.while(m!=1)
11.设char*s l="12345",*s2="1234";,执行语句printf("%d\n",strlen(strcpy(sl,s2)));后的输出结果是
A.4         B.5          C.9           D.1O
12.下列不属于C语言数据类型的保留字是(      )
A.real        B.void        C.float          D.double
13.设int i,j=7,*p=&j;,与赋值语句i=j;等价的是(      )
A.i=&p;      B.p=*&j;        C.p=&j;          D.i=*p:
14.正确表示数学关系式x≥y≥z的C语言表达式是(      )
A.x>=y>=z     B.(x>=y)&&(y>=z)    C.(x>=y)&(y>=z)     D.(x>=y)||(y>=z)
15.设struct student{char name[10];char sex;}stu;,则sizeof(stu)的值是(      )
A.2         B.1O           C.11        D.12
二、填空题(本大题共10小题,每小题2分,共20分)
16.设int a=2,b=3;float x=3.5,y=2.5;,表达式(float)(a+b)/2+(int)x%(int)y的值是______。
17.设int i;,语句for(i=l;i=10;i++)++i;循环的次数是______。
l8.数组名作为实参传给被调用的函数时,形参获得的是______。
19.设int x=9;,执行语句printf("%d\n",x<<2);后的结果是______。
20.设char c[5]={'c','d','\0','e','\0'};,执行语句printf("%s\n”,c);后的结果是______。
21.设int a[2][3],p;,将数组a的最后一个元素赋值给变量P的正确语句是______。
22.字符串"A"在内存中占用的字节数是______。
23.设int x=l,y=1;,则执行表达式--x&&y++后,y的值是______。
24.函数的自我调用被称为______调用。
25.设char w;int x;float y;double z;,则表达式w*x+z-y的值的类型是______。
三、程序分析题(本大题共4小题,每小题4分,共1 6分)
26.
     void main()
     {
int n=9;
       if(n++<lO) printf("%d\n",n);
       else printf("%d\n",n--);
}
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);
     }
28.
 void main()
 {
 int a[]={O,9,8,7,6,5,4,3,2,1},*p=a;
 printf("%d,%d\n",*p+9,*(p+9));
}
29.
 func(int a)
 {
 static int m=O;
 m+=a;
 printf("%d\n",m);
     }
 void main()
 {
 int k=4;
 func(k);func(k);
 }
四、程序填充题(本大题共3小题,每小题6分,共18分)
30.求数组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<N;______) /*第一空*/
 for(j=O;______j++) /*第二空*/
 sum=sum+______; /*第三空*/
 printf("sum=%d\n",sum);
 }
 31.键入一个字符串(不超过80个字符)存至字符数组s中并对各元素升序排序。
   #include<stdio.h>
   void main()
   {
 int i,j,len;
 char s[81],t;
 gets(s);
 puts(s);
 len=strlen(s);
for(i=O;i<len-l;i++)
 for(j=i+1;j<len;______) /*第一空*/
if(______)/*第二空*/
        {
           t=s[i]
 s[i]=s[j];
 ______; /*第三空*/
        }  
  puts(s);
 }
32.输入一个正整数,若是素数(或称质数)则输出“Yes”,否则输出“No”。
 void main() 
 {
 int i,n;
 scanf("%d",______); /*第一空*/
  printf("%d",n);
 for(i=2;i<n;i++)
 if(n%i==O)______; /*第二空*/
     if(______)printf("Yes\n"); /*第三空*/
     else printf(”No\n”);
   }
五、程序设计题(本大题共2小题,每小题8分,共16分)
33.从键盘输入一串字符(!作为结束标志),保存到文件“user.dat”中。
34.某幼儿园入园分班规定如下:

输入某个孩子的年龄后,输出其分班情况(要求使用switch语句)。
 
         
            