国二题库

更新时间:2024-04-16 18:15:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第四套

1.下列数据结构中,属于非线性结构的是( A) 循环队列 B) 带链队列 C) 二叉树 D) 带链栈

2.下列数据结构中,能够按照\先进后出\原则存取数据的是( A) 循环队列 B) 栈 C) 队列 D) 二叉树

3.对于循环队列,下列叙述中正确的是( A) 队头指针是固定不变的 B) 队头指针一定大于队尾指针 C) 队头指针一定小于队尾指针

D) 队头指针可以大于队尾指针,也可以小于队尾指针

4.算法的空间复杂度是指( A )。 A) 算法在执行过程中所需要的计算机存储空间 B) 算法所处理的数据量

C) 算法程序中的语句或指令条数

D) 算法在执行过程中所需要的临时工作单元数

5.软件设计中划分模块的一个准则是( A) 低内聚低耦合 B) 高内聚低耦合 C) 低内聚高耦合

D) 高内聚高耦合

6.下列选项中不属于结构化程序设计原则的是( A) 可封装 B) 自顶向下 C) 模块化 D) 逐步求精

C )。

B )。

D)。

B )。

A )。

7.软件详细设计生产的图如下: 该图是( C )

A) N-S图 B) PAD图 C) 程序流程图

D) E-R图

8.数据库管理系统是( A) 操作系统的一部分

B) 在操作系统支持下的系统软件 C) 一种编译系统

D) 一种操作系统

9.在E-R图中,用来表示实体联系的图形是( A) 椭圆形 B) 矩形 C) 菱形 D) 三角形

B )。

C)。

10.有三个关系R、S和T如下:

则关系T是由关系R和S通过某种操作得到,该操作为( D )。

A) 选择 B) 投影 C) 交 D) 并

11.计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是

( A )。

A) C语言程序仅可以编译执行 B) C语言程序仅可以解释执行

C) C语言程序既可以编译执行又可以解释执行 D) 以上说法都不对

12.以下叙述中错误的是( A )。 A) 用户所定义的标识符允许使用关键字

B) 用户所定义的标识符应尽量做到\见名识意\

C) 用户所定义的标识符中,大、小写字母代表不同标识 D) 用户所定义的标识符必须以字母或下划线开头

13.若有说明语句:char c='\\72';则变量c( A) 包含1个字符 B) 包含2个字符 C) 包含3个字符

D) 说明不合法,c的值不确定

14.现有定义int a;double b;float c;char k;,则表达式a/b+c-k值的类型为(B A) int B) double C) float

A )。

)。

D) char

15.以下定义语句中正确的是( A) int a=b=0;

B) char A=65+1,b=′b′; C) float a=1,*b=&a,*c=&b;

D) double a=0.0;b=1.1

16.若在定义语句int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行

B )。

的语句是(D )。

A) scanf(\,a,b,c);

B) scanf(\,a,b,c); C) scanf(\, &p); D) scanf(\, p);

17.以下程序的运行结果是( B )。 int k=0; void fun(int m)

{ m+=k;k+=m;printf(\=%d k=%d \,m,k++);} main()

{ int i=4;

fun(i++); printf(\=%d k=%d\\n\,i,k); }

A) m=4 k=5 i=5 k=5 B) m=4 k=4 i=5 k=5 C) m=4 k=4 i=4 k=5 D) m=4 k=5 i=4 k=5

18.在执行下述程序时,若从键盘输入6和8,则结果为(B)。 main()

{ int a,b,s;

scanf(\,&a,&b); s=a ; if(a

printf(\,s); } A) 36 B) 64 C) 48

D) 以上都不对

19.有以下程序: main()

{ int k=5,n=0; while(k>0) { switch(k) { default : break; case 1 : n+=k; case 2 :

case 3 : n+=k; }

k--;

}

printf(\,n); }

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

A) 0 B) 4 C) 6 D) 7

20.有以下程序:

#include main() { int x; scanf(\,& x); if(x<=3); else

if(x!=10) printf(\,x); }

程序运行时,输入的值在哪个范围才会有输出结果( B )。 A) 不等于10的整数

B) 大于3且不等10的整数 C) 大于3或等于10的整数 D) 小于3的整数

21.有以下程序: #include

main(){ int a=1,b=0; printf(\,\,b=a+b); printf(\,a=2*b)}

程序运行后的输出结果是( D )。 A) 0,0 B) 1,0 C) 3,2 D) 1,2

22.有以下程序:

main(){ int num[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},i,j; for(i=0;i<4;i++) { for(j=0;j<=i;j++)printf(\, ' '); for(j= ;j<4;j++)printf(\,num[i][j]); printf(\; } }

若要按以下形式输出数组右上半三角 1 2 3 4 6 7 8 11 12 16

则在程序下划线处应填入的语句是( C )。 A) i-1 B) i+1 C) i D) 4-i

23.以下程序段中,与语句:k=a>b?(b>c?1:0):0;功能相同的是( A) if((a>b)&&(b>c))k=1;

A)。

else k=0;

B) if((a>b)‖(b>c))k=1; else k=0;

C) if(a<=b)k=0; else if(b<=c)k=1;

D) if(a>b)k=1; else if(b>c) k=1; else k=0;

24.有以下程序:

void ss(char *s,char t) { while(*s)

{ if(*s==t)*s=t-a+A; s++; } } main()

{ char str1[100]=\,c=d; ss(str1,c); printf(\,str1);} 程序运行后的输出结果是(B )。 A) ABCDDEFEDBD B) abcDDfefDbD C) abcAAfefAbA D) Abcddfefdbd

25.现有如下程序段:

#include \main()

{ int k[30]={12,324,45,6,768,98,21,34,453,456}; int count=0,i=0; while(k[i])

{ if(k[i]%2==0||k[i]%5==0)count++; i++; }

printf(\,%d\\n\,count,i);} 则程序段的输出结果为( D )。 A) 7,8 B) 8,8 C) 7,10 D) 8,10

26.以下程序运行后的输出结果是(

D )。

#include

void f(char *s,char *t){ char k; k=*s; *s=*t; *t=k;

s++;t--;

if(*s)f(s,t); }

main(){ char str[10]=\,*p; p=str+strlen(str)/2+1; f(p,p-2);

printf(\,str); }

A) eelcomw B) weoclme C) welcome D) emoclew

27.设有如下程序段: int x=2004,y=2008; printf(\,(x,y));

则以下叙述中正确的是 B A) 输出值为2004 B) 输出值为2008

C) 运行时产生出错信息

D) 输出语句中格式说明符的个数少于输出项的个数,不能正确输出

28.有以下程序:

#include

void fun(char*c,int d){ *c=*c+1;d=d+1; printf(\,%c,\,*c,d); }

main(){ char b=a,a=A;

fun(&b,a); printf(\,%c\\n\,b,a); }

程序运行后的输出结果是( A )。 A) b,B,b,A B) b,B,B,A C) a,B,B,a D) a,B,a,B

29.有以下程序: #include #include

main(){ char a[10]=\;

printf(\,%d\\n\,strlen(a),sizeof(a)); }

程序运行后的输出结果是( B )。 A) 7,4 B) 4,10 C) 8,8 D) 10,10

30.若有定义int

a[2][3];,则对a数组的第i行第j列(假设i,j已正确说明并赋值)元素值的正确

引用为( A )。

A) *(*(a+i)+j)

B) (a+i)[j] C) *(a+i+j) D) *(a+i)+j

31.有以下程序:

#include main()

{ char c1,c2,c3,c4,c5,c6;

scanf(\,&c1,&c2,&c3,&c4); c5=getchar(); c6=getchar(); putchar(c1);putchar(c2); printf(\,c5,c6); }

程序运行后,若从键盘输入(从第1列开始) 123<回车> 45678<回车>

则输出结果是( D ) A) 1267 B) 1256 C) 1278 D) 1245

32.以下程序的运行结果是(

D )。

#include int a=1;

int f(int c){ static int a=2; c=c+1;

return(a++)+c;} main(){ int i,k=0;

for(i=0;i<2;i++){int a=3;k+=f(a);} k+=a;

printf(\,k); } A) 17 B) 16 C) 15 D) 14

33.设有定义:int

n1=0,n2,*p=&n2,*q=&n1;,以下赋值语句中与n2=n1;语句等价

的是( A )。

A) *p=*q; B) p=q;

C) *p=&n1; D) p=*q;

34.设有如下说明:

typedef struct ST { long a; int b; char c[2];

}NEW;

以下说法正确的是( B )。 A) NEW是一个结构体变量 B) NEW是一个结构体类型 C) ST是一个结构体类型 D) 以上说明形式非法

35.有以下程序:

#include #include

typedef struct{ char name[9]; char sex; float score[2]; }STU; void f(STU a)

{ STU b={\,'m',85.0,90.0}; int i; strcpy(a.name,b.name); a.sex=b.sex;

for(i=0;i<2;i++) a.score[i]=b.score[i]; }

main()

{ STU c={\,' f ',95.0,92.0}; f(c);

printf(\,%c,%2.0f,%2.0f\\n\,c.name,c.sex,c.score[0],c.score[1]); }

程序的运行结果是( A )。 A) Qian,f,95,92 B) Qian,m,85,90 C) Zhao,f,95,92 D) Zhao,m,85,90

36.有以下程序: #include #define N 4

void fun(int a[][N],int b[]){ int i; for(i=0;i

main(){ int x[][N]={{1,2,3},{4},{5,6,7,8},{9,10}},y[N],i; fun(x,y);

for(i=0;i

程序的运行结果是( B )。 A) 1,2,3,4, B) 1,0,7,0, C) 1,4,5,9, D) 3,4,8,10,

37.有以下程序:

#include

int fun(int x,int y){ if(x!=y)return((x+y)/2); else return(x); }

main(){ int a=4,b=5,c=6; printf(\,fun(2*a,fun(b,c))); }

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

A) 3 B) 6 C) 8 D) 12

38.若x是int型变量,且有下面的程序片段:

for(x=3;x<6;x++) printf((x%2)?(\:(\,x); 上面程序片段的输出结果是( B )。 A) **3 ##4 **5

B) ##3 **4 ##5 C) ##3 **4##5 D) **3##4 **5

39.有以下程序:

#include #define N 5 #define M N+1 #define f(x)(x*M) main()

{ int i1,i2; i1=f(2); i2=f(1+1);

printf(\,i1,i2); }

程序的运行结果是( B )。 A) 12 12 B) 11 7 C) 11 11 D) 12 7

40.有以下程序:

#include

main(){ unsigned char a=8,c; c=a>>3;

printf(\,c); }

程序运行后的输出结果是( C )。 A) 32 B) 16

C) 1 D) 0

第五套

B )。

A) 线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的 B) 线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构 C) 线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构

D) 线性表的链式存储结构与顺序存储结构在存储空间的需求上没有可比性

2.下列叙述中正确的是( D )。 A) 栈是一种先进先出的线性表 B) 队列是一种后进先出的线性表 C) 栈与队列都是非线性结构 D) 以上三种说法都不对

3.软件测试的目的是( A) 评估软件可靠性

B) 发现并改正程序中的错误 C) 改正程序中的错误

D) 发现程序中的错误

4.在软件开发中,需求分析阶段产生的主要文档是( A) 软件集成测试计划 B) 软件详细设计说明书 C) 用户手册

D) 软件需求规格说明书

1.下列叙述中正确的是(

D )。

D )。

A )。

A) 软件产品从提出、实现、使用维护到停止使用退役的过程 B) 软件从需求分析、设计、实现到测试完成的过程 C) 软件的开发过程

D) 软件的运行维护过程

6.面向对象方法中,继承是指( A) 一组对象所具有的相似性质 B) 一个对象具有另一个对象的性质 C) 各对象之间的共同性质 D) 类之间共享属性和操作的机制

7.层次型、网状型和关系型数据库划分原则是( A) 记录长度 B) 文件的大小 C) 联系的复杂程度

D) 数据之间的联系方式

8.一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实

5.软件生命周期是指(

D )。

D )。

体计算机之间的联系是( C )。

A) 一对一 B) 一对多 C) 多对多

D) 多对一

9.数据库设计中反映用户对数据要求的模式是( C )。

A) 内模式 B) 概念模式 C) 外模式 D) 设计模式

10.有三个关系R、S和T如下:

则由关系R和S得到关系T的操作是( B )。

A) 自然连接 B) 差 C) 交 D) 并

11.以下叙述中错误的是(

B )。

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

B) 使用三种基本结构构成的程序只能解决简单问题 C) 结构化程序设计提倡模块化的设计方法

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

12.下面四个选项中,均是不合法的用户标识符的选项是(A A) c-b goto int B) A P 0 do C) float la0 A

D) 123 temp goto

13.以下选项中值为1的表达式是( B )。

A) B) C)

D)

14.已知各变量的类型说明如下:

int k,a,b;

unsigned long w=5; double x=1.42;

则以下不符合C语言语法的表达式是( A )。

)。

A) x%(-3) B) w+=-2

C) k=(a=2,b=3,a+b) D) a+=a-=(b=4)*(a=3)

15.设变量x为float型且已赋值,则以下语句能将x中的数值保留到小数点后两位,并将第3位四舍

五入的是( B )。

A) x=(x*100+0.5)/100.0 B) x=(int)(x*100+0.5)/100.0 C) x=x*100+0.5/100.0 D) x=(x/100+0.5)*100.0

16.以下程序运行后的输出结果是( D )。

main(){

int i=1,j=2,k=3;

if(i++==1&&(++j==3||k++==3)); printf(\%d %d %d\\n\,i,j,k); } A) 1 2 3 B) 2 3 4 C) 2 2 3 D) 2 3 3

17.当变量c的值不为2、4、6时,值也为\真\的表达式是( B )。 A) (c==2)||(c==4)||(c==6)

B) (c>=2&& c<=6)||(c!=3)||(c!=5) C) (c>=2&&c<=6)&&!(c%2)

D) (c>=2&& c<=6)&&(c%2!=1)

18.设变量均已正确定义,若要通过scanf(\,&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。以下所示的输入形式中正确的是(注:□代表空格字符)( D )。

A) 10□X□20□Y<回车> B) 10□X20□Y<回车> C) 10□X<回车> 20□Y<回车> D) 10X<回车> 20Y<回车>

19.设有定义:int k=1,m=2;float f=7;,则以下选项中错误的表达式是( C )。 A) k=k>=k B) -k++ C) k%int(f) D) k>=f>=m

20.有以下程序:

#include main()

{ int i,j,m=55; for(i=1;i<=3;i++)

for(j=3;j<=i;j++)m=m%j; printf(\,m); }

程序的运行结果是( B )。

A) 0 B) 1 C) 2 D) 3

21.有定义语句:char s[10];,若要从终端给s输入5个字符,错误的输入语句是( B )。

A) gets(&s[0]); B) scanf(\,s[1]); C) gets(s);

D) scanf(\,s+1);

22.下面函数调用语句含有实参的个数为( B )。

func((exp1,exp2)(exp3,exp4,exp5));

A) 1 B) 2 C) 4 D) 5

23.有以下程序:

void sort(int a[],int n){ int i,j,t;

for(i=0;imain()

{ int aa[10]={1,2,3,4,5,6,7,8,9,10},i; sort(aa+2, 5);

for(i=0;i<10;i++)printf(\,\,aa[i]); printf(\; }

程序运行后的输出结果是( C )。 A) 1,2 ,3,4,5 ,6,7,8 ,9,10, B) 1,2 ,7,6,3 ,4,5,8 ,9,10, C) 1,2 ,7,6,5 ,4,3,8 ,9,10, D) 1,2 ,9,8,7 ,6,5,4 ,3,10,

24.设变量已正确定义并赋值,以下正确的表达式是( C )。 A) x=y*5=x+z B) int(15.8%5)

C) x=y+z+5,++y D) x=25%5.0

25.有以下程序:

#include

void fun(int a,int b){ int t; t=a; a=b; b=t; }

main(){ int c[10]={1,2,3,4,5,6,7,8,9,0},i; for(i=0;i<10;i+=2) fun(c[i],c[i+1]); for(i=0;i<10;i++) printf(\,\,c[i]); printf(\; }

程序的运行结果是( A )。

a[i]=a[j];a[j]=t; } A) 1,2,3,4,5,6,7,8,9,0, B) 2,1,4,3,6,5,8,7,0,9, C) 0,9,8,7,6,5,4,3,2,1, D) 0,1,2,3,4,5,6,7,8,9,

26.设有如下程序段:

char s[20]=\beijing\,*p; p=s;

则执行p=s;语句后,以下叙述中正确的是( A )。 A) 可以用*p表示s[0]

B) s数组中元素的个数和p所指字符串长度相等 C) s和p都是指针变量

D) 数组s中的内容和指针变量p中的内容相等

27.有以下程序:

#include

void fun(int p){ int d=2;

p=d++; printf(\,p);} main(){ int a=1;

fun(a);printf(\,a);} 程序运行后的输出结果是( C )。

A) 32 B) 12 C) 21 D) 22

28.以下程序的输出结果是(

B )。

fun(char p[][10]){int n=0,i;

for(i=0;i<7;i++)if(p[i][0]==T)n++; return n; }

main(){char str[][10]={\Mon\,\Tue\,\Wed\,\Thu\,\Fri\,\Sat\,\Sun\}; printf(\%d\\n\,fun(str)); }

A) 1 B) 2 C) 3 D) 0

29.下面程序由两个源程序文件t4.h和t4.c组成,程序编译运行的结果是(

B )。

t4.h的源程序为: #define N 10

#define f2(x)(x*N)t4.c的源程序为: #include #define M 8

#define f(x)((x)*M)#include \t4.h\ main(){ int i,j;

i=f(1+1);j=f2(1+1) printf(\%d%d\\n\,i,j);

}

A) 920 B) 1611 C) 911 D) 1610

30.下面的程序段运行后,输出结果是(

B )。

int i,j,x=0; static int a[8][8]; for(i=0;i<3;i++) for(j=0;j<3;j++) a[i][j]=2]

for(i=0;i<8;i++) x+=a[i][j]; printf(\,x);

A) 9 B) 0

C) 不确定值 D) 18

31.有以下程序:

#include int f(int n);

main(){ int a=3,s;

s=f(a);s=s+f(a);printf(\%d\\n\,s); }

int f(int n){ static int a=1; n+=a++; return n; }

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

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

32.有以下程序:

#include main(){

int c=0,k;

for(k=1;k<3;k++) switch(k) { default:case 2:c++;break; case 4:c+=2;break; }

printf(\,c); }

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

A) 9 B) 7 C) 5 D) 3

33.有以下程序:

c+=k;

#include struct ord

{ int x,y;}dt[2]={11,12,13,14}; main(){

struct ord*p=dt;

printf(\,\,++(p->x));printf(\,++(p->y)); }

程序运行后的输出结果是( B )。 A) 11,12 B) 12,13 C) 13,14 D) 14,1l

34.有以下程序:

#define f(x)(x*x)main() { int i1,i2;

i1=f(8)/f(4); i2=f(4+4)/f(2+2); printf(\,%d\\n\,i1,i2); }

程序运行后的输出结果是( C )。 A) 64, 28 B) 4,4 C) 4,3

D) 64, 64

35.设有以下说明语句:

struct ex

{ int x ; float y; char z ;} example; 则下面的叙述中不正确的是( B )。 A) struct结构体类型的关键字 B) example是结构体类型名 C) x,y,z都是结构体成员名 D) struct ex是结构体类型名

36.有以下程序:

int fun1(double a){return (int)(a*=a);} int fun2(double x,double y) {double a=0,b=0;

a=fun1(x);b=fun1(y);return(int)(a+b); }

main()

{double w;w=fun2(1.1,2.0);…} 程序执行后变量w中的值是( C )。 A) 5.21 B) 5 C) 5.0 D) 0.0

37.有以下程序:

#include #include

main(){ char str[][20]={\,\!\,*p=str[1]; printf(\,\,strlen(p));printf(\,p); }

程序运行后的输出结果是( C )。 A) 9,One*World B) 9,One*Dream! C) 10,One*Dream! D) 10,One*World

38.阅读下列程序,当运行函数时,输入abc de fg z10,则输出为(

)。#include

#include #include int fun(char *str) { int i,j=0;

for(i=0;str[i]!= \\0;i++) if(str[i]!= )str[j++]=str[i]; str[j]= \\0; }

main() {

char str[81]; int n;

printf(\: \; gets(str); puts(str); fun(str);

printf(\,str); } A) abc B) z10

C) abc de fg z10 abcdefgz10

D) abc de fg z10

39.下面程序的运行结果是(

A )。

#include main()

{ static char a[]=\,b[]=\; char *p1,*p2; int k; p1=a; p2=b;

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

if(*(p1+k)==*(p2+k)) printf(\,*(p1+k)); } A) g a e B) ga

C) Language D) 有语法错

40.有以下程序:

#include

main()

{ int a=5,b=1,t;

t=(a<<2)|b;printf(\,t); }

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

A) 21 B) 11 C) 6 D) 1

第六套

1.下列关于栈叙述正确的是( A) 算法就是程序

B) 设计算法时只需要考虑数据结构的设计 C) 设计算法时只需要考虑结果的可靠性 D) 以上三种说法都不对

2.下列叙述中正确的是(

D )。

B )。

A) 有一个以上根结点的数据结构不一定是非线性结构 B) 只有一个根结点的数据结构不一定是线性结构 C) 循环链表是非线性结构 D) 双向链表是非线性结构

3.下列关于二叉树的叙述中,正确的是( A) 叶子结点总是比度为2的结点少一个 B) 叶子结点总是比度为2的结点多一个 C) 叶子结点数是度为2的结点数的两倍 D) 度为2的结点数是度为1的结点数的两倍

4.软件生命周期中的活动不包括( A) 市场调研 B) 需求分析 C) 软件测试

D) 软件维护

5.某系统总体结构图如下图所示:

B )。

A )。

该系统总体结构图的深度是( C )。 A) 7 B) 6 C) 3 D) 2

6.程序调试的任务是( A) 设计测试用例 B) 验证程序的正确性 C) 发现程序中的错误

D )。

D) 诊断和改正程序中的错误

7.下列关于数据库设计的叙述中,正确的是( A) 在需求分析阶段建立数据字典 B) 在概念设计阶段建立数据字典 C) 在逻辑设计阶段建立数据字典 D) 在物理设计阶段建立数据字典

8.数据库系统的三级模式不包括( A) 概念模式 B) 内模式 C) 外模式

D) 数据模式

9.有三个关系R、S和T如下:

A )。

D )。

则由关系R和S得到关系T的操作是( A )。

A) 自然连接 B) 并 C) 交 D) 差

10.下列选项中属于面向对象设计方法主要特征的是( A) 继承 B) 自顶向下 C) 模块化

D) 逐步求精

11.以下叙述中正确的是(

A )。

C )。

A) C语言程序将从源程序中第一个函数开始执行

B) 可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行 C) C语言规定必须用main作为主函数名,程序从此开始执行,在此结束 D) main作为用户标识符,用以命名任意一个函数作为主函数

12.下列是用户自定义标识符的是( A) w1 B) 3 xy C) int

A )。

D) LINE-3

13.执行以下程序时输入1234567,则输出结果是(

D )。

#include

main(){int a=1,b;

scanf(\=-\,&a,&b); printf(\%d%d\\n\,a,b); } A) 12367 B) 12346 C) 12312 D) 12345

14.以下选项中,不能作为合法常量的是( C )。 A) 1.234e05 B) 1.234e+5 C) 1.234e0.5 D) 1.234e0

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

main(){ unsigned int x=0xFFFF; /* x的初值为十六进制数 */ printf(\,x); }

程序运行后的输出结果是( B )。 A) -1 B) 65535 C) 32767 D) 0xFFFF

16.当用户要求输入的字符串中含有空格时,应使用的输入函数是( A) scanf() B) getchar() C) gets() D) getc()

17.若执行下面的程序时,从键盘输入6和2,则输出结果是( C )。main()

{ int a,b,k;

scanf(\,%d\,&a,&b); k=a;

if(a

printf(\,k);}

A) 5 B) 3 C) 2 D) 0

18.有以下程序:

fun(int x) { int p;

if(x==0||x==1) return(3); p=x-fun(x-2); return p; }

main()

C)。

{ printf(\,fun(7));} 执行后的输出结果是( C )。

A) 7 B) 3 C) 2 D) 0

19.已有定义:char c;,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为

大写字母的表达式是( B )。 A) isupper(c)

B) 'A'<=c<='Z'

C) 'A'<=c&&c<='Z'

D) c<=('z''-32)&&('a'-32)<=c

20.设有定义int a;float b;,执行scanf(\-%f\,&a,&b);语句时,若从键盘输入876<空格> 854.0<

回车>,a和b的值分别是( B )。 A) 876和543.000000 B) 87和6.000000 C) 87和543.000000 D) 76和543.000000

21.有以下定义:int a;long b;double x,y;则以下选项中正确的表达式是( A) a%(int)(x-y) B) a=x!=y; C) (a*y)%b

D) y=x+y=x

22.运行下面程序时,从键盘输入字母H,则输出结果是(

B )。

C )。

#include main()

{ char ch; ch=getchar(); switch(ch)

{case H:printf(\!\\n\; case G:printf(\!\\n\; default:printf(\ Bye!\\n\; } }

A) Hello! B) Hello! Good Moring! C) Hello!

Good morning! Bye Bye! D) Hello! Bye Bye!

23.有以下程序:

#include main() {

char s[]=\; int i,n=0;

for(i=0;s[i]!=0;i++)

if(s[i]>='0'&& s[i]<='9')n++; printf(\,n); }

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

A) 0 B) 3 C) 4 D) 7

24.有以下程序:

main() {

int a=0,b=0,c=0,d=0; if(a=1) b=1;c=2; else d=3;

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

程序输出结果是( D )。 A) 0,1,2,0 B) 0,0,0,3 C) 1,1,2,0 D) 编译有错

25.定义如下变量和数组:

int i;

int x[3][3]={1,2,3,4,5,6,7,8,9}; 则下面语句的输出结果是( C )。

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

printf(\,x [2-i] [i]); A) 9 5 1 B) 7 4 1 C) 7 5 3 D) 9 6 3

26.在C语言中,只有在使用时才占用内存单元的变量,其存储类型是( A) auto和register B) extern和register C) auto和static D) static和register

27.有以下程序:

#include int fun(int a,int b){

A )。

if(b==0)return a;

else return(fun(--a,--b)); }

main(){

printf(\,fun(4,2)); }

程序的运行结果是( B )。

A) 1 B) 2 C) 3 D) 4

28.有以下程序:

point(char *p){p+=3;}

main(){char a[4]={'1','2','3','4'},*p=a; point(p);

printf(\,*p); }

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

A) 1 B) 2 C) 3 D) 4

29.阅读下列程序段,程序的输出结果为(

A )。

#include \

#define M(X,Y)(X)*(Y) #define N(X,Y)(X)/(Y) main()

{ int a=5,b=6,c=8,k; k=N(M(a,b),c); printf(\,k);}

A) 3 B) 5 C) 6 D) 8

30.设有以下函数:

void fun(int n,char *s){ …… }

则下面对函数指针的定义和赋值均正确的是( A )。 A) void (*pf)(); pf=fun; B) void *pf(); pf=fun; C) void *pf(); *pf=fun;

D) void(*pf)(int,char); pf=&fun;

31.有以下程序:

#include

void fun(int *s,int n1,int n2){ int i,j,t; i=n1;j=n2;

while(i

main(){

int a[10]={1,2,3,4,5,6,7,8,9,0},k; fun(a,0,3); fun(a,4,9); fun(a,0,9);

for(k=0;k<10;k++)printf(\,a[k]); printf(\; }

程序的运行结果是( C )。 A) 0987654321 B) 4321098765 C) 5678901234 D) 0987651234

32.下面结构体的定义语句中,错误的是( B )。 A) struct ord {int x;int y;int z;};struct ord a; B) struct ord {int x;int y;int z;}struct ord a; C) struct ord {int x;int y;int z;}a; D) struct {int x;int y;int z;}a; 33.有以下程序:

void f(int *q){ int i=0;

for( ;i<5;i++)(*q)++; }

main(){ int a[5]={1,2,3,4,5},i; f(a);

for(i=0;i<5;i++)printf(\,\,a[i]); }

程序运行后的输出结果是( B )。 A) 2,2,3,4,5, B) 6,2,3,4,5, C) 1,2,3,4,5, D) 2,3,4,5,6,

34.有以下程序:

#include

void fun(char *a,char *b){ while(*a==' * ')a++; while(*b=*a){b++;a++;} }

main(){

char *s=\,t[80]; fun(s,t); puts(t); }

程序的运行结果是( C )。 A) *****a*b B) a*b

C) a*b**** D) ab

35.有以下程序:

#include struct st

{ int x,y;}data[2]={1,10,2,20}; main(){ struct st *p=data;

printf(\,\,p->y); printf(\,(++p)->x); }

程序的运行结果是( C )。 A) 10,1 B) 20,1 C) 10,2 D) 20,2

36.有以下程序:

int fun(int x[],int n) {static int sum=0,i;

for(i=0;i

main()

{ int a[]={1,2,3,4,5},b[]={6,7,8,9},s=0; s=fun(a,5)+fun(b,4);printf(\,s); }

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

A) 45 B) 50 C) 60 D) 55

37.有以下程序:

int add(int a,int b){return(a+b); } main()

{ int k,(*f)(),a=5,b=10; f=add; … }

则以下函数调用语句错误的是( C )。 A) k=(*f)(a,b); B) k=add(a,b); C) k=*f(a,b); D) k=f(a,b);

38.有以下程序段:

struct st

{ int x;int *y;} *pt;

int a[]={1,2},b[]={3,4}; struct st c[2]={10,a,20,b}; pt=c;

以下选项中表达式的值为11的是( C )。 A) *pt->y B) pt->x

C) ++pt->x D) (pt++)->x

39.有以下程序(strcat函数用以连接两个字符串):

#include #include

main(){ char a[20]=\,b[]=\; strcat(a,b);printf(\,a); }

程序运行后的输出结果是( B )。 A) ABCDE\\0FG\\0IJK B) ABCDIJK C) JK

D) EFGIJK

40.有以下程序:

main(){ unsigned char a=2,b=4,c=5,d; d=a|b; d&=c; printf(\,d); }

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

A) 3 B) 4 C) 5 D) 6

第七套

B )。

A) 循环队列是队列的一种链式存储结构 B) 循环队列是队列的一种顺序存储结构 C) 循环队列是非线性结构 D) 循环队列是一种逻辑结构

2.下列关于线性链表的叙述中,正确的是(

1.下列叙述中正确的是(

C )。

A) 各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致 B) 各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续 C) 进行插入与删除时,不需要移动表中的元素 D) 以上说法均不正确

3.一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为( A) 16 B) 10 C) 6 D) 4

4.在下列模式中,能够给出数据库物理存储结构与物理存取方法的是( A) 外模式 B) 内模式 C) 概念模式

D) 逻辑模式

5.在满足实体完整性约束的条件下(

A )

B )。

A )。

A) 一个关系中应该有一个或多个候选关键字

B) 一个关系中只能有一个候选关键字 C) 一个关系中必须有多关键字个候选 D) 一个关系中可以没有候选关键字

6.

A) 自然连接 B) 交 C) 除

D) 并

7.下面描述中,不属于软件危机表现的是( A )。

A) 软件过程不规范 B) 软件开发生产率低 C) 软件质量难以控制 D) 软件成本不断提高

8.下面不属于需求分析阶段任务的是( D )。

A) 确定软件系统的功能需求 B) 确定软件系统的性能需求 C) 需求规格说明书评审 D) 制定软件集成测试计划

9.在黑盒测试方法中,设计测试用例的主要根据是( B A) 程序内部逻辑 B) 程序外部功能 C) 程序数据结构

D) 程序流程图

10.在软件设计中不使用的工具是( C )。

A) 系统结构图 B) PAD图

C) 数据流图(DFD图)

D) 程序流程图

11.以下可用作C语言用户标识符的是( B )。

A) void,define,WORD B) a3

b3, 123,IF

C) FOR,--abc,Case D) 2a,Do,Sizeof

C)。

12.以下叙述中错误的是(

D )。

A) C语言的可执行程序是由一系列机器指令构成的 B) 用C语言编写的源程序不能直接在计算机上运行

C) 通过编译得到的二进制目标程序需要连接才可以运行

D) 在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件 13.以下4个选项中,不能看作一条语句的是( C )。 A) ;

B) a=5,b=2.5,c=3.6; C) if(b!=5)x=2;y=6; D) return j;

14.以下不能正确计算代数式值的C语言表达式是( A )。

A) B) C)

D) 15.若有说明:int *p,m=5,n;,以下正确的程序段是( D )。

A) p=&n;scanf(\,&p); B) p=&n;scanf(\,*p) C) scanf(\,&n);*p=n; D) p=&n;*p=m; 16.以下程序的输出结果是(

B )。

main()

{

int a=20;

printf(\,%o,%x\\n\,a,a,a); }

A) 20, 024,0x14 B) 20, 24,14 C) 20, 0x14,024 D) 20, 20,20

17.下面程序的运行结果是(

C )

main() {

int y=5, x=14; y=((x=3*y,x+6),x-1); printf(\ }

A) x=27,y=27 B) x=12,y=13 C) x=15,y=14 D) x=y=27

18.设变量x和y均已正确定义并赋值。以下if语句中,在编译时将产生错误信息的是( A) if(x++);

B) if(x>y && y!=0); C) if(x>0)x -- else y++; D) if(y<0){;}

C )。 else x++;

19.请阅读以下程序:

#include main()

{ int x=1,y=0,a=0,b=0; switch(x) { case 1: switch(y)

{ case 0:a++;break; } case 2:

a++,b++;break; }

printf(\=%d,b=%d\\n\,a,b); }

上面程序的输出结果是( A )。 A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2

20.以下叙述中正确的是( B )。

A) 调用printf函数时,必须要有输出项

B) 使用putchar函数时,必须在之前包含头文件stdio.h

C) 在C语言中,整数可以以十二进制、八进制或十六进制的形式输出

D) 调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码

21.有以下语句:char b[8];

int c;,则正确的输入语句是( D )。

A) scanf(\%s%d\,&b,&c); B) scanf(\%s%d\,&b,c); C) scanf(\%s%d\,b,c); D) scanf(\%s%d\, b,&c);

22.有以下程序:

#include main()

{ int a[ ]={1,2,3,4},y,*p=&a[3]; --p; y=*p;printf(\=%d\\n\,y); }

程序的运行结果是( D )。 A) y=0 B) y=1 C) y=2 D) y=3

23.若有以下说明和语句,请选出哪个是对c数组元素的正确引用(

D )。

int c[4][5],(*cp)[5]; cp=c; A) cp+1 B) *(cp +3)

C) *(cp

+1)+3

D) *(* cp+2)

24.有以下程序:

#include

main(){ char p[20]={'a','b','c','d'},q[]=\,r[]=\; strcat(p,r); strcpy(p+strlen(q),q); printf(\,strlen(p)); }

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

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

25.以下程序段中的变量已正确定义:

for(i=0;i<4;i++,i++) for(k=l;k<3;k++);printf(\; 程序段的输出结果是( D )。 A) ******** B) **** C) ** D) *

26.以下程序运行后的输出结果是(

A )。

main(){char ch[]=\,*pc; pc=ch;

printf(\,*(pc+5)); } A) z B) 0

C) 元素ch[5]地址 D) 字符y的地址

27.有以下程序:

#include

void fun(char **p){++p; printf(\,*p); }

main(){char *a[]={\,\,\,\; fun(a); }

运行后的输出结果是( A )。 A) Afternoon B) fternoon C) Morning D) orning

28.以下程序运行后的输出结果是(

A )。

void f(int n,int *r){ int r1=0; if(n%3==0)r1=n/3; else if(n%5==0)r1=n/5;

else f(--n,&r1); *r=r1; }

main(){ int m=7,r; f(m,&r);

printf(\,r); }

A) 2 B) 1 C) 3 D) 0

29.有以下程序:

main() {

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

{ptr=a+i;scanf(\,ptr);ptr++;} for(i=0;i<3;i++)

{for(j=0;j<2;j++)printf(\,a[i][j]); printf(\; } }

若运行时输入:1 2 3<回车>,则输出结果是( B )。 A) 编译错误 2 0 0 0 B) 1 0 2 0 0 0 C) 1 2 2 0 3 0 D) 1 0

30.有以下程序:

#include

void fun(char *s) { while(*s) { if(*s%2==0)printf(\,*s); s++; } }

main() { char a[]={\; fun(a); printf(\; }

注意:字母a的ASCII码值为97,程序运行后的输出结果是( A )。 A) d B) go C) god D) good

31.有以下程序:

main()

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

for(i=0;i<9;i+=2)s+=*(t+i);printf(\,s);} 程序执行后的输出结果是( C )。

A) 45 B) 20 C) 25 D) 36

32.当用\#define F 37.5f\定义后,下列叙述正确的是( A) F是float型数 B) F是char型数 C) F无类型

D) F是字符串

33.有以下程序(函数fun只对下标为偶数的元素进行操作)

D )。

#include

void fun(int *a,int n){ int i,j,k,t; for(i=0;i

for(j=i; ja[k])k=j; t=a[i];a[i]=a[k]; a[k]=t; } }

main(){ int aa[10]={1,2,3,4,5,6,7},i; fun(aa,7);

for(i=0;i<7;i++) printf(\,\,aa[i]); printf(\; }

程序运行后的输出结果是( A )。 A) 7,2,5,4,3,6,1, B) 1,6,3,4,5,2,7, C) 7,6,5,4,3,2,1, D) 1,7,3,5,6,2,1,

34.阅读下列程序,则运行结果为(

D )。

#include \fun()

{ static int x=3; x++; return x;} main()

{ int i,x;

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

printf(\,x);}

A) 3 B) 4 C) 5 D) 6

35.下列程序的输出结果是( B )。

#include \#define N 3 #define M 3

void fun(int a[M][N])

{ printf(\,*(a[1]+2));} main()

{ int a[M][N]; int i,j;

for(i=0;i

A) 3 B) 4 C) 5 D) 6

36.有以下程序段:

typedef struct NODE

{int num; struct NODE *next; }OLD;

以下叙述中正确的是( C )。 A) 以上的说明形式非法

B) NODE 是一个结构体类型 C) OLD 是一个结构体类型 D) OLD 是一个结构体变量

37.有以下程序:

struct S{int n; int a[20];}; void f(int *a, int n){ int i;

for(i=0;i

main(){ int i; struct S s={10,{2,3,1,6,8,7,5,4,10,9}}; f(s.a,s.n);

for(i=0;i

程序运行后的输出结果是(A )。 A) 2,4,3,9,12,12,11,11,18,9, B) 3,4,2,7,9,8,6,5,11,10, C) 2,3,1,6,8,7,5,4,10,9, D) 1,2,3,6,8,7,5,4,10,9,

38.下列选项中,能够满足\若字符串s1等于字符串s2,则执行ST\要求的是( A) if(strcmp(s2,s1)==0)ST; B) if(sl==s2)ST;

C) if(strcpy(s1,s2)==1)ST; D) if(sl-s2==0)ST;

A )。

39.有以下程序:

struct STU

{ char name[10]; int num; float TotalScore; };

void f(struct STU *p){ struct STU s[2]={{\,{\,*q=s;

++p; ++q; *p=*q; }

main(){ struct STU s[3]={{\,{\; f(s);

printf(\,s[1].name, s[1].num,s[1].TotalScore); }

程序运行后的输出结果是( B )。 A) SunDan 20044 550 B) Penghua 20045 537 C) LiSiGuo 20042 580 D) SunDan 20041 703

40.下面程序段的输出为(

C )。

#include \main()

{ printf(\;}

A) 0 B) 47 C) 48 D) 24

第八套

1.下列关于栈叙述正确的是( A) 栈顶元素最先能被删除 B) 栈顶元素最后才能被删除 C) 栈底元素永远不能被删除 D) 栈底元素最先被删除

2.下列叙述中正确的是( C

A )。

)。

A) 在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化

B) 在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化 C) 在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化 D) 以上说法均不正确

3.某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1

层)( D)。

A) 3 B) 4 C) 6 D) 7

4.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的

是( A )。

A) 学生成绩管理系统

B) C语言编译程序 C) UNIX

5.结构化程序所要求的基本结构不包括( A) 顺序结构 B) GOTO跳转 C) 选择(分支)结构

D) 重复(循环)结构

6.下面描述中错误的是(

操作系统

D) 数据库管理系统

B )。

A )。

A) 系统总体结构图支持软件系统的详细设计

B) 软件设计是将软件需求转换为软件表示的过程 C) 数据结构与数据库设计是软件设计的任务之一 D) PAD图是软件详细设计的表示工具

7. 负责数据库中查询操作的数据库语言是( A) 数据定义语言 B) 数据管理语言 C) 数据操纵语言

D) 数据控制语言

8. 一个教师可讲授多门课程,一门课程可由多个教师讲授。则实体教师和课程间的联系是

C )。

( D)。

A) 1:1联系 B) 1:m联系 C) m:1联系 D) m:n联系

9.

A) 自然连接 B) 并 C) 并

D) 差

10.定义无符号整数类为UInt,下面可以作为类UInt实例化值的是( A) -369 B) 369 C) 0.369

D) 整数集合{1,2,3,4,5}

D

B)。

11.以下叙述中错误的是(

D )。

A) C语言源程序经编译后生成后缀为.obj的目标程序

B) C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件 C) 用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中 D) C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令

12.以下选项中合法的标识符是( A) 1 2 B) 12

B )。

C) 2-1 D) 12

13.设有定义:int x=3;,以下表达式中,值不为12的是( A) B) C)

D )。

D)

14.下列程序的输出结果是(

C )。

main()

{ double d=3.2; int x,y; x=1.2; y=(x+3.8)/5.0; printf(\,d*y);}

A) 3 B) 3.2 C) 0 D) 3.07

15.有以下程序:

#include

main(){char a,b,c,d; a=getchar();b=getchar(); scanf(\,&c,&d);

printf(\,a,b,c,d); }

当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意,回车也是一个字符)1

234

则输出结果是( C )。

A) 1234 B) 12

34

C) 1

23

D) 1

234

16.下列程序的运行结果是(

C)。

#include \main()

{ int x=-9,y=5,z=7;

if(x

if(y<0)z=0; else z+=1;

printf(\,z);}

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

17.以下选项中不属于C语言的类型的是( B )。 A) unsigned long int B) long short C) unsigned int D) signed short int

18.有以下定义语句,编译时会出现编译错误的是( A) char a='a'; B) char a='\\n'; C) char a='aa';

D) char a='\\x2d';

19.要求以下程序的功能是计算:s=1+1/2+1/3+…+1/100。

C )。

main(){

int n; float s; s=1.0;

for(n=100;n>1;n--) s=s+1/n; printf(\,s); }

程序运行后输出结果错误,导致错误结果的程序行是(C )。 A) s=1.0;

B) for(n=100; n>1;n--) C) s=s +1/n;

D) printf(\ 4f\\n \,s

20.有如下嵌套的if语句:

if(a

if(b

以下选项中与上述if语句等价的语句是( C )。 A) k=(a

B) k=(ac)?b:c); C) k=(a

21.在下列选项中,没有构成死循环的是( A) int i=100;

D )。

while(1)

{ i=i0+1; if(i>100)break; }

B) for(;;); C) int k=10000;

do{k++;}while(k>10000); D) int s=36; while(s)--s;

22.有以下程序段:

int n,t=1,s=0; scanf(\%d\,&n); do

{s=s+t;t=t-2; }while(t!=n);

为使程序段不陷入死循环,从键盘键入的数据应该是( D )。 A) 任意正奇数 B) 任意负偶数 C) 任意正偶数 D) 任意负奇数

23.若运行以下程序时,从键盘输入 ADescriptor(表示回车),则下面程序的运行结果

是( D )。

#include main()

{ char c;

int v0=1,v1=0,v2=0; do{ switch(c=getchar())

{ case 'a':case 'A': case 'e':case 'E': case 'i':case 'I': case 'o':case 'O':

case 'u':case 'U':v1+=1;

default:v0+=1;v2+=1; } }while(c!='\\n'); printf(\=%d,v1=%d,v2=%d\\n\,v0,v1,v2);} A) v0=7,v1=4,v2=7 B) v0=8,v1=4,v2=8 C) v0=11,v1=4,v2=11 D) v0=13,v1=4,v2=12

24.数字字符0的ASCII值为48,若有以下程序:

main(){char a='1',b='2'; printf(\,\,b++); printf(\,b-a); }

程序运行后的输出结果是( C )。 A) 3,2 B) 50,2 C) 2,2 D) 2,50

25.有以下程序:

#include

void f(int *p,int *q);

main() { int m=1,n=2,*r=&m; f(r,&n);printf(\,%d\,m,n); }

void f(int *p,int *q) {p=p+1;*q=*q+1;} 程序运行后的输出结果是( A )。

A) 1,3 B) 2,3 C) 1,4 D) 1,2

26.有以下程序:

#include

void f(int *q){ int i=0;

for(;i<5;i++) (*q)++; }

main(){ int a[5]={5,4,3,2,1},i; f(a);

for(i=0;i<5;i++) printf(\,\,a[i]); }

程序运行后的结果是( D )。 A) 6,4,3,2,1 B) 6,5,4,3,2 C) 5,4,3,2,1 D) 10,4,3,2,1

27.有以下程序:

#include int f(int t[],int n);

main(){int a[4]={1,2,3,4},s; s=f(a,4); printf(\,s); }

int f(int t[],int n){if(n>0) return t[n-1]+f(t,n-1); else return 0; }

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

A) 4 B) 10 C) 14 D) 6

28.阅读下面程序段,则执行后的结果为(

C )。

#include \main()

{ int m=4,n=2,k; k=fun(m,n);

printf(\,k);} fun(int m,int n)

{ return(m*m*m-n*n*n);}

A) 64 B) 8 C) 56 D) 0

29.有以下程序:

#include

main(){ int s[12]={1,2,3,4,5,6,7,8,9,10,11,12},c[5]={0},i; for(i=0;i<12;i++) c[s[i]]++;

for(i=1;i<5;i++) printf(\,c[i]); printf(\; }

程序的运行结果是( D )。 A) 1 2 3 4 B) 5 6 7 8 C) 9 10 11 12 D) 1 1 1 1

30.以下程序的输出结果是(

A )。

void change(int k[]){k[0]=k[5];}

main(){int x[10]={1,2,3,4,5,6,7,8,9,10},n=0; while(n<=4){change(&x[n]);n++;} for(n=0;n<5;n++)printf(\,x[n]); printf(\; }

A) 678910 B) 13579 C) 12345 D) 62345

31.若有以下定义:

int x[10],*pt=x;

则对x数组元素的正确引用是( B )。 A) *&x[10] B) *(x+3) C) *(pt+10) D) pt+3

32.若有定义语句:char s[3][10],(*k)[3],*p;,则以下赋值语句正确的是(A) p=s; B) p=k; C) p=s[0]; D) k=s;

33.以下程序运行后的输出结果是(

C )。

#include

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

C )。

{

char t[10];int i,j;

for(i=0;i

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

main() {

char p[5][10]={\,\,\,\,\; f(p,5);

printf(\,strlen(p[0])); }

A) 2 B) 4 C) 6 D) 3

34.设有定义:struct{char mark[12];int num1;double num2;}t1,t2;,若变量均已正确赋初值,

则以下语句中错误的是( C )。 A) t1=t2;

B) t2.num1=t1.num1; C) t2.mark=t1.mark; D) t2.num2=t1.num2;

35.下面程序段的运行结果是(

C )。

char *p=\; p+=3;

printf(\,strlen(strcpy(p,\;

A) 8 B) 12 C) 4 D) 7

36.有以下程序:

struct S{int n; int a[20];}; void f(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;}

}

main(){ int i; struct S s={10,{2,3,1,6,8,7,5,4,10,9}}; f(&s);

for(i=0;i

程序运行后的输出结果是( A )。 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,

37.有以下程序:

#include

int fun(){static int x=1; x*=2; return x; }

main(){int i,s=1;

for(i=1;i<=3;i++) s=fun(); printf(\,s); }

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

A) 0 B) 1 C) 4 D) 8

38.有以下程序:

#include

#define S(x) 4*(x)*x+1 main(){ int k=5,j=2; printf(\,S(k+j)); }

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

A) 197 B) 143 C) 33 D) 28

39.设有定义语句int (*f)(int);,则以下叙述正确的是( A) f是基类型为int的指针变量

B) f是指向函数的指针变量,该函数具有一个int类型的形参 C) f是指向int类型一维数组的指针变量

D) f是函数名,该函数的返回值是基类型为int类型的地址

40.若有以下程序段:

B )。

int r=9;

printf(\,r>>1); 输出结果是( B )。

A) 2 B) 4 C) 8 D) 16

大题目

第71套

double fun(int n) {

int i;

double s=0.0;

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

s=s+(1.0/(2*i-1)-1.0/(2*i)); /*计算S=(1-1/2)+(1/3-1/4)+(1/(2n-1)-1/2n)*/ return s; } 第72套

double fun(int n) {

double sum=0,tmp=1; int i;

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

tmp=tmp*i; sum+=1.0/tmp; }

return sum; }

第73套

double fun(int n) {

int i;

double sum=0.0;

for(i=1;i<=n;i++) if(i%5==0||i%9==0)

sum+=1.0/i; return sum; }

第74套

double fun(int n) {

int m,k,i; double s=0.0; for(m=3;m<=n;m++) {

k=sqrt(m);

for(i=2;i<=k;i++) if(m%i==0) break; if(i>=k+1) s+=sqrt(m); }

return s; } 第75套

double fun(int n) {

int i;

double s=0.0,s1=0.0; for(i=1;i<=n;i++)

{s1=s1+pow(i,0.5); /*求每一项*/ s=s+s1; /*按公式求出s*/ }

return s; }

第89套

void fun(char *ss) {

int i;

for(i=0;ss[i]!='\\0';i++) /*将ss所指字符串中所有下标为奇数位置的字母转换为大写*/

if(i%2==1&&ss[i]>='a'&&ss[i]<='z') ss[i]=ss[i]-32; } 第90套

void fun(int a, int b, long *c) {

*c=(a)*1000+(b)*100+(a/10)*10+(b/10); }

第91套

int fun(int score[],int m, int below[]) {

int i,j=0; float av=0.0; for(i=0;i

av=av+score[i]/m; /*求平均值*/ for(i=0;i

if(score[i]

return j; /*返回低于平均分的人数*/ } 第92套

void fun (int x, int pp[], int *n) {

int i,j=0;

for(i=1;i<=x;i=i+2) /*i的初始值为1,步长为2,确保i为奇数*/ if(x%i==0) /*将能整除x的数存入数组pp中*/ pp[j++]=i;

*n=j; /*传回满足条件的数的个数*/ }

第93套

void fun(int m,int k,int xx[]) {

int i,j,n;

for(i=m+1,n=0;n

{for(j=2;j

if(i%j==0) break;

if(j>=i) /*如果是素数,放入数组xx中*/ xx[n++]=i; } } 第94 套

int fun(int *s,int t,int *k) {

int i;

*k=0; /*k所指的数是数组的下标值*/ for(i=0;i

if(s[*k]

}

第95套

long jc(int m) {

long s=1; int i ;

for(i=1;i<=m;i++) s=s*i ; return s; }

float fun(int m, int n) {

float p;

p=1.0*jc(m)/jc(n)/jc(m-n) ; return p; } 第96套

double fun( int n)

{

double sum=0.0; int i;

for(i=21; i<=n; i++)

if((i % 3==0) && (i % 7==0)) sum+=i; return sqrt(sum); } 第97套

double fun(int n) {

int i;

double s=0.0;

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

s=s+1.0/(i*(i+1)); /*求级数的和*/ return s; } 第98套

double fun(double x, int n) {

int i;

double s=1.0,s1=1.0; for(i=1;i<=n;i++)

{s1=s1*i; /*各项中的阶乘*/ s=s+pow(x,i)/s1; /*按公式求出*/ }

return s; }

本文来源:https://www.bwwdw.com/article/vg1p.html

Top