2006年4月自考计算机基础与程序设计试题

发布日期:2018-05-24 编辑整理:山东自考网 【字体: 】  【加入自考交流群】

课程代码:02275

一、单项选择题(本大题共20小题,每小题1分,共20分)

在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。

1. CPU处理数据和指令的基本单位是字(Word),一个字的字长是()

A. 8bitsB. 16bits

C. 32bitsD. 与CPU数据总线有关的bit位数

2. 与十进制1100等值的十六进制数是()

A. 44AB. 44C

C. 54AD. 54C

3. 退出Turbo C 2.0返回系统,在主菜单File项中可选择()

A. LoadB. New

C. SaveD. Quit

4. 设有int a=3, b=-4, c=5;表达式(a<b)? a+b: (a-b,b+4,a-=b+4)的值是()

A. –1B. 0

C. 3D. 7

5. 若有下列程序段,欲使a=2、b=3,对应正确的数据输入方法是()

(其中<CR>表示换行)

int a, b;

scanf(″a=%d b=%d″,&a, &b);

A. 2<CR>B. a=2 b=3<CR>

3<CR>

C. a=2, b=3<CR>D. 2,3<CR>

6. 下面程序段的输出结果是()

main()

{ int s, p;

s=p=5;

p=++s;

p++; ++p;

printf(″%d\n″,p);

}

A. 5B. 6

C. 7D. 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<y) {x++; y++;}

8. 下面程序段执行后的输出结果是()

int i=-1;

if(i<=0) printf(″* * * * \n″);

else printf(″%%%%\n″);

A. ****B.%%%%

C. %%%%cD. ****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. 100B. 101

C. 120D. 121

11. 下面程序执行后,i的值是()

main( )

{ int a [5]={1,2,3,4,5},i=2

printf(″%d″,a[i++]);

}

A. 1B. 2

C. 3D. 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. 51B. 52

C. 82D. 93

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 starB. struct star

{ {

int id int id;

char *name; char *name;

} star1={1001, ″Moon″}; }; star1={1001, ″Moon″};

C. structD. 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. 0B. 3

C. 5D. 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])=’\0’;

23. 若有如下定义和语句,则能正确表示数组a首元素地址的表达式有( )

int a[10], *p;

p=a;

A. a[0]B. a

C. p+1D. p

E. *p

24. 设有说明:int x=1, y=3; 下面表达式的值为2的有( )

A. y&~xB. x^y

C. x|yD. y|x>>1

E. x<<1|y>>2

25. 在C语言中,关于符号FILE下面说法正确的有( )

A. FILE是C的关键字

B. FILE表示一种关于文件参数的结构体类型

C. FILE表示一种关于文件参数的结构体变量

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语句。

四、阅读分析题(本大题共6小题,每小题5分,共30分)

30.阅读下面程序,写出运行结果(已知A的ASCII码为65,a的ASCII码为97)。

#include ″stdio. h″

main( )

{ int k=100;char m;

m=k; putchar(m);

printf(″,%d,%c,%o, ″k,m-32,m);

}

31.阅读下面程序,并回答问题:

main()

{ int x, y, z, c;

scanf(″%d%d%d″,&x, &y, &z);

if(x<z){c=y; y=z; z=c;}

if(x<z){c=x; x=z; z=c;}

if(x<y){c=x; x=y; y=c;}

printf(″%d, %d, %d″, x, y, z);

}

(1)若程序运行时,输入3、2和5,则输出结果是什么?

(2)写出程序所实现的功能。

32.阅读下面程序,并回答问题:

main( )

{ int m, n;

m=65;

n=14;

while(m!=n)

{ while(m>n)m-=n;

while(n>m)n-=m;

}

printf(″m=%d\n″, m);

}

(1)程序输出结果是多少?

(2)外循环执行完一次时,m和n的值分别是多少?

(3)将while(n>m)n-=m;语句删除后,程序运行情况如何?

33.阅读下面程序,并回答问题:

gcd(int x, int y)

{ int temp;

while (y){temp=x%y; x=y; y=temp;}

return x;

}

main()

{ int a, b, y;

scanf(″%d, %d″, &a, &b);

y=gcd(a,b);

printf(″最大公约数是:%d″, y);

}

(1)gcd函数的返回值类型是什么?

(2)若将return x写成return y会得到什么样的结果?

34.阅读下面程序,写出运行结果。

mian( )

{ char * str[ ]={″Pascal″, ″C Language″, ″Dbase″, ″Cobol″};

int k;

for(k=0; k<4;k++)

printf(″%s\n″, str[k]);

}

35.阅读下面程序段,写出输出结果。

struct num

{ float f1;

int j;

}u={5.6,8},*p=&u;

printf(″%.2f,%d\n″,u.f1, u.j);

printf(″%.2f,%d\n″, (*p).f1,p->j);

五、程序设计题(本大题共2小题,每小题12分,共24分)

36.若有n行n列数组,试编写一程序,分别求出两条对角线元素之和。(从键盘输入n*n个整型数,n≤20)

37.若在c:\tclt路径下有一个名为zz.dat的文本文件,它包括10个按升序排列的整数,且每两个数之间用逗号隔开,现要插入一个整数使该序列仍保持升序,并把新序列写入到c:\tclt路径下名为zzz.dat的文本文件中。 

本文标签:山东自考 工学类 2006年4月自考计算机基础与程序设计试题

转载请注明:文章转载自(http://www.sdzk.sd.cn

本文地址:http://www.sdzk.sd.cn/tk_gxl/11649.html







《山东自考网》免责声明:

1、由于各方面情况的调整与变化,本网提供的考试信息仅供参考,考试信息以省考试院及院校官方发布的信息为准。

2、本站内容信息均来源网络收集整理,标注来源为其它媒体的稿件转载,免费转载出于非商业性学习目的,版权归原作者所有,如有内容与版权问题等请与本站联系,本站将第一时间尽快处理删除。联系邮箱:812379481@qq.com。



山东自考-便捷服务