(西南交大)C++第6章习题参考答案

合集下载

西安交大C--程序设计第六章作业DOC

西安交大C--程序设计第六章作业DOC

西安交通大学实验报告课程计算机程序设计实验名称指针与函数第 1 页共 25 页系别实验日期 2014 年 4月 18日专业班级组别实验报告日期 2014 年 4 月 19日姓名学号_ _报告退发 ( 订正、重做 )同组人教师审批签字一、实验目的学会使用递归函数和函数重载,进一步熟练动态分配等指针使用方法。

二、实验内容(一)第一题:1、(必做题)使用递归算法编写如下程序:对于任意给定的实数 X 和整数k( k>0) ,计算。

1.源程序代码:<>;( k)递归函数用于计算x^k(){x;k;<<"请输入实数x:";>>x;<<"请输入正整数k:";>>k;(k<=0)判断输入的k是否满足要求,若否则提示输入错误并重新输入{<<"您的输入有误!请输入正整数:";>>k;}<<"计算结果是:"<<x<<"^"<<k<<"="<<()<<输出运算结果0;}( k){(1)1时不再进行循环,输出值为xx;{*(1)对于k大于1的情况,进入下一循环s;}}2.实验结果:(1)输入X正实数:(2)输入X正整数:(3)输入x为负数:(4)输入k为负数:3.问题分析:该函数的循环方式是:x^*x^(1).设f()^k,那么就有f()(1)*x.而其结束递归的条件是1,此时有f(x,1),由此给出初值。

(二)第二题:使用递归算法编写求斐波那契数列的第 n 项的函数,并编出主函数进行验证。

1.源程序代码:<>;( n)递归函数,计算斐波那契数列的第n项{(0)对于0不再进行递归,返回值00;{(1)1对于1不再进行递归,返回值1{(1)(2)将计算第n项归为计算第1和2项s;}}}(){n;<<"请输入要计算的项数(非负整数):"提示输入项数,首项为第0项>>n;(n<0)对于不符合要求的输入值重新输入{<<"输入有误,请输入非负整数:";>>n;}<<"计算结果是:["<<n<<"]="<<(n)<<输出计算结果0;}2.实验结果:(1)输入项数正确(0或正整数):(2)输入项数有误(负数):3.问题分析:该题的递归方式:第n项为之前两项之和,即:(n)(1)(2),由此递归至(1)和(2)时结束递归,而(1)和(2)已知。

西安交大c++程序设计第六章作业

西安交大c++程序设计第六章作业

西安交大c++程序设计第六章作业Document number:NOCG-YUNOO-BUYTT-UU986-1986UT西安交通大学实验报告课程__计算机程序设计__实验名称__指针与函数__第 1 页共 25 页系别____ _______ 实验日期 2014 年 4月 18日专业班级__ ____组别_____________ 实验报告日期 2014 年 4 月 19日姓名___ _______学号_ _报告退发 ( 订正、重做 )同组人_________________________________ 教师审批签字一、实验目的学会使用递归函数和函数重载,进一步熟练动态分配等指针使用方法。

二、实验内容(一)第一题:1、(必做题)使用递归算法编写如下程序:对于任意给定的实数 X 和整数k( k>0) ,计算 Xk 。

1.源程序代码:#include<iostream>using namespace std;double yunsuan(double x,int k);验结果:(1)输入X正实数:(2)输入X正整数:(3)输入x为负数:(4)输入k为负数:3.问题分析:该函数的循环方式是:x^k=x*x^(k-1).设f(x,k)=x^k,那么就有f(x,k)=f(x,k-1)*x.而其结束递归的条件是k=1,此时有f(x,1)=x,由此给出初值。

(二)第二题:使用递归算法编写求斐波那契数列的第 n 项的函数,并编出主函数进行验证。

1.源程序代码:#include<iostream>using namespace std;int fib(int n)验结果:(1)输入项数正确(0或正整数):(2)输入项数有误(负数):3.问题分析:该题的递归方式:第n项为之前两项之和,即:fib(n)=fib(n-1)+fib(n-2),由此递归至fib(1)和fib(2)时结束递归,而fib(1)和fib(2)已知。

C语言第6章习题答案

C语言第6章习题答案
(2) #include <stdio.h> #include <stdlib.h> void inputdata(int a[],int n); void process(int a[],int n); void outputdata(int a[],int n); int main() {
int a[10],n=10; inputdata(a,n); outputdata(a,n); process(a,n); outputdata(a,n); system("Pause"); return 0; } void inputdata(int a[],int n) //0~99 之间的数 {
string_b=You are a student.
(5) A (10) D (15) A
(16) A
string_a=I am a teacher. string_b=I am a teacher. 4、程序填空 (1) *p != '\0', *p-'0', j— (2) i <strlen(str), j=i, k+1 (3)a+i, (char)(n%10) + '0' (4)*pk = i, a,n,i+1,pk (5) s1++, *s2, s1=p 5、编程题 (1) #include <stdio.h> int main() { int a=3,b=7,c=2; int *ptra = &a,*ptrb = &b,*ptrc = &c; int temp; printf("a=%d,b=%d,c=%d\n",a,b,c); printf("*ptra=%d,*ptrb=%d,*ptrc=%d\n",*ptra,*ptrb,*ptrc); if ( *ptra > *ptrb ) {

c 程序设计教程习题6_8章参考答案

c  程序设计教程习题6_8章参考答案
}
int getage()
{
return age;
}
double getweight()
{
return weight;
}
char *getcolor()
{
return color;
}
};
void main()
{
Cat c1;
int a;
double w;
char c[10];
cin>>a>>w>>c;
print(h3);
}
第七章
一、选择题
1、D2、B3、B4、A5、B
6、A7、D8、B9、C10、B
二、程序填空
1、fname,“w”(ch=getchar())!=’#’count++
2、(c=fgetc(fp))length++length=0
3、”wb”&emp, sizeof(employer),1,fpfclose(fp)“rb”
newnode->expn=p1->expn;
p1=p1->next;
}
else if(p1->expn<p2->expn)
{
newnode->coef=p2->coef;
newnode->expn=p2->expn;
p2=p2->next;
}
else
{
newnode->coef=p2->coef+p1->coef;
else
{
if(p->coef!=0&&p->expn!=0)

C语言第六章课后答案

C语言第六章课后答案
temp=a[i];
a[i]=a[min];
a[min]=temp;
}
printf("\nThe sorted numbers:\n");
for (i=1;i<=10;i++)
printf("%5d",a[i]);
printf("\n");
return 0;
}
xt6-3
#include <stdio.h>
return 0;
}
xt6-9
#include <stdio.h>
#define N 15
int main()
{ int i,number,top,bott,mid,loca,a[N],flag=1,sign;
char c;
printf("enter data:\n");
scanf("%d",&a[0]);
printf("The orginal numbers:\n");
for (i=1;i<=10;i++)
printf("%5d",a[i]);
printf("\n");
for (i=1;i<=9;i++)
{min=i;
for (j=i+1;j<=10;j++)
if (a[min]>a[j]) min=j;
if (a[j]%a[i]==0)
a[j]=0;
}
printf("\n");
for (i=2,n=0;i<=100;i++)

西南交大-大学英语作业6

西南交大-大学英语作业6

本次作业是本门课程本学期的第6次作业,注释如下:大学英语I 第6单元作业题一、单项选择题(只有一个选项正确,共40道小题)1. –I’ve got the job!–_________________[本题2分](A) Not bad.(B) I’m glad that you made it.(C) It sounds good(D) You’d better tell your brother.正确答案:B解答参考:[第六单元]B 当对方告诉你他得到那分工作时,你应该马上表示祝贺。

你可以表示I’m glad to hear that 或是I’m happy you are the lucky one 等。

2. –Did the teacher fail you?–No, she didn’t. _________________[本题2分](A) I’m in the heaven.(B) She likes me very much.(C) I don’t know why.(D) I have no mistake.正确答案:A解答参考:[第六单元]A 当对方关心你考试是否过关,你表示自己对过关的喜悦之情时,可以说I’m in th e heaven 或明确表示自己很走运,说I lucked out3. –How about your journey in Tibet?–_________________[本题2分](A) It’s very so-so.(B) I’m very tired.(C) Thanks for asking.(D) It’s wonde rful.正确答案:D解答参考:[第六单元]D 当对方问你旅行的感受时候,如果你觉得非常好,可以说It’s wonderful;如果你觉得不好,则可以说It’s terrible4. –You are so kind. You’ve helped us a lot.–_________________[本题2分](A) It’s my pleasure.(B) You needn’t say that.(C) Aren’t we friends?(D) I’m afraid I haven’t done well.正确答案:A解答参考:[第六单元]A 当对方告诉你“很高兴能和你在一起”的时候,你可以说Me, too 也可以说It’s my pleasure 表示这是我的荣幸5. –My daughter recovered and left the hospital yesterday.–_________________[本题2分](A) What a relief!(B) You look sad.(C) You are a good father.(D) Be careful.正确答案:A解答参考:[第六单元] A 当你告诉对方,“我女儿昨天康复出院了。

大学物理(西南交大)作业参考答案6

大学物理(西南交大)作业参考答案6

NO.6 电流、磁场与磁力 (参考答案)班级: 学号: 姓名: 成绩:一 选择题1.在无限长的载流I 的直导线附近,有一球形闭合面S ,当S 面以速度V向长直导线靠近时,穿过S 面的磁通量Φ和面上各点的磁感应强度大小B 的变化是: (A )Φ增大,B 也增大; (B )Φ不变,B 也不变; (C )Φ增大,B 不变; (D )Φ不变,B 增大;[ D ]2.如图示的两个载有相等电流I 的圆形线圈,一个处于水平位置,一个处于竖直位置,半径均为R ,并同圆心,圆心O 处的磁感应强度大小为:(A )0; (B )R I20μ; (C )RI220μ; (D )R I 0μ。

[ C ]3.载流的圆形线圈(半径a 1)与正方形线圈(边长a 2)通有相同电流I ,若两个线圈的中心O 1、O 2处的磁感应强度大小相同,则a 1︰a 2为:(A )1︰1 ; (B )π2︰1 ; (C )π2︰4 ; (D )π2︰8 ;[ D ]4.如图,两根直导线ab 和cd 沿半径方向被接到一个截面处处相等的铁环上,稳恒电流I 从a 端流入而从d 端流出,则磁感应强度 B 沿图中闭合路径L 的积分∮L l d B ⋅等于:(A )μ0I ; (B )μ0I / 3 ; (C )μ0I / 4 ; (D )2μ0I / 3 。

[ D ]5.真空中电流元I 1d 1l与I 2d 2l 之间的相互作用是这样的: (A )I 1d 1l与I 2d 2l 直接进行相互作用,且服从牛顿第三定律;(B )由I 1d 1l 产生的磁场与I 2d 2l产生的磁场之间进行相互作用,且服从牛顿第三定律; (C )由I 1d 1l产生的磁场与I 2d 2l产生的磁场之间进行相互作用,但不服从牛顿第三定律; (D )由I 1d 1l 产生的磁场与I 2d 2l 进行作用,或由I 2d 2l 产生的磁场与I 1d 1l进行相互作用,但不服从牛顿第三定律。

交大程序设计C第六章自测题

交大程序设计C第六章自测题

题目1
C语句: int (* pa)[5]; 中,pa 表示的是一个()
A. 指针数组的名称
B. 指向整型变量的指针
C. 指向函数的指针
D. 指向包含5个整型元素的一维数组的指针正确
正确答案是:指向包含5个整型元素的一维数组的指针
题目2
两个指针变量不能()
A. 比较
B. 相加正确
C. 相减
D. 指向同一地址
正确答案是:相加
题目3
C 语句int *func(); 中,func 表示的是()
A. 指向整型变量的指针
B. 指向函数的指针
C. 指向数组的指针
D. 返回值为指针的函数名称正确
正确答案是:返回值为指针的函数名称
题目4
若C程序中作char str1[10], str2[10], *strp;说明,则交换str1和str2中的内容可用语句strp= str1; str1=str2; str2=strp;实现。

a. 对
b. 错正确
正确答案是:错
题目5
C语言用数组名表示数组的首地址,其值在程序运行期间固定不变。

a. 错
b. 对正确
正确答案是:对。

C语言编程第六章作业答案

C语言编程第六章作业答案

1. 输入两个正整数m和n,求其最大公约数和最小公倍数。

辗除法——辗转相除法,又名欧几里德算法(Euclidean algorithm)乃求两个正整数之最大公因子的算法。

它是已知最古老的算法,其可追溯至3000年前。

它首次出现于欧几里德的《几何原本》(第VII卷,命题i和ii)中,而在中国则可以追溯至东汉出现的《九章算术》。

它并不需要把二数作质因子分解。

证明:设两数为a、b(a>b),求它们最大公约数(a、b)的步骤如下:用a除以b,余数为r 1。

若r1=0,则(a,b)=b;若r1≠0,则再用b除以r1,得r2 .若r2=0,则(a,b)=r1,若r2≠0,则继续用r1除以r2,……如此下去,直到能整除为止。

其最后一个非零余数即为(a,b)。

例如,和7890 的最大公因子是6, 这可由下列步骤看出:a b a mod b7890 51067890 5106 27845106 2784 23222784 2322 4622322 462 12462 12 612 6 0#include<stdio.h>#include<conio.h>main(){int a,b,num1,num2,temp;/*temp主要用来转换大小*/printf("please input two numbers:\n");scanf("%d,%d",num1,&num2);if(num1<num2) /*如果num2比num1大,则执行下面循环体,为调整num1要比num2大*/{temp=num1;num1=num2;num2=temp;}a=num1;b=num2;/*a比b大*/while(b!=0) /*只要b不等于0,就一直执行下面的循环体,直至整除完为止。

*/{temp=a%b;a=b;b=temp;/*以上3句调整了a,b大小,使其整除为止*/}printf("公约数:%d\n",a);printf("公倍数:%d\n",num1*num2/a); /*由公式知*/getch();}评析:关键是判断两数的大小,先排好位置,再大除小,一直除尽即可。

信号与系统课后答案(西南交大)

信号与系统课后答案(西南交大)

y x (t ) = 3e −2 t − 2 e−3 t t ≥ 0 y f ( t ) = te−2 t − e−2 t + e −3 t t ≥ 0
自由响应 2 e−2 t − e −3 t 强迫响应 te−2 t 稳态响应 0
暂态响应 te−2 t + 2e −2 t − e− 3t t ≥ 0
2.19 y f ( t ) =
2.22① t 3 u( t ) ④(
②∞
③( t−
1 2
1 1 −2 t + e )u( t ) 4 4
sin t + cost 1 −t − e )u( t ) ⑤ eu (t − 3) + e t − 2 u( 3 − t ) ⑥ cos(ωt + 45° ) 2 2 1 − cosπt cosπt − 1 1 1 2.23① u( t ) + u( t − 2) ② t 2 u( t ) − ( t − 1)2 u( t − 1) π π 2 2
3.6 f (t ) =
1 − j 3 ω0 t 3 − j 2 ω 0 t 3 1 e + e + e − jω 0 t + 1 + e jω 0 t + e j 2 ω0 t + e j 3 ω 0t 2 2 2 2
3.7 f (t ) = cos( 4ω0 t + 20°) + 2 cos( 2ω0 t + 30 °) + 3 cos(ω 0 t + 10° ) + 2
p2 + p +1 2.3 H ( p ) = 3 p + 2 p2 + 3p + 2 p2 + 3 p + 2 2.4 H ( p ) = 2p2 +3p +2

(西南交大)C++第6章习题参考答案

(西南交大)C++第6章习题参考答案
{ *c=*c+1;d=d+1;
}
void main( )
{
char a='A',b='a';
fun(&b,a);
cout<<a<<" "<<b<<endl;
}
A)B a, B)a B C)A b D)b B
18、下列程序运行后的结果是A。
#include<iostream>
using namespace std;
5、要在C++程序中通过引用来传递变量,则应该在函数头的对应形参名前面加上地址运算符&。(对)
6、在C++有返回值的函数中,return语句有而且只能有一条。(错)
7、void函数调用后,可以作为一个值出现在赋值语句的右边赋值给一个变量。(错)
8、变量的生存期指明了该变量在计算机内存中能保留多久。(对)
一、判断题:
1、一个C++程序通常由有而且只能有一个的主函数、若干个子函数和库函数构成。(对)
2、用语句cout<<sin(55*3.14159/180)可以显示一个角度为55度的正弦值。(对)
3、函数头int main ( )是一个自定义有返回值函数的例子。(对)
4、在C++有返回值的函数中,函数体以return语句结尾。(对)
A)地址传递B)引用传递C)值传递D)内容传递
8、以下哪一项可以作为void函数cacl( )的函数原形,并且将传递给该函数两个int型变量的值A。
A) void cacl(int, int);
B) void cacl(int);

西南交大流体力学(1-6)复习题纲与课后习题复习详解...

西南交大流体力学(1-6)复习题纲与课后习题复习详解...
3
[解] 由 g 得,

g

7200N/m3 734.7kg/m3 2 9.8m / s
9
1-2.若水的体积模量 K 2.2 10 Pa ,欲减小其体积的 0.5%,问需要加多大的压强? [解] 由 K
p p 9 得, 2.2 10 Pa V / V 0.5%
(zA
pA

) ( zB
pB

)(
p 1)hp ,式中 hp 为 U 形管内液体的两液面高度差。
pA
当 U 形管内液体为水银时,上式可变为: ( z A (2)绝对压强、相对压强、真空值

) ( zB
pB

) 12.6hp
以绝对真空状态作为起量点的压强,称为绝对压强,以 p 表示,其中 p 大于 0;以当地大气压起量 的压强称为相对压强,以 p 表示,其中 p 可“+”可“-” ,也可以为 0。两者的关系为:
§2.2 习题详解 2-1.一密闭盛水容器如图所示,U 形测压计液面高于容器内液面 h=1.5m,求容器液面的相对压强。
题 2-1 图 [解] p0 pa gh
pe p0 pa gh 1000 9.807 1.5 14.7kPa
2-2.一封闭水箱如图所示,金属测压计测得的压强值为 4900Pa(相对压强,压力计中心比 A 点高 0.5m, 而 A 点在液面下 1.5m。求液面的绝对压强和相对压强。
yD yC
IC (其中 yD yC ,压力中心 D 总是位于受压面形心 C 的下方) yC A
计算中应注意 yD 、 yC 是从自由面算起,并平行于作用面。 (2)图解法 原理:静水总压力的大小等于压强分布图的体积,其作用线通过压强分布图的形心,该作用线与受压 面的交点便是压力中心 D。 对于矩形平面上的静水总压力还可以用下式计算:

C++第六章课后习题

C++第六章课后习题

第六章数组、指针与字符串6-1 数组a[10][5][15]一共有多少个元素?解:10*5*15=750个元素6-2 在数组a[20]中第一个元素和最后一个元素是哪一个?解:第一个元素是a[0],最后一个是a[19]6-3 用一条语句声明一个有5个元素的int型数组,并依次赋予1~5的初值。

解:int integerArray[5]={1,2,3,4,5}6-4 已知有一个数组名叫oneArray,用一条语句求出其元素的个数。

解:int nArrayLength=sizeof(oneArray)/sizeof(oneArray[0]);6-5 用一条语句声明一个有5×3个元素的二维int型数组,并依次赋予1~15的初值。

解:int theArray[5][3]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};6-6 运算符“*”和“&”的作用是什么?解:*是指针运算符,是一元操作符,表示指针所指向的对象的值。

&是取地址运算符,也是一个一元运算符,用来得到一个对象的地址。

6-7 什么叫做指针?指针中储存的地址和这个地址中的值有何区别?解:指针是一种数据类型,具有指针类型的变量称为指针变量。

指针变量存放的是另外一个对象的地址,这个地址中的值就是另一个对象的类容。

6-8 声明一个int型指针,用new语句为其分配包含10个元素的地址空间。

解:int pInteger=new int[10];6-9 在字符串”Hello,world!”中结束符是什么?解:\06-10 声明一个有5个元素的int型数组,在程序中提示用户输入元素值,最后再在屏幕上显示出来。

解:#include<iostream>using namespace std;int main(){int myArray[5];int i;for(i=0;i<5;i++){cout<<"Value for my Array["<<i<<"]:";cin>>myArray[i];}for(i=0;i<5;i++)cout<<i<<":"<<myArray[i]<<endl;return 0;}6-11 引用和指针有何区别?何时只能使用指针而不能使用引用?解:引用是一个别名,不能为NULL值,不能被重新分配;指针是一个存放地址的变量。

西南交大列车运行控制系统作业题

西南交大列车运行控制系统作业题

列车运行控制系统一、单项选择题(只有一个选项正确,共13道小题)1. 有源应答器通过()接入到车站列控中心,可以获取临时限速、进路数据等可变的数据报文。

(A) BTM(B) LEU(C) 轨道电路(D) 车载安全计算机正确答案:B2. 列控中心对轨道电路进行编码时,站内股道和区间轨道区段的默认码分别为()。

(A) 轨道电路检测码、HU码(B) 轨道电路检测码、轨道电路检测码(C) HU码、 HU码(D) HU码、轨道电路检测码正确答案:D解答参考:3. RBC是CTCS-3级列控地面设备的核心,RBC的接口众多,下列不与RBC进行接口通信的是()。

(A) 列控中心(B) 相邻RBC(C) CTC调度集中(D) 临时限速服务器正确答案:A解答参考:4. 车站联锁为列车办理的侧向接车进路上经过的道岔为大号码道岔,且没有临时限速,列控中心控制进站信号机外方接近区段发送()码。

(A) U2(B) UU(C) UUS(D) U2S正确答案:C解答参考:5. 长帧格式的欧标应答器,其用户报文位数为()。

(A) 830bit(B) 1023bit(C) 1024bit(D) 1200bit正确答案:A解答参考:6. CTCS-2级列车运行控制系统中行车许可MA由()计算得到。

(A) 计算机联锁(B) 列控中心(C) 无线闭塞中心(D) 临时限速服务器正确答案:B解答参考:7. 针对不同的线路等级,CTCS可划分为()个等级。

(A) 4(B) 5(C) 6(D) 7正确答案:B解答参考:8. CTCS-2级列控系统的地面设备不包括()。

(A) 应答器(B) 无线闭塞中心(C) ZPW-2000轨道电路(D) 列控中心正确答案:B解答参考:9. CTCS-3级列车运行控制系统采用()传输行车许可MA。

(A) 轨道电路(B) 无线通信(C) 应答器(D) 交叉环线正确答案:B解答参考:10. CTCS-2级列车运行控制系统采用()传输线路参数。

C++中国大学MOOC第6章作业数组答案

C++中国大学MOOC第6章作业数组答案

中国大学慕课spoc第六章C++数组答案1最大值(100分)问题描述先输入一个正整数n(1到20之间),再输入n个整数,计算其中的最大值和相应下标。

输入描述先输入要处理的整数的个数n(1<=n<=20),再输入n个整数,并用空格分开。

输出描述依次输出n个整数中的最大值和相应下标(若多个整数与最大值相同,则从小到大输出相应下标),之间用空格分隔。

输入样例154 6 7 2 5输出样例17 2输入样例254 6 7 2 7输出样例27 2 4#include <bits/stdc++.h>using namespace std;int main(){int n,i,j,a[20],max;cin>>n;for(i=0;i<n;i++){cin>>a[i];}max=a[0];for(i=0;i<n;i++){if(max<a[i])max=a[i];}cout<<max;for(i=0;i<n;i++){if(a[i]==max){cout<<" "<<i;}}}2峰值个数(100分)问题描述先输入一个正整数n(3到20之间),再输入n个整数,计算其中的峰值个数。

峰值是满足大于或小于左右两个元素的元素,例如12,45,32,0,14,25,62,48,51序列中,峰值有45,0,62,48,峰值个数为4。

输入描述先输入要处理的整数的个数n(3<=n<=20),再输入n个整数,并用空格分开。

输出描述一个整数,表示n个整数中有多少个峰值。

输入样例54 6 7 2 5输出样例2#include <bits/stdc++.h>using namespace std;int main(){int n,i,a[20],j=0;cin>>n;for(i=0;i<n;i++){cin>>a[i];}for(i=1;i<n-1;i++){if((a[i]>a[i-1]&&a[i]>a[i+1])||(a[i]<a[i-1]&&a[i]<a[i+1]))j++;}cout<<j;}3互为相反数(100分)问题描述先输入一个正整数n(2到20之间),再输入n个数(可重复,可为浮点数),计算其中有多少对互为相反数(仅有符号不同的两数互为相反数)。

【免费下载】C 6 11章课后作业参考答案

【免费下载】C 6 11章课后作业参考答案
void equal(Student &a,Student &b) {
strcpy( , ); a.eng =b.eng ; a.math =b.math ; a.sum =b.sum ; } void sort(Student *p,int n) { int i,j,exchange; Student tmp; for (i=0;i<n-1;i++) {
2.编写一个程序,输入若干个学生的英语和数学成绩,求出总分,并按总分从高到低排序, 最后输出结果。
#include "iostream" #include "string" #include "iomanip" using namespace std; class Student { public:
第六章 类和对象
1.给出以下程序的执行结果
题目见《C++语言程3;程序设计教程》6.2-
6.4(P115)
答案:《C++语言程序设计》 9.9 运行结果:String 9.10 运行结果: n=6 n=6 n=6 9.11 运行结果: n=10, k=3 n=20, k=3 n=30, k=3 9.13 运行结果: n=2 n=3 9.14 运行结果:Constructor, i=0,Destructor 9.15 运行结果: Constructor1 Constructor2 i=0 i=10 Destructor Destructor 9.16 运行结果: A Constructor B Constructor Value=0 B Destructor A Destructor 9.17 运行结果: A=7, b=8 9.18 运行结果: 567
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

D

、若有函数原型“int sum(int x, int y);”,则使用语句“cout<<sum(a, b);”调用该函数时,实参变量a和形参变量x之间的数据传递方式为 C 。
A)地址传递 递
B)引用传递
C)值传递
D)内容传
8、以下哪一项可以作为void函数cacl( )的函数原形,并且将传递给该 函数两个int型变量的值 A 。 A) void B) void C) void D) int cacl(int, int); cacl(int); cacl(int &, int &); cacl(void); A 。

B

A)int fun(int x;int y) B)int fun(int x,int y) C)int fun(int x,y) D)int fun(int x;) 6、在下面的函数原型中,存在语法错误的是 A) void BC( int a ,int ); B) void BC( int ,int ); C) void BC( int ,int b=5); D) void BC( int a ;int b);
13、下列叙述中正确的是
B

A、C++程序中,main( )函数必须在其它函数之前,函数内可以嵌 套定义函数 B、C++程序中,main( )函数的位置没有限制,函数内不可以嵌套 定义函数 C、C++程序中,main( )函数必须在其它函数之前,函数内不可以 嵌套定义函数 D、C++程序中,main( )函数必须在其它函数之后,函数内可以嵌 套定义函数 14、下面有关函数原型的说法正确的是 D 。 A、函数原型与函数的定义语法是一样的 B、如果程序中有自定义函数,必须有和其对应的函数原型 C、函数原型的参数和函数定义的参数列表在参数的个数、名称、 类型上必须一一对应 D、函数原形和函数定义在函数名和返回类型上必须一致 15、在C++函数头定义中,若省略了返回值的数据类型,其默认的返回 值的数据类型为 A 。 A) int B) float C)double D) void 16、下列程序运行后的结果是 B 。 A) 3 5 B) 5 5 C) 3 3 D) 5 3 #include<iostream> using namespace std; void fun(int *a, int b) { int *k; k=a; *a=b; b=*k; } void main( ) { int a=3,*x=&a; int y=5;
数指定默认值。 20、以下正确的说法是 B 。 A、全局变量如果没有指定初值,则其初值为 0 B、静态变量如果没有指定初值,则其初值为 0 C、局部变量如果没有指定初值,则其初值为 0 D、函数中的静态变量在函数每次调用时,都会重新设置初值
fun(x,y); cout<<a<<" "<<y<<endl; } 17、下列程序运行后的结果是 C 。 #include<iostream> using namespace std; void fun(char *c,int d) { *c=*c+1;d=d+1; } void main( ) { char a='A',b='a'; fun(&b,a); cout<<a<<" "<<b<<endl; } A)B a, B)a B C) A b D) b B 18、下列程序运行后的结果是 A 。 #include<iostream> using namespace std; void fun(char *a, char *b) { a=b; (*a)++; } void main( ) { char c1='A', c2='a', *p1, *p2; p1=&c1; p2=&c2; fun(p1,p2); cout<<c1<<c2<<endl; } A) Ab B) aa C) Aa D) Bb 19、以下不正确的说法是 C 。 A、在C++中,一个程序中的函数名不一定是唯一的 B、在C++中,定义函数时,在返回值数据类型的前面加上关键字 inline,这种函数称为内联函数 C、在C++中,不允许有两个及以上的函数使用同一个函数名 D、在定义函数时,还可以对形式参数进行初始化,即给该形式参
1、 判断题:
1、一个C++程序通常由有而且只能有一个的主函数、若干个子函数和 库函数构成。(对) 2、用语句cout<<sin(55*3.14159/180)可以显示一个角度为55度的正弦 值。(对) 3、函数头int main ( )是一个自定义有返回值函数的例子。(对) 4、在C++有返回值的函数中,函数体以return语句结尾。(对) 5、要在C++程序中通过引用来传递变量,则应该在函数头的对应形参 名前面加上地址运算符&。(对) 6、在C++有返回值的函数中,return语句有而且只能有一条。(错) 7、void函数调用后,可以作为一个值出现在赋值语句的右边赋值给一 个变量。(错) 8、变量的生存期指明了该变量在计算机内存中能保留多久。(对) 9、Visual C++6.0系统中,使用语句srand(time(NULL));来初始化随机 数产生器。(对) 10、Visual C++6.0系统中,用户若需调用内置系统函数,调用前不必使 用预编译命令将该函数所在文件包括到用户源文件中,系统会自动调 用。(错) 11、Visual C++6.0系统中,有调用关系的所有函数必须放在同一源程序 文件中。(错) 12、在C++中,实参与形参结合方式有三种:值调用、引用调用和地址 调用。(对) 13、当数组名作为函数调用的实参时,参数的传递方式为地址传递,即 实参与形参表示同一个数组。(对) 14、在c++的函数调用中,主函数可以调用子函数,子函数也可以调用 其它的子函数,但子函数不能自己调用自己。(错) 15、void函数的函数头以关键字void开始,函数体中最后一条语句为 return。(错) 16、只能被声明该变量的函数使用的那些变量被称为全局变量。(错) 17、变量的作用域指明了程序的哪一部分可以使用该变量。(对) 18、函数的形式参数可以都有默认值,也可以只有部分有默认值。 (对) 19、函数的递归调用可分为直接递归调用和间接递归调用。(对) 20、同一源文件中,若外部变量名与局部变量名相同,则在执行该函数 过程中,外部变量起作用。(错)
9、以下说法中哪一项是错误的
A) 在函数头中形参的名字必须和函数调用中实参的名字一样 B) 在函数头中列出的形参必须包含每个参数的数据类型和名字 C) 在函数头中,函数名后面的一对空括号代表函数不接受任何信息 D) 函数的语句被括在一对花括号中 10、以下哪一条C++语句显示名为address字符串变量所包含的字符的个数 A 。 A) cout<<address.size( ); B) cout<<size.address( ); C) cout<<size(address); D) cout<<address(size); 11、要求函数的功能是交换x和y中的值,且通过正确调用返回交换结 果。能实现正确交换功能的函数是 A 。 A)void funa(int &x,int &y) B) void funb(int x,int y) {int p; { int t; p=x;x=y;y=p;} t=x;x=y;y=t;} C)void func(int *x,int *y) D)void fund(int x,int y) {*x=*y;*y=*x;} {x=x+y; y=x-y; x=x-y; } 12、关于引用,下列说法中正确的是 A 。 A、引用是一种特殊类型的变量,是另一个变量的别名 B、引用在函数调用中传递的是变量的值 C、在声明引用时,要给它另开辟内存单元 D、在声明引用时,可以不进行初始化
2、 单项选择题:
1、下面哪一个C++函数和数学表达式53是等价的 C A) power(3,5) B) pow(3,5) C) pow(5,3) D) srqt(3,5) 2、下面哪一条C++语句显示范围3到9之间的随机数 B A) 1+rand( )%(9-3+1) B) 3+rand( )%(9-3+1) C) 3+rand( )%(9+3-1) D) 9+rand( )%(9+1-3) 3、Visual C++中,函数返回值的类型是由 D 。 ) return 语句中的表达式类型所决定 B) 调用该函数时的主调函数类型所决定 C) 调用该函数时系统临时决定 D) 在定义该函数时所指定的函数类型所决定 4、以下叙述中正确的是 A 。 A)构成C++程序的基本单位是函数 B)可以在一个函数中定义另一个函数 C)主函数必须放在其他函数之前 D)所有被调用的函数一定要在调用之前进行定义 5、以下正确的函数头定义形式是 。
相关文档
最新文档