一 语法增强
1 三目运算符
在C语言中,三目运算符返回的是一个变量的值,而在C++中确实返回的这个变量本身,这样等号左边就变成了一个可以修改的值。
简而言之,三目运算符的返回值可以当作左值使用了。
2 枚举类型
我们知道在C语言中枚举是一种自定义类型,关键字是enum。用于枚举相关量。而且我们知道C语言枚举的本质就是整形,默认从0开始,枚举变量可以用任何的整形值赋值。
但是如果我们的枚举对象有很多,假设有1000个,那么我们用整形数字去赋值,在代码阅读期间,我们无法快速的知道这个整型数字所代表的枚举常量所代表的意思。降低了代码的可阅读性。
而C++就给我们解决了这个问题。
typedef enum day
{
//枚举常量
mon,
yues,
wed,
thur,
fri,
sat,
sun
}day;
int main()
{
day d=fri;
return 0;
}
我们自定义这个day类型,也就是星期天数的类型,给他设置一个d变量,那么在C++中初始化必须为枚举出的元素之一进行初始化。而在C语言中,写成day d = 5;。也是不会报错的。
3 布尔类型bool与字符串类型string
(1)布尔类型
在C语言C99标准之前是没有这个类型的,都是在之后也就布尔型。但是在我们的课程中与C语言书籍中大部分都没有这个类型的介绍。
其实我们早已使用过这种思维,就是立标记点flag的方式来判断事件的真假。(1为真,0为假)
而在C++中就明确出现这个类型,bool,他只有两个值,true或false。
bool a = true;
bool b = false;
(2)字符串类型
在C语言中,我们对一类数据的处理颇为烦躁。那就是字符串,因为C语言中没有字符串类型,我们必须用一个字符数组去储存字符串。那就是字符串类型 string。
其实它的底层实现是一个动态分配内存的字符数组。所以他可以与我们以前知道的字符数组之间进行转化,并且也可以用循环遍历的方法去访问每个元素。当然了,注意不要越界访问。
由于其内容过多,作者在此不详细说明,之后会写一篇专门讲解字符串类型的文章。
总结
最近作者在改寒假的C语言课程设计的项目,更新的有点慢,之后也会写写在写我的通讯录项目时所遇到的困难。加油