2.1 进入C++
注释 //
预处理器编译指令 #include
函数头 int main()
编译指令 using namespace
函数体 { }
结束main()函数的 return
C++区分大小写
2.1.1 main()函数
int main(){
return 0;
}
函数名:main()
函数头:int main() 描述函数和调用它的函数之间的接口。 函数名前面为返回类型,括号里面为参数列表。
通常main()被启动代码调用,启动代码是编译器添加到程序中的,是程序和操作系统之间的桥梁。
C++必须包含一个main()函数,DLL例外,还有非标准函数例如_tmain(),存在隐藏的main()
函数体:{ ……} 指出函数应做的计算机指令
2.1.2 C++注释
//C++ 注释
/* C风格注释 */
2.1.3 C++预处理器和iostream
#include <iostream>
将iostream文件内容添加到程序中
2.1.4 头文件名
iostream叫做包含文件,也叫做头文件
2.1.5 名称空间
名称空间让厂商能够将其产品封装在一个叫做名称空间的单元中,这样就可以用名称空间的名称来指出想使用哪个厂商的产品
相较于using namespace std 更好的做法是,通过使用using声明,使所需的名称可用:
using std::cout;
using std::endl;
using std::cin;
2.1.6 使用cout进行C++输出
cout << " C++ RULES"
可以看作将C++RULES这个字符串插入到输出流中
其中<<为插入运算符
运算符重载:同一个符号可以有多种含义,编译器可以根据上下文确定其含义
endl :控制符
\n :换行符 转义序列
2.1.7 C++源代码的格式化
空格 制表符 回车 不能放在元素、字符串中间
token通常用空白分开
每条语句占一行
开始{ 结束} 各占一行
函数中语句的缩进
函数名称相关的圆括号周围没有空白
2.2 C++语句
#include <iostream>
using namespace std;
int main(){
int carrots;
carrots = 25;
cout << "i have" ;
cout << carrots ;
cout << "carrots." ;
}
程序输出: i have 25 carrots.
2.2.1 声明语句和变量
使用声明指出存储类型并提供位置标签
C++中 所有变量都需要声明
定义:编译器会为变量分配内存,并可能赋给一个初始值
声明: 告诉编译器某个变量或者函数的存在,以及它的类型但并不分配内存
引用声明:创建一个已经存在的变量的别名
声明不一定是定义 但定义一定是声明
2.2.2 赋值语句
carrots = 25;
C++可以连续使用赋值运算符,赋值从右向左进行
2.2.3 cout的新花样
cout的智能行为源于C++的面向对象特性,C++的插入运算符<<将根据其后的数据类型相应调整行为。
2.3 其他C++语句
2.3.1 使用cin
cin >> carrots ;
信息从cin流向carrots 将输入看作流向输入程序的字符流
输入时,cin使用 >> 运算符从输入流中抽取字符
2.3.2 使用cout进行拼接
<< 运算符 可以将输出进行拼接
2.3.3 类简介
类是用户定义的一种数据类型
类之于对象就像是类型之于变量
类定义描述数据格式和方法,对象根据数据格式规范创建的实体
istream ostream 为类
cin cout为其类对象
用户没有设计这两个类,这个类来自于类库
类描述了可对类对象执行的所有操作 要对特定对象执行操作,需要对对象发送消息
2.4 函数
函数用于创建C++程序的模块
C++函数分为:有返回值和没有返回值
2.4.1 使用有返回值的函数
函数调用 : sqrt(6.25)
被调用的函数叫做被调用函数
包含函数调用的函数叫做调用函数
X = sqrt(6.25)
函数名称;参数;返回值被赋给X
C++函数应该为程序中使用的每个函数提供原型
函数原型: 1 源代码中输入 2.包含头文件
2.4.2 函数变体
没有参数的函数 : int rand(void);
muGuess = rand(); //没有参数的函数调用
没有返回值的函数: void bucks(double);
bucks(1234.56); //没有返回值的函数调用
2.4.3 用户定义的函数
通常把原型放在main()定义之前,代码放在main()之后
type functionname (argumenlist){
statements
}
C++不允许将函数定义嵌套在另一个函数定义中,函数定义是独立的,所有函数的创建是平等的
有返回值的函数,使用return来提供返回值
2.4.4 用户定义的有返回值的函数
函数原型描述函数接口
函数:函数头/函数体 接受一个函数 返回一个值 需要一个原型
2.4.5 在多函数中使用using编译指令
编译指令可以放在函数前,特定函数定义中
也可以在特定函数中使用类似 using std::cout
也可以不使用using 直接使用前缀std:: 例如: std::cout
复习题
1.C++程序模块名称 函数
2. #include <iostream> 将iostream头文件添加到当前源代码
3.using namespace std 使用名称空间std
4.输出“hello world” cout<<"hellod world"<<endl;
5.创建 cheers 整形变量 int cheers;
6.赋值 cheers = 32;
7.读取键盘输入 cin>>cheers;
8.输出带变量的语句 cout<<"We have "<<cheers<<"varieties of cheese"<<endl;
9.函数原型指出韩式的信息
int froop(double t) 函数名:froop 返回值 整型 一个参数 数据类型double
void rattle(int n ) rattle 没有返回值 一个参数 数据类型 int
int prunt(void) prunt 返回值int 没有参数
10. 什么情况不需要使用return 没有返回值/返回值为空
11.cout为未知标识符,并修复
using namespace std;
using std::cout;
std::cout<<
编程练习
1.编写一个C++程序 显示姓名和地址
cout << “name ” <<"address" << endl;
2.输入long 转化为码 1long = 220码
int transform(int distance){
return distane * 220
}
3.用户定义函数输出
#include <iostream> //basic input and output
void bline_mice() //print "Three bline mice"
void run() //print "See how they run"
using namespace std;
int main(){
bline_mice();
bline_mice();
run();
run();
return 0;
}
void bline_mice(){
cout << "Three bline mice" << endl;
}
void run(){
cout << "See how they run" << endl;
}
4. 输入年龄 显示包含多少年月
cin >> age;
cout << age << endl; //age in year
cout << age * 12 << endl; //age in month
5.输入摄氏温度 显示华氏温度
float transform(float c_degree){
float f_degree;
f_degree = c_degree * 1.8 + 32.0;
return f_degree;
}
6. 输入光年 返回对应天文单位
double convert(double light){
return 63240 * light;
}
7.输入小时和分钟 按格式输出
void format_print(int hour,int minute){
cout << "Time: " << hour << ": " << minute << endl;
}