c++复习资料及答案Word文件下载.docx
- 文档编号:4355325
- 上传时间:2023-05-03
- 格式:DOCX
- 页数:14
- 大小:27.51KB
c++复习资料及答案Word文件下载.docx
《c++复习资料及答案Word文件下载.docx》由会员分享,可在线阅读,更多相关《c++复习资料及答案Word文件下载.docx(14页珍藏版)》请在冰点文库上搜索。
(i=1,i=10)是真的情况表达式的值=i++||++i
是假的时候=++i
(i=1,i=10)这个是逗号运算符最终i=10,是真
所以表达式的值是i++||++i=10||12=1
A).1B).2C).3D).10
5、设有inta[]={10,11,12},*p=&
a[0];
则执行完*p++;
*p+=1;
后a[0],a[1],a[2]的值依次是()
A).10,11,12B).11,12,12
C).10,12,12D).11,11,12
6、设a、b和c都是int型变量,且a=3,b=4,c=5,则下列表达式中,值为0的表达式是()
A).'
A'
'
B'
1B).a<
=b1
C).c>
=b||b+c&
b-c1D).a<
=b+c&
c>
=a+b
7、若x和y都是int型变量,x=100,y=200,则下面程序片段cout<
<
(x,y)<
endl;
的输出结果是()
语句中遵循优先级高的优先执行的原则,括号优先级最高,所以(x,y)最先计算。
这是一个逗号表达式,注意,是一个表达式,是表达式就有值。
逗号表达式的值等于最右边的那个值,即x,y,z的值是z,依次类推。
所以(x,y)=y=200,最后执行语句其他部分,输出200
A).200B).100
C).100200D).输出格式符不够,输出不确定的值
8、下面各语句中,能正确进行字符串赋值操作的语句行是()
A).chars[4][5]={"
ABCDE"
};
B).chars[5]={'
'
C'
D'
E'
}(chars[6]={'
})
C).Char*s;
s="
;
D).char*s;
cin>
>
s;
9、若有:
inta[6]={4,5,6,9,5,7},*p=a,*q=p;
则对数组元素的错误引用是()
A).a[4]B).*(p+4)C).*a++(变量才能加减)D).*q++
10、下列不正确的转义字符是()
A).'
\\'
B).'
\"
C).'
074'
D).'
\0'
11、假定a和b为int型变量,则执行以下语句后b的值为()
a=1;
b=10;
do
{b-=a;
a++;
}
while(b--<
0);
A).9B).–2C).-1D).8
12、对于结构中定义的成员,其隐含访问权限为()
A).publicB).protected
C).privateD).static
13、设P1和P2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是()
A).k=*P1+*P2;
B).p2=k;
C).P1=P2;
D).K=*P1*(*P2);
14、设有如下定义:
intarr[]={6,7,8,9,10};
int*ptr;
则下列程序段的输出结果为()
ptr=arr;
*(ptr+2)+=2;
cout<
*ptr<
*(ptr+2)<
A).8,10B).6,8C).7,9D).6,10
15、执行以下程序段后,m的值为()
inta[2][3]={{1,2,3},{4,5,6}};
intm,*p;
p=&
a[0][0];
m=(*p)*(*(p+2))*(*(p+4));
A).15B).14C).13D).12
三、填空题
1、描述命题“A小于B或小于C”的表达式为。
2、在C++中有二种参数传递方式:
和。
3、定义重载函数时,应在参数个数、参数类型或参数次序上。
4、拷贝初始化构造函数使用来初始化创建中的对象。
5、一个C++函数由两部分组成,即:
和。
6、一个C++程序总是从开始执行。
7、C++语言程序中出现的/*……*/部分或//……部分所起的作用是:
。
8、C++语言中数组元素的访问方式有两种,即:
9、C++规定:
在每一个字符串的结尾加上一个,以便系统据此判断字符串是否结束。
10、C++语言中数据类型的转换有两种,即:
11、C++语言规定了运算符的优先级和结合性,其结合性分为:
12、若有intx=4,y=7;
则表达式x+=y,x*=x+y的值为。
13、x>
1&
y!
=0的相反条件为。
14、过程化程序设计方法中,程序由三种基本结构,即:
顺序结构、、。
15、在C++中,若需要在程序文件中进行标准输入输出操作,则必须在开始加入预处理命令,若使用到数学库中的函数时,要在源程序的开始加入预处理命令。
16、C++语言中用来存放变量地址的变量称作。
17、int*p[10];
的含义是。
18、int**p;
四、简答题
1、请用C++语言的表达式表示下列代数式。
(1)
(2)
(e=2.71828)
(3)
(4)
(5)
2、根据要求完成下列各题。
(1)用两种方法实现一个字符串str,并赋以初值”welcometoNanjing!
”。
(2)定义结构体类型date,该结构体包含的成员为year(整型)、month(整型)、day(整型),再使用typedef
将结构体类型date等价成DATE,最后使用DATE定义一个变量pdate。
五、程序分析题
1、写出下列程序运行结果:
(1)#include"
iostream.h"
(4分)
voidmain()
{intx=5,y=8,*px,*py;
px=&
x,py=&
y;
cout<
"
num1=”<
*px<
’,’<
”num2="
*py<
’;
if(x<
y)swap1(x,y);
y)swap2(px,py);
cout<
y)swap3(px,py);
swap1(inta,intb)
{intt;
t=a;
a=b;
b=t;
a<
b<
swap2(int*p,int*q)
{int*t;
t=p;
p=q;
q=t;
*p<
*q<
swap3(int*p,int*q)
t=*p;
*p=*q;
*q=t;
}
(2)#include“iostream.h”(3分)
main(intargc,char*argv[])
{inti;
”argc=”<
argc<
’;
for(i=0;
i<
=argc-1;
i++)cout<
argv[i]<
若上面的程序编译`连接后生成可执行文件ABC.EXE,
若输入以下命令行abcfilelfile2<
enter>
(表示回车)注:
文件的路径可以不考虑
(3)#include<
iostream.h>
classA
{inta,b;
public:
A(){a=b=0;
A(intaa,intbb):
a(aa),b(bb)
{cout<
”a=”<
”,”<
”b=”<
~A(){cout<
”Destructor!
”<
};
{Ax,y(2,3);
}//对象x,y消亡后分别自动调用析构函数~A()
2、试分析下列程序或函数的功能。
(4分)
(1)#include"
voidmain()
{charstr[81],*sptr;
inti;
for(i=0;
i<
80;
i++)
{str[i]=cin.get();
if(str[i]=='
\n'
)break;
}
str[i]=’\0’;
sptr=str;
while(*sptr)cout<
(*sptr++);
3、程序改错题:
从键盘输入一个分数(0~100),判断它属于哪个分数段,并输出分数段字母代号。
#include<
main()
{intnum;
chargrade;
“pleaseinputnum:
”;
num;
if((grade>
=90)&
(grade<
==100)grade=”A”;
“Thegradeis:
grade;
if(grade>
=80)grade=”B”;
=70)grade=”C”;
=60)grade=”D”;
elsegrade=”E”;
4、程序填空题:
(每空1分,共8分)
(1)以下程序通过调用自定义函数scopy()将字符串s1复制到字符串s2,并输出显示,请填空。
#include“iostream.h”
voidscopy(,)
{while(*p!
='
)
{;
;
*q='
{char*s1="
Nanjing,China"
chars2[20];
\nThes1is:
s1;
\nThes2is:
s2;
(2)classA
{int*a;
intn;
public:
A(intnn=0):
n(nn)
{if(n==0)a=0;
elsea=;
//分配长度为n的动态数组
voidseta(int*aa)
{for(inti=0;
n;
i++)a[i]=aa[i];
//定义析构函数,释放动态数组空间
};
六、编程题
1、编制一个完整的程序:
从键盘输入10个整型数组元素,调用自定义函数voidsort(intarray[],intn)对其进行由大到小排序,最后将排序结果输出到显示器终端,要求自定义函数sort()中用冒泡法实现排序。
04财计《C++程序设计语言》答案
一、判断题(10分)
1~5:
F,F,F,F,F
2~10:
T,T,T,T,T
二、选择题(25分)
C,A,C,A,C
6~10:
D,A,C,C,C
11~15:
D,A,B,D,A
16~20:
C,D,D,A,A
三、语法填空题(15分)
1、A<
B||A<
C。
2、值传递和地址传递。
3、不相同。
4、已存在同类型对象的引用。
5、函数的说明部分和函数体部分。
6、main函数的入口地址处。
7、注释说明,以增加程序的可读性。
8、下标方式和指针方式。
9、字符串结束标志’\0’
10、自动类型转换和强制类型转换。
11、左结合性和右结合性。
12、198。
13、x<
=1||y==0。
14、选择结构、循环结构。
15、#include<
#include“math.h”。
16、指针变量。
17、定义指针数组p,它有10个指向整型数据的指针元素组成。
18、定义一个指针变量p,它指向一个指向整型数据的指针变量。
四、简答题(16分)
(1)x*x*x*sin(55*3.14/180)/(3.14*d)
(2)1.0/3*exp(a-b)
(3)(a+b*b*h-b/4)/(a+h/t)
(4)exp(a+b)*sin(50*3.14/180)
(5)log(a+x/5.0*sqrt(a+x*x))
(1)staticcharstr[]=”welcometoNanjing!
”;
char*str=”welcometoNanjing!
(2)structdate
{intyear;
intmonth;
intday;
typedefstructdateDATE;
DATEpdate;
1、
(1)、各cout按执行次序输出的结果为5,8;
8,5;
5,8;
8,5
(2)、程序执行后的输出结果是:
argc=3;
abc.exe;
file1;
file2;
(3)、程序的输出结果是:
a=2,b=3
Destructor!
2、程序的功能是:
从键盘上输入一行字符,存入一个字符数组中,然后输出该字符串。
3、改错题:
=100)grade=”A”;
elseif(grade>
elseif(grade>
elseif(grade>
elsegrade=”E”;
endif
endif
endif
endif
4、填空题:
(1)以下程序通过调用自定义函数scopy()将字符串s1复制到字符串s2,并输出显示,请填空。
char*p,char*q*q=*p;
p++;
q++;
scopy(s1,s2);
(2)newint[n];
~A(){delete[]a;
}//定义析构函数,释放动态数组空间
六、程序设计题(7分)
main()
{intarr[10];
for(inti=0;
10;
i++)
cin>
arr[i];
Sort(arr,10);
cout>
voidsort(intarray[],intn)
{inti,j,k;
for(i=0;
=n-1;
for(j=0;
j<
=n-i;
j++)
if(array[j]>
=array[j+1])
{k=array[j];
array[j]=array[j+1];
array[j+1]=k;
欢迎您的下载,
资料仅供参考!
致力为企业和个人提供合同协议,策划案计划书,学习资料等等
打造全网一站式需求
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 复习资料 答案