欢迎您访问重庆自考网! 今天是 登录注册 | 免费课程 | 学习中心

重庆自考网

自考热线
当前位置: 网站首页 > 历年真题 >

全国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)高级语言程序设计(一)试题

重庆自考网声明:
(一) 由于各方面情况的调整与变化,本网所提供的考试信息仅供参考,敬请以权威部门公布的正式信息为准。
(二) 本网注明来源为其他媒体的稿件均为转载稿,免费转载出于非商业性学习目的,版权归原作者所有。如有内容、版权等问题请与本网联系。联系方式:邮件 2293429207@qq.com
自考网校为您量体裁衣,制定个性化网上辅导课程,课程免费试听!
以年份查找历年真题
2018年   4月  10月 
2017年   4月  10月 
2016年   1月  4月  7月  10月 
2015年   1月  4月  7月  10月 
2014年   1月  4月  7月  10月 
2013年   1月  4月  7月  10月 
2012年   1月  4月  7月  10月 
2011年   1月  4月  7月  10月 
2010年   1月  4月  7月  10月 
2009年   1月  4月  7月  10月 
2008年   1月  4月  7月  10月 
2007年   1月  4月  7月  10月 
2006年   1月  4月  7月  10月 
2005年   1月  4月  7月  10月 
2004年   1月  4月  7月  10月 
2003年   1月  4月  7月  10月 
2002年   1月  4月  7月  10月 
2001年   4月  10月 
2000年   4月  10月 
重庆自考网微信群



重庆自考微信交流群

(扫一扫加入)