本站为重庆自考民间交流网站,最新自学考试动态请各位考生以重庆教育考试院(www.cqksy.cn)各区自考办最新通知为准。

重庆自考网 > 历年真题 > 全国2008年10月自考(课程代码:00342)高级语言程序设计(一)试题

全国2008年10月自考(课程代码:00342)高级语言程序设计(一)试题

张永绘 2018-06-20 历年真题

  全国2008年10月高等教育自学考试

 

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

 

  课程代码:00342

 

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

 

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

 

  1.在一个C语言程序中()

 

  A.主函数只能有一个B.主函数可以有多个

 

  C.非主函数只能有一个D.主函数和非主函数都可以有多个

 

  2.正确定义无符号整型变量m的语句是()

 

  A.int m;B.unsigned int m;

 

  C.signed int m;D.unsigned signed m;

 

  3.不属于字符型常量的是()

 

  A.″s″B.’8’

 

  C.’A’D.’\n’

 

  4.设int x=2,y=4;,值为非0的表达式是()

 

  A.1/x*y B.1/(x*y)

 

  C.1.0/x/y D.1/x/(double)y

 

  5.设int a=2,b=5;,结果为0的表达式是()

 

  A.a%b B.a&b

 

  C.a=b D.a!=b

 

  6.设int a=0;,错误的语句是()

 

  A.++a;B.a++;

 

  C.a=-a;D.(-a)++;

 

  7.设int a=1,b=2,c=3,d=4,f;,执行语句f=(a!=b)?c++:d++;后f的值是()

 

  A.2 B.3

 

  C.4 D.5

 

  8.设int m=5;,语句while(m==0)printf(″%d″,m-=2);的循环体执行的次数是()

 

  A.0 B.1

 

  C.2 D.无限

 

  9.下列运算符优先级最高的是()

 

  A.+=B.,

 

  C.!D.?:

 

  10.定义二维数组并初始化,正确的是()

 

  A.int a[3][]={{1,2,3},{4,5,6}};B.int a[][3]={{1,2,3},{4,5,6}};

 

  C.int a[3][3]=[{1,2,3},{4,5,6}];D.int a[][]={1,2,3,4,5,6};

 

  11.有关变量的叙述,正确的是()

 

  A.形式参数是全局变量

 

  B.a和A在C语言中是同一个变量

 

  C.函数体内定义的变量为全局变量

 

  D.在所有函数之外定义的变量为全局变量

 

  12.若定义的函数为float*fun(){……},则函数的返回值是()

 

  A.float型数据B.void型数据

 

  C.float型指针D.void型指针

 

  13.设int a[10],*p=a;,数组元素a[4]的正确引用是()

 

  A.*(p+4)B.p+4

 

  C.*p+4 D.a+4

 

  14.合法的用户标识符是()

 

  A.default B.#define

 

  C.a+b D.book

 

  15.使用系统函数sprt()时,应在程序开头写上的编译预处理命令是()

 

  A.#include<stdio.h>B.#include<string.h>

 

  C.#include<math.h>D.#include<stdlib.h>

 

  二、填空题(本大题共10小题,每小题2分,共20分)

 

  请在每小题的空格中填上正确答案。错填、不填均无分。

 

  16.赋值运算符的结合性是。

 

  17.设char ch;,判断ch为数学字符的逻辑表达式是。

 

  18.设typedef float REAL;REAL x=1;,表达式x/2的值是。

 

  19.转义字符’\n’的含义是。

 

  20.设int a=12;,语句printf(″%d\n″,(a/3,a%3,a/10>0));的输出结果是。

 

  21.函数中未指定存储类型的局部变量,其隐含的存储类型是。

 

  22.若全局整型变量未初始化,则默认的初始值是。

 

  23.设int a,*p=&a;,通过指针变量p为a输入值的scanf语句是。

 

  24.设char*s=″abc″;,语句for(;*s!=’\0’;s++)printf(″W″);的输出结果是。

 

  25.设struct student

 

  {

 

  char name[20];

 

  char sex;

 

  }stu;

 

  语句printf(″%d\n″,sizeof(stu));的输出结果是。

 

  三、程序分析题(本大题共4小题,每小题4分,共16分)

 

  阅读下列程序,请将输出结果写到各题右侧的空白处。

 

  26.#include<stdio.h>

 

  void main()

 

  {

 

  int i=11,j;

 

  j=i%3;

 

  switch(j)

 

  {case 1:

 

  case 2:printf(″%d\n″,j);break;

 

  default:printf(″%d\n″,i);

 

  }

 

  }

 

  27.#include<stdio.h>

 

  int fx(int n)

 

  {

 

  int s;

 

  if(n==0)s=0;

 

  else s=n+fx(n-2);

 

  return s;

 

  }

 

  void main()

 

  {

 

  printf(″%d\n″,fx(8));

 

  }

 

  28.#include<stdio.h>

 

  #include<string.h>

 

  void main()

 

  {

 

  char*pa,a[20]=″Beijing2008″;

 

  for(pa=a+7;*pa!=’\0’;pa++)putchar(*pa);

 

  putchar(’\n’);

 

  }

 

  29.#include<stdio.h>

 

  #define N 6

 

  void main()

 

  {

 

  int a[N]={2,5,-6,4,-9,10},i;

 

  for(i=0;i<N;i++)

 

  {

 

  if(a<i>&lt;0)continue;

 

  printf(″%3d″,a<i>);

 

  }

 

  printf(″\n″);

 

  }

 

  四、程序填充题(本大题共3小题,每小题6分,共18分)

 

  请将下列程序横线处缺少的部分补上,使其能正确运行。

 

  30.输入100名学生的出生月份,统计并输出每个月份过生日的学生人数。

 

  #include&lt;stdio.h&gt;

 

  #define N 100

 

  void main()

 

  {

 

  int i,month;

 

  int birth[13]={0};/*birth[1]~birth[12]分别保存1~12月过生日的学生数*/

 

  for(i=1;i&lt;=N;i++)

 

  {

 

  scanf(″%d″,);/*第一空*/

 

  if(month&gt;=1&&month&lt;=12)birth[month]++;

 

  }

 

  for(i=1;;i++)/*第二空*/

 

  printf(″%d month\n″,i,birth<i>);/*第三空*/

 

  }

 

  31.输入n(n≥1),计算1+(1+2)+(1+2+3)+…….+(1+2+……+n)的值。

 

  void main()

 

  {

 

  int i,n;

 

  long sum=0;long cal(int);

 

  scanf(″%d″,&n);

 

  for(i=1;i&lt;=n;i++)sum=sum+cal();/*第一空*/

 

  printf(″1+(1+2)+…+(1+2+…+n)=%ld\n″,sum);

 

  }

 

  long cal()/*第二空*/

 

  {

 

  static long s=0;

 

  s=s+m;

 

  ;/*第三空*/

 

  }

 

  32.将文件data1.txt的内容复制到文件data2.txt中。

 

  #include&lt;stdio.h&gt;

 

  void main()

 

  {

 

  char ch;

 

  FILE*f1,*f2;

 

  f1=fopen(″data1.txt″,″″);/*第一空*/

 

  f2=fopen(″data2.txt″,″w″);

 

  do

 

  {

 

  =fgetc(f1);/*第二空*/

 

  fputc(ch,);/*第三空*/

 

  }while(!feof(f1));

 

  fclose(f1);fclose(f2);

 

  }

 

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

 

  33.输入x的值,按下列公式计算并输出y的值(保留两位小数)。

 

  y=

 

  34.输入10个整数到数组a中并输出,将数组各元素依次向后循环移动一个位置(如下图),输出移动后的数组a。

 

  移动前:a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9]

 

  移动后:a[9]a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]


全国2008年10月自考(课程代码:00342)高级语言程序设计(一)试题

全国2008年10月自考(课程代码:00342)高级语言程序设计(一)试题


Tags:

自考微信公众号

重庆自考微信公众号

扫一扫上方二维码

标签列表