⾼等教育⾃学考试⾼级语⾔程序设计试题九套
全国2010年1⽉⾼等教育⾃学考试
⾼级语⾔程序设计(⼀)试题
课程代码:00342
⼀、单项选择题(本⼤题共15⼩题,每⼩题2分,共30分)
在每⼩题列出的四个备选项中只有⼀个是符合题⽬要求的,请将其代码填写在题后的括号内。错选、多选或未选均⽆分。
1. 下列不属于保留字的是(C )
A. default
B. register
C. sruct
D. unsign
2. 下列不能作为常量的是(A )
A. 0582
B. 0xa5
C. ?\n?
D. 2.5e-2
3. 设typedef long class;,则class是(C )
A. 整型变量
B. 长整型变量
C. 长整型数据类型的新标识符
D. 新的⽽⾮长整型数据类型的标识符
4. 设char c=?A?;int i=l, j;,执⾏j=!c&&i++;后,i和j的值分别是( C)
A. 1和0
B. 1和1
C. 2和0
D. 2和l
5. 设int a;,执⾏表达式(a=1,2,3),a+1后,a和表达式的值分别是(A )
A. 1和2
B. 2和3
C. 3和4
D. 4和5
6. 下列关于函数定义正确的是(D )
A. fun(int x,y){int z;return z;}
B. void fun(int x,int y){return x+y;}
C. fun(x,y){int x,y;double z;z=x+y;return z;}
D. double fun(int x,int y) {double z;z=x+y;return z;)
7. 下列⽤户⾃定义标识符正确的是(B )
A. 4a
B. b_1
C. -&
D. *p
8. 下列程序段中循环体执⾏的次数是(B )
int x=-1;
令数组全部的值为0do
{
x=x*x;
}while(! x);
A. 0
B. 1
C. 2
D. ⽆限
9. 实现字符串连接的系统函数名是(A )
A. strcat
B. strcmp
C. strcpy
D. strlen
10. 若实参是⼀个数组名,在调⽤函数时,实参向形参传递的是(B )
A. 数组的长度
B. 数组的⾸地址
C. 数组每个元素的值
D. 数组每个元素的地址
11. 设int a[ ][4]={l,2,3,4,5,6,7};,则a[1][3]的值是(A )
A. 0
B. 3
C. 4
D. 7
12. 若定义⼀个只限本源⽂件使⽤的全局变量,则该变量的存储类别是(C )
A. extern
B. register
C. static
D. auto
13. 设chark=?a?;float j=2.0;,执⾏k+=5/j;printf(“%c”,k);后,输出结果是(C )
A. a
B. b
C. c
D. d
14. 下列程序段正确的是(D )
A. char s[ ]={…xyz?};
scanf(……%s”,s);
B. float*p,i;
p=*p+i;
C. char s[5]=…word?;
puts(s);
D. int a[5]={0},*p=a;
*p=*(p+1);
15. 关于编译预处理命令,叙述正确的是(A )
A. 预处理命令都以“#”开头
B. 预处理命令必须位于程序的⾸部
C. 预处理命令只能实现宏定义和条件编译的功能
D. 每个程序必须在开头使⽤预处理命令#include
⼆、填空题(本⼤题共10⼩题,每⼩题2分,共20分)
请在每⼩题的空格中填上正确答案。错填、不填均⽆分。
16. 设float a,b,c;,若a、b和c分别为三⾓形的三条边长,它们“能构成等边三⾓形”的逻辑表达式是______(a-b)==(b-
c)______。
17. 设int i;float f=3.14;,执⾏i=(int)f;后,变量f的值是_____3_______。
l 8. 设char s[]=”\t\?Name\\Address\n”;,s的长度是_____15_______。
19. 执⾏printf(“%d\n”,3&&2&5);后的结果是_____0_______。
20. 算术运算符的优先级⽐关系运算符的优先级_____⾼_______。
21. 单⽬运算符的结合性是_____⾃右向左_______。
22. 设int x=1,y=3,z;,执⾏z=x>y?++x:y++;后,z的值是______3______。
23. 设int m=3;float n=12.6;char ch=?a?;,若⽤输⼊语句实现上述三个变量的初始化结果且键⼊数据形式为:3,12.6a<;回车换⾏>,则scanf语句应是_____scanf(“%d,%f%a”, &m,&n,&ch);_______。
24. 若定义函数时类型缺省,则该函数默认的类型是____int________。
25. 设int a[5]={l,3,5,7,9},*p=&a[2];,则++(*p)的值是_____6_______。
三、程序分析题(本⼤题共4⼩题,每⼩题4分,共16分) 阅读下列程序,将输出结果写到各题右侧的空⽩处。26.
void main()
{
int color=2;
switch(color)
{
case l:printf(“red\n”);break;case 2:printf(“yellow\n”);
case 3:printf(“blue\n”);
} yellow
} blue
27.
void main()
{
int m,n;
for(m=1;m<=3;m++)
{
for(n=1;n<=2*m-l;n++)printf “*”);printf(“\n”);*
} ***
} *****
28.
void main()
{
float x=3.6;
int i;
i=x;
printf(…x=%5.3f, i=%d\n”,x,i);} x=3.600,i=3
29.
void main()
{
int a[2][3]={{1,2,3},{4,5,6}};int b[3][2],i,j;
for(i=0;i<=1;i++)
{
for (j=0;j<=2;j++)
{ printf(“%5d”,a[i][j]); 1 2 3
b[j][i]=a[i][j]; 4 5 6
}
printf(……\n”);
}
printf(“array b:\n”);array b:
for (i=0;i<=2;i++) 1 4 2 5 3 6
for (j=0;j<=1;j++)
printf(“%5d”,b[i][j]);
}
四、程序填充题(本⼤题共3⼩题,每⼩题6分,共18分)
请将下列程序横线处缺少的部分补上,使其能正确运⾏。
30. 从键盘输⼊10个学⽣的姓名、性别和成绩,计算并输出这些学⽣的平均成绩。
#define N 10
struct student
{
char name [20];
char sex;
int score;
} stu[N];
void main( )
{
int i;
float aver,sum=0;
for(i=0;i
{ scanf(“%d,%c%s”,__&stu[i].score,&stu[i].sex,&stu[i].name_______);/*第⼀空*/ sum=sum+___stu[i].score______;/*第⼆空*/
}
aver=___sum/N________;/*第三空*/
printf(“aver=%6. 2f\n”,aver);
}
31. 从键盘输⼊⼀串字符(以“?”作为结束标志),保存到⽂本⽂件text. txt中。
#include “stdio.h”
void main()
{
FILE __*fp_____;/*第⼀空*/
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论