C复习
1.数据类型:在C语言中:基本类型和构造类型
基本类型:整型、浮点型、字符型、双精度型
构造类型:数组、结构、联合、指针、枚举型
数据对象:
int n=3;
int a[3]; a[0]=-1; //整型数据对象
char ch=‘A’;//字符类型数据对象
对象指针:
int *p=&n, *q=a;
基本类型:整型、浮点型、字符型、双精度型
构造类型:数组、结构、联合、指针、枚举型
数据对象:
int n=3;
int a[3]; a[0]=-1; //整型数据对象
char ch=‘A’;//字符类型数据对象
对象指针:
int *p=&n, *q=a;
2.标识符
表达式
语句:赋值句、条件句、循环句、函数调用(输入输出)
函数:返回值类型,函数名,参数列表
递归:直接递归、间接递归
表达式
语句:赋值句、条件句、循环句、函数调用(输入输出)
函数:返回值类型,函数名,参数列表
递归:直接递归、间接递归
C++介绍
一. C++要素
1. 文件扩展名
*.cpp
注意:C++ 源文件扩展名用 .cpp
C 源文件扩展名用 .c
注意:C++ 源文件扩展名用 .cpp
C 源文件扩展名用 .c
2.注释
/* ……… */ 段注释
以 /* 开始 到 */ 结束
// 行注释 到行末
以 /* 开始 到 */ 结束
// 行注释 到行末
4. 常量说明 const
例1:const int m=10;
//定义m为常量 值 是 10
//定义m为常量 值 是 10
例2: const int a[ ]={1,3,5,7,9};
// 定义a是常量数组
// 定义a是常量数组
例3. int * const p;
//常指针p指向一个固定的地址
//常指针p指向一个固定的地址
例4. const int * q;
//指针q 指向常量
//指针q 指向常量
5. 变量申明
可以在任何地方申明一个变量
例 for(int i=0; i<5;i++)
其作用域从申明地起到文末或函数末
例 for(int i=0; i<5;i++)
其作用域从申明地起到文末或函数末
但不能
while(int i)
i++;
while(int i)
i++;
6.函数缺省值参数
int f(int a, int b=0);
调用 f(5), 即调用 f(5,0);
调用 f(5), 即调用 f(5,0);
缺省参数 要写在参数表的右边
int f(int a, int b=0,int c=1);
int f(int a, int b=0,int c=1);
7.内联函数
inline int square(int x)
{return x*x;}
内联函数先编译,效率高,速度快
但只能有四五个语句,
不能有循环语句,条件语句.
{return x*x;}
内联函数先编译,效率高,速度快
但只能有四五个语句,
不能有循环语句,条件语句.
8. 函数重载
overload abs;
int abs(int);
float abs(float);
同名不同参数的函数可以重载
系统会自动选择调用
int abs(int);
float abs(float);
同名不同参数的函数可以重载
系统会自动选择调用
9. 引用操作符 &
定义函数的变量参数
例 int f(int & x)
{ int n=2*x++; return n;}
x 为函数 f 的变量参数
调用实参的地址
调用后实参的值可以改变
函数需要两个以上返回值时,用变量参数
例 int f(int & x)
{ int n=2*x++; return n;}
x 为函数 f 的变量参数
调用实参的地址
调用后实参的值可以改变
函数需要两个以上返回值时,用变量参数
10. 动态函数 动态变量 new delete
例 int *p,*q;
p = new int (3);
q = new int [4];
为p分配一个整形地址(2字节) *p==3
为 q 分配4个整形地址(8个连续字节)
为p分配一个整形地址(2字节) *p==3
为 q 分配4个整形地址(8个连续字节)
delete p; //撤销p的地址
delete [ ] q; //撤销q的多个连续地址
11.输入输出
#include “iostream.h”
int a,b; char x,y;
cout<<“ Enter x,y,a,b”<<endl;
cin>>x>>y; \\从键盘为变量x,y输入数据
cin>>a>>b; \\从键盘为变量a,b输入数据
cout<<“ x=” <<x<<endl;
cout<< y<<a<<b<<endl;
int a,b; char x,y;
cout<<“ Enter x,y,a,b”<<endl;
cin>>x>>y; \\从键盘为变量x,y输入数据
cin>>a>>b; \\从键盘为变量a,b输入数据
cout<<“ x=” <<x<<endl;
cout<< y<<a<<b<<endl;
文件输入输出
include “fstream.h”
include “stdlib.h”
include “stdlib.h”
void main( )
{ ifstream infile(“datafile1.doc”);
if(!infile)
{ cerr<<“Cannot open datafile1.doc”<<endl; exit(1);}
ofstream outfile(“datafile2.doc”);
if(!outfile)
{ cerr<<“Cannot open datafile2.doc”<<endl; exit(1);}
int n; string name;
while(infile>>n)
{ infile>>name; outfile<<n<<“ ”<<name<<endl; }
}
{ ifstream infile(“datafile1.doc”);
if(!infile)
{ cerr<<“Cannot open datafile1.doc”<<endl; exit(1);}
ofstream outfile(“datafile2.doc”);
if(!outfile)
{ cerr<<“Cannot open datafile2.doc”<<endl; exit(1);}
int n; string name;
while(infile>>n)
{ infile>>name; outfile<<n<<“ ”<<name<<endl; }
}
总结一下
一. C++要素 (Borland C 3.1)
1. 文件扩展名 *.cpp
2.注释 /* ……… */ 段注释
// 行注释 到行末
3. 续行 \
常量说明 const
5. 变量申明 可以在任何地方申明一个变量
6.函数缺省值参数
int f(int a, int b=0);7.内联函数
8. 重载 overload
引用操作符 &
10. 动态函数 动态变量 new Delete
11输入输出
1. 文件扩展名 *.cpp
2.注释 /* ……… */ 段注释
// 行注释 到行末
3. 续行 \
常量说明 const
5. 变量申明 可以在任何地方申明一个变量
6.函数缺省值参数
int f(int a, int b=0);7.内联函数
8. 重载 overload
引用操作符 &
10. 动态函数 动态变量 new Delete
11输入输出