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

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

2018-06-11 13:15来源:重庆自考网
全国2006年1月高等教育自学考试
高级语言程序设计(一)试题
课程代码:00342
一、单项选择题(本大题共20小题,每小题1分,共20分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.可以用作C程序标识符的一组是(   )
A.print                                                     B.i\am
oodb                                                     one-half
aBc                                                      3pai
C.Pxq                                                      D.Cpp
 line#                                                        pow
 His.age                                                     while
2.以下叙述正确的是(   )
A.宏名必须用大写的英文字母表示
B.宏定义不仅是符号替换,也可以赋值
C.宏替换是在程序编译时完成的,不占用程序运行时间
D.引用带参数的宏时,实际参数与宏定义中的形式参数类型应一致
3.设char a='\70';则变量a中(   )
A.包含1个字符                                       B.包含2个字符
C.包含3个字符                                       D.是非法表示
4.设long i=65539;,执行语句printf("%d",i);后的输出结果是(   )
A.-3                                                         B.3
C.65539                                                   D.数据不确定
5.设float c,f;,将数学表达式C=(F-32)能正确表示成C语言赋值表达式的是(   )
A.c=5*(f-32)/9                                         B.c=5/9(f-32)
C.c=5/9*(f-32)                                          D.c=5/(9*(f-32))
6.设int i=10;,表达式30-i<=i<=9的值是(   )
A.0                                                          B.1
C.9                                                          D.20
7.以下不能看作一条C语句的是(   )
A.{;}                                                       B.a=5,b=5,c=5;
C.if(x>=0&&y=0);                                    D.if(x= =0)a=5;b=10;
8.在函数调用时,以下说法正确的是(   )
A.函数调用后必须带回返回值
B.实际参数和形式参数可以同名
C.函数间的数据传递不可以使用全局变量
D.主调函数和被调函数总是在同一个文件里
9.设int x=7;,执行语句x=x <<2;后,变量x的值是(   )
A.1                                                          B.3
C.14                                                               D.28
10.执行语句printf("|%9.4f|\n",12345.67);后的输出结果是(   )
A.|2345.6700|                                           B.|12345.6700|
C.|12345.670|                                           D.|12345.67|
11.以下说法中正确的是(   )
A.字符型变量可以存放字符串
B.递归调用是指函数调用自己
C.所有的外部函数只能在本文件中被调用
D.在循环体中break语句和continue语句的作用都是结束循环
12.设char s[6],*ps=s;,则正确的赋值语句是(   )
A.s="12345";                                        B.*s="12345";
C.ps="12345";                                      D.*ps="12345";
13.设int a[ ]={1,2,3,4,5},*p=a;
则数组元素的正确表示是(   )
A.a[2]                                                      B.&(a+1)
C.a[5]                                                      D.&p
14.对二维数组的正确定义是(   )
A.int a[ ] [ ]={1,2,3,4,5,6};                       B.int a[2] [ ]={1,2,3,4,5,6};
C.int a[ ] [3]={1,2,3,4,5,6};                       D.int a[2,3]={1,2,3,4,5,6};
15.字符数组s不能作为字符串使用的是(   )
A.char s[ ]="happy";
B.char s[ ]={"happy"};
C.char s[6]={'h','a','p','p','y'};
D.char s[4]={'h','a','p','p','y'};
16.若定义函数:
fun(int a,float b)
{return a+b;
}
则该函数的数据类型是(   )
A.int                                                        B.void
C.float                                                     D.不确定
17.设
struct st
{ int a;
float b;
}s, *p=&s;
则正确的引用是(   )
A.(*).s.a                                                   B.(*p).a
C.p->s.a                                                   D.p.s.a
18.设enum color {red,yellow=2,blue,white,black}r=white;,执行printf("%d",r);后的输出结果是(   )
A.0                                                          B.1
C.3                                                          D.4
19.以下说法中错误的是(   )
A.共用型数据中所有成员的首地址都是同一个
B.可以用已定义的共用型来定义数组或指针变量的类型
C.共用型数据中的成员可以是结构型,但不可以是共用型
D.用typedef定义新类型取代原有类型后,原类型仍可有效使用
20.设#define L(x) 2*3.14*x
则L(x)是(   )
A.函数名                                                        B.函数调用
C.无参的宏名                                                 D.带参的宏名
二、填空题(本大题共10小题,每小题2分,共20分)
请在每小题的空格中填上正确答案。错填、不填均无分。
21.设int a[10];则数组a的首元素是__________________。
22.设int a=0,b=0,c;,则执行c=(a-=b-5),(a=b,b=3);后变量c的值是__________________。
23.设int a=0,b=0,c=2,d=4;,则执行(c=a= =b)||(d=b= =a);后变量d的值是__________________。
24.设int a[ ]={1,2,3,4,5,6,7,8},*s=a;
   则*(s+1)的值是__________________。
25.设char s[ ]="apple";,则数组s的长度是__________________。
26.被调用函数执行结束时,此函数中定义的__________________类型的变量不被释放。
27.表达式的运算对象可以是常量、函数调用和__________________。
28.设int x;,则将x强制转换为双精度类型应写成__________________。
29.语句if(!k)a=3;中!k与__________________等价。
30.函数调用时,若形参是一个指针变量,而对应的实参是一个数组名,则函数参数的传递方式是__________________传递。
三、程序分析题(本大题共5小题,每小题5分,共25分)
   阅读下列程序,将输出结果写到各题右侧的空白处。
31.main( )
  {
int a[3][3]={{1},{2},{3}};
int  b[3][3]={1,2,3};
printf("%5d",a[1][0]+b[0][1]);
printf("%5d\n",a[0][1]+b[1][0]);
  }
32.int a=10;
  struct  data {int a, b;}  s;
  main ( )
  { int c;
   s.a=20;s.b=30;
   c=f (s.a+s.b);
   printf("%d,%d,%d\n", s.a, s.b, c);
  }
  f (int b)
  {
printf ("%d,%d\n",a, b);
return (a+b);
  }
33.#include <stdio. h>
  fun ( )
  { int y=1;
   static int z=4;
   z ++;  ++ y;
   return (y*z);
  }
  main ( )
  { int i;
   for (i=1; i<3; i++)
   printf ("%5d\n",fun ( ));
  }
34.main ( )
  { char *p,s[ ]="6543210";
   for (p=s; *p!='\0';)
{ printf ("%s\n",p);
 p ++;
if (*p!='\0') p ++;
else break;
   }
 }
35.main( )
  {
long f( );
printf("%5ld\n",f(5));
  }
  long f(int b)
  {
if(b= =1| |b==2)return 1;
else return f(b-1)+f(b-2);
  }
四、程序填充题(本大题共3小题,每小题6分,共18分)
   给出下列程序,将横线处缺少的部分补上,使其能正确运行。
36.键入10个整数,统计其中正数(neg)、负数(pos)和零(zero)的个数并将三者输出。
  int neg=0,pos=0,zero=0;
  void sele(int num)
  {
if(num>0)neg ++;
else if(num<0)pos ++;
else ______________ ;/ * 第一空 */
  }
  main (  )
  {
int i,a[10];
for(i=0;i<10;i++)
{
  scanf("%d",&a[i]);
  printf("%5d",a[i]);
  self(_________________); / * 第二空 */
}
printf("\nneg=%d,pos=%d,zero=%d\n",_______________); / * 第三空 */
  }
37.输入一个学生的成绩(在0~100分之间,超出此范围显示错),进行五级评分并显示。
  main ( )
  {
int score;
scanf ("%d",&score); printf ("%d->",score);
if(__________________) / * 第一空 * /
  switch (___________________) / * 第二空 */
{
case 9:
case 10: printf (" Excellent \ n");break;
case 8: printf ("Good \ n");break;
case 7: printf ("Middle \ n"); break;
case 6: printf ("Pass \ n");_______________;/* 第三空 */
default: printf ("No pass \ n");
  }
  else printf ("Input error! \ n");
}
38.键入一个字符串(换行作为结束标志),将该字符串分别写到文本文件(te.dat)和二进制文件(bi.dat)中。
  #include<stdio.h>
  main ( )
  {
    _______________;/* 第一空 */
    char str [80];
    gets (str); puts (str);
    te=fopen ("te.dat"_______________); / * 第二空 */
    bi=fopen ("bi.dat",_______________); / * 第三空 */
    fputs (str, te); fwrite (str, sizeof (str), 1, bi);
    fclose (te); fclose (bi);
  }
五、程序设计题(第39小题5分,第40、41小题各6分,共17分)。
39.输入一个圆半径(r),计算并输出圆的面积(s)和周长(l).
40.计算当sum=1+时,输出N的值。
41.用循环语句输出下列字母编排的三角形。
  a
  ab
  abc
  abcd
………
abcde………xyz
本自考试题WORD文档下载:
全国2006年1月自考(课程代码:00342)高级语言程序设计(一)试题

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

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