2003年10月甘肃省高等教育自学考试C语言程序设计试卷
一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其代码填入题干后的括号内。每小题1分,共20分)
1.程序中定义以下宏 #define S(a,b) a*b
若定义 int area; 且令area=S(3+1,3+4),则变量area的值为()
A10 B12 C21 D28
2.正确的标识符是 ()
Aa Ba=2Ca.3 Da_3
3.表达式1&3&5&7的值为()
A1B3C5D7
4.语句printf(″s\\t″)的输出结果为 ()
As\\t Bs\t Cs\ Ds
5. 执行下列语句中,sum变量的值是 ()
int sum=0
for(int i=0;i<10;i++,sum+=i);
A45B55C0D编译错误
6.已知有共用体变量data1定义如下:
union data
{ int i;
char ch;
float f;
} data1; 则变量data1所占的内存存储空间可表示为 ()
Asize of(int) Bsize of(char)
Csize of(float)
Dsize of(int)+size of(char)+size of(float)
7.若fp是指向某文件的指针,且feof(fp)的返回值是非零值,则表示
()
A已读到此文件末尾 B未读到此文件的末尾
C此文件已关闭 D此文件尚未被打开
8.以下c语言函数声明中,不正确的是()
Avoid fun (int x, int y); Bfun (int x, int y);
Cint fun (int x,y); Dchar *fun (char *s);
9.下列选项中,不合法的C语言关键字是 ()
Aauto Bdefault Cstatic Dvar
10.若x=4,则x*=x+2的值为 ()
A36 B24 C18 D20
11.函数调用语句func((exp1,exp2),(exp3,exp4,exp5));中,实参的个
数为 ()
A1 B2 C4 D5
12.设a为5,执行下列语句后,b的值不为2的是 ()
Ab=a/2 Bb=6-(-a)
Cb=a%2 Db=a>32:1
13.假设指针p1已经指向了某个整型变量,要使指针p2也指向同一个变
量,则下面各项中正确的是 ()
Ap2=**p1 Bp2=*&p1
Cp2=*p1 Dp2=&*p1
14.以下运算符中,运算对象必须是整型的是 ()
A/B%=C!=D〈=
15.以下关于typedef的叙述中错误的是 ()
A用typedef可以增加新的类型
B用typedef可以定义各种类型名,但不能用来定义变量
C用typedef只是将已有的类型用新的标识符来代表
D使用typedef有利于程序的通用和移植
16.若执行完成下列语句:
int a=3,b=6,c;
c=a∧b《2;
则变量c的二进制值为 ()
A00011100 B00010100 C0001000 D00011011
17.设有定义int x=1; int y=‘a’<‘A’x-:x++;,则变量y的值是
()
A0 B2 C1 D3
18.以下关于宏替换的叙述不正确的是()
A宏替换只是字符替换 B宏名无类型
C宏替换不占用运行时间 D宏替换不占用编译时间
19. 以下对枚举类型名的定义中正确的是 ()
Aenum s={a,b,c} Benum s {a=9,b=2,c}
Cenum s={′a′, ′b′, ′c′}
Denum s{′a′, ′b′, ′c′}
20. 假设指针p已经指向某个整型变量x,则*p相当于 ()
A&x B&p Cx D*x
二、多项选择题 (在每小题的五个备选答案中,选出二至五个正确答案,并将其代码填写在题干后的括号内;错选、多选不得分。每小题2分,共10分)
1. C语言中的文件类型有 ()
A索引文件 B文本文件CASCII文件
D二进制文件E随机文件
2. 以下关于C语言中循环的描述正确的是 ()
A在while和do-while循环体内应包含使循环趋于结束的语句
Bdo-while的循环体不能是复合语句
Cdo-while的循环体至少无条件执行一次
D在for循环中可以使用break语句跳出循环体
Efor循环只能用于循环次数已经确定的情况
3. 合法的变量名有()
Aa_1_2 Bb2 C_abc DABC E$1
4. 整型变量的类型标识符是()
Ashort Blong CUnsigned int
Dint Echar
5. 以下叙述中正确的是 ()
A一个C语言程序有且仅有一个main函数
BC语言程序中,main函数是没有参数的
C一个函数通过其他函数间接的调用了自身,这种情况也是一种递归
调用
Dmain函数是由系统调用的
E若要通过函数参数带回一个或多个返回值,则应使用按地址传送的参数结合方式
三、判断题(认为对的,在题后的括号内打″√″,认
为错的打″×″。每小题1分,共6分)
1.若有说明int c;则while (c=getchar());是错误的C语句。()
2.C语言中,共用体类型的变量在程序运行期间,所有成员都在内存中。()
3.在一个函数内部的复合语句中定义的变量,只在该复合语句范围内有效。()
4.C语言程序中,一个文件中的函数可以引用存储在另一个文件中的函数和变量。 ()
5.使用continue和break语句,都可以使得C程序的执行直接从循环中跳出。 ()
6.若a为一维数组名,则*(a+i)与a[i]等价。()
四、阅读程序,将程序运行结果填写到题后的横线上
(每小题5分,共25分)
1. #include ″stdio.h″
main()
{static char str;=″Language″;
char *s=&str;
while (-s>=&str
位律师回复
0条评论