欢迎您访问重庆自考网!  今天是
当前位置: 主页 > 历年真题 >

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

2018-06-20 09:55来源:网络来源
  全国2008年1月高等教育自学考试
 
  高级语言程序设计(一)试题
 
  课程代码:00342
 
  一、单项选择题(本大题共15小题,每小题2分,共30分)
 
  在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
 
  1.下列转义字符中,错误的是()。
 
  A.′\n′
 
  B.′\\′
 
  C.′\108′
 
  D.′\xbb′
 
  2.在C语言中,整型常量的书写形式不包括()。
 
  A.二进制
 
  B.八进制
 
  C.十进制
 
  D.十六进制
 
  3.在C语言程序中,主函数的摆放位置()。
 
  A.必须置于所有函数之首
 
  B.必须置于所有函数之尾
 
  C.不得置于所有函数之尾
 
  D.任意
 
  4.自定义标识符正确的是()。
 
  A.5d_m
 
  B.const
 
  C.x4y
 
  D.book-1
 
  5.表达式2&3|4和2>>1的值分别是()。
 
  A.-5和0
 
  B.-5和1
 
  C.6和0
 
  D.6和1
 
  6.执行下列程序段后x的值为()。
 
  int i=1,j=10,x;
 
  for(;i<=j;i++,--j)x=i;
 
  A.5
 
  B.6
 
  C.7
 
  D.8
 
  7.switch(表达式)语句中的“表达式”,允许的类型是()。
 
  A.float,int
 
  B.float,int,char
 
  C.int,char
 
  D.char,double
 
  8.字符数组初始化错误的是()。
 
  A.static char word[]=″Turbo″;
 
  B.static char word[]={″Turbo″};
 
  C.static char word[]={′T′,′u′,′r′,′b′,′o′,′\0′};
 
  D.static char word[]=′Turbo\0′;
 
  9.设int b[5]={1,2,3,4,5};char a,c,d;,则数组元素值为4的是()。
 
  A.b[′d-c′]
 
  B.b[4]
 
  C.b[′d′-a]
 
  D.b[′d′-′a′]
 
  10.设int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
 
  则不能表示数组a中元素的是()。
 
  A.*p
 
  B.a[10]
 
  C.*a
 
  D.a[p-a]
 
  11.设double*p[6];,则p是()。
 
  A.指向double型的指针
 
  B.double型数组
 
  C.指针数组
 
  D.数组指针
 
  12.设int x;,则与计算|x|等价的表达式是()。
 
  A.x>0?-x:x
 
  B.x>0?x:-x
 
  C.x<0?x:-x
 
  D.x<0?-x:-x
 
  13.设char s[20]=″2008″;,则执行strcat(s,″Beijing″);printf(″%d\n″,strlen(s));后输出结果是()。
 
  A.5
 
  B.11
 
  C.12
 
  D.20
 
  14.对函数而言,下列说法正确的是()。
 
  A.一个程序中可以出现一个以上的主函数
 
  B.函数与主函数可以互相调用
 
  C.用户自定义的函数必须有形式参数
 
  D.调用函数和被调用函数可以不在同一个文件中
 
  15.设FILE*fp;char ch;,则从fp所指向文件中读入一个字符,正确的语句是()。
 
  A.fgetc(ch,fp);
 
  B.ch=fgetc(fp);
 
  C.getchar(ch);
 
  D.fgetc(fp,ch);
  二、填空题(本大题共10小题,每小题2分,共20分)
 
  请在每小题的空格中填上正确答案。错填、不填均无分。
 
  16.设int x=14;,则表达式x++%-5的值为__________。
 
  17.设typedef char CHA;CHA ax;,则变量ax占用的内存字节数是__________。
 
  18.设int u,v;,则表示“u、v中至少有一个是5的倍数”的表达式是__________。
 
  19.设int x=5;,则表达式2/(float)(x)+3/x的结果是__________。
 
  20.程序中调用sin(3.14)函数时,需要包含的头文件是__________。
 
  21.若对一个非空文本文件进行读取和修改,则在fopen中的“使用方式”应是__________。
 
  22.设struct
 
  {int a;
 
  int b;
 
  }x[2]={{1,2},{3,4}},*p=x;
 
  则表达式(++p)->a的值是__________。
 
  23.设int i,j;
 
  for(i=5;i;i--)
 
  for(j=0;j<4;j++){…}
 
  则循环体的执行次数是__________。
 
  24.设int a[3][4]={{1,2,5,3},{2,4,7,9},{3,6,5,8}};
 
  则表达式a[1][2]+a[2][3]的值是__________。
 
  25.设char*p=″abcdABCD″;,则执行printf(″%s″,p+4);后输出结果是__________。
 
  三、程序分析题(本大题共4小题,每小题4分,共16分)
 
  阅读下列程序,请将输出结果写到各题右侧的空白处。
 
  26.main()
 
  {int i,j,k;char a[5]={′*′,′*′,′*′,′*′,′*′};
 
  for(i=0;i<4;i++)
 
  {printf(″\n″);
 
  for(j=0;j<=3*i;j++)printf(″$″);
 
  for(k=0;k<5;k++)printf(″%c″,a[k]);
 
  }
 
  }
 
  27.int fib(int n)
 
  {if(n==0||n==1)return 1;
 
  else return fib(n-1)+fib(n-2);
 
  }
 
  main()
 
  {int i;
 
  for(i=0;i<=4;i++)printf(″%5d″,fib(i));
 
  printf(″\n″);
 
  }
 
  28.main()
 
  {int n=0;char str[80]=″Abc+mNp-xyZ″;
 
  printf(″%s\n″,str);
 
  while(str[n]!=′\0′)
 
  str[n++]=str[n]>=′a′&&str[n]<=′z′?str[n]-′a′+′A′:str[n];
 
  printf(″%s\n″,str);
 
  }
 
  29.int f(int n)
 
  {static int a=0;
 
  int b=0;
 
  a+=n;
 
  b+=a;
 
  return b;
 
  }
 
  main()
 
  {
 
  printf(″%d\n″,f(5));
 
  printf(″%d\n″,f(10));
 
  }
 
  四、程序填充题(本大题共3小题,每小题6分,共18分)
 
  请将下列程序横线处缺少的部分补上,使其能正确运行。
 
  30.分别统计并输出17、18、19和20岁各年龄的学生人数。
 
  main()
 
  {int i,n,age,a[30];
 
  for(i=0;i&lt;30;i++)a<i>=0;
 
  scanf(″%d″,&n);/*输入人数&lt;30*/
 
  for(i=0;i
 
  {scanf(″%d″,&age);/*输入年龄*/
 
  if(age&lt;17||age&gt;20)_________;/*第一空*/
 
  else
 
  switch(________)/*第二空*/
 
  {case 17:
 
  case 18:
 
  case 19:
 
  case 20:a[age-17]++;
 
  }
 
  }
 
  for(i=0,i&lt;=3;i++)
 
  printf(″age=%d number=%d\n″,i+17,________);/*第三空*/
 
  }
 
  31.将从键盘输入的字符串逆序显示。
 
  #include
 
  main()
 
  {int n;
 
  char str[80],*p;
 
  printf(″Input a string:″);
 
  gets(str);/*输入字符串*/
 
  n=strlen(________);/*第一空*/
 
  p=str+________-1;/*第二空*/
 
  while(p&gt;=str)
 
  {printf(″%c″,*p);
 
  ________;/*第三空*/
 
  }
 
  printf(″/n″);
 
  }
 
  32.从键盘输入一个星期几(0~6),转换为对应的英文输出(Sunday,Monday,…),当输入小于0或大于6的数字时程序结束。
 
  main()
 
  {int week;
 
  static char*weekname[]={″Sunday″,″Monday″,″Tuesday″,″Wednesday″,
 
  ″Thrusday″,″Friday″,″Saturday″};
 
  while(1)
 
  {printf(″Input weekday:″);
 
  scanf(″%d″,__________);/*第一空*/
 
  if(________)break;/*第二空*/
 
  printf(″weekday:%d→%s\n″,week,__________);/*第三空*/
 
  }
 
  }
 
  五、程序设计题(本大题共2小题,每小题8分,共16分)
 
  33.从键盘输入100个整数,输出其中最大的数及其对应的数组下标值。
 
  34.从键盘输入某学生的成绩(0≤score≤100)后,先输出该同学的成绩,再按下列条件
 
  输出 


试题下载地址:
全国2008年1月高等教育自学考试 高级语言程序设计(一)试题

上一篇:全国2011年10月自考(课程代码:00342)高级语言程序设计(一)试题参考答案

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