【二】C++基于C的一些改变
2015-08-14 11:01
267 查看
1、布尔类型
C++在C语言的基本类型系统之上增加了bool;
实际上,C99的标准中也引入了bool类型,使用时需要引用stdbool.h头文件
C++中的bool可取的值只有truea和false;
理论上bool只占用一个字节,如果多个bool变量定义在一起,可能会各占一个bit,这取决于编译器的实现;
C++编译器会在赋值时将非0值转换为true,0值转换为false;
Tip:
true代表真值,编译器内部用1来表示;
false代表非真值,编译器内部用0来表示;
示例:
exp-1.cpp
运行结果:
![](http://img.blog.csdn.net/20150814104730222)
exp-2.cpp
运行结果:
![](http://img.blog.csdn.net/20150814105622181)
2、三目运算符
C语言中的三目运算符返回的是变量值,不能作为左值使用;
C++中的三目运算符可直接返回变量本身,因此可以出现在程序的任何地方;
注意:
三目运算符可能返回的值中如果有一个是常量值,则不能作为左值使用。
示例:
exp-3.cpp
运行结果:
C++在C语言的基本类型系统之上增加了bool;
实际上,C99的标准中也引入了bool类型,使用时需要引用stdbool.h头文件
C++中的bool可取的值只有truea和false;
理论上bool只占用一个字节,如果多个bool变量定义在一起,可能会各占一个bit,这取决于编译器的实现;
C++编译器会在赋值时将非0值转换为true,0值转换为false;
Tip:
true代表真值,编译器内部用1来表示;
false代表非真值,编译器内部用0来表示;
示例:
exp-1.cpp
#include <stdio.h> int main(int argc, char *argv[]) { int a; bool b = true; printf("b = %d, sizeof(b) = %ld\n", b, sizeof(b)); b = 3; a = b; printf("a = %d, b = %d\n", a, b); b = -5; a = b; printf("a = %d, b = %d\n", a, b); a = 10; b = a; printf("a = %d, b = %d\n", a, b); b = 0; printf("b = %d\n", b); return 0; }
运行结果:
exp-2.cpp
#include <stdio.h> int main(int argc, char *argv[]) { bool b = false; printf("b = %d\n", b); b++; printf("b = %d\n", b); b = b + 1; printf("b = %d\n", b); return 0; }
运行结果:
2、三目运算符
C语言中的三目运算符返回的是变量值,不能作为左值使用;
C++中的三目运算符可直接返回变量本身,因此可以出现在程序的任何地方;
注意:
三目运算符可能返回的值中如果有一个是常量值,则不能作为左值使用。
示例:
exp-3.cpp
#include <stdio.h> int main(int argc, char *argv[]) { int a = 1; int b = 2; (a < b ? a : b) = 3; //作为左值使用 printf("a = %d, b = %d\n", a, b); return 0; }
运行结果:
相关文章推荐
- c语言实现魔方阵算法
- C++中左值与右值引用———C++Primer读书笔记
- Java与C++的区别
- C++ Primer 学习笔记与思考_4 ---getline&&size_type&&const_iterator混搭
- c++中的 extern "C"
- VC++ 动态创建单个工具条,并加载外部的位图(bmp)文件为工具栏图像
- c++ cout 格式化输出浮点数、整数及格方法
- c语言语法(三)
- iOS概念入门学习-C语言-字符串
- C++序列操作之std::partition
- C语言的有符号与无符号,二进制整数的扩展与截断
- VC++ 浅谈VS2010中CMFCToolBar的用法
- VS2010 C++ 学习笔记(四) 1.数据的封装 2.类外定义 3.构造函数(无参,有参,重载,初始化列表,拷贝) 4.练习
- C++存储方案
- 【转】C语言mem.h中的函数介绍
- 【转】c语言位域操作—_结构体内冒号:的使用
- 50条大牛C++编程开发学习建议
- VC++获取病毒的消息钩子
- iOS概念入门学习-C语言-指针
- C++成员函数重载 覆盖 隐藏