从零开始学习网站开发,广西建设网站官网,php网站开发实例教程下载,江山市建设厅网站一、输出流对象cout
1 该对象是来自于ostream的类对象#xff0c;功能上类似于printf函数
2 该类对象本质上调用成员函数插入运算符重载函数
3 输出数据时#xff0c;无需使用格式控制符#xff1a;%d、%c、%s。。。#xff0c;直接输出即可
4 换行使用…一、输出流对象cout
1 该对象是来自于ostream的类对象功能上类似于printf函数
2 该类对象本质上调用成员函数插入运算符重载函数
3 输出数据时无需使用格式控制符%d、%c、%s。。。直接输出即可
4 换行使用endl
二、输入流对象cin
1 cin是来自于istream的类对象用于输入工作功能上类似于scanf
2 该类对象输入时也无需使用格式控制符
3 输入时一般也不加endl
三、命名空间
3.1 std命名空间的使用
1 命名空间必须先定义后使用
2 当引入系统提供的头文件时如果该头文件提供某些名字那么一定时定义在一个统一的命名空间中名为std
3 命名空间使用方式1在使用该命名空间中的名字时直接加上命名空间名和作用域限定符指名道姓的使用某个名字
例如std::cout
4 命名空间使用方式2提前将某个命名空间中的某个名字使用关键字using进行声明后期对该名字就可以直接使用了但是该命名空间中没有提前声明的名字不能直接使用
5 命名空间的使用方式3提前将整个命名空间进行声明使用关键字 using namespace 命名空间名声明后该命名空间中的名字就可以直接使用了无需再加命名空间名和作用域限定符了
3.2 命名空间冲突问题
1 不同的命名空间之间名字冲突问题需要在产生冲突的名字前加命名空间名和作用域限定符解决
2 命名空间中的名字与全局名称冲突问题如果使用命名空间中的名字需要加上命名空间名和作用域限定符如果想要使用全局的名字全局的名字默认放入匿名空间中使用时只需要加上命名作用域限定符即可
3 命名空间中的名字与局部名字冲突优先使用局部的名字如果非要使用命名空间中的名字则需要加上命名空间名和作用域限定符
3.3 命名空间使用的注意事项
1 一个命名空间中可以嵌套定义一个命名空间使用名字时需要用作用域限定符一级一级找到最低一级进行使用
2 同一作用域下可以定义多个同名的命名空间编译时会将这对个同名的命名空间合成一个所以定义时不允许出现名字有相同的现象
四、C中的字符串string
4.1 C风格字符串与C风格字符串互相转换
1 C语言风格的字符串可以无条件转换为C风格字符串
2 C风格字符串向C语言风格字符串转换时需要调用其成员函数c_str()或者data()
#include iostream #includecstring using namespace std; int main() { char s1[20]; string s2 hello; //s2 s1; //C语言风格向c风格字符串转换 //s1 s2; //C风格字符串不能直接转换为C风格字符串 //strcpy(s1, s2.c_str()); strcpy(s1, s2.data()); couts1 s1endl; //hello return 0; }
4.2 字符串的比较
1 C语言风格的字符串比较需要使用strcmp来完成
2 C风格的字符串比较不需要使用strcmp函数直接使用关系运算符即可
4.3 C风格字符串的常用函数
1 size()、length() :该函数返回字符串的实际长度不包含\0
2 empty(): 判断该字符串是否为空如果为空串则返回真否则返回假
3 clear():将字符串中的内容清空
4 at():返回字符串中给定位置的字符
4.4 字符串的输入输出
1 如果字符串中没有回车、空格、tab键则可以直接使用cin完成
2 如果有空格的输入需要使用全局函数getline来完成
五、bool类型
1 C语言中不支持bool类型但是C中支持bool类型
2 bool类型的值只有两个true(非0数字)、false(0),这两个关键字用于bool类型的真和假
3 bool类型的数据默认使用数字表示真假如果非要使用单词表示则需要使用关键字boolalpha来调整
转化后就一直使用单词表示如果还想继续使用数字则需要使用关键字noboolalpha调整
4 bool类型的变量所占内存1字节本质上只需要1bit即可但是内存分配的基本单位是字节