c语言阅读程序求结果题型,计算机基础与程序设计2006年4月真题试题(02275)

计算机基础与程序设计2006年4月真题试题与答案解析(02275)

计算机基础与程序设计2006年4月真题试题与答案解析(02275),本试卷总共100分。

一、单项选择题

(本大题共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;表达式(a﹤b)? a+b:(a-b,b+4,a-=b+4)的值是(   )

A.-1

B.0

C.3

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

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.

c57b8a9ce8478fe9163e8555c8a89215.png

B.

ac5f8e5fc3ff0b95b520f0a01741a677.png

C.

527c1edef53573ee64f64a272202f22a.png

D.

ec4147e531f523e9659d08eac0d09fff.png

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分)在每小题列出的五个备选项中有二至五个是符合题目要求的.请将其代码填写在题后的括号内。错选、多选、少选或未选均无分。

11.总线是连接微机CPU、内存和外设之间传送信号的公共通道,微机的总线包括有( )

A.电源线

B.数据线

C.地址线

D.控制线

E.网络线

12.若定义 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";

13.若有如下定义和语句,则能正确表示数组a首元素地址的表达式有(    )int a[10], *p;p=a;

A.a[0]

B.a

C.p+1

D.p

E.*p

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

A.y&~x

B.x^y

C.x|y

D.y|x﹥﹥1

E.x﹤﹤1|y﹥﹥2

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

A.FILE是C的关键字

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

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

D.FILE*可以用来说明文件指针

E.文件指针指向的变量的数据类型是FILE

三、简答题

(本大题共4小题。每小题4分。共16分)

21.C语言中如何表示"真"和"假"?系统如何判断一个量的"真"和"假"?

22.什么是"直接递归调用"?什么是"间接递归调用"?

23.判断下面两程序段正确与否,并说明原因。(1)char str[12];str=″program″;(2)char *str;str=″program″;

24.设有说明:struct language {long spearer; char country[20];} chinese;试写出对chinese的成员spearer和country分别赋值1250000000和"China"的C语句。

四、阅读分析题

(本大题共6小题,每小题5分,共30分)

31.阅读下面程序,写出运行结果(已知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);}

32.阅读下面程序,并回答问题: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)写出程序所实现的功能。

33.阅读下面程序,并回答问题: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;语句删除后,程序运行情况如何?

34.阅读下面程序,并回答问题: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会得到什么样的结果?

35.阅读下面程序,写出运行结果。mian( )

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

int k;

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

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

}

36.阅读下面程序段,写出输出结果。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分)

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

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值