14.C++入门详细笔记(共八章)_zdb呀的博客-优快云博客
1.在标准C++以前,都是用#include<iostream.h>这样的写法的,因为要包含进来的头文件名就是iostream.h。
标准C++引入了名字空间的概念,并把iostream等标准库中的东西封装到了std名字空间中,同时为了不与原来的头文件混淆,规定标准C++使用一套新的头文件,这套头文件的文件名后不加.h扩展名,如iostream、string等等,并且把原来C标准库的头文件也重新命名,如原来的string.h就改成cstring(就是把.h去掉,前面加上字母c),所以头文件包含的写法也就变成了#include 。
并不是写了#include就必须用using namespace std;我们通常这样的写的原因是为了一下子把std名字空间的东西全部暴露到全局域中(就像是直接包含了iostream.h这种没有名字空间的头文件一样),使标准C++库用起来与传统的iostream.h一样方便。如果不用using namespace std;使用标准库时就得时时带上名字空间的全名,如std::cout << “hello” << std::endl;
2.#include "iostream" 与 #include < iostream>区别
前者先在当前目录找iostream文件,找不到再去系统头文件路径找,后者反之。因此,做为一个良好的习惯,在包含系统头文件时尽量用<>,而在包含自己的工程中的头文件时用""。
3.
#include <iostream> //注意没有分号,包含命名,意思是把文件iostream中的内容包含在程序中
using namespace std; //意思是使用命名空间std,C++库中的类和函数是在std中声明的
int main() //主函数首部
{ //主函数开始
system("pause");
return 0; //如果程序正常结束,向操作系统返回一个零值
} //主函数结尾
【命名空间】using namespace std是什么意思?_罅隙`的博客-优快云博客_namespace std是什么意思
C++常用头文件及函数_lost636的博客-优快云博客_c++数学函数头文件
C/C++头文件大全以及常用函数_火的信仰叫梦想ii*的博客-优快云博客
3.cout输出在屏幕
(1条消息) std::cout 与 cout 有什么区别_青春须早为,岂能长少年的博客-优快云博客_std::cout
4.overflow,underflow
5.setprecision; fixed
cout<<setprecision(2)<<s<<endl;//输出21
cout<<showpoint<<s<<endl;//21.(有个点)
cout<<fixed<<s<<endl;//20.78
C++中setprecision函数的用法_傻子读书了的博客-优快云博客_setprecision
6.设置类型转换
7.sizeofc++ sizeof用法_晚寻风的博客-优快云博客_c++sizeof用法
8.C++双冒号(::)的用法_小凡1991的博客-优快云博客_c++双冒号
9.c++ auto基本用法_lwgkzl的博客-优快云博客_c++autoC++ decltype用法详解_qq_38196982的博客-优快云博客_c++ decltype
10.C++ Struct(结构体)详解_Vic_Hao的博客-优快云博客_c++ struct
11.C++语言里的pow函数(初学)_小王子009的博客-优快云博客_c++ pow函数
12.三目运算符
作用:通过三目运算符实现简单的判断
语法:表达式1 ? 表达式2 : 表达式3
解释:
- 如果表达式1的值为真,执行表达式2,并返回表达式2的结果
- 如果表达式1的值为假,执行表达式3,并返回表达式3的结果
// 三目运算符返回的是变量,可以继续进行赋值
(a > b ? a : b) = 100;
13.
rand()用法:
rand()%100 //随机生成数 0~99
如果要产生1~100,则是这样:int num = rand() % 100 + 1;
总结来说,可以表示为:int num = rand() % n +a;
其中的a是起始值,n-1+a是终止值,n是整数的范围。
(1条消息) C++中rand()函数的用法_Kallou的博客-优快云博客_c++ rand
14.sqrt()开根号 头文件cmath
fabs()绝对值
pi用acos(-1)代替精度更高
15.char储存的是字符的ASCII码
基本ASCII码128个(0-127),扩展ASCII码256个
0(48)A(65)B(66).....a(97)b(98)大小写字母间差32
bel蜂鸣声(7)换行(10)回车(13)空格(32)
{char ch='a' ;
cout<<++ch;
输出的是b}
cout时,要输出/ 应写成“//” 要输出"应写成“ " ”
16.数组的动态定义
ARRAY_SIZE(x)
宏,目的求出数组包含的最大个数
定义数组时括号内必须为常量,而访问时可以是变量;
17.关于字符串string s1;
(3条消息) C++-string常用函数整理(建议收藏)_翟天保Steven的博客-优快云博客_c++string的函数
(5条消息) c++string常用函数_晓山清的博客-优快云博客_c++string类函数
- 字符串的读取
- cin 遇到空格结束
- getline 可以读任何的character
限定结束符默认为/n 即回车
(3条消息) C++ getline函数用法_临渊慎行的博客-优快云博客_c++ getline函数
默认结尾有/0
- 字符串的输出
cout
- 字符串比较大小(比到第一个不相同的字符位置
运算符
strcmp()
(3条消息) C++ strcmp函数的使用_俭平的博客-优快云博客_c++ strcmp
s1.compare(s2) 输出的是第一个不相同的字符中 s1-s2
- 函数的重载
- 在已有的字符串里替换(3条消息) c++中assign_piyixia的博客-优快云博客_assign c++
在已有的字符串里追加: s1.append("asdfgh")/("",0,5)/("",5)/(4,'G')
at取字符 clear清空 erase删除部分字符 empty
- 获得子串
s1.substr()
- 搜索查找
s1.find
返回第一次出现的位置
- 插入
s1.insert
- 替换
s1.replace
- 操作符
- 用数组的方式定义字符串 输出字符串时若有乱码 可能少了“\0”
- 指针记录的字符串是起始地址
- 字符测试的函数,转换函数
笔记补充