一、选择题 下列各题 A、B、C、D 四个选项中,只有一个是正确的。
1. 微型计算机的运算器、控制器及内存储器组合在一起,称之为 ( )

A. ALU

B. CPU

C. MPU

D. 主机

2. 若已定义 x 和 y 为 double 类型,则表达式:x=1,y=x+3/2 的值是 ( )

A. 1

B. 2

C. 2.0

D. 2.5

3. 十六进制数 FF.1 转换成十进制数是 ( )

A. 255.0625

B. 255.125

C. 127.0625

D. 127.125

4. 若有以下定义:

int a[ ]=1,2,3,4,5,6,7,8,9,10,* p=a;

则值为 3 的表达式是 ( )

A. p+=2,* (pd+ +)

B. p+=2,* + +p

C. p+=3,* p+ +

D. p +=2,+ + * p

5. 执行下面语句后的输出结果为 ( )

int i=-1;

if(i<=0)print("* * * *\\n");

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

A. * * * *

B. % % % % %

C. % % % %c

D. 有语法错误,不能正确执行

6. 若有以下定义和语句

char c1='b',c2='e' printf("%d,%c\n",c2-c1,c2-'a'+A); 则输出结果 ( )

A. 2,M

B. 3,E

C. 2,E

D. 输出项与对应的格式控制不一致,输出结果不确定

7. 假定所有变量均已正确说明,下列是程序段运行后 x 的值是 ( )

a=b=C=O;x=35;

if(!

A. x- -;
else if( B. ;
if( C. x=3;
else x=4;< 8. 合法的数组定义是 ( )

A. int a[ ]="string"; B. int a[5]=0,1,2,3,4,5; C. char a="string"; D. char a=0,1,2,3,4,5; 9. 在多媒体计算机系统中,CD-ROM 属于 ( )

A. 感觉媒体 B. 表示媒体

C. 表现媒体

D. 存储媒体

10. 以下叙述中不正确的是 ( )

A. 在 C 中,函数中的自动变量可以赋初值,每调用一次,赋一次初值

B. 在 C 中,在调用函数时,实参和对应形参在类型上只需赋值兼容 C. 在 C 中,外部变量的隐含类别是自动存储类别

D. 在 C 中,函数形参可以说明为 register 变量 11. 详细设计中,可用于描述详细设计的工具有 ( )

A. 程序流程图,SC 图、PAD 图和 PDL B. 程序流程图、N-S 图、PAD 图和 PDL C. 数据流程图、N-S 图、PAD 图和 PDL D. 程序流程图、BS 图、PAD 图和 PDL 12. 在位运算中,操作数每右移一位,其结果相当于 ( )

A. 操作数乘以 2

B. 操作数除以 2

C. 操作数除以 16

D. 操作数乘以 16

13. 对专门从事数据库管理、维护的人员,称之为 ( )

A. NBA

B. DBA

C. DMA D. DDS 14. 若 i、j 已定义为 int 型,则以下程序段中内循环的总的执行次数是 ( )

for(i=5;i>0;i- -) for(j=0;j<4;j+ +)…

A. 20

B. 24

C. 25

D. 30

15. 若有以下定义和语句:

int a[10]=1,2,3,4,5,6,7,8,9,10,* p=a 则不能表示 a 数组元素的表达式是 ( )

A. * p

B. a[10]

C. * a

D. a[p-a]

16. 下列存储器中,存取速度最快的是 ( )

A. 软盘 B. 硬盘

C. 光盘

D. 内存

17. 下列说法中正确的是 ( )

A. 交换列排序法效率最高 C. 选择类排序法效率最高 18. 若有定义和语句 ( )

B. 插入类排序法效率最高 D. 不同的数据,各种算法的优劣不一

char s[10];s="abcd";printf("%s\\n",s); 则结果是(以下 μ 代表空格)

A. 输出 abcd

B. 输出 a

C. abcdμμμμμ

D. 编译不通过

19. 若有以下定义语句:

char * sl="12345", * s2="1234";

printf("%d"n",strlen(strcpy(s1,s2)));

则输出结果是 ( )

A. 4

B. 5

C. 9

D. 10

20. 下述程序段的输出结果是 ( )

int x=10;

int y=x+ +;

printf("%d,%d",(x+ +,y),y+ +);

A. 11,10

B. 11,11

C. 10,10

D. 10,11

21. 二进制数 1110111.11 转换成十进制数是 ( )

A. 119.375

B. 119.75

C. 119.125

D. 119.3

22. 设计准则要求,模块的作用域和控制域的关系是 ( )

A. 作用域和控制域无关 B. 作用域在控制域之外
C. 控制域在作用域之内 D. 作用域在控制域之内
23. C 语言提供的合法关键字是 ( )

A. switch

B. cher

C. case

D. default

24. 控制键^C 的功能为 ( )

A. 终止当前操作 B. 系统复位

C. 暂停标准输出设备的输出

D. 结束命令行

25. 若有以下定义和语句:

iht w[2][3],(* pw)[3];pw=w;

则对 w 数组元素的非法引用是 ( )

A. * (w[0]+2)
B. * (pw + 1)[2]
C. pw[0][0] D. * (pw[1]+2) 26. 若有定义和语句: ( )
int * * pp, * p,a=10,b=20 pp=&p;p=&a;p=&b;printf("%d,%d”n",* p,* * pp); 则输出结果是

A. 10, 10

B. 10,20

C. 20,10

D. 20,20

27. 设有以下定义或语句,则输出的结果是(用 small 模式编译,指针变量占 2 个字节)

struct date long * cat;
struct date * next; double dog;
too; printf(" % d",sizeof(too));

A. 20

B. 16

C. 14

D. 12

28. 函数调用:strcat(strcpy(str1,str2,),str3)的功能是 ( )

A. 将串 str1 复制到串 str2 中后再连接到串 str3 之后

B. 将串 str1 连接到串 str2 之后再复制到串 str3 之后
C. 将串 str2 连接到串 str1 之后再将串 str3 连接到串 str1 之后
D. 将串 str2 连接到串 str1 之后再将串 str1 连接到串 str3 之后 29. 若有定义:int a[3][4],( )不能表示数组元素 a[1][1]。

A. * (a[1]+1)

B. * (&a[1][1])

C. ( * (a+1))[1]

D. * (a+5)

30. 打印当前屏幕内容应使用的控制键是 ( )

A. Scroll-Lock

B. Num-Lock

C. PgDn D. PrtSc(Print Screen) 31. 在以下一组运算中,优先级最高的运算符是 ( )

A<= B.=

C.% D.& &

32. 为了将所有扩展名为.PAS 的文件改成扩展名为.P,应使用命令 ( )

A. REN*.PAS.? AS

B. REN PAS P

C. REN*.PAS*.P

D. REN*.PAS*.P??

33. 有关物理独立性的描述错误的是 ( )

A. 物理独立性是指用户的应用程序与存储结构是相互独立的 B. 符合物理独立性的数据在磁盘上的数据库中怎样存储用户可以不了解 C. 符合物理独立性的数据,当其数据的物理存储改变了,应用程序不用改变 D. 物理独立性是指用户的应用程序与存储结构是相互联系的 34. CPU 处理数据基本单位为字,一个字的字长 ( )

A. 为 8 个二进制位

B. 为 16 个二进制位

C. 为 32 个二进制位

D. 与 CPU 芯片的型号有关

35. 数据封装要解决的问题是 ( )

A. 实现规范化

B. 防止书写错误

C. 防止非法访问

D. 实现类型转换

36. 若有以下定义和语句 ( )

int u=010,v=Ox10,w=10;

printf("%d,%d%d\n",u,v,w);

则输出结果是

A. 8,16,10

B. 10,10,10

C. 8,8,10

D. 8,10,10

37. 下面程序的输出结果 ( )

main( )

unsigned a=32768;

printf("a=%d\\n",a);

A. a=32768

B. a=32767

C. a=-32768

D. a=-1

38. 在 C 语言中,合法的字符常量是 ( )

A. &#39;\084&#39;

B. &#39;\x43&#39;

C. &#39;ab&#39;

D. &#39;\0&#39;

39. 设 a 为整型变量,不能正确表达数学关系 10<a<15 的 C 语言表达式是 ( )

A. 10<a<15 B. a==11 | | a==12 | | a==13 | | a==14 C. a>10&&a<15 D. !(a<=10)SL&!(a>=15) 40. 不是面向对象程序设计的可维护性的优点的是 ( )

A. 用面向对象的方法开发的软件稳定性比较好

B. 易于移植

C. 易于和调试

D. 用面向对象的方法开发的软件比较容易理解

41. 字符(char)型数据在微机内存中的存储形式是 ( )

A. 反码 B. 补码反码

C. EBCDIC 码反码

D. ASCII 码

42. 中国国家计算机网络设施是 ( )

A. NCFC

B. CERNET

C. ISDN

D. Iinternet

43. 对于条件表达式(M)?(a+ +):(a- -),其中的表达式 M 等于 ( )

A. M==0

B. M==1

C. M!=0

D. M!=1

44. 以下对枚举类型名的定义中正确的是 ( )

A. enuma=one,two,three;

B. enumaone=9,two=-1,three;
C. enum a={"one" "two","three";
D. enum a"one","two","three"; 45. 下面程序的输出结果是 ( )
maint( ) char * s="121"; int k=0,a=0,b=0; do k + +; if (k%2==0) a=a + s[k]-'0';continue; b=b + s[k]-'0';a=a + s[k]-'0'
wnile(s[k+1]); printf("k=%d a=%d b=%d\n",k,a,b);

A. k=3 a=2 b=3

B. k=3 a=3 b=2

C. k=2 a=3 b=3

D. k=2 a=2 b=3

46. 系统软件中最重要的是 ( )

A. 操作系统 B. 语言处理程序

C. 工具软件

D. 数据库管理系统

47. 若 t 为 doudle 类型,表达式 t=1,t + 5,t + +的值是 ( )

A. 1

B. 6.0

C. 2.0

D. 1.0

48. 设有定义:struct sk

int a;float b; data,* p;

若有 p=& data;,则对 data 中的 a 域的正确引用是 ( )

A. (* p).data.a

B. (* p).a

C. p->data.a

D. data.a

49. 能将高级语言源程序转换成目标程序的是 ( )

A. 调试程序 B. 解释程序

C. 编译程序

D. 编辑程序

50. 以下对 C 语言函数的有关描述中,正确的是 ( )

A. 在 C 中,调用函数时,只能把实参的值传给形参,形参的值不能传送给实参

B. C 函数既可以嵌套定义又可递归调用 C. 函数必须有返回值,否则不能使用函数 D. C 程序中有调用关系的所有函数必须放在同一个源程序文件中

二、填空题

1. 与十进制数 101 等值的二进制数为 【1】 。

2. 数据的安全性是指保护数据以防止 【2】 用户的使用造成的数据泄密和破坏。

3. 一个模块直接访问另一个模块的内容,称为 【3】 藕合。

4. 自动批处理文件名必须是 【4】 。

5. 【5】 是指一个数据对象中的各个数据元素之间存在的联系。 6. 表示条件 10<x<100 或 x<0 的 C 语言表达式是 【6】 。 7. 以下和程序中,主函数调用了 lineMax 函数,实现在 N 行 M 列的二维数组中,找出每一 行上的最大值,请填空。
# define N 3 # define M 4 void lineMax(int x[N][M]) int i,j,p;
for(i=0;i<N;i+ +) p=0; for(j=1;j<M;j+ +) if(x [i][p]<x[i][j] 【7】 ;
printf("The max value in line is %d\n", 【8】 );
main( ) int x[N][M]=1,5,4,2,6,4,3,8,2,3,1; 【9】 ;
8. 以下程序的功能是:从键盘上输入若干学生的成绩,统计计算出平均成绩,并输出低于

平均分的学生成绩,用输入负数结束输入。填空。 main( ) float x[1000],sum,=0.0,ave a; int n=0,i; printf("Enter mark:"\n");scanf("%f",&a); while(a>=0.0 & &n<1000) sum += 【10】 ;x[n]= 【11】 ; n+ +;scanf("%f",& a);
ave= 【12】 ; printf("Output:"\n"); printf("ave=%f"\n",ave); for(i=0,i<n;i+ +) if( 【13】 )frintf("%f\n",x[i]);
9. 执行以下程序,输入-10 的结果是 【14】 ,输入 5 的结果是 【15】 ,输入 10 的结果 是
【16】 ,输入 30 的结果是 【17】 。 # include<stdio.h> main( )
int x,c,m; float y;

scanf("%d",&x); if(x<0)c=-1 else c=x/10; switch(c)
case-1;y=0;break; case0;y=x;break; case1;y=10;break case2: case3;y=-0.5 * x + 20;break; default:y=-2;
if(y!=-2)printf("y=%f"\n",y); else printf("error\n");
10. 以下程序的功能是 【18】 。 main( ) int num[10]=10,1,-20,-203,-21,2,-2,-2,11,-21; int sum=0,i; for(i=0;i<10;i+ +) if(num[i]>0) sum=num[i]+ sum; printf("sum=%6d",sum);

11. 以下程序可以把从键盘上输入十进制数(10ng 型)以二到十六进制数的形式输出,请填空。 # include<stdio.h>
main( ) char b[16] = '0','1','2','3','4','5','6','7','8','9','A','B','C','D',' E','F'; int c[64],d,i=0,base; long n; printf("Enter a number:\n");scanf("%1d",&n); printf("Enter new base:\n");scanf("%1d",&base);
do c[i]= 【19】 ;
i+ +; n=n/base; while(n!=0); printf("The result is:\n"); for(- -i;i>=0;- -i) d=c[i]; printf("%c",b 【20】 );


02-25 22:58