全国2018年10月高等教育自学考试
高级语言程序设计(一)试题
课程代码:00342
一、单项选择题(本大题共20小题,每小题1分,共20分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1. 下列不属于C语言保留字的是(      )
A. char                                B. while
C. typedef                            D. look
2. 下列关于C语言的叙述错误的是(      )
A. 英文字母大小写不加以区分
B. 不同类型的变量可以出现在同一个表达式中
C. 在赋值表达式中赋值号两边的类型可以不同
D. 某些运算符在不同的场合可以有不同的含义
3. 下列转义字符中错误的是(      )
A. ′\000′                        B. ′\14′
C. ′\x111′                      D. ′\2′
4. 执行语句printf(″%x″, -1);后输出结果是(      )
A. -1                        B. -ffff
C. 1                        D. ffff
5. 设float a=2, b=4, c=3;,以下C语言表达式与代数式(a+b)c计算结果不一致的是(      )
A. (a+b)*c/2                  B. (1/2)*(a+b)*c
C. (a+b)*c*1/2                D. c/2*(a+b)
6. 设int a=10, b=20, c=30;条件表达式a<b? a=5∶c的值是(      )
A. 5                        B. 10
C. 20                      D. 30
7. 设int a=9, b=6, c;,执行语句c=a/b+0. 8;后c的值是(      )
A. 1                        B. 1. 8
C. 2                        D. 2. 3
8. 执行语句for(i=1;i++<4);后i的值是(      )
A. 3                        B. 4
C. 5                        D. 不确定
9. 在位运算中,操作数左移一位,其结果相当于操作数(      )
A. 乘以2                        B. 除以2
C. 乘以4                        D. 除以4
10. 使用语句scanf(″a=%f, b=%f″, &a, &b);输入变量a、b的值(□代表空格),正确的是
(      ) 
A. 1.25,2.4                      B. 1.25□2.4
C. a=1.25, b=2.4                  D. a=1.25□b=2.4
11. 下列说法中错误的是(      )
A. C语言中循环嵌套的层数没有限定
B. C语言中的内部函数只能在本文件中被调用
C. 用typedef语句定义的数据类型名称必须是大写字母
D. C语言中的continue语句,可以通过改变程序的结构而省略
12. 设char s[10], *p=s;, 下列语句中错误的是(      )
A. p=s+5;                            B. s=P+s;
C. s[2]=p[4];                    D. *p=s[0];
13. 设enum week {sun, mon, tue, wed, thu, fri, sat}day;,正确的赋值语句是(      )
A. sun=0;                            B. sun=day;
C. mon=sun+1;                        D. day=sun;
14. 若用数组名作为函数调用时的实参,则实际上传递给形参的是(      )
A. 数组的第一个元素值              B. 数组元素的个数
C. 数组中全部元素的值              D. 数组首地址
15. 下列错误的是(      )
A. char s[]=″China″;            B. char s[10]={″China″};
C. char s[10]; s=″China″;      D. char s[10]={′C′, ′h′, ′i′,;′n′, ′a′};
16. 在C语言中,有值函数的数据类型是指(      )
A. 函数形式参数的数据类型                  B. 函数返回值的数据类型
C. 调用该函数时的实参的数据类型            D. 任意指定的数据类型
17. 设
struct
{ short a;
  char b;
  float c;
}cs;
则sizeof(cs)的值是(      )
A. 4                          B. 5
C. 6                          D. 7
18. 设
int x[]={1, 2, 3, 4, 5, 6, 7, 8, 9, 0}, *p=x, k;
且0≤k<10, 则对数组元素x[k]的错误引用是(      )
A. p+k                          B. *(x+k)
C. x[p-x+k]                  D. *(&x[k])
19. 设
#define N 3
#define Y(n) ((N+1)*n)
则表达式2*(N+Y(5+1))的值是(      )
A. 42                          B. 48
C. 54                          D. 出错
20. 关于主函数的形式参数,下列说法正确的是(      )
A. 可以有两个
B. 类型可以是实型
C. 不可以由用户自己定义名字
D. 是在程序编译时获得实际值
二、填空题(本大题共10小题,每小题2分,共20分)
21. 可以将被调函数中获得的值返回给主调函数的语句是__________。
22. 设int x=2, y=1;则表达式x+++y的值是__________。
23. 若未指定局部变量的存储类型,则其隐含的存储类型是__________。
24. 在执行循环结构或switch结构时,能够立即退出该结构的语句是__________。
25. 设int a=-3, b=7, c=-1;则执行(a==0)&&(a=a%b<b/c);后变量a的值是__________。
26. 设int a, b, c;则执行a=(b=3, c=5, b=10);后变量a的值是__________。
27. 设int a=100, *pl=&a, **p2=&p1;, 则表达式**p2的值是__________。
printf函数括号内参数的构成解说28. 静态型外部变量的作用域是__________。
29. 设
int a[2][3]={1, 2, 3, 4, 5, 6};
则数组元素a[1][0]的值是__________。
30. 函数调用时,若形参是一个变量,而对应的实参是一个有确定值的表达式,则函数参数的传递方式是__________传递。
三、程序分析题(本大题共5小题,每小题5分,共25分)
阅读下列程序,将输出结果写到各题右侧的空白处。
31. mian( )
  { int i;
    for(i=1;i<3;i++)f(i);
  }
  f(int j)
  { static int a=100;
    int k=1;
    ++k;
    printf(″%d\n″, j+a+k);
    a-=2;
  }
32. #include <stdio. h>
  long fun(int n)
  { long s;
    if(n<=2)s=2;
    else s=n+fun(n-1);
    printf(″%d\t″, s);
    return s;
  }
  main( )
  {
    fun(5);
    printf(″\n″);
  }
33. struct porb
  { char *name;
    int age;
  } s[]={″LiHua″, 18, ″WangXin″, 25, ″LiuGuo″, 21};
  #define N (sizeof(s)/sizeof (s[0]))
  void f (struct porb a[], int n);
  main( )
  {
    f (s, N);
  }
  void f (struct porb a[],  int n)
  {
    int i;
    for (i=0;i<n;i++)
    printf (″%s:%d\n″, a[i]. name, a[i]. age);
  }
34. void LE(int*a, int b)
  {
    int x=*a;
    printf(″%d\t%d\n″, *a, b);
    *a=b;b=x;
  }
  main( )
  {
    int x=10, y=25;
    LE(&x, y);
    printf(″%d\t%d\n″, x, y);
  }
35. /*设从键盘输入:420<回车> */
  #include <stdio. h>
  main( )

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。