C++与C语言是两种不同的编程语言,但C++兼容C语言。
输入与输出
cin 一般情况,运算符“>>”跳过空白符,然后读入后面的变量类型相对应的值。
当输入字符串时,(注意:类型为string的类型),提取运算符“>>”的作用是跳过空白字符, 读入后面的非空白字符,知道遇到另外一个空白字符为止,并在串尾放一个字符串结束标 志‘\0
’。
cout
e.g. cout<<"input number:"
“<<”的意义是将字符串input number:插入到输出流cout中返回,后面也是将endl插入到字符串中,表示换行,也可以使用“\n”。
注意:如果不加 using namespace std ,可以 std::cout << 1; ,这样也可以输出。
关键字:
bool 其值可选为 true(真)或者 false(假)。 【 0 代表 false,非 0 代表 true】
const 声明一个变量,意味着该变量就是一个带类型的常量,可以代替 #define,且比 #define 多一个类型信息,且它执行内链接,可放在头文件中声明。
e.g. const double pi(3.1415926)
const double pi = 3.1415926
const 修饰容器,则初始化后不能增删元素也不能修改元素,也不能改变容器大小 ,也就 说明不能做任何改动。
delete 释放程序动态申请的内存空间。
dynamic_cast(动态转换) 允许在运行时刻进行类型转换,从而使程序能够在一个类层次结构 安全地转换类型。
enum(枚举) 给出一系列固定的值,只能在这里面进行选择一个。
inline(内联) 函数的定义将在编译时在调用处展开,优点:一般由短小的语句组成,可以提 高程序效率。
常用函数
1.memset()
原型:memset(void *s , int c , size_t n)
作用:将已开辟内存空间s的首n个字节的值设置为c。一般用于在对字符串进行初始化为‘\0’或‘ ’
注意:1.s为首地址,c为要赋予的字符,n为长度
2.一般不用于初始化数字数组
2.memcpy()
原型:void *memcpy(void *dest, const void *src, size_t n);
函数原型:void *memcpy(void *dest, const void *src, size_t n);
char ans[100],b[50];
memcpy(b,ans,sizeof(b));
注意:如果用sizeof(ans),可能会导致b的内存地址溢出。
3.strcpy()
原型:char *strcpy(char* dest, const char *src);
作用:把src所指的字符串中以src地址开始的前n个字节复制到dest所指的空间中,并返回dest。
注意:1.结果dest不包括结束符NULL。
2.如果src的长度小于n个字节,则以NULL填充dest直到复制完n个字节。
4.vector
作用:它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动 态数组,能够增加和压缩数据。
注意:当向量内部保存很多数时,可能会造成内存泄露,且效率不高。
vector作为函数的参数或者返回值时,需要注意它的写法:
double Distance(vector&a, vector&b) 其中的“&”不能少。
5.sort
sort函数可以三个参数也可以两个参数,必须的头文件#include < algorithm>。
注意:
sort函数有三个参数:
(1)第一个是要排序的数组的起始地址。
(2)第二个是结束的地址(最后一位要排序的地址)。
(3)第三个参数是排序的方法,可以是降序也可是升序。(可不写,默认为升序)。
6. ceil()
原型:double ceil(double x);
作用:用于输出浮点型中大于此数的最小整数
总结:本周的c++编辑语言大致学到这!!后期也会完善相关c++的知识点。