c复习题及问题详解Word格式文档下载.docx
- 文档编号:1359042
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:24
- 大小:41.47KB
c复习题及问题详解Word格式文档下载.docx
《c复习题及问题详解Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《c复习题及问题详解Word格式文档下载.docx(24页珍藏版)》请在冰点文库上搜索。
y)
z=x;
s=z*z;
{z=x;
}
else
else
z=y;
s=1/(z*z);
{z=y;
}
实用文档B
下面关于语句的说法正确的是9.
下面这两段程序的执行效果是一致的A.
空语句是只有一个分号的语句,它其实什么也不干B.
语句的构成不一定需要分号C.
语句的书写对程序的运行不起作用,因此可以随便写都可以D.
。
以下各标识符中,合法的用户标识符组为D10.
ssiped_0123,,,b-b,abcA.PAd,P#dsigneddel_word,CPP,float,B.cin,a10,*jerlist,hiy,<
fr>
,C.void,max,windkeep,,INT,,D.atemp,_iswD。
在VC++中,以下语句的输出为11.
shortintk=-1;
cout<
<
k<
'
'
<
(unsignedshort)k<
endl;
-1,65535-1,32768D..-1,32767C.A.-1,-1B。
若给出以下程序,其输出为12.B
#include<
iostream>
usingnamespacestd;
intmain()
{inta=4,b=7;
cout<
(a=a+1,b+a,b+1)<
endl;
return0;
}
.程序有错误,无法运行8C.11DA.5B.。
””的长度是A字符串“\”EOF=-\61\13.
非法字符串..9C.12DA.8Bsinx在C++程序中对应正确的表达式为数学式B。
14.
A.sqrt(sin(x)>
0?
sin(x):
-sin(x))B.sqrt(fabs(sinx))
C.sqrt(sqrt(sinx*sinx))D.fabs(sqrt(sin(x)))
15.下列A是C++语言的有效标识符?
A._No1B.No.1C.12345
D.int
16.C++语言中,表示一条语句结束的标号是B
A.#B.;
C.//}
.DC
C++程序中都必须有且仅有一个17.每个
.语句.主函数D.预处理命令A.类BCC++语言基本数据类型的是D。
18.下列数据类型不是
.实型D.数组A.字符型B.整型C。
B19.下列字符列中,可作为C++语言程序自定义标识符是
do..fileCbreakD..AswitchBC、<
=、=%中,优先级最低的运算符是。
、运算符20.+
%
...A+B<
=C=D.
21.下列字符列中,可以作为“字符串常量”的是B。
A.ABCB.″xyz″C.′uvw′D.′a′
22.设变量m,n,a,b,c,d均为0,执行(m=a==b)||(n=c==d)后,m,n的值是D。
A.0,0B.0,1C.1,0D.1,1
23.字符串癜屭硜?
屜屜屜灮屜?
焲的长度是A。
A.8B.10C.17D.16
24.在C++语言中,自定义的标识符D。
A.能使用关键字并且不区分大小写
B.不能使用关键字并且不区分大小写
C.能使用关键字并且区分大小写
D.不能使用关键字并且区分大小写
25.设有代码“inta=5;
”,则执行了语句“a+=a-=a*a;
”后,变量a的值是C。
A.3B.0C.-40D.–12
26.设a为5,执行下列代码后,b的值不为2的是C。
A.b=a/2B.b=6-(--a)
C.b=a%2D.b=a<
3?
3:
2
27.设x和y均为bool量,则x&
&
y为真的条件是A。
A.它们均为真B.其中一个为真
C.它们均为假D.其中一个为假
28.若给定条件表达式(m)?
(a++):
(a--),则其中表达式mC。
A.和(m==0)等价B.和(m==1)等价
C.和(m!
=0)等价D.和(m!
=1)等价
29.在C++语言的if语句中,用作判断的表达式为D。
A.关系表达式B.逻辑表达式
C.算术表达式D.任意表达式
30.设i和k都是int类型,则以下for循环语句B。
for(i=0,k=-1;
k=1;
i++,k++)cout<
****\n;
A.判断循环结束的条件不合法B.是无限循环
C.循环体一次也不执行D.循环体只执行一次
31.若有以下语句,则输出结果为A。
inta=2,b=1;
a>
b?
a大于b:
a小于b<
A.a大于bB.a小于bC.1D.输出语句有错
32.intk=10;
while(k=0)k=k-1;
则下面描述正确的是C。
A.while循环执行10次B.循环是无限循环
C.循环体语句一次也不执行D.循环体语句执行一次
33.inta=1,b=2,c=2,t;
while(a<
b){t=a;
a=b;
b=t;
c--;
cout<
a<
”,”<
b<
c;
运行结果为D。
A.1,2,0B.2,1,0C.1,2,1D.2,1,1
34.intx=-1;
do
{x=x*x;
while(!
x);
下列说法正确的是C。
A.是死循环B.循环执行两次
C.循环执行一次D.有语法错误
35.以下能正确计算1*2*3*…*10的程序段是C。
A.do{i=1;
s=1;
B.do{i=1;
s=0;
s=s*i;
i++;
}s=s*i;
i++;
while(i<
=10);
C.i=1;
D.i=1;
do{s=s*i;
do{s=s*i;
}i++;
while(i<
36.以下描述正确的是C。
A.由于do-while循环中循环体语句只是一条可执行语句,所以循环体内不能使用复合语句
B.do-while循环由do开始,用while结束,在while(表达式)后面不能写分号
C.在do-while循环体中,一定要有能使while后面表达式的值变为零(“假”)的操作
D.do-while循环中,根据情况可以省略while
37.C++中while和do-while循环的主要区别是A。
A.do-while的循环体至少无条件执行一次
B.while的循环控制条件比do-while的循环控制条件严格
C.do-while允许从外部转到循环体内
D.do-while的循环体不能是复合语句
38.下面有关for循环的正确描述是D。
A.for循环只能用于循环次数已经确定的情况
B.for循环是先执行循环体语句,后判断表达式
C.for循环中,不能用break语句跳出循环体
D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
39.对for(表达式1;
;
表达式3)可理解为B。
A.for(表达式1;
0;
表达式3)
B.for(表达式1;
1;
C.for(表达式1;
表达式1;
D.or(表达式1;
表达式3;
40.for(i=2;
i==0;
)printf(“%d”,I--);
循环执行的次数是B。
A.无限次B.0次C.1次D.2次
41.在C++编程语言中,以下正确的描述是B。
A.continue语句的作用是结束整个循环的执行
B.只能在循环体内和switch语句体内使用break语句
C.在循坏体内使用break语句或continue语句的作用相同
D.从多层循环嵌套中退出,只能使用goto语句
42.下面程序段D。
for(t=1;
t<
=100;
t++)
{cin>
x;
if(x<
0)continue;
cout<
t;
A.当x<
0时整个循环结束B.x>
=0时什么也不输出
C.cout永远也不执行D.最多允许输出100个非负整数
43.定义一个函数实现交换x和y的值,并将结果正确返回。
能够实现此功能的是
C。
A.swap(intx,inty){intt;
t=x;
x=y;
y=t;
B.swap(int*x,int*y){intt;
C.swap(int*x,int*y){intt;
t=*x;
*x=*y;
*y=t;
D.swap(int*x,int*y){int*t;
44.说明语句楜瑮?
瀪?
尻的含义是C。
A.p是一个指向一维数组的指针变量
B.p是指针变量,指向一个整型数据
C.p是一个指向函数的指针,该函数的返回值是一个整型
D.以上都不对
45.设有说明int(*p)[4];
其中的标识符p是C。
A.4个指向整型变量的指针变量
B.指向4个整型变量的函数指针
C.一个指向具有4个整型元素的一维数组的指针
D.具有4个指向整型变量的指针元素的一维指针数组
46.若有如下声明,下列说法错误的是C。
structem
{chara;
charb;
};
A.struct是结构体类型关键字B.em是结构体类型名
C.em是用户声明的结构体变量D.a,b是结构体成员名
47.若有下列定义,则对结构体变量的成员引用错误的是C。
structdate
{intyear;
intmonth;
intday;
实用文档structstudent
{intno;
charname[16];
datebirthday;
}stud;
A.stud.no
B.stud.name
C.stud.birthday
D.stud.birthday.year
B。
48.下列叙述中,不正确的是
A.类的构造函数可以重载B.类的析构函数可以重载C.一个类可以不定义构造函数D.一个类可以不定义析构函数已知宏定义:
49.#defineN3
#defineY(n)((N+1)*n)
)N+1(()*5+1
后,变量z的值是B执行语句z=2*(N+Y(5+1));
A.42B.48C.52D.出错C类的构造函数的作用是50.
A)一般成员函数的初始化B)类的初始化)对象的初始化C)删除类创建的对象DB
下列说法正确的是51.
)内置函数在运行时是将该函数的目标代码插入每个调用该函数的地方A)内置函数在编译时是将该函数的目标代码插入每个调用该函数的地方B)类的内置函数必须在类体内定义C定义)类的内置函数必须在类体外通过加关键字inlineD二、填空题选择结构选择结构、、1.程序的三种基本的控制结构是:
顺序结构
假定一个结构类型定义为:
2.“structD{inta;
union{intb;
doublec;
};
D*d[2];
”,则该类型的大小为20字节。
3.C++语言中的每条基本语句以;
作为结束符,每条复合语
句以}作为结束符。
4.关系表达式x+y>
5的相反表达式为x+y<
=5。
5.下面的程序段中循环体的执行次数是3。
a=10;
b=0;
do{b+=2;
a-=2+b;
}while(a>
=0);
6.下面程序段的运行结果为**。
x=2;
do{cout<
“*”;
x--;
}while(!
x==0);
7.定义内置函数的方法是在函数的返回值类型之前增加关键字inline。
8.假定a为一个整型数组名,则元素a[4]的字节地址为a+16。
9.假定一个一维数组的定义为“chara[8];
”,则该数组所含元素的个数为8,所占存储空间的字节数为32。
10.已知inta[3][2]={3,2,1};
则表达式“a[0][0]/a[0][1]/a[0][2]”的值是1。
11.若用数组名作为函数调用时的实参,则实际上传递给形参的是数组首地址。
12.如果一个函数无返回值,定义它时函数类型应是void。
13.预处理命令以#开头。
14.假定a是一个二维数组,则a[i][j]的指针访问方式为*(a[i]+j)或*(*(a+i)+j)。
15.C++在编译时,可以将所调用函数的代码直接嵌入到主调函数中,而不是将流程转出去。
这种嵌入到主调函数中的函数称为内置函数。
16.使用内置函数可以节省运行时间,但却增加了目标函数的长度。
17.C++允许用同一函数名定义多个函数,这些函数的参数个数和参数类型不同。
这就是
函数的重载。
18.利用C++编程语言可以建立一个通用函数,其函数类型和形参类型不具体指定,用一个虚拟的类型来代表。
这个通用函数就称为函数模板。
19.对一个类中的数据成员的初始化可以通过构造函数中的初始化
表实现,也可以通过构造函数中的函数
体实现。
20.假定AB为一个类,则执行“ABa[10];
”语句时,系统自动调用该类的构造函数的次数为10。
三、填空完成下面的程序
1.#include<
intmain()
{inta,b,c,x;
cin>
a;
a=<
b;
=<
c=<
c<
if(a==b&
b==c)cout<
hethreenumbersareeauql<
else
{if(a>
b&
c)x=a;
elseif(b>
c)x=b;
elsex=c;
hegreatestnumberis:
x<
return0;
2.下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环,请填空完成程序。
intn=0,c;
c=getchar();
while(c!
='
\n'
)
{if(c>
Z'
||c>
a'
z'
)n++;
c=getchar();
3.鸡、兔共有30只,脚共有90个,下面程序段是计算鸡兔各有多少只,x代表有多少只鸡,y代表有多少只兔子,请填空完成程序。
for(x=1;
=29;
x++)
{y=30-x;
if(2*x+4*y==90)cout<
y;
4.下面的程序是求2个或3个正整数中的最大数,用带有默认参数的函数实现。
请填空完成程序。
#include<
usingnamespacestd;
intmain()
{intmax(inta,intb,intc=0);
inta,b,c,m1,m2;
a>
b>
m1=max(a,b,c);
m2=max(a,b);
a,b,c三个正整数中的最大数为:
m1<
a,b两个正整数中的最大数为:
m2<
实用文档
intmax(inta,intb,intc)
{if(b>
a)a=b;
if(c>
a)a=c;
returna;
四、给出下列程序运行后的输出结果#include<
1.usingnamespacestd;
voidSB(charch)
{switch(ch)
{case'
:
case'
well!
;
break;
B'
b'
good!
C'
c'
pass!
default:
ad!
{chara1='
a2='
a3='
f'
SB(a1);
SB(a2);
SB(a3);
SB('
);
答案:
pass!
bad!
well!
2.#include<
{inta,b;
for(a=1,b=1;
a++)
{if(b>
=20)break;
if(b%3==1)
{b+=3;
continue;
b-=5;
实用文档return0;
8答案:
#include<
3.
main()
{inti,j,x=0;
for(i=0;
i<
2;
i++)
{x++;
for(j=0;
j<
=3;
j++)
{if(j%2)continue;
x++;
”cout<
“x=}
x=8
4.usingnamespacestd;
{inti;
for(i=1;
=5;
”“*{if(i%2)cout<
elsecontinue;
#”cout<
“}
“$\n}
*#*#*#$答案:
5.#include<
voidmain()
{intI,j,a=0;
for(I=0;
I<
I++)
{for(j=0;
4;
{if(j%2)break;
a++;
实用文档cout<
4答案:
运行以下程序时,从键盘键入right?
请给出回车后运行的结果。
6.#include<
voidmain()
{charc;
while((c=getchar())!
'
)putchar(++c);
sjhiu答案:
iostream.h>
7.
{intI;
for(I=1;
switch(I%2)
{case0:
I++;
#;
break;
case1:
I+=2;
*;
\
*答案:
#
iostr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 复习题 问题 详解