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

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

2015-02-09 10:40来源:重庆自考网
全国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<30; i++) a[i]=0;
scanf(″%d″,&n);        /*   输入人数<30  */
for (i=0; i<n; i++)
{ scanf(″%d″,&age);        /*  输入年龄   */
 if(age<17||age>20) _________;  /*  第一空  */
 else
 switch(________)  /*  第二空  */
{case 17:
 case 18:
 case 19:
 case 20: a[age-17] ++;
}
 }
 for (i=0, i<=3; i++)
  printf(″age=%d number=%d\n″,i+17,________);   /*  第三空  */
}
31.将从键盘输入的字符串逆序显示。
  #include <string. h>
  main()
{int n;
 char str[80], *p;
 printf(″Input a string:″);
 gets(str);/*输入字符串*/
 n=strlen(________); /*  第一空  */
 p=str+________-1; /*  第二空  */
 while (p>=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)后,先输出该同学的成绩,再按下列条件
输出
下载自考试题WORD文档:
全国2008年1月自考(课程代码:00342)高级语言程序设计(一)试题
 
上一篇:全国2008年10月自考(课程代码:00342)高级语言程序设计(一)试题

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