您当前所在位置:自考本科 > 网站地图 > 备考资料 > 历年真题 > 工学类 > 计算机基础与程序设计 > 全国2009年7月自学考试计算机基础与程序设计试题

全国2009年7月自学考试计算机基础与程序设计试题

2009-04-01 17:04:47  来源:中国教育在线

全国2009年7月高等教育自学考试

计算机基础与程序设计试题

课程代码:02275

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

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

1.内存每个基本单元都有唯一的序号,这个序号称为( )

A.地址 B.字节

C.代码 D.字

2.计算机对编译型高级语言的执行方式是( )

A.逐条语句边解释边执行,即解释一条就执行一条

B.将整个程序编译完成后再执行,不生成目标代码

C.将源程序编译成目标程序,执行连接后的程序

D.将源程序解释完毕后再执行

3.下列转义字符中,表示换行的是( )

A.\0 B.\n

C.\r D.\f

4.unsigned long型数的取值范围是( )

A.-215~(215-1) B.-231~(231-1)

C.0~(216-1) D.0~(232-1)

5.设有int a=3;表达式a十=a *=a *=a的值是( )

A.3 B.9

C.81 D.162

6.下列四种运算符中,优先级最低的是( )

A.>= B.!

C.&& D.||

7.下列程序段的输出结果是( )

main( )

{

int a=5,b=3,c;

c=a;a=b;b=c;

printf(″%d,%d\n″,a,b);

}

A.3,5 B.5,3

C.5,8 D.8,3

8.下列程序段所表示的逻辑关系是( )

if(a

if(c==d)

x=l;

else

x=2;

A.x= B.x=

C.x= D.x=

9.执行下列程序段后,i的结果是( )

int i=10;

switch(i){

case 9:i+=l;break;

case 10:i+=l;break;

case 11:i+=1;break;

default:i+=1;break;

}

A.10 B.1l

C.12 D.13

10.下列程序段的输出结果是( )

a=100;

do

a=a+l;

while(a>120);

printf(″%d″,a);

A.100 B.101

C.120 D.121

11.关于break和continue语句,下列说法正确的是( )

A.在循环体中可以用break语句结束本次循环

B.在循环体中可以用continue语句结束本次循环

C.break语句仅能使用在switch结构中

D.可以使用continue语句跳出switch结构

12.若有定义int a[4]={l,2,3,4};则a[a[0]+2 * a[2]-a[3]]等于( )

A.1 B.2

C.3 D.4

13.定义如下变量和数组,则下列程序段的输出结果是( )

int i,x[3][3]={1,2,3,4,5,6,7,8,9};

for(i=0;i<3;i++)

if(i % 2!=1) printf(″%d″,x[i][i]);

A.19 B.17

C.37 D.39

14.若有定义static char str2[10],strl[ ]=″China″;欲将strl中的字符串拷贝到str2中去,下列正确的语句是( )

A.strcpy(str2,strl); B.strcpy(strl,str2);

C.strcpy(″China″,str2); D.strl=str2;

15.下列关于C程序的说法中不正确的是( )

A.一个源程序文件由一个或多个函数组成

B.一个C程序可以有多个名字为main的函数

C.一个C程序由一个或多个源程序文件组成

D.一个C程序必须有一个main函数

16.用数组名作为函数调用时的实参,实际上传递的是( )

A.数组全部元素的值 B.数组第一个元素的值

C.数组的首地址 D.数组元素的个数

17.设有函数( )

void print _value(int * x)

{printf(″%d\n″,+ + * x);}

执行程序段int a=25;print_value(&a);的正确输出是

A.23 B.24

C.25 D.26

18.语句float *p [6];的含义是( )

A.p是一个数组,有6个元素,每个元素都是浮点数

B.p是一个指针,指向有6个浮点数据的数组

C.p是一个指针数组,有6个元素,每个元素都是浮点型指针

D.p是一个指针,指向一个浮点数

19.设有下列程序( )

# include ″stdio.h″

void main(void)

{

unsigned x=1,y=2;

printf(″%d\n″,~(x&y));

}

该程序的运行结果是

A.-1 B.0

C.1 D.2

20.设有说明:FILE * fp;对于fp=fopen(″c:\\abc.dat″,″r+″);语句,下列说法正确的是

( )

A.打开ASCII文件读写 B.打开二进制文件读写

C.打开ASCII文件只读 D.打开二进制文件只读

二、多项选择题(本大题共5小题,每小题2分,共10分)

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

21.下列数据中等值的有( )

A.(0.100)2 B.(0.101)2

C.(0.5)8 D.(0.625)10

E.(0.A)16

22.下列有关switch语句的说法中正确的有( )

A.switch后面的表达式可以为任意类型

B.case后的每个常量表达式的值必须互不相同

C.若case后面有两个或两个以上的执行语句,必须加花括号

D.一个case对应一组执行语句,多个case不可共用同一组执行语句

E.default部分可有可无

23.下列对数组赋初值正确的有( )

A.int a[ ][ ]={l,2,5,8,3,7};

B.int a[ ][3]={1,2,5,8,3,7};

C.int a[2][3]={1,2,5,8,3,7};

D.int a[2][ ]={1,2,5,8,3,7};

E.int a[3][3]={l,2,5,8,3,7};

24.若有说明:int a[ ]={1,2,3,4,5,6,7,8,9,0},i;当0≤i<10时,下列对数组元素地址正确的表示有( )

A.&a+l B.a+l

C.a++ D.&a[i]

E.a+i

25.下列关于结构体类型的定义正确的有( )

A.struct river B.struct river C.struct

{ { {

int branch; int branch; int branch;

char name[20]; char name[20]; char name[20];

}; } }

D.struct E.struct river

{ {

int branch; int branch;

char name[20]; char name[20];

}; struct river * next;

};

三、简答题(本大题共4小题,每小题4分,共16分)

26.假设字长为8位,请写出-1的原码和补码。

27.写出for语句的一般形式并分析循环体被执行的条件。

28.字符数组的初始化与字符串指针变量的初始化有什么不同?

29.语句fwrite(stu,size,n,fp);中stu、size、n和fp的含义各是什么?

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

30.阅读下列程序并写出运行结果。

void main (void)

{ int a=987,b=l00,x,y;

y=b;

x=a/b;

print ('%d,%d\n',x,y);

}

31.阅读下列程序,若输入0,3并回车,则程序的输出结果是什么?

void main(void)

{ int x,y,z;

scanf ('%d,%d',&x,&y);

if(x

{z=x;x=y;y=z;}

print ('%d,%d\n',x,y);

}

32.下列程序的功能和输出结果是什么?

void main(void)

{ int k=0,total=0;

while(k<=100){

total+=k;

k++;}

print('total=%d\n',total);

}

33.阅读下列程序并写出运行结果(注:A的ASCII码值为65,a的ASClI码值为97)。

void main(void)

{ int i=64;

char s[20],* p=s;

while(i++<=73){

* p=i%2==0? i+32:i;

p++;

}

* p=′\0′;

printf('%s\n',s);

}

34.阅读下列程序并写出运行结果。

int fib(int n)

{

static int f0=0,fl=l,i,f;

for(i=3;i<=n;i++){

f=f0+fl;f0=fl;fl=f;

printf('f0=%d,fl=%d\n',f0,fl);

}

return(f);

}

void main(void)

{

printf('%d\n',fib(3)+fib(3));

}

35.阅读下列程序并写出程序的运行结果。

#include'string.h'

#include'malloc.h'

struct planet

{

char name[20];

double weight;

struct planet * next;

} * head=NULL;

void main(void)

{

struct planet * p;

char * planet_name[3]={'earth','venus','mars'};

double planet_weight[3]={25455700.565,11253300.437,7286320.512};

int j;

for(j=0;j<3;j++)

{

p=(struct planet * )malloc(sizeof(struct planet));

strcpy(p->name,planet_name[j]);

p->weight=planet_weight[j];

p->next=head;

head=p;

}

p=p->next;

printf('%s,%lf\n',p->name,p->weight);

}

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

36.从键盘上输入20个整数,求其中正数的累加和并输出结果。

37.在文本文件c:\pxl.dat中有10个实型数据(每两个数之间用逗号隔开),编程将这10个数按从小到大排序后,写到文本文件c:\xpl.dat中。


你可能感兴趣的试题
1
意向表
2
学习中心老师电话沟通
3
查看评估报告
1、年龄阶段

2、当前学历

3、提升学历目标

4、意向学习方式

报考所在地
*
*
*

查看成人高考最新资讯 查看远程教育最新资讯

自考专业快选

自考热门专题

自考热议话题

自考推荐文章