样题4.docx

上传人:b****5 文档编号:29045393 上传时间:2023-07-20 格式:DOCX 页数:21 大小:23.87KB
下载 相关 举报
样题4.docx_第1页
第1页 / 共21页
样题4.docx_第2页
第2页 / 共21页
样题4.docx_第3页
第3页 / 共21页
样题4.docx_第4页
第4页 / 共21页
样题4.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

样题4.docx

《样题4.docx》由会员分享,可在线阅读,更多相关《样题4.docx(21页珍藏版)》请在冰豆网上搜索。

样题4.docx

样题4

样题4

一、选择题(每题1分,共40分)

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

A)自顶向下

B)逐步求精

C)模块法

D)客复用

2.两个或两个以上模块之间关联的紧密程度称为﹍﹍。

A)耦合度

B)内聚度

C)复杂度

D)数据传输特性

3.下列叙述中正确的是﹍﹍。

A)软件测试应该由程序开发者来完成

B)程序经调试后一般不需要再测试

C)软件维护只包括对程序代码的维护

D)以上三种的说法都不对

4.按照“后进先出”原则组织数据的数据结构是﹍﹍。

A)队列

B)栈

C)双向链表

D)二叉树

5.下列叙述中正确的是﹍﹍。

A)现行链表是线性表的链式存储结构

B)栈与队列是非线性结构

C)双向链表是非线性结构

D)只有根结点的二叉树是线性结构

6.对如下二叉树:

ABCDEF

进行后续遍历的结果为﹍﹍。

A)ABCDEF

B)DBEAFC

C)ABDECF

D)DEBFCA

7.在深度为7的满二叉树中,叶子结点的个数为﹍﹍。

A)32

B)31

C)64

D)63

8.“商品”与“顾客”两个实体集之间的联系一般是﹍﹍。

A)一对一

B)一对多

C)多对一

D)多对多

9.在E-R图中,用来表示实体的图形是﹍﹍。

A)矩形

B)椭圆形

C)菱形

D)三角形

10.数据DB、数据库系统DBS、数据库管理系统DBMS之间的关系是﹍﹍。

A)DB包含DBS和DBMS

B)DBMS包含DB和DBS

C)DBS包含DB和DBMS

D)没有任何关系

11.以下不合法的用户标示符是﹍﹍。

A)j2_KEY

B)Double

C)4d

D)_8_

12.以下不合法的数值常量是﹍﹍。

A)01

B)lel

C)8.0E0.5

D)0xabcd

13.以下不合法的字符常量是﹍﹍。

A)‘\018’

B)‘\“’

C)‘\\’

D)‘\xcc’

14.表达示3.63-5/2+1.2+5%2的值是﹍﹍。

A)4.3

B)4.8

C)3.3

D)3.8

15.以下能正确定义字符串的语句是﹍﹍。

A)charstr[]={‘\064’}

B)charstr[]=”kx43”

C)charstr[]=”;

D)charstr[]=”\0”

16.以下数组定义中错误的是﹍﹍。

A)intx[][3]={0};

B)intx[2][3]={{1,2},{3,4},{5,6}};

C)intx[][3]={{1,2,3},{4,5,6}};

D)intx[2][3]={1,2,3,4,5,6};

17.若要求从键盘读入含有空格字符的字符串,应使用函数﹍﹍。

A)getc()

B)gets()

C)getchar()

D)scanf()

18.以下四个程序中,完全正确的是﹍﹍。

A)#include

main();

{/*programming*/

printf(“programming!

\n”);}

B)#include

main()

{/*/programming/*/

printf(“programming!

\n”);}

C)#include

main()

{/*/*programming*/*/

printf(“programming!

\n”);}

D)include

main()

{/*programming*/

printf(“programming!

\n”);}

19.若有定义:

floatx=1.5;inta=1,b=3,c=2;则正确的switch语句是﹍﹍。

A)switch(x)

{case1.0:

printf(“*\n”);

case2.0:

printf(“**\n”);}

B)switch(int(x))

{case1:

printf(“*\n”);

case2:

printf(“**\n”);}

C)switch(a+b)

{case1:

printf(“*\n”);

case2+1:

printf(“**\n”);}

D)switch(a+b)

{case1:

printf(“*\n”);

casec:

printf(“**\n”);}

20.若个选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值,以下选项中错误的程序是﹍﹍。

A)main()

{……x=fun(2,10);……}

floatfun(inta,intb){……}

B)floatfun(inta,intb){……}

main()

{……x=fun(i,j);……}

C)floatfun(int,int);

main()

{……x=fun(2,10);……}

floatfun(inta,intb);{……}

D)main()

{floatfun(inti,intj);

……x=fun(i,j);……}

floatfun(inta,intb){……}

21.在以下给出的表达式中,与while(E)中的(E)不等价的表达式是﹍﹍。

A)(!

E==0)

B)(E>0||E<0)

C)(E==0)

D)(E!

=0)

22.要求通过while循环不断读入字符,当读入字母N时结束循环。

若变量已正确定义,以下正确的程序是﹍﹍。

A)while((ch=getchar())!

=’N’)printf(“%c”,ch);

B)while(ch=getchar()!

=’N’)printf(“%c”,ch);

C)while(ch=getchar()==’N’)printf(“%c”,ch);

D)while((ch=getchar())==’N’)printf(“%c”,ch);

23.已定义以下函数:

intfun(int*p)

{return*p;}

fun函数返回值是﹍﹍。

A)不确定的值

B)一个整数

C)形参p中存放的值

D)形参p的地址值

24.若有说明语句:

double*p,a:

则能通过scanf语句正确给输入项读入数据的程序段是﹍﹍。

A)*p=&a;scanf(“%1f”,p);

B)*p=&a;scanf(“%f”,p);

C)p=&a;scanf(“%1f”,*p);

D)p=&a;scanf(“%1f”,p);

25.下面有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向一个链表中来女婿的三个结点。

structnode

{

chardata;

structnode*next;

}*p,*q,*r;

现要将q和r所指结点交换位置,同时要保持链表的连续,以下不能完成此操作的语句是﹍﹍。

A)q->next=r->next;p->next=r;r->next=q;

B)p->next=r;q->next=r->next;r->next=q;

C)q->next=r->next;r->next=q;p->next=r;

D)r->next=q;p->next=r;q->next=r->next;

26.有以下程序段:

Structst

{

intx;int*y;

}

*pt;

inta[]={1,2},b[]={3,4};

struststc[]={10,a,20,b};

pt=c;

以下选项中表达式的值为11的是﹍﹍。

A)*pt->y

B)pt->x

C)++pt->x

D)(pt++)->x

27.设fp为指向某二进制文件的指针,且已读到此文件的末尾,则函数feof(fp)的返回值为﹍﹍。

A)EOF

B)非0值

C)0

D)NULL

28.设有以下语句:

Inta=1,b=2,c;

c=a^(b<<2);

执行后,C的值为-———。

A)6B)7C)8D)9

29.有以下语句:

#include

main()

{

charc1,c2,c3,c4,c5,c6;

scanf(“%c%c%c%c”,&c1,&c2,&c3,&c4);

c5=getchar();

c6=getchar();

putchar(c1);

putchar(c2);

printf(“%c%c\n”,c5,c6);

}

程序运行后,若从键盘输入(从第1列开始)

123<回车>

45678<回车>

则输出的结果是﹍﹍。

 A)1267

B)1256

C)1278

D)1245

30.有以下程序:

main()

{

inty=10;

while(y--);

printf(“y=%d\n”,y);

}

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

A)y=0

B)y=-1

C)y=1

D)while构成无限循环

31.有以下程序:

main()

{

inta=0,b=0,c=0,d=0;

if(a=1)b=1;

c=2;

elsed=3;

printf(“%d,%d,%d,%d\n”,a,b,c,d);

}

程序输出﹍﹍。

A)0,1,2,0

B)0,0,0,3

C)1,1,2,0

D)编译有错

32.有以下程序:

main()

{

inti,j,x=0;

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

{

x++;

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

{

if(j%2)

continue;

x++;

}

x++;

}

printf(“x=%d\n”,x);

}

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

A)x=4

B)x=8

C)x=6

D)x=12

33.有一些下程序:

intfun1(doublea){

returna=*a;

}

intfun2(doublex,doubley)

{

doublea=0,b=0;

a=fun1(x);

b=fun1(y);

return(int)(a+b);

}

main()

{

doublew;

w=fun2(1,1,2.0);

******

}

程序执行后变量w中的值是﹍﹍。

A)5.21

B)5

C)5.0

D)0.0

34.有以下程序:

main()

{

inti,t[][3]={9,8,7,6,5,4,3,2,1};

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

printf(“%d”,t[2-i][i]);

}

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

A)753

B)357

C)369

D)751

35.有以下程序:

fun(charp[][10])

{

intn=0,i;

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

if(p[i][0]==’T’)

n++;

returnn;

}

main()

{

charstr[][10]={“Mon”,’’Tue”,”Wed”,”Thu”,”Fri”,”Sat”,”Sun”};

printf(“%d\n”,fun(str));

}

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

A)1

B)2

C)3

D)0

36.有以下程序:

main()

{

inti,s=0,t[]={1,2,3,4,5,6,7,8,9};

for(i=0;i<9;i+=2)s+=*(t+i);

printf(“%d\n”,s);

}

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

A)45

B)20

C)25

D)36

37.有以下程序:

voidfun1(char*p)

{

char*q;

q=p;

while(*q!

=’\0’)

{

(*q)++;

q++;

}

}

main()

{

chara[]={“Program”},*p;

p=&a[3];

fun1(p);

printf(“%s\n”,a);

}

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

A)Prohsbn

B)Prphsbn

C)Progsbn

D)program

38.有以下程序:

voidswap(char*x,char*y)

{

chart;

t=*x;

*x=*y;

*y=t;

}

main()

{

char*s1=”abc”,*s2=”123”;

swap(s1,s2)

printf(“%s,%s\n”,s1,s2);

}

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

A)123,abc

B)abc,123

C)1bc,a23

D)321,cba

39.有以下程序:

intfun(intn)

{

if(n==1)return1;

else

return(n+fun(n-1));

}

main()

{

intx;

scanf(“%d”,&x);

x=fun(x);

printf(“%d\n”,x);

}

执行程序时,给变量x输入10,程序的输出结果是﹍﹍。

A)55

B)54

C)65

D)45

40.有以下程序:

intfun(intx[],intn)

{

staticintsum=0,i;

for(i=0;i

sum+=x[i];

returnsum;

}

main()

{

inta[]={1,2,3,4,5},b[]={6,7,8,9},s=0;

s=fun(a,5)+fun(b,4);

printf(“%d\n”,s);

}

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

A)45

B)50

C)60

D)55

二、程序填空题(18分)

下列给定程序中,函数fun()的功能是:

有N×N矩阵,将矩阵的外围元素顺时针旋转。

操作顺序是:

首先将第一行元素的值存入临时数组r,然后使第一列成为第一行,最后一行成为第一列,最后一列称为最后一行,临时数组中的元素成为最后一列。

例如,若N=3,有下列矩阵:

123

456

789

计算结果为

741

852

963

注意:

部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达示或语句。

试题程序:

#include

#ddefineN4

voidfun(int(*t)[N])

{

intj,r[N];

for(j=0;j

r[j]=t[0][j];

for(j=0;j

/**********found**********/

t[0][N-j-1]=t[j][【1】];

for(j=0;j

t[j][0]=t[N-1][j];

/**********found**********/

for(j=N-1;j>=0;【2】)

t[N-1][N-1-j]=t[j][N-1];

for(j=N-1;j>=0;j--)

/**********found**********/

t[j][N-1]=r[【3】];

}

main()

{

intt[][N]={2,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10},i,j;

printf(“\nTheoriginalarray:

\n”);

for(i=0;i

{

for(j=0;j

printf(“%2d”,t[i][j]);

printf(“\n”);

}

fun(t);

printf(“\nTheresultis:

\n”);

for(i=0;i

{

for(j=0;j

printf(“%2d”,t[i][j]);

printf(“\n”);

}

}

三、程序修改题(18分)

下列给定程序中,函数fun()的功能是:

计算

=f(0)×f(0)+f

(1)×f

(1)+f

(2)×f

(2)+…+f(n)×f(n)的值。

f(n)函数定义如下:

F(n)=(n-1)×(n+1)

当n=3时,

=10。

请改正程序中的错误,使它能得到正确结果。

注意:

不要改动main函数,不得增行或删行,也不得更改程序的结构。

试题程序:

#include

#include

/************found***********/

f(intx)

{

return(x-1)/(x+1);

}

Intfun(intn)

{

Inti=0,sum=0;

/**********found**********/

For(i=1;i

Sum+=f(i);

}

main()

{

printf(“%f\n”,fun(3));

}

四、程序修改题(24分)

编写函数fun(),它的功能是计算:

s=

s作为函数返回值。

在C语言中客调用

㏒函数的引用说明是double㏒(doublex)

例如,若m的值是20,fun函数值为6.506583.

请勿改动主函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

试题程序:

#include

#include

doublefun(intm)

{

}

main()

{

printf(“%f\n”,fun(20));

}

 

 

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 面试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1