C C++二级考试基础训练题_第1页
C C++二级考试基础训练题_第2页
C C++二级考试基础训练题_第3页
C C++二级考试基础训练题_第4页
C C++二级考试基础训练题_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C/C++二级考试基础训练题

******选择题******

1.一个c程序的执行是从

A本程序的main函数开始,到main函数结束

B本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

C木程序的main函数开始,到本程序文件的最后一个函数结束

D本程序文件的第一个函数开始,到本程序main函数结束

2.以下叙述正确的是

A在C程序中,main函数必须位于程序最前面

BC程序的每行中只能写一条语句

CC语言本身没有输入输出语句

D在对一个C程序进行编译的过程中,可发现注释中的拼写错误

3.以下叙述不正确的是

A一个C源程序可由一个或多个函数组成

B一个C源程存必须包含一个main函数

cC程序的基本组成单位是函数

D在C程序中,注释说明只能位于一条语句的后面

4.C语言规定:在一个源程序中,main函数的位置

A必须在最开始

B必须在系统调用的库函数的后面

C可以任意

I)必须在最后

5.一个C语言程序是由

A一个主程序和若干子程序组成B函数组成

C若干过程组成D若干子程序组成

6.下列字符串中不能作为C++标识符使用的是()。

AWHILEBuserC」varD9stars

7.下列字符串中,不可以用作C++标识符的是

Ay_2006B_TEST_HCReturnI)switch

8.下列符号中,正确的C++标识符是

AenumB2bCfoo-9I)_32

9.下列符号中可以用作C++标识符的是

A_radiusBfoo〜barCelseD3room

10.以下叙述中错误的是o

A用户所定义的标识符允许使用关键字

B用户所定义的标识符应尽量做到“见名知意”

C用户所定义的标识符必须以字母或下划线开头

I)用户定义的标识符中,大、小写字母代表不同标识

11.以下不合法的字符常量是____。

A'\018‘B'\"'C'\\'D'\xcc'

12.下列叙述中,错误的是____o

Afalse是一个逻辑型常量B"b"是一个字符型常量

C365是一个int常量D3.1415926是一个double常量

13.以下不合法的数值常量是____。

A11BleiC8.0E0.5DOxabcd

14.以下选项中不能作为合法常量的是

A12340B1.234c0.4C12340D1.234

15.下列语句中错误的是()o

Aconstinta;Bconstinta=10:

Cconstint*point=0;Dconstint*point=newint(10);

16.下列语句中,错误的是

Aconstintbuffer=256;Bconstinttemp;

Cconstdouble*point;Dconstdouble*rt=newdouble(5.5);

17.【单选题】下列错误的十六进制型常量表示是

A.0x2fB.OxgC.0x88D.Oxaf

18.下列语句中,错误的是

Aconstintbuffer=256;Bconstdouble*point;

Cintconstbuffer=256:Ddouble*constpoint;

19.cr的字符串“\t\1234\"中包含的转义符有个。

A.4B.3C.2D.5

20.【单选题】下面语句执行后的输出结果是。

cout«strlen(vxdn\\02L\l\n,>)«endl;

A.10B.9C.8D.11

21若有以下说明语句,则该语句。

chars='\092';

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

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

22.以下叙述中错误的是o

AC程序中的#1慎111(^^n#define行均不是C语句

B除逗号运算符外,赋值运算符的优先级最低

CC程序中,j++;是赋值语句

DC程序中,+、-、*、/、%号是算术运算符,可用于整型和实型数的运算

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

Al/3*sin(l/2)*sin(l/2)Bsin(0.5)*sin(0.5)/3

Cpow(sin(0.5),2)/3D1/3.0*po\v(sin(1.0/2),2)

24.表达式3.6-5/2+1.2+5%2的值是____。

A4.3B4.8C3.3D3.8

25.设有定义intk=l,m=2;floatf=7;,则以下选项中错误的表达式是

Ak=k>=kB-k++Ck%int(f)Dk>=f>=m

26.有以下程序:

mainO

{charal='M',a2='m';

printf("%c\n",(al:a2));

)

以下叙述中正确的是_____O

A程序输出大写字母MB程序输出小写字母m

C格式说明符不足,编译出错I)程序运行时产生出错信息

27.设有定义inta=2,b=3,c=4;,则以下选项中值为0的表达式是。

A(!a==l)&&(!b==O)B(a<&&!c||1)Ca&&bI)a||(b+b)&&(c-a)

28.设a=l,b=2,c=3,d=4,则条件表达式a<b?a:c〈d?c:d的值是____。

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

29.有以下程序段:

intk=0,a=l,b=2,c=3;

k=a<b?b:a;k=k>c?c:k;

执行该程序段后,k的值是。

A3B2CII)0

30.已知下列语句中的x和y都是int型变量,其中错误的语句是【】

Ax=y++:Bx=++y;C(x+y)++D++x=y;

31.有以下程序:

main()

{intm=12,n=34;printfm++,++n);printfC%d%d\n*>n++,++m);}

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

A12353514B12353513C12343514I)12343513

32.有以下程序:

main()

{inta,b,d=25;a=d/10%9;b=a&&(-l);

printf(*%d,%d\n/x,a,b);}

程序运行后的输出结果是O

A6,1B2,1C6,0D2,0

33.【单选题】若变量已正确说明为ini类型,要给x,y输入数据,以下语句正确的是一。

awa,r

A.scanf(%d%d,&x:&y);B.scanf(%d,%d,x,y);

C.cin«x<<y;D.cin»x,y;

34.【单选题】若x和y都是整型变量,则x=3,y=5,则以下语句输出的结果是一。

cout<<(x,y)«endl;

A.3,5B.语句格式有错,无输出结果C.5D.3

35在C语言中,逻辑值“真”用表示。

AtrueB大于0的数C非()整数I)非()的数

36.【单选题】用逻辑表达式表达“大于60且小于100的数”,正确的是o

Ax>60&x<100B60<x<100Cx>60||x<100D!(x<=60||x>=100)

37.【单选题】已知变量a,b,c是整数变量,且a=3,b=4,c=5,则表示式:!(a+b)||c&&b+c/2

的值是一。

A.7B.1C.0D.-1

38.【单选题】执行下列语句后,y的值是°

intx=l,y=l;++x||++y

A.不确定B.0C.1D.2

39.【单选题】以下运算符中优先级最高的是o

A.%B,*C.»D.++

40.【单选题】下列运算符中优先级最低的是。

A.!B.&&C.!=D.?:

48.有以下程序:

main()

{inti=l,j=2,k=3;if(i++==1&&(++j==3|k++==3))printf(z,%d%d%d\n?,,i,j,k);)

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

A123B234C223D233

49.下程序运行的结果是.

#include<iostream.h>

voidmain()

{inta=0,b=l,c=0,d=20;

if(a)d-=10;

elseif(!b)

if(!c)d=15;

elsed=25;

cout«d<<endl;}

A.20B.0C.5D.25

50.单选题】以下程序的运行结果是o

#include<iostream.h>

voidmain()

(

intx=l,y=-l,z=2;

if(x>y)

if(y>O)z=O;

elsez++;

elsex++;

cout«x«z«endl;}

A.23B.22C.12D.13

51.若有定义:floa.x=l.5;in.a=l,b=3,c=2;则正确的switch语句是.

Aswitch(x)

{case1.0:printf('*\n");

case2.0:printfC**\n,z);}

Bswitch((int)x);

{case1:printf;

case2:printf("**\n");}

Cswitch(a+b);

{case1:printf;

case2+1:printf("**\n");}

Dswitch(a+b)

{case1:printf("*\n");

casec:printf("**\n");}

52.有以下程序:

voidmain()

{intk=5,n=0;

while(k>0)

switch(k)

(

default:break;

case1:n+二k;

case2:

case3:n+=k;

)

k—;

)

printf("%d\rT,n);

}

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

A0B4C6D7

53.执行语句序列

intn;

cin>>n:

switch(n)

{easel:

casc2:coutVV'l':

case3:

case4:cout<<,2::break:

delault:cout<<>3>:

)

时,若犍盘输入1,则屏幕显示【】

A1B2C3D12

54.【单选题】若有ir.ta=2;执行下列语句后a的值为

switch(a)

(

case1:a++;

case2:a;

case3:++a;break;

case4:一a;

default:a++;

}

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

55.下面程序的输出结果是.

#include<iostream.h>

voidmain()

intx=0,y=l,a=0,b=0;

switch(x)

case0:

switch(y)

(

case0:a++;break;

case1:b++;break;

)

case1:

a++;b++;break;

}

,,,,

cout<<a«>«b<<endl;

}

A.1,...氏a,.♦.a2,.♦,D.1,♦.

56.有如下程序:

(

intx=3;

do

(

x-=2;

cout«x;

)while(!(-x));

)执行这个程序的输出结果是

A1B30C1-2D死循环

57.执行语句序列inti=0;while(i(25)i+=3;cout<〈i;输出结果是

A24B25C27D28

58.有如下语句序列;intk=0;

do{k+=5;cout«'$';)while(k<19);

while(k―>0)cout«:**;

执行上面的语句序列输出字符$和*的个数分别是

A4和20B5和20C4和21D5和21

59.有如下程序段:

inti=l;

while(1)

(

i++;

if(i==10)break;

if(谡2=0)cout<〈'*';

)

执行这个程序段输出字符*的个数是

A10B3C4D5

6().以下语句段中.不是无限循环是。

(A)i=100;

while(1)

{i=i%100;i++;

if(i>100)break;

}

(B)for

(C)k=32764;

do

{k++;k++;

}while(k>0);

(D)s=32764;

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

61.在以下给出的表达式中,及while(E)中的(E)不等价的表达式是,

A(!E==())B(E>0|E<0)C(E==0)D(E!=0)

62.有以下程序

main()

{inty=10;

while(y-);printf("y=%d\n”,y);

}

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

Ay=0By=1Cy=lwhi1e

63.有以下程序段:

intn,t=l,s=0;

scanf("%d",&n);

do{s=s+t;t=t-2;)while(t!=n);为使此程序段不陷入死循环,从键盘输入的数据应该

是o

A任意正奇数B任意负偶数C任意正偶数D任意负奇数

64.下列程序的输出结果是【】

ftinclude<iostream.h>

intmain()

chara[]=*Hello,World*;

char*ptr=a;

while(*ptr)

if(*ptr>=,a*&&*ptr<=,z)

cout«char(*ptr+:A*a');

elsecout«*ptr;

ptr++;

}

return0;

}

AHELLO,WORLDBHello,worldChELLO,wORLDDhello,world

65.有以下程序:

mainO

intp[8]={ll,12,13,14,15,16,17,18},i=0,j=0;while(i++<7)if(p[i]%2)j+=p[i];pr

intf(*%d\n*,j);

}

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

A42B45C56I)6()

66.有如下程序段:

inti=5;

while(inti=0){—:}

运行时输出的个数是

A0B1C51)无穷

67.有如下程序段:

inti=l;

while(l){

i++;

if(i==10)break;

if(i%2==0)coutVV'*';

}

执行这个程序段输出字符*的个数是

A10B3C4I)5

68.【单选题】有以下”+程序:

#include<iostream.h>

voidmciinO

(

intx;

do

{

cout«++x;

)while(!x);

}

该程序_____。

A.输出值不正确B.陷入死循环C.运行时无结果输出D.编译时出错

69.【单选题】已知intx=3;下面的do_while语句执行时循环次数为。

do{-X;}while(x!=0)

A.1B.2C.3D.无限

70.有如下程序:

#include<iostream.h>

intmain()

{

intsum;

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

(

sum=i;

for(intj=i;j<6;j++)sum+=j;

)

cout«sum<<endl;

return0;

运行时的输出结果是()o

71.执行下列语句段后,输出字符“*”的个数是

for(inti=50;i>l;i-=2)cout«,**;

72.执行下列语句段后,输出字符的个数是

for(inti=50;i>l;—i)cout«,**;

A48B49C50D51

73.有以下程序

main()

{inti,j,x=0;

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

{x++;

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

{if(j%2)continue;

x++;

)

printf(*x=%d\n",x);

}

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

Ax=4Bx=8Cx=6Dx=12

74.设变量已正确定义,则以下能正确计算f=n!的程序段是____o

Af=0;for(i=l;i<=n;i++)f*=i;Bf=l;for(i=l;Kn;i++)f*=i;

Cf=l;for(i=n;i>l;i++)f*=i;Df=l;for(i=n;i>=2;i—)f*=i;

75.有以下程序:

main()

{inta=l,b;

for(b=l;b<=10;b++)

{if(a>=8)break;if(a%2=l){a+=5;continue;)a-=3;

)

printf("与d\n〃,b);

)

程序运行后的输出结果是O

A3B4C5D6

76.【单选题】下面程序段的输出的结果是—。

for(intn=3;n<6;n++)(n%2)?cout<<"**":cout<<"##"

A.##**##B.**##**C.**D.##

77.【单选题】下面程序的输出结果是

#inc1ude<iostream.h>

voidmain()

intx,y;

for(x=l,y=l;x<=100;x++>

if(y>=10)break;

if(y%3==l)

{y+=3;

continue;

)

y=3;//y-=5

}

cout<<x«endl;

)

A.10B.1C.3D.4

78【单选题】下列程序的输出结果是。

#include<iostream.h>

voidmain()

(

inti,j,x=0;

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

(

x++;

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

{if(j%2)continue;

x++;

}

x++;

}

cout<<x«ondl;

}

A.16B.12C.8D.10

79.要定义一个具有5个元素的一维数组vect,并使其各元素的初值依次是3(),50,-88,0

和0,则下列定义语句中错误的是

Aintvect[]=(30,50,-88);Bintveer[]={30,50,-88,0,0};

Cintvect[5]={30,50,-88);Dintvect[5]={30,50,-88,0,0};

80针对数组定义intdata[10j;,下列表述中错误的是

A用*data可访问到数组的首元素B用data[9]可访问到数组的末元素

C用data[10]访问数组元素会超出数组边界Ddata共有10个元素,其首元素是data[l]

81.要定义数组A,使得其中每个元素的数据依次为:3、9、4、8、0、0、0,错误的定义

语句是

AintA[]={3,9,4,8,0,0,0};BintA[7]={3,9,4,8,0,0,0);

CintA[]={3,9,4,8};DintA[7]={3,9,4,8};

82.要定义整型数组x,使之包括初值为0的三个元素,下列语句中错误的是

Aintx[3]={0,0,0};Bintx[]={0);Cstaticintx[3]={0};Dintx[]={0,0,0);

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

Aintx[][3]={0};Binix[2][3]={{1,2},{3,4},{5,6}};

Cintx[][3]={(1,2,3},{4,5,6});Dintx[2][3]={1,2,3,4,5,6};

84.有以下程序

mainO

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

for(i=O;i<3;i++)printf(线d”,t[2-i][i]);

}

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

A753B357C369D751

85.有以下程序:

mainO

{intnum[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("%4c",'');forj=_____;j<4;j++)printf(^%4

d",num[i][j]);printfC\n");

}

)

若要按以下形式输出数组右上半三角

1234

678

1112

16

则在程序下划线处应填入的是。

Ai-1BiCi+1I)4-i

86.以下叙述中错误的是____o

A对于double类型数组:不可以直接用数组名对数组进行整体输入或输出

B数组名代表的是数组所占存储区的首地址,其值不可改变

C当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出

错信息

D可以通过赋初值的方式确定数组元素的个数

87.有以下程序

mainO

(

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

for(i=0;i<2;i++){ptr=a+i;scanfptr);ptr++;}

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

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

printf("\n〃);

}

}

若运行时输入:123<回车),则输M结果是______o

A产生错误信息B10C12D10

2I)2020

000030

答案:B

88.以下能正确定义一-维数组的选项是o

Ainta[5]={0,1,2,3,4,5};Bchara[]={0,1,2,3,4,5};

Cchara二{'A','B','C'};Dinta⑸="0123”;

89.下列语句中,正确的是()。

Achar*myString=/,Hello-WorId!,z;BcharmyString=*Hello-World!

CcharmyString[ll]=,,Hello-World!z/;DcharmyString[12]=He11o-Wor1d!;

90.设有以下定义和语句charstr[20]="Program",*p;p=str;则以下叙述中正确均是一

A*p及slr[0]中的值相等Bstr及p的类型完全相同

Cstr数组长度和p所指向的字符串长度相等

D数组str中存放的内容和指针变量p中存放的内容用同

91.以下能正确定义字符串的语句是o

Acharstr[]={>\064,);Bcharstr="\x43”;Ccharstr='';Dcharstr[]="\0";

92.有以下程序:

main()

{charp[]={'a','b'Jc'],q[]="abc";

printf(?,%d%d\n,,»sizeof(p),sizeof(q));

}

程序运行后的输出结果是_____O

A44B33C34D43

93.有以下程序:

#include<string.h>

main()

{charp[]:{'a','b':'c'},q[10]={'a','b','c'};

printf(/z%d%d\nz/,strlen(p),strlen(q));

)

以下叙述中正确的是_____。

A在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3

B由于p数组中没有字符串结束符,长度不能确定;但q数组中字符长度为3

C由于q数组中没有字符串结束符,长度不能确定;但p数组中字符长度为3

D由于p和q数组中没有字符串结束符,故长度都不能确定

94.己有定义:chara[]="xyz",b[]={'x','y','z'};,以下叙述中正确的是。

A数组a和b的长度相同Ba数组长度小于b数组长度

Ca数组长度大于b数组长度D上述说法都不对

95.有以下程序:

main()

(

chara[7]=*a0\0a0\0*;inti,j;i=sizeof(a);j=strlen(a);printf(*%d%d\n*»i,j);

)

程序运行后的输出结果是_____O

A22B76C72D62

96.已知有数组定义

chara[3][4];

下列表达式中错误的是

Aa[2]=,,WIN,/Bstrcpy(a[2]/WIN')Ca[2][3]=W,Da[0][l]=a[O][1]

97.【单选题】以下数组为定义中—是错误的。

A.char*a2="china”;B.chara3[5]=wchina”;

C.charal[]={*c':'h','i','n','c'};D.inta4[]={1,2,3,4};

98.【单选题】以下程序段中的词句被执行后,数组si的内容是—o

Charsl[10]=wABCD",s2[20]="EFGH”;

strcpy(sl+2,s2);

A.ABEFGHB.EFABCDC.ABCDD.CDEFGH

99.【单选题】下列关于数组初始化的说法不正确的是o

A."chars[10]={,a','b','c','d','c','f','g','h','i'};”表示

s[9]元素值为空字符

B.对于“chars|10];”它的元素初值是不确定的

C."chars[10]={匕','b'c'}”是不合法的,因为数组长度为10,而初始值仅有

3个

D.若对数组s定义:"staticchars[10];”,则数组元素值均为空字符

100.【单选题】下面各语句行中,能正确赋值字符串的语句是。

A.charst[5]={,a','b,Jc'Jd','e');B.char*st;scanf(w%sw,st);

C.charst[2][5]={"abed。”};D.char*st;st="abede”;

101.【单选题】下面程序段的输出结果是一O

charstr[]=>,abede”;

cout«*(str+4)«endl

A.eB.dC.'\(TD.输出语句有错,无结果输出

102.【单选题】以下对字符数组初始化的语句,正确的是—o

A.charstr“123"B.charstr[3]=wxyzwC.charstr[2]={,12'}D.

charstr[l]=,O'

103.【单选题】下面程序的输出结果是。

Sinelude<iostream.h>

#include<string.h>

voidmain()

(

char*xl=*abcdef*»*x2=*ab*;x1++;x2++;

cout<<strcmp(xl,x2)«endl;

}

A.1B.0C.不确定的值D.-1

104.指针p所指字符串的长度是_______o

char*p=>>\t\wStudent\\Course\nw;

A.21B.语法错误C。20Do17

105.有以下程序:

#include<string.h>

voidf(char*s,char*t)

char

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

}

mainO

{charstr[10]=*abcdefg/z,*p;

p=str+strlen(str)/2+1;f(p,p-2);printf(*%s\n*,str);

)

程序运行后的输出结果是O

AabcdefgBgfedcbaCgbcdcfaDabedcfg

106以下语句或语句组中,能正确进行字符串赋值的是。

Achar*sp;*sp=*right!v;Bchars[10];s=*right!*;

Cchars[10];*s="right!”;I)char*sp="right!”;

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

#include<string.h>

voidf(char*p口,intn)

{char*t;inti.j;for(i=0;i<n-l;i++)for(j=i+l;j<n;j++)

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

}

main()

{char:“aabdfg","abbd〃,“dcdbe","cd"};

f(p,5);

printf(,,%d\n,/,strlen(p[l]));

}

程序运行后的输出结果是O

A2B3C6D4

■8.有以下函数:

fun(char*a,char*b)

{whi1e((*a!=,\0,)&&(*b!='\0')&&(*a==*b))

{a++;b++;}

return(*a-*b);

}

该函数的功能是O

A计算a和b所指字符串的长度之差

B将b所指字符串连接到a所指字符串中

C将b所指字符串连接到a所指字符串后面

D比较a和b所指字符串的大小

109.【单选题】执行语句inta=20,*p=&a;后,下列描述错误的是_____。

A.p的值为20B.p指向整型变量a

C.*p表示变量a的值D.p的值是变量a的地址

110.【单选题】已知p是指针变量,则不能初始化指针的值是O

A.1B.0C.NULLD.地址

111.【单选题】下面能正确使用的语句是—O

A.int*x;y=l;x=&y;B.int*x;y;x=&y;C.int*x;*x=l;D.int*x,y=l;x=y;

112.【单选题】可以赋给指针变量的唯一整数是。

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

113.语句int*p=&k;定义了指针p,及这个语句等效的语句序列是

Aint*p;p=&k;Bint*p;p=k;Cint*p;*p=&k;I)int*p;*p=k;

114.有如下程序段inti=0,j=l;int&r=i:〃①r=j〃②int*p=&i;〃③*p=&r:/

/@

其中会产生编译错误的语句是

A®B③C②D①

115.有如下程序..#include<iostream....in.main(....in.*p....*p=9....ccut<

<,zTh.valu.a.p:,z<<*p.retur.0.....编译运行程序将出现的情况是:

A编译时出现语法错误,不能生成可执行文件

B运行时一定输出:Thevalueatp:9

C运行时一定输出:Thevalueatp:*9

D运行时有可能出错

116.已知n是一个int型变量,下列语句中错误的是

Along*p=newlong;Blongp;Clong*p=newlongO;Dlongpr[10];

117.若有说明语句:double*p,a;则能通过scanf语句正确给输入项读入数据的程序段是

A*p=&a;scanfp);B*p=&a;scanf(缉f”,p);

Cp=&a;scanf("/lf",;I)p=&a;scanf("Nlp);

118.若有定.in.x=0,*p=&x;,则语.printf(编d\n",*p);的输出结果是__。

A随机值B0Cx的地址Dp的地址

119.设有定.in.nl=0,n2,*p-&n2,*q=&nl;,以下赋值语句中.n2=nl;语句等价的是

A*p=*q;Bp=q;C*p=&nl;Dp=*q;

120.已知:intm=10:在下列定义引用的语句中,正确的是—

Aint&x=m:Binty=&m;Cint&z;Dint&t=&m;

121.有以下程序

mainO

{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);

)

程序执行后的输出结果是o

.4.....2.........2........3..

122.有以下程序:

mainO

{inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p+2;

printf(“与d\n”,*p+*q);

}

程序运行后的输出结果是______O

A16B10C8D6

123.有以下程序:

mainO

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

for(i=0;i<3;i++)printa[l][i]);

}

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

•1•••••••••••122•.・♦••34»♦

124.有以下程序:

main()

inta[]={l,2,3,4,5,6,7,8,9,0],*p;

for(p=a;p<a+l0;p++)printf(“为d,”,*p);

}

程序运行后的输出结果是

A1,2,3,4,5,6,7,8,9,0,B2,3,4,5,6,7,8,9,10,1,

C0,1,2,3,4,5,6,7,8,9,D1,1,1,1,1,1,1,1,1,1,

125.【单选题】下列选项中,指回数组指针pt的是____。

A.int(*pt)[5]B.int*pt[5]C.(int*)pt[5]D.int*pt[]

126.有如下定义:inta[5]={l,3,5,7,9),*p=a;下列表达式中不能得到数值5

的是

Aa[2]Ba[3]C*(p+2)D*p+4

127.有如下说明inta[10]={l,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式

A*p।9B*(p।8)C*p।=9Dp18

128.己知数组arr的定义如下:

intarr[5]={1,2,3,4,5};

下列语句中输出结果不是2的是

Acout<<*arr+l«endl;Bcout«*(arr+l)«endl;

Ccout«arr[1]<<endl;Dcout<<*arr«endl;

129.以下说明及中的说明等价。

int*p[4];

Aintp[4]Bint*pCint*(p[4])Dint(*p)[4]

130.若有语句char以下叙述中正确的是。

A定义line是一个数组:每个数组元素是一个基类型为char的指针变量

B定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组

C定义line是一个指针数组,语句中的*号称为间址运算符

D定义line是一个指向字符型函数的指针

131.有以下程序:

mainO

{inta[]={2,4,6,8,10),y=0,x,*p;

P=&a[l];

for(x=l;x<3;x++)y+=p[x];

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

)

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

A10B11C14D15

132.有以下程序:

mainO

chars[]=T59",*p;

P二s;

printf(%c",*p++);printfC%c\*p++);

}

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

A15B16C121)59

131.已知数组art的定义如下..in.arr[5]={l,2,3,4,5)..下列语句中输出结果不是2的

Acout<<*arr+l<<endl;Bcout<<*(arr+l)<<endl;

Ccout<<arr[l]<<cndl;Dcout<<*arr<<cndl;

132.有以下程序

main()

{char*p□:{"3697","2548〃};

inti,j;longnum-0;

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

{j=0;

while(p[i][j]!=\0t)

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

j+=2;

}

}

printfnum);

}

程序执行后的输出结果上。

A35B37C39D3975

133.【单选题】以下正确的函数声明是°

A.voidf(intx,y)B.voidf(x,y)C.voidf(int,int)D.f(intx;inty)

134.在C程序中,______o

A函数的定义可以嵌套,但函数的调用不可以嵌套

B函数的定义不可以嵌套:但函数的调用可以嵌套

C函数的定义和函数的调用均不可以嵌套

D函数的定义和函数的调!IJ均可以嵌套

135.下面程序的输出结果是.

#inc1ude<iostream.h>

fn(intx,inty)

(

intz;

z=x+y;

returnz;

}

voidmain()

(

inta=6,b=7,c=8,n;

n=fn((a+b,a-,b++),c);

cout«n<<endl;

)

A.25B.14C.16D.15

136.有如下程序..#include<iostream.h..

voidfun(int&x,inty)

{intt=x;x=y;y=t;}

intmainO

(

inta[2]={23,42);

fun(a[l],a[0]);

cout«a[0],z<<a[l]«endl;

return0;

)执行后的输出结果是

A42,42B23,23C23,42D42,23

137.已知函数f的原形是voidf(int*a,long&B)变量vl、v2的定义是:intvl;Ion

gv2;下列调用语句中正确的是

Af(vl,&v2);Bf(vl,v2);Cf(&vl,&v2);Df(&vl,v2);

138.有以下程序:

floatfl(floatn)

returnn*n;)

floatf2(floatn)

{return2*n;}

main()

{float(*pl)(float),(*p2)(float),(*t)(float),yl,y2;

pl二fl;p2=f2;

yl=p2(pl⑵0));

t=pl:pl=p2;p2=t;y2=p2(pl(2.0));printfC%3.0f,%3.OfXn",yl,y2);

}

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

A8,16B8,8C16,16D4,8

139.已知函数FA调用FE,若要把这两个函数定义在同一个文件中,则

AFA必须定义在FB之前

BFB必须定义在FA之前

C若FA定义在FB之后,则FA的原型必须出现在FB的定义之前

D若FB定义在FA之后,则FB的原型必须出现在FA的定义之前

140.若有下面的函数调用:fun(a+b,3,max(n-l,b))则fun的实参个数是

A3B4C5D6

141.下列关于C++函数的叙述中,正确的是

A每个函数至少要具有一个参数B每个函数都必须返回一个值

C函数在被调用之前必须先声明D函数不能自己调用自己

142.关于函数中的〈返回类型》,下列表述中错误的是

A〈返回类型)中有可能包含关键字intB<返回类型)中有可能包含自定义标以符

.<返回类型)中有可能包含字符...・〈返回类型)中可能包含[.

143..下列关于函数的描述中,错误的是

A函数可以没有返回值B函数可以没有参数

C函数可以是一个类的成员D函数不能被定义为模板

144.已定义以下函数intfun(int*p){return*p;}fun函数返回值是°

A不确定的值B一个整数C形参p中存放的值D形参p的地址值

145.有以下程序

intfunl(doublea){returna*=a;}

intfun2(doublex,doubley)

{doublea=0,b=0;

a二funl(x);b=funl(y);return(int)(a+b);

}

main()

{doublew;w,=fun2(l.1,2.0);}

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

?\5.21B5C5D0

146.以下叙述中错误的是。

AC程序必须由一个或一个以上的函数组成

B函数调用可以作为一个独立的语句存在

C若函数有返回值,必须通过return语句返回

D函数形参的值也可以传回给对应的实参

147.若各选项中所有变量已正确定义,函数fun中通过return语句返|可一个函数值,以下

选项中错误的程序是_____o

main()

{....x=fun(2.10);.....}

、floatfun(inta,intb){....}

floatfun(intb){.....}

main()

R1....x=fiin(Lj);....}

float面n(intini);

mam()

{....x=fun(Z10);……}

floatfiinCintb){.....}

C

main()

{floatfun(inii.intj);

......x=lun(IJ);.}

Dfloatfun(intitinlb){.....}

148.以下关于函数的叙述中正确的是。

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

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

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

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

149.函数fun的定义形式为:

voidfun(charch,floatx){.......}

则以下对函数fun的调用语句中,正确的是o

Afun("abc”,3.0);Bt=fun

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论