第1章
1.2
【解答】
重点:标准输入输出库函数——标准输入输出流对象
#include <iostream.h>
int main()
{ char name[20];伸展
cout<<”Hello!What’s your name?”<<endl;
cin>>name;蛋黄肉粽
cout<<name<<”,Welcome to learn OOP using C++!”<<endl;
return 0;
}
1.3
const int model = 90; // model is a const
const int v[ ]={1,2,3,4}; // v[i] is a const
const int x; // error: no initializer 未赋初值
void f( )
{
model =200; // error 不能修改常量的值
v[2]++; // error 不能修改常量的值
}
【修改1】
const int model = 90; // model is a const
const int v[ ]={1,2,3,4}; // v[i] is a const
const int x=0; //赋初值
void f( )
{
cout<<model<<endl; //修改常量的值
cout<< v[2]<<endl; //修改常量的值
}
或者int temp=v[2]+1;
【修改2】
int *const model=90;
const int* v[]={1,2,3,4};
1.4 int strcmp(const char *, const char *);
【解答】确保函数strcmp不会修改参数指针所指向的变量
1.6
【解答】(讲义)
•C++语言是强类型化语言,任何函数在使用以前必须有该函数的原型说明,以便进行实际参数与形式参数之间的类型匹配检查。
•函数返回值的类型和函数参数的类型、个数、次序在函数声明,函数定义和函数调用时必须匹配。
•时间的脚步C++语言的编译器执行上述检查能显著减少很多隐藏的错误。
使用函数原形执行强类型检查。任何函数在使用以前必须有该函数的原型说明,以便进行
实际参数与形式参数之间的类型匹配检查。函数返回值的类型和函数参数的类型、个数、次序在函数声明,函数定义和函数调用时必须匹配。如果某个函数的定义和调用与其原型不匹配,那么编译器会指出这种错误,而不用等到运行程序时才显示错误。
创建带有缺省参数的函数时,应注意:
1、缺省参数值应该代表最常使用的情况。如果在80~90%的时间里能用上缺省值,缺省参数才比较有意义。
2、如果给某个参数一个缺省值,那么其后的所有参数都需要赋给缺省值。
1.8
【解答】
#include <iostream>
using namespace std;
//Overload max( ) three ways 重载函数名max三次
int max(int a,int b);
long max(long a,long b);
double max(double a,double b);
int main()
儿童画怎么画{ int a1=3,b1=10;
long a2=123456,b2=567893;
double a3=2*10^6,b3=-12.34;
cout<<"int"<<max(a1,b1)<<endl;
cout<<"long"<<max(a2,b2)<<endl;
cout<<"double"<<max(a3,b3)<<endl; //使用相同的函数名求不同类型数据的绝对值
return 0;
}
int max(int a,int b)
{ int c;
a>b?c=a:c=b;
return(c);
}
驰名long max(long a,long b)
{ long c;
a>b?c=a:c=b;
return(c);
}
double max(double a,double b)
{ double c;
a>b?c=a:c=b;
return(c);
}
1.9要点:申请动态数组
【解答】
// A simple example of new and delete.
#include <iostream>
#include <string>
using namespace std;
const int N=10;
int main( )
{ char *p,q;
int i=0;
p=new char[N]; //allocate memory for a array 为数组分配动态内存空间
if(p==NULL)
{ cout<<"Allocation error\n";
return 1;
}
cin>>q;
while(q!='#')
{ p[i++]=q;
朴宰范照片
cin>>q;
快餐达人
}
cout<<endl<<"Here is name at p: ";
i=0;
while(i<N)
cout<<p[i++];
cout<<endl;
delete [] p; // relea memory 释放new分配的动态内存空间
return 0;
}
1.10
【解答】
#include <iostream.h>
void f(int a[ ],int n, int &max, int &min)
{
max=min=a[0];
for(int i=1;i<n;i++)
{
if(max<a[i]) max=a[i];
if (min>a[i]) min=a[i];
}
}
void main( )
{
int a[10]={2,5,3,9,0,8,1,7,6,4};
int max,min;