术语
clog :关联到标准错误,通常用于报告程序的执行信息,存入一个日志文件中。
方法 :成员函数的同义用语。
类 :一种定义自己的数据结构及其相关操作的机制。
类类型 :类定义的类型。类名即为类型名。
命名空间 :将库定义的名字放在一个单一位置的机制。命名空间可以避免不经意的名字冲突。
:: :作用域运算符。其用处之一是访问命名空间的名字。
c++算术类型
类型 | 含义 | 最小尺寸 |
bool | 布尔类型 | 未定义 |
char | 字符 | 8位 |
wchar_t | 宽字符 | 16位 |
char16_t | Unicode字符 | 16位 |
char32_t | Unicode字符 | 32位 |
short | 短整型 | 16位 |
int | 整型 | 16位 |
long | 长整型 | 32位 |
long long | 长整型 | 64位 |
float | 单精度浮点型 | 6位有效数字 |
double | 双精度浮点型 | 10位有效数字 |
long double | 扩展精度浮点型 | 10位有效数字 |
注释界定符不能嵌套
关于初始化
int a=0;
int a={0};
int a{0};
int a(0);
以上四种都能对a进行初始化。
long double a=3.1415926536;
int b{a},c={a};//编译错误,转换未执行,存在风险
int d{a},e=d; //编译正确,转换执行,丢失部分值。
关于extern
extern int i;//声明i,不是定义i。
关于引用(&)
int ival=1024;
int &refval=ival;//refval指向ival,是ival的另一个名字。
int &refval2;//报错,引用必须被初始化
int &dval-10;//错误,引用类型的初始化必须是一个对象。
关于const
const int i=1;//不能通过变量名改变值,const对象必须初始化。
int *const curerr=&errnumb;//curerr将一直指向errnumb。
顶层const 表示指针本身是一个常量。
底层const 表示指针所指的对象是一个常量。
关于constexpr
constexpr int mf=20;//声明为constexpr的变量一定是一个常量,而且必须用常量表达式初始化。
关于typedef
typedef double wages;//重命名wages是double的同义词。
Using SI = Sales_item;//SI是Sale_item的同义词
typedef char *pstring;
const pstring cstr=0;//cstr是指向char的常量指针
const char *cstr=0;//不等同于上句,typedef不能看作直接替代。
关于auto
auto 类型//让编译器替代我们分析表达式所属的类型
auto item =val1 +val2;//item初始化为val1和val2相加的结果类型
关于decltype
decltype//从表达式的类型推断出要定义的变量类型。
例:
const int ci=0,&cj=ci;
decltype (ci) x=0;//x的类型为const int.
decltype (cj) y=x;//y的类型为const int &,y绑定到x。
decltype(cj) z;//错误,z是一个引用必须初始化。
如果decltype 使用的表达式类型不是一个变量,则decltype返回表达式结果对应的类型。
用c++编写一些简单的常用语句
while语句
求1到10的和:
#include<iostream>
using namespace std;
int main()
{
int sum = 0, val = 1;
while (val<=10)
{
sum += val;
++val;
}
cout << "1到10和为:" << sum << endl;
while (1);
return 0;
}
for语句
求1到10的和
#include<iostream>
using namespace std;
int main()
{
int sum = 0;
for (int i = 0;i <= 10;i++)
{
sum += i;
}
cout << "1到10和为:" << sum << endl;
while (1);
return 0;
}
if语句
统计输入中每个值连续出现了多少次
#include<iostream>
using namespace std;
int main()
{
int currval = 0,val=0;
if (cin >> currval)
{
int sum = 1;
while (cin>>val)
{
if (val == currval)
{
++sum;
}
else
{
cout << currval << "出现了" << sum << "次" << endl;
currval = val;
sum = 1;
}
}
cout << currval << "出现了" << sum << "次" << endl;
}
return 0;
}
注:这题例题代码有误
如我们输入1 1 2 2 3 3 4 5
我们得到的输出为:1出现2次,2出现2次,3出现2次,4出现1次。
无法如书上所说:得到1出现2次,2出现2次,3出现2次,4出现1次,5出现1次。
若想得到上述结果需在输入内容的结尾加上0用于跳出while循环来执行while循环外的cout语句。
如:1 1 2 2 3 3 4 5 0