C++学习笔记

**

越努力,越幸运,加油!

**
小飞,今天将c++大致学完了,决定分享一下学习笔记,好下面就是我的学习笔记,因为我之前学过C,所以笔记之中只有c与C++有出入才记录了;
好!废话不多说!直接上干货吧!

C++学习笔记(供学过C使用最好)
C++学习笔记
*#include 是一条预处理指令;#include 指令使预处理器包含另一个文件的内容,iostream 文件包含的代码允许C++程序在屏幕上显示输出并从键盘输入。
1、C++关键字始终是小写形式;
2、Using namespace std; 使用命名空间(namespace)来组织实体程序。
3、Int main(); 这标志着函数的开始,c++中main()函数是程序的起点。
4、c++是区分大小写的语言。
5、Cout<<”I love China”<<endl; “<<”操作符用于将字符窜 I
Love China 发送到cout。当以这种方式使用<<,称之为流插入运算符。流插入运算符可以用于发送多个项目到cout。
6、数字需要首先转换成字符窜才能在屏幕上显示,在给cout发送数字时他会自动处理此转换。
7、C++标识符必须遵循的一些规则:
1.第一个字符必须是a到z,A到Z,或者下划线字符(_)中的一个。
2.第一个字符后,可以是a到z,或者A到Z,数字0到9或下划线。
3.大小写字符是不同的。
8、默认情况下,c++假定所有整形常数以十进制表示,可以用“0x”来表示十六进制的数;用“0”来表示八进制。例“0xF4”,“031”。
9、由于浮点数通常是以double存储在内存中,所以定义一个float变量时通常加一个隐形转化。例如:float num=30.144F
10、C++会自动在字符串常数末尾加上null终止符。
11、字符常数用单引号括起来,字符串常数用双引号括起来,诸如\n之类的转义字符在内部是以单个字符储存的。
12、C++提供了string类,在第一步必须要引用#include。
13、Bool 数据类型 布尔变量可被设计为true或者false,具有true或者false 值表达式被称为布尔表达式。
#include
using namespace std;
int main()
{
bool i;
i=true;
cout<<i<<endl;
i=false;
cout<<i<<endl;
return 0;
} 单词true和false不能用引号括起来,因为他们是变量。
14.sizeof运算符可以用于确定系统上任何数据类型的大小,数据类型或者变量名称放在运算符后面的括号内,运算符返回该项目使用的字节数。
例如:double apple;
Sizeof(apple)==8
Sizeof(int)==4
15.auto是c++11引入另外的一种方式声明变量
例如 auto amount=100;,关键字auto这是告诉编辑器通过初始值来确定变量类型。初始值100是一个整数,所以amount是一个int类型。
16.cout对象可以显示C++中任何表达式的值。
17.使用数学库函数要引用#include头文件。
18.类型强制转换使用 static_cast(value)
19.命名常量 const double INTFG=0.069;const是一个限定符,告诉编译器TNTFG为只读;在命名常量时必须用一个值来进行初始化,他不可以通过先定义,后赋值。
20.C++中使用流操作符setw可用于建立指定宽度的打印区域用法示例:
Value=23;
Cout<<setw(5)<<value<<endl;
单词setw后面的括号数字表示字段宽度。他是以右对齐方式输出,#include头文件必须必须包含在使用的setw的任何程序中。
21.setprecision操作符用来控制显示浮点数值的有效位数的数量。如果有效位数小于要显示的数字,则setprecision将舍入,另外,抹尾是零的将被省略。与所有格式化操作符一样,必须包含头文件iomanip才能使用。Setprecision的精度设计将保持有效,直到下一次更改为止。
22.fixed,他表示浮点输出应该以固定点,fixed与setprecision一起使用时,将会确定小数点后面的位数,而不是有效位数。例
Cout<<fixed<<setprecision(2);
23.默认情况下,浮点数不会显示尾数0,showpoint表示打印浮点数的小数点和小数位数;与setprecision一样,fixed和showpoint操作符都将持续有效,直到程序员明确更改。
经典利用:cout<<fixed<<showpoint<<setprecision(2)<<X<<endl;
表示保留两位小数。
24.lefe和right操作符
使用left操作符,left的左对齐将一直有效,直到使用right操作符将设置改为右对齐。这两个操作符可以用于任何类型的值,甚至包括字符串。
Fixed,showpoint,setprecision操作符对整数没有影响,只对浮点数有效。

25.输出流操作符
Setw(n) 为下一个输出值打印最小字段宽度n
fixed 以固定点的形式显示浮点数
showpoint 显示浮点数的小数点和尾数0,即使没有小数点也一样
setprecision 设置浮点数的精度(有效位数)
left 使后续输出左对齐
right 使后续输出右对齐

25.cin他以非空字符开始,以空白字符表示读取结束。getline函数可以实现整行读取,其使用:
Getline(cin,name);name是字符串string变量的名称。
26.cin>>不可能仅输入一个空格或者回车符,这个时候就要使用cin.get(ch)或者ch=cin.get();
如果程序正在使用get函数简单的暂停屏幕直到按回车键,并且不需要储存字符,可以这样调用:cin.get();
27.cin.ignore函数告诉cin对象跳过键盘缓冲区中的一个或多个字符,以下是他的形式:cin.get(n.c)括号里显示的参数是可选的,n是一个整数,c是一个字符。他们告诉cin跳过n个字符,直到遇见c字符;如果没有参数只会跳过下一个字符例如:
Cin.ignore();
27.c++中测字符串长度的函数 string state=”New Jersey”
Int size=state.length();size将保存为10两个单词之间的空格一样计入其中。
另一个有用的成员函数assign。此函数允许将一组重复的字符赋值给字符串,而不对字符进行计数。例如给spaces赋值22个空格。Spaces.assign(22,’’);
+运算符可以将字符串连接在一起。例如 string i=”hello ”;
String h=”china”;
则i+h=hello china;
28.setw流操作符与width函数都可以留出字符宽度,
Char word(5);
Cin>>setw(5)>>word;
与使用width一样等效
Char word(5);
Cin.width(5);
Cin>>word;
29.cin处理字符段宽度的方式有三个要点

  • 字段宽度只适合用于下一个输入项目;
  • 要为’\0’留出空格
  • cin接触到空格,将停止读取。
    30.c字符串必须使用cin.getline来进行整行读入。例:cin.getline(i,20) i为数组名,20为数组大小,只能存储19个字符,最后一个必须存储null。
    31.随机数字的使用:必须包含#include头文件, 用法示例:randnum=rand();该函数的数字其实是伪随机数,他们实际上是算法生成的,该算法需要一个初始值,称为种子,如果没有种子,那么他每次运行时产生相同的数字流。要程序每次运行时获得不同的随机的数字流,则必须要为随机数生成器提供一个种子开始。 通过调用srand函数来实现的。
    用法示例:int seed;
    Cin>>seed;
    Srand(seed);
    *使用cin读入种子数,比较麻烦,另一种是调用时间函数,必须要引用#include,在调用时间函数时必须给他传递参数0。
    用法示例:unsigned seed;
    Seed=time(0); srand(seed);
    32.随机数的范围设计:
    Number=rand%(max-min+1)+min;
    33.C++中false被认为为0,true被认为非零的整数。
    34.C++中有一个isalpha(‘ 字符’)的函数用来判断一个字符是一个字母字符,测试isalpha(‘x’)评估结果为true;
    35.使用字符测试函数必须使用#include头文件
    字符测试函数
    字符函数 描述
    Isalpha 如果参数是字母,返回true,否则反之
    Isalnum 如果参数是数字和字母,返回true,否则反之
    Isdigit 如果参数是0~9,返回true,否则反之
    Islower 如果参数是小写字母,返回true,否则反之
    Isprint 如果参数是可打印字符(包括空格),返回true,否则反之
    Ispunct 如果参数是除数字,字母,空格外的可打印字符,返回true,否则反之
    isupper 如果参数是大写字母,返回true,否则反之
    Isspace 如果参数是白色的空格字符,返回true,否则反之

36.介绍两个函数toupper和tolower这两个函数使用必须包含#include头文件。

  • toupper该函数传递一个字符并且返回字符整数的ASCII码,如果界收的是小写字母则返回大写字母的ASCII码。如果界收的是大写字母则返回本身的ASCII码。Toupper返回是ASCII码,但是如果,他被赋值给一个char变量,这打印字符。
  • tolower 反之
    37.C++程序中输入输出文件设置程序
    当程序使用文件时必须采取5个步骤
    (1)包括执行文件输入输出所需的头文件#include
    (2)定义文件流对象
    (3)打开文件
    (4)使用文件
    (5)关闭文件
    文件流数据类型
    文件流数据类型 描述
    ofstream 输出文件流,创建文件并写入数据
    ifstream 输入文件流,打开文件并读取数据
    fstream 文件流,打开文件进行读取,写入两者兼容

输入(读取)示例:
Ifstream inputFile;
inputFile.open(“nubn.txt”);
输出(写入)示例:
Ofstream outputFile;
outputFile.open(“cubsu.txt”);
关闭文件
OutputFile.close();
38.C++(11)以前open函数不接受string对象,open函数要求将文件的名称作为一个由null终止字符串传递。但可以利用c_str的函数转换,示例:
ifstream inputFile;
string fileName;
int numValues;
double value,
total=0;
cout<<“This program reads abd sums the values in a data file.”<<endl;
cout<<"Enter the name of the file to read from: "<<endl;
cin>>fileName;
inputFile.open(fileName.c_str() );

39.创建一个丰富多彩的程序;

  • 使用头文件#include<windows.h>
  • cout对象写入标准输出屏幕。可以通过提供一个句柄来设置此屏幕上的颜色。句柄是HANDLE类型的对象由Microsoft Windows
    定义。以下就是如何捕获标椎输出到屏幕的句柄;
    HANDLE screen=GetStdHandle(STD_OUTPUT_HANDLE);
    通过调用SetConsoleTextAttribute函数来实现
    HANDLE screen=GetStdHandle(STD_OUTPUT_HANDLE);
    for( int color=0;color<16;color++)
    {
    SetConsoleTextAttribute(screen,color);
    cout<<“qiuqiuzhenkeai”<<endl;
    Sleep(400);
    }
    40.清除屏幕
    System (“cls”);
    在用户选择要显示的新报告,该命令将从屏幕中删除上一个报告。
    41.函数内部定义的参数是局部变量,只在该函数内部使用才有用。在刚开始外,所有的函数外定义为全局变量,全局变量如果不对其初始化,系统自动将它设置为0;局部变量不会像全局变量自动初始化。
    42.静态变量的声明:在定义之前加上一个static;例如:
    Static int x=1;如果程序员没有将其初始化那么系统会自动初始化0。
    43.如果在函数调用时没有提供实参,则会将默认实参自动传递给形参;默认实参通常列在函数原型中:
    Void int (double l=20.0,double w=10.0);
    或者 Void int (double =20.0,double =10.0);
    44.* 默认实参值必须是常数值或命名
    • 当在函数调用中遗漏了一个实参时,他后面的所有实参也必须被省略。
    • 当函数使用了带默认的实参和不带默认实参这两种混合的形参时,带默认的实参的形参必须最后声明。
      45.引用变量相当于一个传地址调用,可以改变其实参的内容,
      void getNum(int & userNum);这是一个函数头;只有变量才能按引用传递,如果尝试将非变量按引用传递,将导致错误。
      如果一个函数有多个引用变量则必须在原型和函数头中为每一个形参使用&符号。
      46.重载函数
      只要形参列表不同,两个或多个函数可能具有相同的名称。
      例如 :square (int )
      Square (double)
      47.exit()函数;
      必须要使用#include
      exit()函数将无条件地关闭程序。
      48.桩模块和驱动模块可以调试程序中的函数。
      49.c++标准模板库(Standard Template Library,STL)包含一个矢量的数据类型,在STL中定义的数据类型,通常称之为容器,STL中有两个容器:顺序容器和关联容器。

50.要使用矢量,必须要使用#include头文件;
51.创建矢量数据类型 vector<数据类型> 变量名;
Vector numbers; vector numbers(10);
vector numbers(10,3); vector set1(set2)
vector numbers {10,15,14}
等等。

相关文章:

  • 2021-12-18
  • 2021-07-14
  • 2021-08-06
  • 2021-12-05
  • 2021-11-17
  • 2021-06-19
  • 2021-12-03
猜你喜欢
  • 2022-01-14
  • 2021-05-26
  • 2021-05-16
  • 2022-12-23
  • 2022-12-23
  • 2021-12-07
  • 2021-08-20
相关资源
相似解决方案