《VC++程序设计基础》习题.docx

上传人:b****4 文档编号:5988472 上传时间:2023-05-09 格式:DOCX 页数:61 大小:41.37KB
下载 相关 举报
《VC++程序设计基础》习题.docx_第1页
第1页 / 共61页
《VC++程序设计基础》习题.docx_第2页
第2页 / 共61页
《VC++程序设计基础》习题.docx_第3页
第3页 / 共61页
《VC++程序设计基础》习题.docx_第4页
第4页 / 共61页
《VC++程序设计基础》习题.docx_第5页
第5页 / 共61页
《VC++程序设计基础》习题.docx_第6页
第6页 / 共61页
《VC++程序设计基础》习题.docx_第7页
第7页 / 共61页
《VC++程序设计基础》习题.docx_第8页
第8页 / 共61页
《VC++程序设计基础》习题.docx_第9页
第9页 / 共61页
《VC++程序设计基础》习题.docx_第10页
第10页 / 共61页
《VC++程序设计基础》习题.docx_第11页
第11页 / 共61页
《VC++程序设计基础》习题.docx_第12页
第12页 / 共61页
《VC++程序设计基础》习题.docx_第13页
第13页 / 共61页
《VC++程序设计基础》习题.docx_第14页
第14页 / 共61页
《VC++程序设计基础》习题.docx_第15页
第15页 / 共61页
《VC++程序设计基础》习题.docx_第16页
第16页 / 共61页
《VC++程序设计基础》习题.docx_第17页
第17页 / 共61页
《VC++程序设计基础》习题.docx_第18页
第18页 / 共61页
《VC++程序设计基础》习题.docx_第19页
第19页 / 共61页
《VC++程序设计基础》习题.docx_第20页
第20页 / 共61页
亲,该文档总共61页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

《VC++程序设计基础》习题.docx

《《VC++程序设计基础》习题.docx》由会员分享,可在线阅读,更多相关《《VC++程序设计基础》习题.docx(61页珍藏版)》请在冰点文库上搜索。

《VC++程序设计基础》习题.docx

《VC++程序设计基础》习题

《VisualC++程序设计基础》练习题

第一部分面向过程程序设计

第一章VC++语言的基础知识和简单的语句

1.C++语言程序由〖C〗组成。

A)子程序B)过程C)函数D)主程序和子程序

2.以下各标识符中,合法的用户标识符组为〖D〗。

A)PAd,P#d,b-b,abc,_0123,ssiped

B)cin,a10,CPP,float,del_word,signed

C)void,max,hiy,,list,*jer

D)a,temp,_isw,INT,keep,wind

3.在VC++中,char类型数据占〖A〗个字节,int类型数据占〖C〗个字节,short类型数据占〖B〗个字节,long类型数据占〖C〗个字节,float类型数据占〖C〗个字节,double类型数据占〖D〗个字节。

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

4.以下语句〖B〗。

inta=-2L;cout<

A)赋值不合法B)输出值为-2C)输出为不确定值D)输出值为2

5.在VC++中,以下语句的输出为〖D〗。

shortintk=-1;

cout<

A)-1,-1B)-1,32767C)-1,32768D)-1,65535

6.若有以下说明语句,则该语句〖B〗。

chars='\092';

A)使s的值包含1个字符B)说明不合法,s的值不确定

C)使s的值包含4个字符D)使s的值包含3个字符

7.若a,b均为int型变量,为了将10赋给a,将20赋给b,则对应以下cin语句的正确输入方式为〖B〗。

代表回车换行,_代表空格)。

cin>>a>>b;

A)1020B)10_20C)10,20D)20_10

8.以下语句的输出为〖D〗。

intk=017,g=111;

cout<<++k<<','<

A)15,6fB)16,70C)15,71D)16,6f

9.若给出以下程序,其输出为〖B〗。

#include

voidmain(void)

{inta=4,b=7;

cout<<(a=a+1,b+a,b+1)<

}

A)5B)8C)11D)程序有错误,无法运行

10.以下程序不用第三个变量,实现将两个数进行对调的操作。

#include

voidmain(void)

{inta,b;

cin>>a>>b;

cout<<"a="<

a=〖1A〗;b=〖2B〗;a=〖3B〗;

cout<<"a="<

}

〖1〗A)a+bB)a-bC)a*bD)a/b

〖2〗A)a+bB)a-bC)b-aD)a*b

〖3〗A)a+bB)a-bC)b*aD)a/b

11.若变量a已说明为float类型,i为int类型,则表达式(或语句)〖B,C〗能实现将a中的数值保留小数点后两位,第三位进行四舍五入的运算。

(多项选择)。

A)a=(a*100+0.5)/100.0;B)i=a*100+0.5,a=i/100.0;

C)a=(int)(a*100+0.5)/100.0;D)a=(a/100+0.5)*100.0;

12.在以下关于C++语言的注释的叙述中,不正确的是〖C〗。

A)在C++程序中,注释可用"/*"、"*/"形式表示,也可用"//"形式表示

B)C++编译器在编译一个程序时,将跳过注释,不对其进行处理

C)C++编译器在编译一个程序时,可发现注释中的单词拼写错误

D)程序中注释的多少不会影响所生成的可执行文件的长度

13.在以下叙述中,不正确的是〖A〗。

A)C++语言中,仅在处理字符及字符串时才区分字母的大小写

B)C++语言没有输入/输出语句,输入/输出是通过输入/输出库函数实现的

C)C++语言是C语言的一个超集

D)程序中注释不会影响所生成的可执行文件的长度

14.若有以下说明和语句,则输出结果为〖B〗。

inta=16,b=10,i;floatx=10;

i=ab;

cout<

A)0,25B)0,10C)1,25D)1,10

15.若有以下语句,则输出结果为〖D〗。

inta=2,b=1;

cout<b?

"a大于b":

"a小于b"<

A)a大于bB)a小于bC)1D)输出语句有错

16.以下运算中,运算结果为8的是〖B〗。

A)sizeof(2.5f)B)sizeof("\n\t\0X234")C)sizeof(long)D)sizeof('\100'+1000)

第二章控制结构

1.在以下各组运算符中,优先级最高的运算符为〖1B〗,〖2C〗,〖3C〗,〖4D〗。

〖1〗A)?

:

B)++C)&&D)+=

〖2〗A)*=B)>=C)(类型)D),

〖3〗A)||B)%C)!

D)==

〖4〗A)=B)!

=C)*(乘号)D)()

2.若给定条件表达式(m)?

(a++):

(a--),则其中表达式m〖C〗。

A)和(m==0)等价B)和(m==1)等价C)和(m!

=0)等价D)和(m!

=1)等价

3.以下程序的输出为〖D〗。

#include

voidmain(void)

{inti,j,k,a=3,b=2;

i=(--a==b++)?

--a:

++b;

j=a++;k=b;

cout<<"i="<

}

A)i=2,j=1,k=3B)i=1,j=1,k=2C)i=4,j=2,k=4D)i=1,j=1,k=3

4.在C++语言的if语句中,用作判断的表达式为〖D〗。

A)关系表达式B)逻辑表达式C)算术表达式D)任意表达式

5.表达式〖B,D〗是满足:

当x的值在-10到10,100到110时值为"真",否则为"假"的表达式(多项选择)。

A)(10>x>-10)||(100>x-100)

B)!

((x<=-10)||(x>=10))||!

((x<100)||(x>=110))

C)(x<10)&&(x>-10)&&(x>100)&&(x<110)

D)(x>-10)&&(x<10)||(x<110)&&(x>100)

6.表达式〖A,C,D〗是满足:

a和b的值都大于0,小于n时值为"真",否则值为"假"的表达式(多项选择)。

A)(a>0)&&(b>0)&&(a

B)a&&b&&(a

C)!

((a<=0)||(b<=0)||(b>=n)||(a>=n))

D)!

(a<=0)&&!

(b<=0)&&!

(b>=n)&&!

(a>=n)

7.表达式〖B,C,D〗是满足:

当intc的值为1,3,5三个数时值为"真",否则值为"假"的表达式(多项选择)。

A)(c=1)||(c=3)||(c=5)

B)!

((c<3)&&(c>1))&&!

((c<5)&&(c>3))&&(c<=5)&&(c>=1)

C)(c!

=2)&&(c!

=4)&&(c>=1)&&(c<=5)

D)(c==1)||(c==3)||(c==5)

8.以下程序的输出为〖B〗。

#include

voidmain(void)

{inta=10,b=50,c=30;

if(a>b)a=b;

b=c;c=a;

cout<<"a="<

}

A)a=10,b=50,c=10B)a=10,b=30,c=10C)a=50,b=30,c=10D)a=50,b=30,c=50

9.执行下面程序后的输出为〖D〗。

#include

voidmain(void)

{inta=2,b=3;

cout<b?

a:

b<

}

A)2B)3C)无法确定D)有语法错

10.在下面给出的四个语句段中,〖A〗能够正确表示出以下的函数关系:

┌-1(x<0)

y=┤0(x=0)

└1(x>0)

A)if(x!

=0)B)y=0;

if(x>0)y=1;if(x>=0)

elsey=-1;if(x)y=1;

elsey=0;elsey=-1;

C)if(x<0)y=-1;D)y=-1;

if(x!

=0)y=1;if(x!

=0)

elsey=0;if(x>0)y=1;

elsey=0;

11.设i和k都是int类型,则以下for循环语句〖B〗。

for(i=0,k=-1;k=1;i++,k++)cout<<"****\n";

A)判断循环结束的条件不合法B)是无限循环

C)循环体一次也不执行D)循环体只执行一次

12.设i和x都是int类型,则以下for循环语句〖A〗。

for(i=0,x=0;i<=9&&x!

=876;i++)cin>>x;

A)最多执行10次B)最多执行9次C)是无限循环D)循环体一次也不执行

13.以下程序的输出为〖B〗。

#include

voidmain(void)

{inti,j,x=0;

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

{x++;

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

{if(j%2)continue;

x++;

}

x++;

}

cout<<"x="<

}

A)x=4B)x=8C)x=6D)x=12

14.以下程序的输出为〖B〗。

#include

voidmain(void)

{inti,j,k=0,m=0;

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

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

k-=j;

}

m=i+j;

cout<<"k="<

<<"m="<

}

A)k=0,m=3B)k=0,m=5C)k=1,m=3D)k=1,m=5

15.Ⅰ在C++语言中,当while语句中的条件为〖A〗时,结束该循环。

Ⅱ在C++语言中,当do...while语句中的条件为〖A〗时,结束该循环。

A)0B)1C)trueD)非0

16.当k为整型,以下while循环执行〖C〗次。

k=10;while(k=0)k=k-1;

A)10B)无限C)0D)1

17.当k为整型,以下while循环执行〖B〗次。

k=2;

while(k==0)cout<

k--;cout<<'\n';

A)无限B)0C)1D)2

18.以下程序段中,〖C〗不是无限循环。

A)inti=100;

while

(1)

{i=i%100;i++;

if(i>100)break;

}

B)for(;;);

C)intk=32764;

do{

k++;

}while(k>0);

D)ints=32764;

while((s++%2)||(s%2))s++;

19.以下程序的输出结果为〖B〗。

#include

voidmain(void)

{intk=0;charc='A';

do

{switch(c++)

{case'A':

k++;break;

case'B':

k--;

case'C':

k+=2;break;

case'D':

k=k%2;continue;

case'E':

k=k*10;break;

default:

k=k/3;

}

k++;

}while(c<'G');

cout<<"k="<

}

A)k=3B)k=4C)k=2D)k=0

20.以下程序的输出结果为〖C〗。

#include

voidmain(void)

{inti=0,j=0,a=6;

if((++i>0)||(++j>0))a++;

cout<<"i="<

<<"j="<

<<"a="<

}

A)i=0,j=0,a=6B)i=1,j=1,a=7C)i=1,j=0,a=7D)i=0,j=1,a=7

21.以下程序的输出结果为〖15913〗。

〖261014〗

〖371115〗

〖481216〗

#include

voidmain()

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

inti,j,t;

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

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

{t=a[i][j];a[i][j]=a[j][i];a[j][i]=t;}

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

{for(j=0;j<4;j++)cout<

}

第三章指针与数组

1.若有说明:

char*p1,*p2,*p3,*p4,ch;则不能正确赋值的程序语句为〖C〗。

A)p1=&ch;cin>>*p1;B)p2=newchar;cin>>*p2;

C)cin.get(*p3);D)p4=&ch;cin.get(*p4);

2.对于基类型相同的指针变量,不能进行〖A〗运算

A)+B)-C)=D)==

3.若有以下说明和语句,则〖C〗是对数组元素的错误引用。

inta[]={1,2,3,4,5,6,7,8,9,0},*p=a,i=2;

A)*(a+i)B)a[p-a]C)p+iD)*(&a[i])

4.若有以下说明和语句,则〖D〗是对数组元素地址的正确表示。

inta[]={1,2,3,4,5,6,7,8,9,0},*p=a,i=2;

A)&(a+i)B)a++C)&pD)&p[i]

5.下面的程序中〖A〗有错误(每行前面的数字是行号)。

1#include

2voidmain(void)

3{floata[3]={0.0};

4inti;

5for(i=0;i<3;i++)cin>>a[i];

6for(i=1;i<3;i++)a[0]=a[0]+a[i];

7cout<

8}

A)没B)第3行C)第6行D)第7行

6.以下程序找出数组中最大值和此元素的下标,数组元素的值由键盘输入,请从对应的一组选择项中,选择正确的填入。

#include

voidmain(void)

{inta[10],*p,*s,i;

for(i=0;i<10;i++)cin>>〖1D〗;

for(p=a,s=a;〖2A〗<10;p++)

if(*p>*s)s=〖3A〗;

cout<<"max="<<〖4C〗<<','

<<"index="<<〖5C〗<

}

〖1〗A)&a[i]B)p+iC)a+iD)a[i]

〖2〗A)p-aB)s-aC)a-pD)a-s

〖3〗A)pB)a[p]C)a[s]D)a-p

〖4〗A)a[p-a]B)a[p]C)*sD)a[s]

〖5〗A)p-aB)pC)s-aD)a-s

7.以下程序的输出结果是〖D〗。

#include

voidmain(void)

{inta[]={1,2,3,4,5,6},*p;

p=a;*(p+3)+=2;

cout<<*p<<','<<*(p+3)<

}

A)0,5B)1,5C)0,6D)1,6

8.以下程序输出两个整数中大的那个数,两个整数由键盘输入,请从对应的一组选择项中,选择正确的填入。

#include

voidmain(void)

{inta,b,*p1,*p2;

p1=new〖1A〗;p2=new〖1A〗;

cin>>〖2B〗;

if(*p2>*p1)*p1=*p2;

cout<<"max="<<〖3A〗<

deletep1;deletep2;

}

〖1〗A)intB)floatC)int*D)float*

〖2〗A)p1>>p2B)*p1>>*p2C)&p1>>&p2D)&a>>&b

〖3〗A)*p1B)*p2C)p1D)p2

9.在以下说明中,标识符ptr〖C〗。

int(*ptr)[3];

A)说明不合法

B)是一个指针数组名,每个元素是一个指向整数变量的指针

C)是一个指针,它指向一个具有三个整型元素的一维数组

D)是一个指向整型变量的指针

10.以下说明与〖C〗中的说明等价。

int*p[4];

A)intp[4]B)int*pC)int*(p[4])D)int(*p)[4]

11.若有说明:

inta[4][10];则〖B〗是对数组元素a[i][j]的错误引用(此处0<=i<4,0<=j<10)。

A)*(&a[0][0]+10*i+j)B)*(a+i)[j]C)*(*(a+i)+j)D)*(a[i]+j)

12.若有说明:

inta[4][3],b[3][4],(*ptr)[3];且0<=i<3,则〖A〗是正确的赋值语句。

A)ptr=aB)ptr=bC)ptr=b[i]D)ptr=a[i]

13.设有以下说明语句:

inta[4][3]={1,2,3,4,5,6,7,8,9,10,11,12},(*prt)[3]=a,*p=a[0];

能够正确表示数组元素a[1][2]的表达式是〖D〗。

A)*((*prt+1)[2])B)*(*(p+5))C)(*prt+1)+2D)*(*(a+1)+2)

14.以下程序建立一个如下所示的二维数组,并按以下格式输出。

请从对应的一组选择项中,选择正确的填入。

10001

01010

00100

01010

10001

#include

#include

voidmain(void)

{inta[5][5]={0},*p[5],i,j;

for(i=0;i<5;i++)p[i]=〖1A〗;

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

{*(p[i]+〖2C〗)=1;

*(p[i]+5-〖3D〗)=1;

}

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

{for(j=0;j<5;j++)cout<

〖4A〗;

}

}

〖1〗A)&a[i][0]B)&a[i][1]C)&p[i]D)&a[0][i]

〖2〗A)0B)1C)iD)(i+1)

〖3〗A)0B)1C)iD)(i+1)

〖4〗A)cout<<'\n'B)cout<<'\0'C)cout<<"\0"D)cout<<'\t'

15.以下程序的输出结果是〖D〗。

#include

voidmain(void)

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

for(i=0;i<4;i++)p[i]=&a[i*3];

cout<

}

A)输出项不合法,输出结果不定B)6C)8D)12

16.以下程序的输出结果是〖B〗。

#include

voidmain(void)

{inta[20],*p[4],i,k=0;

for(i=0;i<20;i++)a[i]=i;

for(i=0;i<4;i++)p[i]=&a[i*(i+1)];

for(i=0;i<4;i++)k+=p[i][i];

cout<

}

A)数组元素引用不合法,输出结果不定B)26C)10D)16

17.若有以下说明和语句,则〖D〗中表示的都是对a数组元素的正确引用,其中0<=i<4,0<=j<3。

inta[4][3]={0},(*ptr)[3],i,j;

ptr=a;

...

A)a[i][j],a[i]+j,*(*(a+i)+j)

B)*(ptr+i)[j],ptr[i]+j,*(*(ptr+i)+j)

C)*(ptr+i)[j],*(a+i)[j],*(ptr+i)

D)ptr[i][j],*(ptr[i]+j),*(a[i]+j)

18.若有以下说明和语句,则〖A〗是对a数组元素的错误引用。

inta[12]={0},*p[3],**pp,i;

for(i=0;i<3;i++)p[i]=&a[i*4];

pp=p;

A)a[12]B)p[2][3]C)a[10]D)pp[0][1]

19.若有以下说明和语句,则〖B〗中表示的都是a数组元素的地址,其中0<=i<4,0<=j<3。

inta[4][3]={0},*p[4],**pa,i,j;

for(i=0;i<4;i++)p[i]=a[i];

pa=p;

...

A)&a[i][j],p[i]+j,pa[i][j]B)*(pa+i)+j,p[i],*(p+i)+j

C)&a[j],&p[i],*(*(pa+i)+j)D)**pa,a,p

20.请填空。

以下程序把一由小到大的有序数列放在a[1]到a[n]中,a[0]用做工作单元,程序

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

当前位置:首页 > 人文社科 > 视频讲堂

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2