全国2006年4月高等教育自学考试计算机基础与程序设计试题
课程代码:02275
一、单项选择题(本大题共20小题,每小题1分,共20分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1. CPU处理数据和指令的基本单位是字(Word),一个字的字长是( )
A. 8bits
B. 16bits
C. 32bits
D. 与CPU数据总线有关的bit位数
2. 与十进制1100等值的十六进制数是( )
A. 44A
B. 44C
C. 54A
D. 54C
3. 退出Turbo C 2.0返回系统,在主菜单File项中可选择( )
A. Load
B. New
C. Save
D. Quit
4. 设有int a=3, b=-4, c=5;表达式(aA. –1
B. 0
C. 3
D. 7
5. 若有下列程序段,欲使a=2、b=3,对应正确的数据输入方法是( )
(其中表示换行)
int a, b;
scanf(″a=%d b=%d″,&a, &b);
A. 2
B. a=2 b=3
3
C. a=2, b=3
D. 2,3
6. 下面程序段的输出结果是( )
main()
{ int s, p;
s=p=5;
p=++s;
p++; ++p;
printf(″%dn″,p);
}
A. 5
B. 6
C. 7
D. 8
7. 下列if语句中,有语法错误的是( )
A. if(x>y);
B. if(x=y) x+y;
C. if(x!=y) scanf(″%d″, &x) else scanf(″%d″,&y)
D. if(x 8. 下面程序段执行后的输出结果是( )
int i=-1;
if(i<=0) printf(″* * * * n″);
else printf(″%%%%n″);
A. ****
B.%%%%
C. %%%%c
D. ****c
9. 下面程序段的循环次数是( )
int k=2;
while(k==0) printf(″%d″,k);
k--; printf(″n″);
A. 0次
B. 1次
C. 2次
D. 无限次
10. 下面程序段的输出结果是( )
a=100;
while(a>120);
a=a+1;
printf(″%d″,a);
A. 100
B. 101
C. 120
D. 121
11. 下面程序执行后,i的值是( )
main( )
{ int a [5]={1,2,3,4,5},i=2
printf(″%d″,a[i++]);
}
A. 1
B. 2
C. 3
D. 4
12. 下面程序的输出结果是( )
main( )
{ int i, x[3][3]={9,8,7,6,5,4,3,2,1};
for(i=0;i<4;i+=2) printf(″%d″, x[i][1]);
}
A. 5 1
B. 5 2
C. 8 2
D. 9 3
13. 在C程序中,若用基本数据类型所定义的变量调用函数,正确的说法是( )
A. 由系统自动指定对应实参和形参是否共用存储单元
B. 对应实参和形参各占一个独立的存储单元
C. 对应实参和形参共用一个存储单元
D. 可以由用户指定对应实参和形参是否共用存储单元
14. 下面叙述中不正确的是( )
A. 不同函数中可以使用相同名字的变量
B. 形式参数是局部变量
C. 在一个函数内部定义的变量只能在本函数范围内有效
D. 在一个函数内部的复合语句中定义的变量在本函数范围内有效
15. 设有语句int a[4][10],*p=*a;则下面表达式中属于地址表达式的是( )
A. a[1][2]
B. a[1]
C. *(p+1*10+2)
D. *(a[1]+2)
16. 下面定义不正确的是( )
A. struct star B. struct star
{ {
int id int id;
char *name; char *name;
} star1={1001, ″Moon″}; }; star1={1001, ″Moon″};
C. struct D. struct star
{ {
int id; int id;
char *name; char *name;
} star1={123, ″Sun″}; } star1;
17. 下面各个位运算符的优先级从左到右依次升高的是( )
A. | ^ & >>
B. ^ >> & ~
C. << | ^ ~
D. ~ | & >>
18. 设有说明:int u=1, v=14;表达式u+v>>2的值是( )
A. 0
B. 3
C. 5
D. 7
19. 如果将文件指针fp指向文件末尾,正确的语句是( )
A. feof(fp);
B. rewind(fp);
C. fseek(fp,0L,0);
D. fseek(fp,0L,2);
20. 下面程序段中,不能完成的功能是( )
FILE *fp;
char ch =′v′;
fp=fopen(″boy″, ″rb+″);
fputc(ch,fp);
A. 建立文件指针fp与文件boy的联系
B. 从boy文件中读取一个字符
C. 向boy文件中写一个字符
D. 打开名为boy的二进制文件
二、多项选择题(本大题共5小题,每小题2分,共10分)
在每小题列出的五个备选项中有二至五个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选、少选或未选均无分。
21. 总线是连接微机CPU、内存和外设之间传送信号的公共通道,微机的总线包括有( )
A. 电源线
B. 数据线
C. 地址线
D. 控制线
E. 网络线
22. 若定义 char c[11]; 可将字符串″I am a boy″ 赋给数组c,下面正确的选项有( )
A. c=″I am a boy″;
B. getchar(c);
C. gets(c);
D. scanf(″%s″,c);
E. for(i=0;i<10;i++) scanf(″%c″,&c[i];c[10])=’’;
23. 若有如下定义和语句,则能正确表示数组a首元素地址的表达式有( )
int a[10], *p;
p=a;
A. a[0]
B. a
C. p+1
D. p
E. *p
24. 设有说明:int x=1, y=3; 下面表达式的值为2的有( )
A. y&~x
B. x^y
C. x|y
D. y|x>>1
E. x<<1|y>>2
25. 在C语言中,关于符号FILE下面说法正确的有( )
A. FILE是C的关键字
B. FILE表示一种关于文件参数的结构体类型
C. FILE表示一种关于文件参来源:www.91exam.org数的结构体变量
D. FILE*可以用来说明文件指针
E. 文件指针指向的变量的数据类型是FILE
三、简答题(本大题共4小题,每小题4分,共16分)
26.C语言中如何表示“真”和“假”?系统如何判断一个量的“真”和“假”?
27.什么是“直接递归调用”?什么是“间接递归调用”?
28.判断下面两程序段正确与否,并说明原因。
(1)char str[12]; str=″program″;
(2)char *str; str=″program″;
29.设有说明:
struct language {long spearer; char country[20];} chinese;
试写出对chinese的成员spearer和country分别赋值1250000000和”China”的C语句。