欢迎来到四川自考网,今天是2020年8月21日

自考资讯热线:028-65656189

距离自考还有28

当前位置:首页 > 自学考试 > 历年试题 > 理工类专业 >

全国2011年10月高等教育自学考试高级语言程序设计(一)试题

发布时间:2011-11-23 14:49:54

 全国201110月高等教育自学考试

高级语言程序设计() 试题

课程代码:00342

一、单项选择题(本大题共1 5小题,每小题2分,共30分)

 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或 未选均无分。

1.自定义标识符由字母、数字或下划线组成,且第一个字符必须是(      )

A.数字                                 B.字母或数字

C.数字或下划线                         D.字母或下划线

2.运算符优先级符合由高到低排列的一组是(      )

A.+!=&&=                         B.&&!=+=

C.!=+=&&                         D.&=!=+

3.转义字符中正确的是(      )

A.\                                B. \xyz

C.\\                              D. \820

14.下列程序段执行后xyz的值分别是(      )

 int x=10y=20z=30

 if(x>y)z=xx=yy=z

A.102030                           B.203030

C.203010                           D.203020

5.下列程序段执行后的输出结果是(      )

int k=-4a=3b=2c=l

 printf("d/n"k<a?k:c<b?ca)

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]={012345}

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(sls2)));后的输出结果是(      )

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≥zC语言表达式是(      )

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=2b=3float x=3.5y=2.5;,表达式(float)(a+b)2+(int)x(int)y的值是______

17.int i;,语句for(i=li=10i++)++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=ly=1;,则执行表达式--x&y++后,y的值是______

24.函数的自我调用被称为______调用。

25.char wint xfloat ydouble 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[]={O9876,54321}*p=a

 printf("d,%dn"*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,jsum=0

 int a[N][N]={246,81012141618}

 for(i=0i<N;______) *第一空*

 for(j=O______j++) *第二空*

 sum=sum+______; /*第三空*

 printf("sum=d\n",sum)

 }

 31.键入一个字符串(不超过80个字符)存至字符数组s中并对各元素升序排序。

   #include<stdio.h>

   void main()

   {

 int i,jlen

 char s[81]t

 gets(s)

 puts(s)

 len=strlen(s)

for(i=Oi<len-li++)

 for(j=i+1j<len______) *第一空*

if(______)*第二空*

        {

           t=s[i]

 s[i]=s[j]

 ______; /*第三空*

        } 

  puts(s)

 }

32.输入一个正整数,若是素数(或称质数)则输出“Yes”,否则输出“No”

 void main()

 {

 int in

 scanf("d"______); /*第一空*

  printf("d"n)

 for(i=2i<ni++)

 if(ni==O)______; *第二空*

     if(______)printf("Yesn");/*第三空*

     else printf(”No\n”)

   }

五、程序设计题(本大题共2小题,每小题8分,共16)

33.从键盘输入一串字符(!作为结束标志),保存到文件“user.dat”中。

34.某幼儿园入园分班规定如下:

 

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