寒假学习使用C++(4)

本文介绍了C语言与C++在语法增强上的区别,如三目运算符的左值使用、C++的枚举类型改进以及布尔类型和字符串类型的引入。作者分享了在项目中应用这些新特性的体验。
摘要由CSDN通过智能技术生成

 一 语法增强

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语言课程设计的项目,更新的有点慢,之后也会写写在写我的通讯录项目时所遇到的困难。加油

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值