VC++.docx

上传人:b****4 文档编号:3635114 上传时间:2022-11-24 格式:DOCX 页数:19 大小:19.45KB
下载 相关 举报
VC++.docx_第1页
第1页 / 共19页
VC++.docx_第2页
第2页 / 共19页
VC++.docx_第3页
第3页 / 共19页
VC++.docx_第4页
第4页 / 共19页
VC++.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

VC++.docx

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

VC++.docx

VC++

一、填空共8题(共计32分)

第1题(4.0分)

执行下列循环后,j=【1】;x=【2】。

for(intx=2,y=2;y<6;y++,y++)

for(intj=y;j<6;j++)x+=j;

答案:

1).6

2).25

 

第2题(4.0分)

写出下列程序的输出结果a=【1】;b=【2】。

#include

voidmain(void)

{

for(inta=1,b=1;a<=5;a++)

{

if(b>=8)break;

if(b%2==1)

{

b+=7;

continue;

}

b=3;

}

cout<<"a="<

}

答案:

1).2

2).8

 

第3题(4.0分)

若自定义函数要求返回一个值,则应在该函数体中有一条【1】语句;

若自定义函数要求不返回值,则应在该函数定义时加一个类型符【2】.

答案:

1).return

2).void

 

第4题(4.0分)

下列程序输出的第二行是【1】,第三行的是【2】.

#include

inta=5;

voidmain()

{

inta=10,b=20;

cout<

{

inta=0;

for(inti=1;i<6;i++)

{

a+=i;b+=a;

}

cout<

}

cout<

}

答案:

1).15,55

2).10,55

 

第5题(4.0分)

下列程序可求出矩阵a主对角线上的元素之积.请完善程序.#include

#defineM3

voidmain()

{

inta[][M]={1,2,3,4,5,7,8,9,10},s;

s=【1】;

for(inti=0;i

s=【2】;

cout<

}

答案:

1).1

2).s*a[i][i]

 

第6题(4.0分)

下列程序的运行结果是【1】.#include

voidmain(void)

{

inti=5;

chara[7]={'a','b','c','d','i','\0'};

do{a[i]=a[i-1];}while(--i>0);

cout<

}

答案:

1).aabcdi

 

第7题(4.0分)

以下程序执行后第一行结果为【1】,第二行结果为【2】.

voidmain()

{

chararr[]="ABc";

char*ptr;

for(ptr=arr;ptr

cout<<*ptr<<'\n';

}

答案:

1).A

2).B

 

第8题(4.0分)

以下程序的功能将字符串中的内容按逆序输出,但不改变字符串内容.请完善程序.

voidfun(char*s)

{if(【1】)return;

fun(【2】);

cout<<*s;

}

voidmain()

{chars[]="good";

fun(s);

}

答案:

1).!

*s

2).s+1

 

二、单项选择共30题(共计30分)

第1题(1.0分)

若有语句组

for(intx,y=2;y<6;y++,y++)

{

x=2;

for(intj=y;j<6;j++)x+=j;

}

则x的值是____.

A:

25

B:

11

C:

不确定

D:

9

答案:

B

第2题(1.0分)

设有下列语句组

inta=0;

if(2*2==5<2*(a=4))a=1;

elsea=2;

a的值为____.

A:

0

B:

1

C:

2

D:

4

答案:

C

第3题(1.0分)

以下程序段

if(x--<10)cout<

cout<<--x;

若x=10,则输出结果是____。

A:

8

B:

9

C:

10

D:

11

答案:

A

第4题(1.0分)

以下程序运行的结果是____.

#include

voidmain()

{

inti=3,j=-50;

do

{

j=j+i;

i--;

}

while(i>2);

cout<

}

A:

-50

B:

-47

C:

-46

D:

-45

答案:

B

第5题(1.0分)

设有以下语句组:

intx=2,a=1;

while(x)a=a+1;

语句a=a+1执行的次数是____。

A:

0

B:

1

C:

无限次

D:

有限次

答案:

C

第6题(1.0分)

以下程序段

intx=2,y;

if(x<0)y=0;

elseif(x<4)y=5/x;

elsey=1;

cout<

执行后,y=____。

A:

0

B:

1

C:

2

D:

2.5

答案:

C

第7题(1.0分)

下面保留字中不能作为函数的返回类型的是____.

A:

void

B:

int

C:

new

D:

long

答案:

C

第8题(1.0分)

以下描述正确的是____.

A:

函数中,return后面一定要有表达式

B:

函数中,不可以有多条return语句

C:

函数返回值一定要通过return语句返回

D:

return语句是函数中不可缺少的语句

答案:

C

第9题(1.0分)

若定义函数:

intf(intx){x++;returnx;}

执行以下语句:

inta=5;f(a)+f(a);

则a的值是____.

A:

5

B:

6

C:

7

D:

8

答案:

A

第10题(1.0分)

下列叙述中,不正确的是____.

A:

一个函数中可以有多个return语句

B:

函数可通过return语句返回数据

C:

必须用一个独立的语句来调用函数

D:

函数main也可以带有参数

答案:

C

第11题(1.0分)

设有宏定义和语句:

#defineP(x,y)x/y

#definePP(a,b)a*b

intc=P(2+3,2+3)+PP(2+3,2+3);

则变量c的值是_____.

A:

26

B:

17

C:

17.5

D:

31

答案:

B

第12题(1.0分)

若有定义intk=3;,以k+1作为参数,对下列宏定义进行宏展开,则最终结果不为7的是____.

A:

#defines(x)x*x

B:

#defines1(x)(x)*(x)

C:

#defines2(x)(x*x)

D:

#defines4(x)(x*(x))

答案:

B

第13题(1.0分)

若定义inta[2][3]={0*3},则下列叙述正确的是____.

A:

此语句有语法错误.

B:

只有a[0][0]有初值为0.

C:

每个元素的初值都为0.

D:

每个元素都有初值,但除a[0][0]外,其余元素的值不确定.

答案:

C

第14题(1.0分)

数组名为函数实参时,传递给函数的是____.

A:

数组首地址

B:

数组元素个数

C:

数组首元素的值

D:

数组所有元素

答案:

A

第15题(1.0分)

若a是n行m列的数组,则元素a[i][j]是数组的第____个元素.

A:

i*m+j

B:

i*m+j+1

C:

i*n+j

D:

i*n+j+1

答案:

B

第16题(1.0分)

下列程序的运行结果是____.

#include

#include

voidmain(void)

{chars[]="Rep\0ch";

intm=sizeof(s);

intn=strlen(s);

cout<

}

A:

73

B:

63

C:

77

D:

67

答案:

A

第17题(1.0分)

若有以下说明,则数值为4的表达式是____.

inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};

charc='a',d,g;

A:

a[g-c]

B:

a[4]

C:

a['d'-'c']

D:

a['d'-c]

答案:

D

第18题(1.0分)

下列程序的运行结果是____.

chars1[]="hello";

chars2[]={'h','e','l','l','o'};

cout<

A:

0

B:

正数

C:

负数

D:

无法比较

答案:

C

第19题(1.0分)

若有定义chars1[10]="abcd";则下列语句正确的是____.

A:

strcpy(s1,'a');

B:

strcpy("world",s1);

C:

strcpy(s1,"bigbigworld");

D:

strcpy(s1,"world");

答案:

D

第20题(1.0分)

若有下列定义

structstudent

{intnum;

charname[20];

}stud6;

A:

struct是定义结构体类型的关键字

B:

name、num是结构体成员名

C:

stud6为结构体类型名

D:

student为结构体类型名

答案:

C

第21题(1.0分)

下列结构体定义不正确的是____.

A:

structabc

{inta,b,c;}stru[10];

B:

structabc[10]

{inta,b,c;};

C:

structabc

{inta,b[10],c;}stru

D:

structabc

{inta,b,c;}stru;

答案:

B

第22题(1.0分)

若有定义

structstudent

{intnum;

charname[20];

}stu;

则下列语句正确的是____.

A:

student.num=1;

B:

stu.num=2;

C:

cout<

D:

cint>>stu;

答案:

B

第23题(1.0分)

以下程序的输出结果为____.

#include

voidmain()

{structcmplx

{intx;inty;}cnum[2]={1,3,2,7};

cout<

}

A:

0

B:

1

C:

3

D:

6

答案:

D

第24题(1.0分)

类型相同的两个指针不能进行的运算是____.

A:

+

B:

-

C:

=

D:

==

答案:

A

第25题(1.0分)

下面关于内存的动态分配说法错误的是____.

A:

new和delete是C++提供的运算符

B:

delete只能释放由new分配的内存空间

C:

由new分配一组连续内存空间,数量可以是常数,也可以是变量

D:

使用new和delete需要加入头文件"stdio.h"

答案:

D

第26题(1.0分)

有如下程序段

inta=1,*p=&a,b=1;

*p=*p+b;

执行该程度段后,a的值____.

A:

1

B:

2

C:

3

D:

编译出错

答案:

B

第27题(1.0分)

若有语句char*p[]="abcdd";则下列选项错误的是____.

A:

char&a=*p;

B:

char*q=p++;

C:

char*s=*p;

D:

p++;

答案:

C

第28题(1.0分)

若有"charp[]="A\0BC\0DEF\n";",则strlen(p+4)的值是.

A:

0

B:

1

C:

2

D:

4

答案:

A

第29题(1.0分)

若有定义chars[]="abcd";*p=s;则下列叙述正确的是____.

A:

数组s中的内容与p中的内容相等.

B:

数组s所占用内存数与p所占用的内存数相等

C:

*p与s[0]相等.

D:

数组s与p完全等同

答案:

C

第30题(1.0分)

若有"char*p="hello";"则以下选项中错误的是

A:

char&a=*p;

B:

char*s=*p;

C:

char*q=p+2;

D:

p=p+2

答案:

B

三、程序填空共3题(共计18分)

第1题(6.0分)

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:

求FIBONACCI数列的前N项,公式如图。

-------------------------------------------------------*/

 

#include

voidmain()

{

intn,l1,l2,l3,i;

cin>>n;

/***********SPACE***********/

l1=【?

】;l2=1;

cout<

/***********SPACE***********/

for(i=3;【?

】)

/***********SPACE***********/

{l3=【?

】;

cout<

l1=l2;

/***********SPACE***********/

【?

】;

}

}

 

答案:

1).0

2).i<=n;i++或i

3).l1+l2或l2+l1

4).l2=l3

 

第2题(6.0分)

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:

将一维数组大于等于平均值的元素存入另一个数组,

小于平均值的元素仍存在原数组,并打印这两个数组。

-------------------------------------------------------*/

 

#include

voidmain()

{

inti,la,lb,n;

floata[100],b[100],sum,av;

/***********SPACE***********/

【?

】;

for(i=0;i

cin>>a[i];

sum=0;

for(i=0;i

sum+=a[i];

/***********SPACE***********/

【?

】;

la=lb=0;

for(i=0;i

if(a[i]>=av)

b[lb++]=a[i];

else

/***********SPACE***********/

{【?

】;

}

for(i=0;i

cout<

cout<<'\n';

for(i=0;i

cout<

}

 

答案:

1).cin>>n

2).av=sum/n或av=sum/i

3).a[la++]=a[i]

 

第3题(6.0分)

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:

以下程序通过调用自定义函数scopy()将字符串s1复制到

字符串s2,并输出显示。

-------------------------------------------------------*/

 

#include

voidscopy(char*p,char*q)

{

while(*p!

='\0')

{

/***********SPACE***********/

【?

】;

p++;

q++;

}

/***********SPACE***********/

【?

】;

}

voidmain()

{

char*s1="Nanjing,China";

chars2[20];

cout<<"\nThes1is:

"<

/***********SPACE***********/

【?

】;

cout<<"\nThes2is:

"<

}

答案:

1).*q=*p

2).*q='\0'

3).scopy(s1,s2)

 

四、程序设计共2题(共计20分)

第1题(10.0分)

/*------------------------------------------------

【程序设计】

--------------------------------------------------

用筛选法求出2到200之间的所有的素数。

--------------------------------------------------

注意:

程序编写在下面的Promgram和End区域。

------------------------------------------------*/

/**********Program**********/

 

/**********End**********/

第2题(10.0分)

/*------------------------------------------------

【程序设计】

--------------------------------------------------

题目:

用指针作为函数的参数,设计一个实现两个参数

交换的函数。

输入三个实数,按升序排序后输出。

------------------------------------------------*/

 

/**********Program**********/

 

/**********End**********/

 

答案:

----------------------

#include

voidswap(int*p1,int*p2)

{intt;

t=*p1;*p1=*p2;*p2=t;}

voidmain()

{inta,b,c;

int*s1,*s2,*s3;

cout<<"输入三个数a,b,c:

";

cin>>a>>b>>c;

s1=&a;s2=&b;s3=&c;

if(a>b)swap(s1,s2);

if(a>c)swap(s1,s3);

if(b>c)swap(s2,s3);

cout<<"输出排好序的三个数:

";

cout<

----------------------

 

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

当前位置:首页 > 高中教育 > 数学

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

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