C++初学笔记

#include <iostream>                    //include是引入库文件的意思,引入iostream这个库文件
using namespace std;                   //告诉编译器using使用std命名空间,命名空间是C++中一个相对新的概念,namespace:命名空间
int main() {                           //mail()是程序开始执行的地方,int main()是主函数,程序从这里开始执行。
    cout <<"hello,world!"<<endl;       //cout <<"hello,world!";会在屏幕上显示消息“hello world”
    return 0;                          //终止main()函数,并向调用进程返回值0
}

名词解释:
include 引入库文件并替换
namespace 命名空间
main 主函数,程序的入口,项目中必须是唯一的函数
int 函数的返回值类型
{} 函数主体
; 程序语句的分割
() 函数的固定写法,里面可以写入参数
cout 输出语句
endl 换行语句
return 函数返回结果

单行注释:

//注释内容

多行注释

/*
注释内容
*/
  • 表达式:某个动作称之为表达式,比如
int a = 10
int b = 20
int c = a+b
  • 语句:以分号结尾的表达式称之为语句,比如
int a = 10;
int b = 20;
int c = a+b;
  • 标识符:以上代码a,b,c称之为标识符代表一个名称,它定义了计算机内存的一块区域,并且与名称相关联,10,20成为常量,
  • 赋值:其中a=10为赋值语句,把10赋值给a相关的内存区域
  • 入口函数:C++程序从main()函数的第一条语句开始执行,main函数必须是项目中的唯一
int main() 
  1. void : 指定一个没有返回值的函数。
  2. abc.h : 头文件,可以声明变量和函数,让多个.cpp文件引用代码。
  3. abc.cpp : 源文件,写业务逻辑的文件
  4. #include<iostream>
    #include 是指预处理器指示符它把iostream的内容读入我们的文本文件中
    iostream 是输入输出流库标准文件,注意它没有后缀,它包含cout的信息,这对无们的程序是必需的
    预处理指示符用#号标识,注意要带着<>尖括号。
  5. namespace : 命名空间,减少和避免命名冲突,指的是标识符的可见范围
    using namespace std;
    using指示符告诉编译器要使用在命名空间std中声明的名字。
  6. 分号 :每条语句后面都要加分号,理论上每条语句写一行。
  7. 常量 :不改变的值。
  8. 变量 :可以改变的值。

一般在头文件中,只声明函数的变量,而不进行定义,如果进行了定义,一旦被2个及以上的cpp文件引用,就会发生编译错误,定义和声明区别如下
声明:extern int a ; 和 void f();
定义:如果写上int a; 或者 void f() {}

C++的输入输出功能由输入输出流 iostream库提供,要使用必须添加头文件,#include<iostream>

输出:cout
输出操作符:<< (朝上左的双尖括号,后面跟上要输出的内容,可以输出各种类型的数据)
语法:cout<<表达式1<<表达式2<<表达式x;

换行符:endl

比如:cout<<endl; (输出一个换行符进行换行)

输入:cin
输入操作符:>> 向右的双尖括号,后面跟上要输入的内容 ,暂存用户输入数据的存储空间,相当于C语言的scanf()
语法:cin>>变量1>>变量2>>变量X;

1、浮点型

浮点型数据分为:单精度、双精度、长双精度

单精度:关键字float ,后面加f,否则默认为双精度, 内存中占4个字节。

双精度:关键字double, 内存占8个字节。

2、字符型

字符类型:关键字char, 比如定义字符:char abc = ‘e’ ,占用一个字节,取值范围-128~127,只能包含256种字符

宽字符类型:关键字wchar_t, 占用2个字节,

3、无值型、无返回值型

无返回值型:关键字void, void类型其实是一种用于语法的类型,而不是数据类型,主要用于作为函数的参数或返回值

4、布尔型

布尔型:关键字bool,占用1个字节长度,只有2个取值,true和false ,true表示真,false表示假。赋值0为false为假,其它值为true为真

5、派生数据类型

指针类型:通常所说的指针是指针变量,它是一个专门存储地址的变量,变量的指针主要是指变量在内存中的地址。
int a = 10; //a是变量,赋值为10
int *p; //*号是指针符号,*p
*p = &a; //&符号是取地址的意思,本句的意思是*p取到a的地址。

枚举类型:枚举就是取有限个值,确定列举出来的几个值
比如周一到周六
enum week{monday,tuesday,…..sunday}

数组类型:将同一类型的数据按照一定的形式有序组织起来,这些有序数据的集合就称之为数组。

结构体类型:将各种数据类型组合起来的数据集合,关键字struct,比如:
struct man{
int age;
char name[20];
short sex;
}

共同体类型:将不同数据项组成一个整体,和结构体类似,但是在内存中占用首地址相同的一段存储单元
union myclass{
int a;
char b;
float c;
}
注意,每个瞬间只能存储一种数据类型

类类型:万物皆是类,皆是对象。

6、typedef关键字使用(为数据类型命名)

你可以使用trpedef为一个已有的类型取一个新的名字,相当于别名
语法:typedef fype newname
比如:typedef int myint //把int取了个新的名字myint
int a=123 等于 myint a=123 是一样的效果。

7、数字型常量

常量是指程序运行中不可改变的值
常量类型:整型常量、浮点型常量、布尔型常量、字符常量、字符串常量。

整型常量可以分为以下

图片[1]-C++初学笔记-清风小筑-雷国胜的个人网站

浮点型常量由整数和小数组成:

有2种表示方法:

小数方式:double a = 23.56;

指数方式:double b = 2.14e2; // 214

布尔型常量:bool,表示真和假:

bool a = true;

宏定义常量

#define PI 3.1415926

字符常量

字符常量是用单引号括起来的一个字符,比如:char C = ‘A’ ; // A就是一个字符常量

字符串常量

字符串常量是用双引号括起来的一个字符,比如:char B = “D” ; // D就是一个字符串常量

8、变量是什么

变量是指程序运行中可以改变的数据,每个变量都有一个类型,根据类型在内存中给它申请一个合适的空间。

标识符:指的是变量的名字
命名规则:由字母、数字、下划线组成,不能以数字开头;
大小写代表不同的含义;
不能使用内置关键字;
尽量语义化的名字通过名字可以知道是做什么的。

变量的类型:整型变量、浮点型变量、字符变量

1、整型变量

有符号整型int

无符号整形unsigned

有符号短整型short

无符号短整型unsigned short

有符号长整型long

无符号长整型unsigned long

2、浮点型变量

单精度float

双精度double

长双精度long double

3、字符型变量

字符变量char

运算符:也称之为操作符,是一种告诉编译器执行特定的数学或逻辑操作的符号,可以进行运算操作的符号

运算数:提供给运算符操作的数据为运算数

表达式:凡是用于计算值的操作都可以看作是表达式,表达式总能返回一个值
例:int c = 2+3

一元操作符:作用在一个操作数上的操作符称为一元操作符,比如取地址的&

二元操作符:作用在两个操作数上的操作符称为二元操作符,比如加法操作符+

分类:运算符分为以下几类:算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、条件运算符、逗号运算符、其它运算符。

定义:加(+)、减(-)、乘(*)、除(/)、求模(%),求模是指取整除后的余数

自增:作用使得变量的值增加1

前置自增(先自增后取值):++a;

后置自增(先取值后自增):a++;

自减:作用使得变量的值减少1

前置自减(先自减后取值):–a;

后置自减(先取值后自减):a–;

主要用来判断2个运算数大小关系,假设A为10,B为20

==:检查2个操作数的值是否相等,如果相等则为真,如(A==B)不为真

!=:检查2个操作数的值是否相等,如果不相等则为真,如:(A!=B)为真

>:检查左操作数是否大于右操作数,如果是则为真,如(A>B)不为真

<:检查左操作数是否小于右操作数,如果是则为真,如(A<B)为真

>=:检查左操作数是否大于或等于右操作数,如果是则为真,如(A>=B)不为真

<=:检查左操作数是否小于或等于右操作数,如果是则为真,如(A<=B)为真

逻辑运算符是对真和假的这两种逻辑值进行运算:假设A为真,B为假

&&:逻辑与运算符,如果2个操作数都为真,结果才为真。(A && B)为假。

||:逻辑或运算符,如果两个操作数中任意一个为真,结果为真。(A || B)为真、

:逻辑非运算符,用来逆转操作数的逻辑状态,如果真则转换为假,假则转换为真。!(A && B)为真

与逻辑运算符相似,只不过是把运算数转换为二进制0和1,再对每个二进制数据逐个进行与、或、非运算。

对操作数的二进制数据进行移位操作

<<:二进制左移运算符,左操作数的值向左移动右操作数指定的位置,A<<2,即A左移2位

>>:二进制右移运算符,左操作数的值向右移动右操作数指定的位置,A>>2,即A右移2位

将右边表达式的值给左边变量的过程称之为赋值

图片[2]-C++初学笔记-清风小筑-雷国胜的个人网站
图片[3]-C++初学笔记-清风小筑-雷国胜的个人网站

if else 语句:也称为条件分支语法

if(条件为真){

做一件事情

}else{

做另一件事情

}

条件运算符语法规则:表达式1?表达式2:表达式3

解析:如果表达式1为真,则结果是表达式2,如果表达式1为假,则结果为表达式3

功能是把两个表达式连接起来组成一个表达式

逗号是一个多目运算符,并且操作个数不限定,可以将任意多的表达式组成一个表达式。

语法:表达式1,表达式2,….表达式N;

求解过程:先求表达式1,再求表达式2,整个表达式的值是最后一个表达式N的值

程序中使用逗号表达式,通常是要分别求逗号表达式内各个表达式的值,并不一定要求整个逗号表达式的值

并不是所有出现逗号的地方都要组成逗号表达式,比如在变量说明中,函数参数中逗号往往只是用来做各个变量的分隔符。

逗号的运算优先级最低。

高优先级要比低优先级先进行运算,相同优先级从左到右执行

比如 a+b+c*(e+g),则先算括号里的,再算乘法,再算加法。

图片[4]-C++初学笔记-清风小筑-雷国胜的个人网站
    © 版权声明
    THE END
    喜欢就支持一下吧
    点赞7赞赏 分享
    评论 抢沙发
    头像
    欢迎您留下宝贵的见解!
    提交
    头像

    昵称

    取消
    昵称表情代码图片

      暂无评论内容