2001年10月自学考试00342《高级语言程序设计(一)》真题
发布时间:2019-08-122001年10月自考高级语言程序设计(一)试题
课程代码:00342 第一部分 选择题
一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。
1.C语言程序编译时,程序中的注释部分
A.参加编译,并会出现在目标程序中
B.参加编译,但不会出现在目标程序中
C.不参加编译,但会出现在目标程序中
D.不参加编译,也不会出现在目标程序中
2.下列表达式的值为0的是( )
A.3%5 B.3/5.0 C.3/5 D.3<5
3.正确的C语言用户自定义标识符是( )
A.print B.float C.when? D.random%2
4.设int a=3;则表达式a<1&&--a>1的运算结果和a的值分别是( )
A.0和2 B.0和3 C.1和2 D.1和3
5.下列叙述中,正确的是( )
A.引用带参的宏时,实际参数的类型应与宏定义时的形式参数类型相一致
B.宏名必须用大写字母表示
C.宏替换不占用运行时间,只占编译时间
D.在程序的一行上可以出现多个有效的宏定义
6.下列保留字中用于构成循环结构的是( )
A.if B.while C.switch D.default
7.与语句if(a>b)if(c>d)x=1;else x=2;等价的是( )
A.if(a>b){if(c>d)x=1;else x=2;} B.if(a>b){if(c>d)x=1;}else x=2; C.if((a>b)&&(c>d))x=1;else x=2; D.if(a<=b)x=2;else if(c>d) x=1;
8.设char x='a';则printf("x=%c,y=%c\n",x,97);的输出是
A.x=a,y=97 B.x=97,y=a C.x=97,y=97 D.x=a,y=a
9.设int a[][4]={1,2,3,4,5,6,7,8,9};则数组a的第一维的大小是( )
A.2 B.3 C.4 D.无确定值
10.执行下列程序
int a[3][3]={{1},{2},{3}}; int b[3][3]={1,2,3}; main()
{printf("%d\n”,a[1][0]+b[0][0]);} 后输出的结果是
A.0 B.1 C.2 D.3
11.设char str[100];int i=5;则引用数组元素的错误形式是( )
A.str[i+10] B.*(str+i) C.*(str+i-1) D.*((str++)+i)
12.设int x[]={1,2,3,4,5,6},*p=x;则值为3的表达式是( )
13.在函数内,定义变量时存储类型符可省略的是( )
A.auto B.static C.extern D.register
14.执行下列程序( )
int a=3,b=4;
void fun(int x1,int x2)
{printf("%d,%d\n",x1+x2,b);} main()
{int a=5,b=6;fun(a,b);} 后输出的结果是
A.3,4 B.11,1 C.11,4 D.11,6
15.设有定义语句
struct
{int a;float b;} d[3]={{1,4},{2,5},{6,7}};
则printf("%3.1f\n",d[2].a*d[2].b/d[1].b);的输出是( )
A.2.5 B.2.0 C.8.0 D.8.4
16.设有定义语句:enum t1 {a1,a2=7,a3,a4=15}time; ( ) 则枚举常量a2和a3的值分别为
A.1和2 B.2和3 C.7和2 D.7和8
17.将一个整数10002存到磁盘上,以ASCII码形式存储和以二进制形式存储,占用的字节数分别是( A.2和2 B.2和5 C.5和2 D.5和5
18.在文件使用方式中,字符串"rb"表示( )
A.打开一个已存在的二进制文件,只能读取数据
B.打开一个文本文件,只能写入数据
C.打开一个已存在的文本文件,只能读取数据
D.打开一个二进制文件,只能写入数据
19.执行下列程序( ) # define F(y) 15>>y
#define PRINT(a) printf("%d",a) main() {
PRINT(F(2)); }
后输出的结果是
A.3 B.3.5 C.14 D.7.5
20.main()函数可以带两个形参,一般分为argc和argv,其中argv可以定义为( ) A.int argv B.char * argv[]; C.char argv[]; D.char **argv[];
第二部分 非选择题
二、填空题(本大题共10小题,每小题2分,共20分)
21.初始化值是0.618的双精度变量a的定义形式为____________。
22.表达式!10!=1的值是____________。
23.设int i = 5;则循环语句while(i>=1)i--;执行后,i的值为____________。
24.被调函数在执行结束时,这个函数中定义的____________类型的变量不被释放。
25.设
{
int no;
char name[12]; float score[3]; }s1,*p=&s1;
用指针法给s1的成员no赋值1234的语句是____________。
26.C语言程序中对文本文件的存取是以____________为单位进行的。
27.设char string[]="This_is_a_book!";则数组的长度应是____________。
28.设int a[2][3]={{2},{3}};则数组元素____________的值为3。
三、程序分析题(本大题共5小题,每小题5分,共25分)阅读下列程序,将输出结果写到各题右侧的空白处 31.int a=200; main() {int i;
for(i=1;i<=5;i++) {a++;
printf("%d,",a); s(); } } s()
{static int a=20; a++;
printf(%d\n",a); }