c++基础总结(1)基本语法

1、C++的数据类型:

[1].7种基本类型(bool,char,int,float,double,void,wchar_t)

[2].可以用typeof关键字为已有的类型取一个新的名字:

typedef int feet; //feet是int的另一个名称。

[3].枚举类型

//语法:

enum 枚举名{ 
     标识符[=整型常数], 
     标识符[=整型常数], ... 
标识符[=整型常数]} 枚举变量;

//举例
enum color { red, green, blue } c;
c = blue;

2、c++注释: //   /*...*/  

3、C++变量的声明和定义:

extern int a, b;// 变量声明

extern int c;
extern float f;  

int main () { 
    int a, b; int c; float f; // 变量定义 
    a = 10; b = 20; c = a + b; // 实际初始化
    cout << c << endl ;
    f = 70.0/3.0;
    cout << f << endl ;

    return 0;
}
  1. 根据变量的作用域分为:局部变量,全局变量
  2. 常量的定义:使用 #define 预处理器和使用 const 关键字
  3. C++存储类型(auto,static,register,extern

①auto:函数中的局部变量,动态的分配存储空间,数据存储在动态存储区(栈区)中。

②static:静态变量。

③register:寄存器变量

④extern:用来声明外部变量和外部函数(和static一种用法相对),extern只是声明而不是定义

4、c++运算符:

①算术运算符:+ ,-,*,/,%,++,--

②关系运算符:==,!=,>,<,>=,<=

③逻辑运算符:&&,||,|

④位运算符:&,|,^,~,<<,>>

⑤赋值运算符:=,+=,-=,*=,/=,%=,<<=,>>=,&=,^=,!=

⑥sizeof(),  Condition ? X : Y, 三目运算,

⑦指针运算符:&:返回变量的地址。  *:指向一个变量。

5、流程控制语句:

①while循环、for循环、do...while循环、嵌套循环、

break、continue:区别在于continue只是终止本次循环,接着还执行后面的循环,break则完全终止循环。

goto:将控制转移到被标记的语句

②if、if...else、switch 、三目运算等判断语句

6、c++函数

①主函数main()、

②函数定义与调用:

return_type function_name( parameter list ) { 

   body of the function 

}

③函数传参方式:

传值调用:void swap(int x, int y){}//函数的定义

     swap(a, b);//函数的调用

指针调用:把参数的地址复制给形式参数

void swap(int *x, int *y){}  //定义函数

swap(&a, &b); //调用函数

引用调用:把引用的地址复制给形式参数

④c++常用函数库:数学函数 <cmath>、时间函数<ctime>、字符串函数<cstring>

7、数组

double balance[10];//数组声明   int n[ 10 ]; // n 是一个包含 10 个整数的数组

//数组初始化
double balance[5] = {1000.0, 2.0, 3.4, 7.0, 50.0};  
double balance[] = {1000.0, 2.0, 3.4, 7.0, 50.0};
balance[4] = 50.0;//元素赋值

//多维数组

type arrayName [ x ][ y ]; //多维数组声明

int a[3][4] = {   //初始化多维数组
 {0, 1, 2, 3} ,   /*  初始化索引号为 0 的行 */
 {4, 5, 6, 7} ,   /*  初始化索引号为 1 的行 */
 {8, 9, 10, 11}   /*  初始化索引号为 2 的行 */
};

指向数组指针

double runoobAarray[5] = {1000.0, 2.0, 3.4, 17.0, 50.0}; //定义数组
double *p;//定义指针
p = runoobAarray; // 把数组赋值给指针

for ( int i = 0; i < 5; i++ ) {
    cout << *(p + i) << endl; //通过指针,输出数组。

}

C++中数组作为参数:

定义函数:
double getAverage(int arr[], int size) {
    int i, sum = 0;
    double avg;

    for (i = 0; i < size; ++i) {
        sum += arr[i];
    }

    avg = double(sum) / size;
    return avg;
}

主函数

#include <iostream>
using namespace std;
// 函数声明
double getAverage(int arr[], int size);

int main () {
    // 带有 5 个元素的整型数组
    int balance[5] = {1000, 2, 3, 17, 50};
    double avg; // 传递一个指向数组的指针作为参数
    avg = getAverage( balance, 5 ) ;
    // 输出返回值
    cout << "平均值是:" << avg << endl;

    return 0;

}

8、c++基本输入输出

  • 标准输出流(cout)是iostream类的实例,cout 是与流插入运算符 << 结合使用的
#include <iostream>
using namespace std;
int main( ) {
    char str[] = "Hello C++";
    cout << "Value of str is : " << str << endl; //endl 用于在行末添加一个换行符
}

//输出结果:Value of str is : Hello C++
 
  • 标准输入流cin 是与流提取运算符 >> 结合使用的
#include <iostream>
using namespace std;
int main( ) {
    char name[50];
    cout << "请输入您的名称: ";
    cin >> name;  //会提示用户输入名称。当用户输入一个值,并按回车键,
    cout << "您的名称是: " << name << endl;
}
/*
输出结果:
请输入您的名称: cplusplus
您的名称是: cplusplus

*/
 

流提取运算符 >> 在一个语句中可以多次使用,如果要求输入多个数据,可以使用如下语句:

cin >> name >> age;

这相当于下面两个语句:

cin >> name;

cin >> age;

 
  • 标准错误流

cerr 是 iostream 类的一个实例。cerr 对象附属到标准错误设备,通常也是显示屏,但是 cerr 对象是非缓冲的,且每个流插入到 cerr 都会立即输出。

char str[] = "Unable to read....";

cerr << "Error message : " << str << endl;

  • 标准日志流

clog  iostream 类的一个实例,但是 clog 对象是缓冲的。这意味着每个流插入到 clog 都会先存储在缓冲区,直到缓冲填满或者缓冲区刷新时才会输出。

       char str[] = "Unable to read....";

clog << "Error message : " << str << endl;

9、C++引用

①引用变量是某个已存在变量的另一个名字,

引用很容易与指针混淆,它们之间有三个主要的不同:

[1]不存在空引用。引用必须连接到一块合法的内存。

[2]一旦引用被初始化为一个对象,就不能被指向到另一个对象。指针可以在任何时候指向到另一个对象。

[3]引用必须在创建时被初始化。指针可以在任何时间被初始化。

int&  r = i;//i声明引用变量。r 是一个初始化为 i 的整型引用"

double& s = d; // "s 是一个初始化为 d double 型引用"

②把引用作为参数

void swap(int& x, int& y){}; //函数的定义

swap(a, b)//函数的调用

10、结构类型数据

结构:存储不同类型的数据项。

struct type_name {
    member_type1
    member_name1;    
    member_type2 member_name2;
    member_type3 member_name3;
    .
    .
} object_names;  /定义一个结构

访问:使用成员访问运算符(.)

11、c++指针

[1].定义与声明

指针是一个变量,其值为另一个变量的地址,即指针是一个用数值表示的地址

type *var-name;   int *ip;   double *dp; //指针声明:

ip = &var; // 在指针变量中存储 var 的地址

cout << ip << endl; // 输出在指针变量中存储的地址

cout << *ip << endl; // 访问指针中地址的值

[2].null指针:在变量声明的时候,没有确切的地址可以赋值,为指针变量赋一个 NULL

int  *ptr = NULLcout << "ptr 的值是 " << ptr ; // ptr 的值是 0(地址值)

[3].指针的算术运算:指针是一个用数值表示的地址,可以进行四种算术运算:++、--、+、-

++:递增指针,顺序访问数组中的每一个元素

--:递减指针,即把值减去其数据类型的字节数

[4].指针与数组:一个指向数组开头的指针,可以通过使用指针的算术运算或数组索引来访问数组。

// 指针中的数组地址

int var[MAX] = {10, 100, 200};

int *ptr;

ptr = var; // 指针中的数组地址

for (int i = 0; i < MAX; i++) {

cout << ptr << endl;

cout << *ptr << endl;

ptr++; // 移动到下一个位置

}

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值