admin 管理员组

文章数量: 1086019


2024年12月31日发(作者:input函数的功能是)

计算机二级(C)64

(总分100, 做题时间90分钟)

选择题(1-10题每题2分,11-50题每题1分,共60分)

1.

有以下程序:

int f(int n)

{ if(n ==1)return 1;

else return f(n-1)+1;

}

main( )

{ int i,j=0;

for(i=1;i<3;i++) j+=f(i);

printf("%dn",j);

}

程序运行后的输出结果是( )。

SSS_SINGLE_SEL

A 4

B 3

C 2

D 1

分值: 1

答案:B

第一次调用f( )函数,返回值为1,第二次调用f( )函数,牵涉到函数的递归

调用,返回值为2。

2.

数据库设计的根本目标是要解决

SSS_SINGLE_SEL

A 数据共享问题

B 数据安全问题

C 大量数据存储问题

D 简化数据维护

分值: 1

答案:A

由于数据的集成性使得数据可为多个应用所共享,特别是在网络发达的今天,数

据库与网络的结合扩大了数据关系的应用范围。数据的共享本身又可极大地减

少数据冗余性,不仅减少了不必要的存储空间,更为重要的是可以避免数据的不

一致性。因此,数据库设计的根本目标是要解决数据共享问题。

3.

有以下程序:

#define P3

void F(int x){return(P*x*x);}

main()

{printf("%dn",F(3+5));}

程序运行后的输出结果是【 】。

SSS_SINGLE_SEL

A 192

B 29

C 25

D 编译出错

分值: 1

答案:D

return语句用于从被调函数带回一个函数值。void关键字表示"无类型",即不

需要从被调函数中带回函数值,所以不需要return语句,故编译时出错。

4.

在软件设计中,不属于过程设计工具的是【 】。

SSS_SINGLE_SEL

A PDL(过程设计语言)

B PAD图

C N-S图

D DFD图

分值: 1

答案:D

软件设计工具包括:程序流程图、N-S、PAD、H1PO,判定表,PDL(伪码)。而

DFD(数据流图)属于结构化分析工具。

5.

当把以下四个表达式用作if语句的控制表达式时,有一个选项与其他三个选项

含义不同,这个选项是【 】。

SSS_SINGLE_SEL

A k%2

B k%2=1

C (k%2)!=0

D !k%2=1

分值: 1

答案:D

本题选项A、B、C中表达式用作if语句表达式时,其值一致,即判断k的值是否

为奇数,若为奇数,其表达式为真,否则为假;而选项D的表达式"!k%2=1"相当于

"!(k%2)=1,若k的值为奇数,则此表达式的值为假。

6.

一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误

的是( )。

SSS_SINGLE_SEL

A 有零个或多个输入

B 有零个或多个输出

C 有穷性

D 可行性

分值: 1

答案:B

7.

有以下程序:

main( )

int f1 (int x, int y)

{ return x>y?x:y; }

int f2 (int x, int y)

{ return x>y?y:x; }

main( )

{ int a=4,b=3,c=5,d,e,f;

d=f1(a,b); d=f1(d,c);

e=f2(a,b); e=f2(e,c);

f=a+b+c-d-e;

printf("%d,%d,%dn",d,f,e);

}

执行后输出的结果是( )。

SSS_SINGLE_SEL

A 3,4,5

B 5,3,4

C 5,4,3

D 3,5,4

分值: 1

答案:C

8.

在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是

【 】。

SSS_SINGLE_SEL

A 并

B 交

C 投影

D 笛卡儿乘积

分值: 1

答案:B

在关系运算中,"交"的定义如下:设R1和R2为参加运算的两个关系,它们具有

相同的度n,且相对应的属性值取自同一个域,则R1∩R2为交运算,结果仍为度

等于n的关系,其中的元组既属于R1又属于R2。根据定义可知,不改变关系表

的属性个数但能减少元组个数的是交运算,故本题答案为B)。

9.

下列选项中不属于结构化程序设计方法的是【 】。

SSS_SINGLE_SEL

A 自顶向下

B 逐步求精

C 模块化

D 可复用

分值: 1

答案:D

结构化程序设计方法的主要原则是:自顶向下,逐步求精,模块化,限制使用

goto语句。可复用性是指软件元素不加修改和稍加修改可在不同的软件开发过

程中重复使用的性质。软件可复用性是软件工程追求的目标之一,是提高软件生

产效率的最主要方法。面向对象的程序设计具有可复用性的优点。

10.

以下不能定义为用户标识符的是( )。

SSS_SINGLE_SEL

A scanf

B Void

C _3com_

D int

分值: 1

答案:D

11.

数据库技术的根本目标是要解决数据的【 】。

SSS_SINGLE_SEL

A 存储问题

B 共享问题

C 安全问题

D 保护问题

分值: 1

答案:B

由于数据的集成性使得数据可被多个应用程序所共享,特别是在网络发达的今

天,数据库与网络的结合扩大了数据库的应用范围,所以数据库技术的根本目标

是解决数据的共享问题。

12.

有以下程序,其中%u表示按无符号整数输出main()

{unsigned int X=OXIFFF;/* X的初值为十六进制数 */

printf("%u\n",X);

}

程序运行后的输出结果是【 】。

SSS_SINGLE_SEL

A -1

B 65535

C 32767

D 0XFFFF

分值: 1

答案:B

"%u"格式符用来以十进制形式输出无符号整型变量,其取值范围是0~

65535。,本题中无符号整型变量x=OXFFFF(十六进制)表示的是无符号整型变量

的最大值65535。

13.

设有以下语句

typedef struct TT

{char c;int a [4];}CIN;

则下面叙述中正确的是【 】。

A 可以用TT定义结构体变量

B IT是struct类型的变量

C 可以用CIN定义结构体变量

D CIN是struct IT类型的变量

分值: 1

答案:C

在C语言中,typedef用于说明一种新的类型名,本题中的CIN被定义为一种新

的类型名,我们可以用它来定义一个结构体变量。

14.

能将高级语言编写的源程序转换为目标程序的软件是( )。

SSS_SINGLE_SEL

SSS_SINGLE_SEL

A 汇编程序

B 编辑程序

C 解释程序

D 编译程序

分值: 1

答案:D

15.

有以下程序

main( )

{ int i=0,s=0;

do{

if(i%2){i++;continue;}

i++;

s+=i;

} while(i<7);

printf("%dn",s);

}

执行后输出的结果是( )。

SSS_SINGLE_SEL

A 16

B 12

C 28

D 21

分值: 1

答案:A

16.

有以下程序:

main( )

{ int a=1,b=2,m=0,n=0,k;

k=(n=b>a)||(m=a

printf("%d,%dn",k,m);

}

程序运行后的输出结果是( )。

SSS_SINGLE_SEL

A 0,0

B 0,1

C 1,0

D 1,1

分值: 1

答案:C

17.

有以下函数定义:

void fun(int n, double x) { …… }

若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句

是( )。

SSS_SINGLE_SEL

A fun(int y,double m);

B k=fun(10,12.5);

C fun(x,n);

D void fun(n,x);

分值: 1

答案:C

18.

有以下程序

struct S{int n;int a[20];};

voidf(struct S* p)

{int,i,j,t;

for(i=0;in一1;i++)

for(j=i+1;jn;j++)

if(p->a [i]>p->a[j]){t=p->a[i];p->a[i]=p->a[j];P->a[j]=t;}

}

maln()

{int i;struct S s={10,{2,3,l,6,8,7,5,4,10,9}};

f(&s);

for(i=0;i

程序运行后的输出结果是【 】。

A 1,2,3,4,5,6,7,8,9,10,

B 10,9,8,7,6,5,4,3,2,1,

C 2,3,1,6,8,7,5,4,10,9,

D 10,9,8,7,6,1,2,3,4,5,

分值: 1

答案:A

SSS_SINGLE_SEL

本题中,在调用函数f()时,实参是结构体变量s的地址,所以在函数中对形参的

改变会影响到实参的数值。函数f()实现的功能是把结构体的成员数组中的值

按从小到大顺序进行排列。

19.

以下关于函数的叙述中正确的是【 】。

A 每个函数都可以被其他函数调用(包括main函数)

B 每个函数都可以被单独编译

C 每个函数都可以单独运行

D 在一个函数内部可以定义另一个函数

分值: 1

答案:B

C语言中函数是互相独立的,一个函数并不从属于另一个函数,即函数不能嵌套

定义;函数可以分别编写、分别编译,提高调度效率,但函数不能单独运行:函

数间可以互相调用,但不能调用main函数。

20.

有以下程序

void f(int x,int y)

{ int t;

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

}

main( )

{ int a=4,b=3,c=5;

f(a,b); f(a,c); f(b,c);

printf("%d,%d,%dn",a,b,c);

}

执行后输出的结果是( )。

SSS_SINGLE_SEL

SSS_SINGLE_SEL

A 3,4,5

B 5,3,4

C 5,4,3

D 4,3,5

分值: 1

答案:D

21.

以下叙述中错误的是【 】。

A C语言是一种结构化程序设计语言

B 结构化程序由顺序、分支、循环三种基本结构组成

C 使用三种基本结构构成的程序只能解决简单问题

D 结构化程序设计提倡模块化的设计方法

分值: 1

答案:C

SSS_SINGLE_SEL

结构化程序设计是指在程序的构成上只使用顺序、选择(即分支)和循环3种结

构组成的编程方式。它强调程序设计风格和程序结构的规范化,提倡清晰的结

构。结构化程序设计方法的基本思路,是把一个复杂问题的求解过程分阶段进

行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。结构化程序设

计提倡模块化的设计方法。

22.

有以下程序

main()

{int a[4][4]={{1,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}},i ,k,t;

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

for(k=i+1;k<4;k++)if(a[i][i]

a[i][i]=a[k][k];a[k][k]=t;}

for(i=0;i<4;i++)printf("%d,",a[0][i]);

}

程序运行后的输出结果是【 】。

SSS_SINGLE_SEL

A 6,2,1,1,

B 6,4,3,2,

C 1,1,2,6,

D 2,3,4,6,

分值: 1

答案:B

本题使用选择法对二维数组对角线上的元素按从大到小的顺序进行排列。最后

输出数组第一行的数据。故本题答案为B)。

23.

有以下程序

main()

int c=35;printf("%dn",c&c);}

程序运行后的输出结果是【 】。

SSS_SINGLE_SEL

A 0

B 70

C 35

D 1

分值: 1

答案:C

按位"与"时,1&1:1,其他都等0。因为本题中相与的两个值相等,即对应位上的

二进制值相等,所以"与"的结果也即为其值本身。

24.

有以下程序:

main( )

{ int a=15,b=21,m=0;

switch(a%3)

{ case 0:m++;break;

case l:m++;

switch(b%2)

{ default:m++;

case 0:m++;break;

}

}

printf("%dn",m);

}

程序运行后的输出结果是( )。

SSS_SINGLE_SEL

A 1

B 2

C 3

D 4

分值: 1

答案:A

25.

有以下程序

main()

{char*P[]={"3697","2584"};

int i,j;long num=0;

for(i-0;i<2;i++)

{j=0;

while(P[i][j]!=’\0’)

{ if((P[i][j]-''0'')%2)num=10*num+P[i][j]-''0'';

j+=2;

}

}

printf("%d\n",num);

}

程序执行后的输出结果是【 】。

SSS_SINGLE_SEL

A 35

B 37

C 39

D 3975

分值: 1

答案:C

while(p[i][j]!=’\0’)表示p[i][j]不等于’\0’时,继续执行while中的

语句。if语句表示(p[i][j]-’\0’)除2的余数不为0时,执行后面的语句。

最后执行的结果是39。

26.

以下叙述中错误的是【 】。

SSS_SINGLE_SEL

A C语言中对二进制文件的访问速度比文本文件快

B C语言中,随机文件以二进制代码形式存储数据

C 语句FILE fp:定义了一个名为fp的文件指针

D C语言中的文本文件以ASCII码形式存储数据

分值: 1

答案:C

FILE是由系统定义的一个结构体类型,并用该类型来定义若干个FILE类型的变

量,以便存放若干个文件。所以用FILE定义的变量必须是数组或指针,所以选项

C中的"FILE fp;"改为"FILE*fp;"就对了。

27.

下列条件语句中,功能与其他语句不同的是( )。

A if(a)printf("%dn",x); else printf("%dn",y);

B if(a==0)printf("%dn",y); else printf("%dn",x);

C if (a!=0)printf("%dn",x); else printf("%dn",y);

D if(a==0)printf("%dn",x); else printf("%dn",y);

分值: 1

答案:D

28.

在多媒体计算机系统中,不能用以存储多媒体信息的是( )。

SSS_SINGLE_SEL

SSS_SINGLE_SEL

A 光缆

B 软盘

C 硬盘

D 光盘

分值: 1

答案:A

光缆是传输多媒体信息的通道,不能用以存储多媒体信息。

29.

下列关于栈的描述中错误的是【 】。

SSS_SINGLE_SEL

A 栈是先进后出的线性表

B 栈只能顺序存储

C 栈具有记忆作用

D 对栈的插入与删除操作中,不需要改变栈底指针

分值: 1

答案:D

栈是一种特殊的线性表,又称先进后出表(First In Last Out,FILO)。

30.

有以下程序,其中函数f的功能是将多个字符串按字典顺序排序:

#include<string.h>

void f(char *p[],int n)

{char *t;int i,j;

for(i=O;i<n-1;i++)

for(j=i+1;j<n;j++)

if strcmp(p[i],p[j])>0{t=p[i] p[i]=p[j]; p[j]=t; }

}

main()

{char* p[5]=("abc","aabdfg","abbd","dcdbe","cd"};

f(p,5);

printf("%dn",strlen(p[1]));

}

程序运行后的输出结果是【 】。

SSS_SINGLE_SEL

A 2

B 3

C 6

D 4

分值: 1

答案:D

字符串比较函数"strcmp(char*s1,char*s2)"的比较规则是对两个字符串自左至

右逐个字符相比(按ASCII码值大小比较),直到出现不同的字符或遇到到"0"为

止。如果全部相同,则认为相等:若出现不相同的字符,则以第一个不相同的字

符的比较结果为准。当s1<s2,返回值<0;当s1=s2时,返回值二0:当s1>s2

时,返回值>0。故本题经过排序后,得到第二个字符串是"abbd",所以输出结果

是4。

31.

有以下程序:

main( )

{ int a[3][3],*p,i;

p=&a[0][0];

for(i=0;i<9;i++) p[i]=i+1;

printf("%d n",a[1][2]);

}

程序运行后的输出结果是( )。

SSS_SINGLE_SEL

A 3

B 6

C 9

D 2

分值: 1

答案:B

32.

在Windows环境下,若资源管理器左窗口中的某文件夹左边标有“+”标记,

则表示( )。

SSS_SINGLE_SEL

A 该文件夹为空

B 该文件夹中含有子文件夹

C 该文件夹中只包含有可执行文件

D 该文件夹中包含系统文件

分值: 1

答案:B

33.

设有定义int a=2,b=3,c=4;,则以下选项中值为0的表达式是【 】。

A (!a==1&&(!b==0)

B (a<b) &&!c||1

C a&&b

D a||(b+b) &&(c-a)

分值: 1

答案:A

逻辑运算符的优先级由高到低运算次序如下:!(非)→&&(与)→||(或),选项A

的表达式中,先对左边括号中"!a"进行运算,值为0,由于"0==1"的值为0,故整个

表达式的值为0,本题答案为A。

34.

有以下程序

main( )

{ char k; int I;

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

{ scanf(“%c”,&k);

switch(k)

{ case ‘0’: printf(“anothern”);

case ‘1’: printf(“numbern”); } } }

程序运行时,从键盘输入:01<回车>,程序执行后的输出结果是( )。

SSS_SINGLE_SEL

SSS_SINGLE_SEL

A another

number

B another

number

another

C another

number

number

D number

number

分值: 1

答案:A

35.

在Windows环境下,若要将当前活动窗口存入剪贴板,则可以按( )。

SSS_SINGLE_SEL

A Ctrl+PrintScreen键

B Alt+PrintScreen键

C Shift+PrintScreen键

D PrintScreen键

分值: 1

答案:B

在Windows环境下,按PrintScreen键可将整个屏幕存入剪贴板,当它与Alt

键结合使用时,可将 当前窗口存入剪贴板。

36.

Internet的通信协议是( )。

SSS_SINGLE_SEL

A TCP/IP

B BBS

C WWW

D FTP

分值: 1

答案:A

37.

在Windows环境下,粘贴按钮是( )。

SSS_SINGLE_SEL

A

B

C

D

分值: 1

答案:D

选项A)是打印,选项B)是剪切,选项C)是复制。

38.

有定义语句:int x, y;,若要通过scanf("%d,%d",&x,&y);语句使变量x得到

数值11,变量y得到数值12,下面四组输入形式中,错误的是( )。

SSS_SINGLE_SEL

A 11 12<回车>

B 11, 12<回车>

C 11,12<回车>

D 11,<回车>12<回车>

分值: 1

答案:A

39.

有以下程序

main()

{ char S[]="abcde";

S+=2;

printf("%d\n",s [0]);

}

执行后的结果是【 】。

SSS_SINGLE_SEL

A 输出字符a的ASCII码

B 输出字符c的ASCII码

C 输出字符c

D 程序出错

分值: 1

答案:D

本题的错误之处在于下标越界。因为s是一个只有一个数组元素("abcde")的字

符串数组,因此不能将指针在当前位置的基础上再向后移动两位。

40.

以下叙述正确的是( )。

A C语言比其他语言高级

B C语言可以不用编译就能被计算机识别执行

C C语言以接近英语国家的自然语言和数学语言作为语言的表达形式

D C语言出现的最晚、具有其他语言的一切优点

分值: 1

答案:C

41.

设变量均已正确定义,若要通过scanf("%d%c%d%c",&al,&cl,&a2,&c2);语

句为变量al和a2赋数值10和20,为变量c1和c2赋字符X和Y。以下所示的

输入形式中正确的是【 】。(注:口代表空格字符)

SSS_SINGLE_SEL

SSS_SINGLE_SEL

A 10口X20口Y<回车>

B 10口X20口Y<回车>

C l0口X<回车> 20口Y<回车>

D 10X<回车> 20Y<回车>

分值: 1

答案:D

本题中,scanf函数的格式控制没有空格,所以,对于选项A)、B)、C),输入的第

一个空格会作为字符赋值给变量 c1,而不会被解释成分隔符。

42.

有以下程序

#include <stdio.h>

main( )

{ printf("%dn",NULL); }

程序运行后的输出结果是( )。

SSS_SINGLE_SEL

A

B

C

D

0

1

-1

NULL没定义,出错

分值: 1

答案:A

43.

下列关于栈的描述正确的是【 】。

A 在栈中能插入元素而不能删除元素

B 在栈中只能删除元素而不能插入元素

C 栈是特殊的线性表,只能在一端插入或删除元素

D 栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素

分值: 1

答案:C

栈实际上也是线性表,只不过是一种特殊的线性表。在这种特殊的线性表中,其

插入和删除只在线性表的一端进行。

44.

有以下结构体说明和变量定义,如图所示:

struct node

{int data;struct node *next;} *p,*q,*r,

现妥将q所指结点从链表中删除,同时要保持链表的连续,以下不能完成指定

操作的语句是【 】。

SSS_SINGLE_SEL

SSS_SINGLE_SEL

A P->next=q->next;

B p->next=(p->next->next;

C p->next=r

D p=q->next;

分值: 1

答案:D

要想将q所指结点从链表中删除,同时保持链表的连续,必需使p结点的next指

向r,在四个选项中,只有选项 D不能做到。

45.

"商品"与"顾客"两个实体集之间的联系一般是【 】。

SSS_SINGLE_SEL

A 一对一

B 一对多

C 多对一

D 多对多

分值: 1

答案:D

两个实体集之间的联系实际上是实体集间的函数关系,主要有3种:一对一的联

系,一对多的联系,多对多的联系。"商品"与"顾客"两个实体集之间的联系一般

是多对多,因为,一种"商品"可以被多个"顾客"购买,而一个"顾客"也可以购买多

个"商品"。

46.

在Windows环境下,当一个应用程序窗口被最小化后,该应用程序( )。

SSS_SINGLE_SEL

A 继续在后台运行

B 继续在前台运行

C 终止运行

D 暂停运行

分值: 1

答案:A

47.

有以下程序:

#define f(x)(x*x)

main()

{ int i1,i2;

il=f(8)/f(4); i2=f(4+4)/f(2+2);

printf("%d,%dn",i1,i2);

}

程序运行后的输出结果是【 】。

SSS_SINGLE_SEL

A 64,28

B 4,4

C 4,3

D 64,64

分值: 1

答案:C

对带参数的宏的展开只是将语句中宏名后面括号内的实参字符串代替#define

命令行中的形参。本题中"il=f(8)/f(4)"用"#define f(x) (x*x)"代替得

il=(8*8)/(4*4),结果为4: "i2=f(4+4)/f(2+2)"用"#define f(x) (x*x)"

代替得i2= (4+4*4+4)/(2+2*2+2),求得结果为3。故本题输出的值为4,3。

48.

在Windows环境下,PrintScreen键的作用是( )。

SSS_SINGLE_SEL

A 打印当前窗口的内容

B 打印屏幕内容

C 复制屏幕到剪贴板

D 复制当前窗口到剪贴板

分值: 1

答案:C

49.

有以下程序:

int a=2;

int f(int n)

{static int a=3;

int t=0;

if(n%2){static int a=4;t+=a++; }

else {static int a=5; t+=a++; }

return t+a++;

}

main()

{ int s=a,i;

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

printf("%dn",s);

}

程序运行后的输出结果是【 】。

SSS_SINGLE_SEL

A 26

B 28

C 29

D 24

分值: 1

答案:C

解本题耍弄清楚这样几点:1、定义"int a=2;"中的全局变量a,其作用范围是

从定义此变量的位置开始到本源文件结束;2、"static int a=3;"中的静态局

部变量a的作用范围是其所在的函数f,并对其只赋一次初值,以后每次调用函

数时不再重新赋初值,而只是保留上次函数调用结束时的值;3、复合语句

"{static int a=4;t+=a++; }"和"{static int a=5;t+=a++;}"中定义的两

个变量a属于复合语句中定义的变量,作用范围只在其本身所在的复合语句内。

对于本程序来讲,第三行定义的静态局部变量并不会对四、五两行的复合语句产

生作用,这是因为复合语句中也定义了与其同名的静态局部变量。

50.

表达式3.6-5/2+1.2+5%2的值是【 】。

SSS_SINGLE_SEL

A 4.3

B 4.8

C 3.3

D 3.8

分值: 1

答案:D

这道题要注意2/5的结果是2,因为运算符两边的数值类型均为整型,故运算结

果的数值类型也被认定为整型。

51.

能将高级语言编写的源程序转换成目标程序的是( )。

SSS_SINGLE_SEL

A 编辑程序

B 编译程序

C 解释程序

D 链接程序

分值: 1

答案:B

由高级语言编写的程序称为“源程序”,由二进制代码表示的程序称为“目标

程序”,而把源程序 转换成机器能够识别的目标程序是由“编译程序”完成

的。

52.

若程序中已包含头文件stdio.h,以下选项中,正确运用指针变量的程序段是

( )。

SSS_SINGLE_SEL

A int *i=NULL;

scanf("%d",i);

B float *f=NULL;

*f=10.5;

C char t='m', *c=&t;

*c=&t;

D long *L;

L='0';

分值: 1

答案:D

53.

在DOS环境下,代表键盘和显示器的设备文件名为( )。

SSS_SINGLE_SEL

A PRN

B CON

C NUL

D LPT

分值: 1

答案:B

54.

有以下程序

main()

{

int a [3][2]={0},(* ptr [2],i,j;

for(i=0;i<2;i++){ptr=a+i;scanf("%d",ptr);pb++;}

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

{ for(j=0;j<2;j++)printf("%2d",a[i][j]);

printf("n");

}

}

若运行时输入:123<回车>,则输出结果是【 】。

SSS_SINGLE_SEL

A 产生错误信息

B 10

C 12

D 10

分值: 1

答案:B

二维数组a,通过a[3][2]={0}将数组中的各个元素初始化为0,指针变量ptr,指

向包含2个元素的一维数组。a[0][0]=1,a[1][0]=2,故本题的输出选B。

55.

在多媒体计算机中,CD-ROM属于( )。

SSS_SINGLE_SEL

A 存储媒体

B 传输媒体

C 表现媒体

D 表示媒体

分值: 1

答案:A

56.

若有以下说明和定义

typedefint * INTEGER;

INTEGER p,* q;

以下叙述正确的是( )。

SSS_SINGLE_SEL

A p是int型变量

B p是基类型为int的指针变量

C q是基类型为int的指针变量

D 程序中可用INTEGER代替int类型名

分值: 1

答案:B

语句typedef int * INTEGER;定义了一个新类型名INTEGER,因此语句

INTEGERp,* q;就相当 于int * p,* * q;。

57.

有以下程序:

float fun(int x,int y)

{return(x+y);}

main( )

{ int a=2,b=5,c=8;

printf("%",fun( (int)fun(a+c,b),a-c) );

}

程序运行后的输出结果是( )。

SSS_SINGLE_SEL

A 编译出错

B 9

C 21

D 9

分值: 1

答案:B

对于float或double类型的实型数据可以用“整数1,整数2”的形式在指定

宽度(整数1)的同时 来指定小数位的位数(整数2)。

58.

有以下程序:

main()

{int m=12,n=34;

printf("%d%d",m++,++n);

printf("%d%dn",n++,++m);

}

程序运行后的输出结果是【 】。

SSS_SINGLE_SEL

A 12353514

B 12353513

C 12343514

D 12343513

分值: 1

答案:A

执行"printf("%d%d",m++,++n);"后,输出的是m和n+l的值1235,接着执行

"printf("%d%dn"n++,++m);"输出n和m+1的值3514。

59.

以下关于逻辑运算符两侧运算对象的叙述中正确的是【 】。

SSS_SINGLE_SEL

A 只能是整数0或1

B 只能是整数0或非0整数

C 可以是结构体类型的数据

D 可以是任意合法的表达式

分值: 1

答案:D

逻辑运算符两侧的运算对象可以是任意类型的数据。C语言最终以非0或O来

判定它ffj属于"真"(用l表示)或"假"(用0表示)。

60.

在32位计算机中,一个字长所占的字节数为( )。

SSS_SINGLE_SEL

A 1

B 2

C 4

D 8

分值: 1

答案:C

字长是指计算机能够同时处理的二进制数据的位数。

填空题(每空2分,共40分)

61.

有以下程序,其功能是:以二进制"写"方式打开文件,写入l-100这100

个整数后关闭文件。再以二进制"读"方式打开文件,将这100个整数读

入到另一个数组b中,并打印输出。请填空。

#include

main()

{FILE *fp;

int i,a[100],b[100];

fp=fopen("","wb");

for(i=O;i<100;i++), a[i]=i+1;

fwrite(a,sizeof(int),100,fp);

fclose(fp);

fp=fopen("",【 】);

fread(b ,sizeof(int),100,fp);

fclose(fp);

for(i=0;i<100;i++)prinff("%d\n",b[i]);

}

SSS_FILL

分值: 2

答案:"rb"

"rb"表示只读方式打开一个二进制文件。赋给p,这样循环,节点可以依次向后

取值。

62.

以下程序运行后的输出结果是【 】。

main( )

{ int x=15;

while(x>10 &&x<50)

{ x++;

if(x/3){ x++;break;}

else continue;

}

printf("%dn",x);

}

SSS_FILL

分值: 2

答案:17

63.

若有以下程序

main( )

{ char a;

a=''H''-''A''+''0'';

printf("%cn",a);

}

执行后输出结果是【 】。

SSS_FILL

正确 错误

分值: 2

答案:未知

64.

以下程序运行后的输出结果是【 】。

main( )

{ int x=1,y=0,a=0,b=0;

switch(x)

{case 1:switch(y)

{ case 0:a++; break;

case 1:b++; break;

}

case 2:a++;b++; break;

}

printf("%d %dn",a,b);

}

SSS_FILL

分值: 2

答案:2 1

65.

现有两个C程序文件T18.C和myfun.C同在TC系统目录(文件夹)下,其中

T18.C文件如下:

#include

#include"myfun.c"

main()

{fun();printf("\n");}

myfun.C文件如下:

void fun()

{char S[80],C;int n=0; while((C=getchar())!=''\

n'')S[n++]=c;

n--;

while(n>=0)prinff("%C",s[n-]);

}

当编译连接通过后,运行程序T18时,输入Thank!则输出结果是:

【 】。

SSS_FILL

分值: 2

答案:!knahT

此程序是一道次序颠倒题,即输入"Thank!",则输出"!knahT"。

66.

下面程序和运行运行结果是【 】。

typedef union student

{ char name [10];

long sno;

char sex;

float score [4];

} STU;

main ( )

{ STU a[5];

prinff( "% dn", sizeof(a) );

}

SSS_FILL

分值: 2

答案:80

67.

若有以下程序

int f(int x,int y)

{ return(y-x)*x; }

main( )

{ int a=3,b=4,c=5,d;

d=f(f(3,4),f(3,5));

printf("%dn",d);

}

执行后输出结果是【 】。

SSS_FILL

正确 错误

分值: 2

答案:未知

68.

以下程序的功能是;求出数组X中各相邻两个元素的和依次存放到a数组中,然

后输出。请填空。

main()

{int x[10],a[9],i;

for(i=O;i<10;i++)scanf("%d",&x[i]);

for(【 】;i<10;i++)

a[i-1]=X[i]+【 】;

for(i=O;i<9;i++)printf("%d",a[i]);

printf("");

}

SSS_FILL

分值: 2

答案:i=1,x[i-1]

对于l0个数,相临的两个数相加取和,总共要进行9次加法运算。所以空14处

应填入i-1。相临的两个数相加取和,放在数组a中,x[0]与x[1]的和存放在

a[0]中。所以空15处应填入x[i-1]。

69.

按"先进后出"原则组织数据的数据结构是【 】。

SSS_FILL

分值: 2

答案:栈

栈是限定只在一端进行插入和删除操作的线性表,通常称插入、删除的这一端为

栈顶,另一端为栈底。栈按照"先进后出"或"后进先出"的原则组织数据。

70.

假设在当前盘当前目录下有一个可执行程序。现要执行该程序,并要

求在执行过程中将显示输出的结果信息存入当前盘当前目录的文件

中,则完整的DOS命令为【 】。

SSS_FILL

分值: 2

答案:USER>

71.

以下程序运行后的输出结果是【 】。

main( )

{ int a

[4][4]={{1,2,3,4},{5,6,7,8},{11,12,13,14},{15,16,17,18}};

int i=0,j=0,s=0;

while(i++<4)

{

if(i==2||i==4) continue;

j=0;

do{ s+= a[j]; j++; } while(j<4);

}

printf("%dn",s);

}

SSS_FILL

分值: 2

答案:92

72.

假设在当前盘的当前目录下有两个文件和,现要将文件合

并连接到文件的后面。若使用TYPE命令,则完整的命令为【 】。

SSS_FILL

分值: 2

答案:TYPE >>

73.

以下程序用于判断a、b、c能否构成三角形,若能,输出YES,否则输出NO。当给

a、b、c输入三角形三条边长时,确定a、b、c能构成三角形的条件是需同时满

足三个条件:a+b>c,a+c>b,b+c>a。请填空。

main()

{float a,b,C;

scanf("%f%f%f",&a,&b,&c);

if(【 】)printf("YES\n");/*a、b、C能构成三角形*/

else printf("NO\n");/*a、b、C不能构成三角形*/

}

SSS_FILL

分值: 2

答案:(a+b>c)&&(a+c>b)&&(b+c>a)

三角形的条件是两边之和大于第三边。要用"&&"指令连接三个条件,表示三个条

件都要满足。

74.

以下程序运行后的输出结果是【 】。

struct NODE

{int num;struct NODE *next;

};

main()

{struct NODE s[3]={{1,''0''},{2,''0''},{3,''0''}},*p,*q,*r;

int sum=0;

s[0].next=s+1;s[1].next=s+2;s[2].next=s;

p=s; q=p->next; r=q->next;

sum+=q->next->num; sum+=r->next->next->num;

printf("%dn",sum);

}

SSS_FILL

正确 错误

分值: 2

答案:未知

程序通过语句"s[0].next=s+1;s[1].next=s+2;s[2].next=s;"将结构体变量

s中各结点链接成了一个循环链表,即最后一个结点的指针域指向了头结点

(s[2].next=s;),整个链表形成一个环,并通过语句"p=s;q=p->next;r=q->

next;"将结构体指针变量p、q、r指向了各结点,具体结构如下图:故本题输

出的sum=3+2=5。

75.

已有定义double *p;,请写出完整的语句,利用malloc函数使p指向一个双

精度型的动态存储单元【 】。

SSS_FILL

分值: 2

答案:p=(double*)malloc(sizeof(double))

malloc函数的作用是在内存开辟指定大小的存储空间,并将此存储空间的地址

作为函数值带回,它的原型为void* malloc(unsigned int size),函数值为指

针,这个指针是指向void类型,如果要将此返回地址赋给一个指向特定类型的指

针变量,则应进行强制类型转换,如本题答案中是用强制类型转换的方法使指针

p的基类型改变为double类型。

76.

计算机软件分为系统软件与应用软件,UNIX属于【 】。

SSS_FILL

分值: 2

答案:系统软件

77.

以下程序运行后的输出结果是【 】。

main( )

{ char a[ ]="123456789",*p; int i=0;

p=a;

while(*p)

{ if(i%2==0) *p=''*'';

p++;i++;

}

puts(a);

}

SSS_FILL

分值: 2

答案:*2*4*6*8*

78.

以下程序的功能是:利用指针指向三个整型变量,并通过指针运算找出三个数中

的最大值,输出到屏幕上。请填空。

main( )

{int x,Y,z,max,* px,*PY,*pz,*pmax;

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

px=&x;PY=&y;pz=&z;pmax=&max;

【 】;

if(*pmax<,* PY)* pmax=*PY;

if(*pmax<*pz)*pmax=*pz;

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

}

SSS_FILL

分值: 2

答案:*pmax=*px

首先将变量x的值放到max中,然后依次和变量y、z进行比较。若有比max大

的数,将该数存放到max中,这样最后在max中的值就是x、y、z中的最大值。

79.

以下程序运行后的输出结果是【 】。

fun(int a)

{int b=0;static int c=3;

b++;c++;

return(a+b+c);

}

main()

{int i,a=5;

for(i=0;i<3;i++)printf("%d%d",i,fun(a));

printf("n");

}

SSS_FILL

分值: 2

答案:010111212

静态局部变量是在编译时赋初值的,在程序运行时它已有初值。

80.

以下程序运行后的输出结果是【 】。

main ( )

{ char a[]="Language",b[]="Programe";

char *p1,*p2; int k;

p1=a; p2=b;

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

if(*p1+k)==*(p2+k)} printf("%c",*(p1+k));

}

SSS_FILL

分值: 2

答案:gae

1


本文标签: 函数 输出 数据 变量 结果