C++ 基础
注释:就是仅由程序员浏览的消息,而编译器会将其省略
// 注释的一种
/* C风格的注释*/
预编译器指令
构建一个C++程序, 可分为三步
1 代码通过一个预处理器运行,这个预处理器识别代码的关元信息.
2 代码经过编译或翻译为机器可读的对象文件.
3 单个的对象文件链接到一起,构成一个应用.
预编译器指令 功能 常见用途
----------------------------------------------------------------------
#include[file] 指定的文件插入到指令所 通常用于包含头文件,使代码可
在的位置的代码处 利用在别处定义的功能.
----------------------------------------------------------------------
#define[key][value] 指定 key 的每次出现都要替换 在C中,这通常用于定义一个常量或一个宏
为指定的value 在C++中很少用到.
------------------------------------------------------------------------
#ifdef[key] 这个指令会有条件包含(或省略) 常用于避循环包含.如
#ifndef[key] ifdef("如果定义了")或ifndef( #ifndef 文件名_H
#endif "如果没有定义")块中的代码,这个 #define 文件名_H
取决于#define定义了指定的值 代码(写在.h文件中)
#endif
------------------------------------------------------------------------
main 函数
#include <iostream>
void main( int argc, char** argv)
{
std::cout<<argc<<std::endl;
std::cout<<argv[0];
}
这个是程序的入口.main() 带有两个参数: argc 和argv,
argc 给出传递给程序的实参个数(第一个是程序名)
argv 包含这些实参
命名空间
作用:
是解决不同代码部分之间的 命名冲突 问题.
格式:
定义:
namespace 空间名
{
void foo();//插入代码
void foo1()
{
std::cout<<"fo1";
}// end of foo1()
}
使用方法:
1: 空间名::函数();
2: using namespace 空间名;
3 using 空间名::函数(); //可以用于指示命名空间的其中一个
变量(C++是区分大小写)
在C++ 中,可以在代码中的任何位置声明.(变量不能在声明之前使用)
声明格式:
1: 类型 标识符; int k,i;
2: 类型 标识符=初始值; int k=5;
常见类型:
short ,int ,long ,unsigned int ,unsigned short ,unsigned long (unsigned类的值>=0)
float double
char bool
强制转换
1 (类型)变量名
2 类型 (变量名)
3 static_cast<类型>变量
操作符:() + - * / %(取模) ++ -- += -= *= /= %= &(二进相"与") &= | << >> 等等
枚举类型
整数实际上表示是序列的值,它则允许你定义自已的序列.这样可用这序列的值声明变量.
格式:
1 typedef enum {a,b,c,d,e,f}Type1;//a为0,以1递增 (a,b,c可以直接使用)Type1为类型.如果超过取值范围,会有警告.
2 enum 类型 {a,b,c,d,e,f} ;
枚举类型 变量名; //给变量一个范围
结构(struct)
可以把一个或多个已有的类型封装到一个类型中.
格式:
typedef struct
{
char firsInitial;
char middleInitial;
char lastInitial;
int employeeNumber;
int salary;
}EmployeeT; // 新的类型
使用: EmployeeT 变量名;
变量名.firsInitial='M';
条件语句
根据条件是否为 true ,可执行语句.
1 if /else
格式
if (条件为真)
{
//Do something
}
else if (条件为真)
{
// Do someting else
}
else
{
// Do someting else
}
2 switch 语句
是一种基于一个 变量的值 来完成某些动作的 语句,变量与常量进行比效
格式:
switch(变量)
{
case 常量1:
// 代码
break;
case 常量2:
// 代码
break;
default:
//通常发送错误信息
}
3 三元操作符
(条件)?yes:no
条件操作符
< <= > >= == !=
&& || !
循环
一次一次地反复做同一件事
1 While
格式
int i=0;
While(i<5)
{
std::cout<<"This is"<<i;
i++;
}
(可使用break跳出)
2 do /while
格式:
int i=100;
do
{
std:cout<<"This is silly."<<std::endl;
i++;
}while(i<5);
(先做)
3 for
格式
for(int i=0; i<5;i++)
{
std::cout<<"This is "<<i<<std::endl;
}
数组
保存一系列的值, 所有值的类型相同
一维数组
int myArray[10]
for (int i=0 ;i<10;i++)
{
myArray[i]=0;
}
二维: int myArray[3][3];
注意: C++中的数组的第一个元素位置为0,所以最后一个位置是数组大小-1
函数
为了程序易于理解,需要把代码分解到函数中
1 函数原型 : 以强调它们表示如何访问,而不是实现.通常写入.H文件中;
void myFunction (int i, char c);
2 函数声明: 强调功能实现 .通常放入.cpp文件;
3 函数使用: myFunction(5,'y');
注意如果是: () 或 (void) 表示无参
return 返回语句 ;