C++学习记录2--常量及运算符释疑
来源:互联网 发布:票务系统源码 编辑:程序博客网 时间:2024/06/03 18:39
1、sizeof("abed\0fg")
的值是?
sizeof(表达式) 的运算结果是表达式的存储字节数,"abed\0f"
是一个字符串常量,字符串常量系统会自动在其末位添加空字符'\0'
;同时"abed\0f"
中,有转义字符\
,构成空字符'\0'
,故存在:'a'
,'b'
,'e'
,'d'
,'\0'
,'f'
,'g'
,'\0'
8个字节。
2、sizeof("abed\056")
的值是?
字符串末尾依旧会自动添加'\0'
。C++中,若转移字符后是一个整形常量,则必须是一个八进制或者以x开头的十六进制,大小在0~255之间,此时,转移字符后面跟'\056'
,为八进制表示,实为表示ASCII码为46的字符(.),故存在'a'
,'b'
,'e'
,'d'
,'\056'
(相当于'.'
),'\0'
6个字节。
3、有整形变量x,y,其中y!=0,则x=x/y*y+x%y
。
4/5
运算结果为0;
5/4
运算救过为1;
4.0/5
,4/5.0
或4.0/5.0
运算结果为0.8。
4、逻辑运算符会自行优化。
int x=1,y=1,z=1;
执行++x||++y&&++z
后,x,y,z的值?
运算符优先级括号>指针>算数运算>关系运算>位运算>逻辑运算>条件运算>赋值>逗号。
而逻辑运算符中,!>&&>|| (只改变结合顺序)。
故++x||++y&&++z
相当于++x||(++y&&++z)
,然而,优先级只是改变了变量的结合顺序,而不是先做&&
。实际上,++x
结果为ture,运算结束。即x=2,y=1,z=1。
为防止此类情况,在逻辑运算符中应避免出现自增、自减等运算。
0 0
- C++学习记录2--常量及运算符释疑
- 【学习C++】学习C++ -> 变量、常量与运算符
- [TwistedFate]C语言学习:C数据类型,常量变量,运算符,表达式,输入输出
- C 常量、变量、运算符和表达式
- C++-->变量、常量与运算符
- C的数据类型、常量变量、运算符
- 【学习ios之路:C语言】数据类型、常量变量、运算符、表达式、格式化输入输出
- 常量后缀学习记录
- C程序设计语言- 类型、运算符与表达式-2.1----变量名、数据类型及长度、常量、声明、算数运算符、关系运算符与逻辑预算符
- Objective-C学习笔记(2)----Objective-c中@property声明时的参数释疑
- 【Xcode学C-2】常量、变量、scanf、printf以及各种运算符介绍
- 2、Java关键字、常量、变量、运算符
- 常量、运算符
- 常量、三元运算符
- 常量、变量、运算符
- 常量,变量,运算符
- 3.从零开始学习C语言--常量及数据的存储
- 黑马程序员(学习日记2,标识符,常量,变量,运算符,语句)
- cc2530 timer 1 PWM 输出
- 基于Activity、Fragment的生命周期避免MVP模式内存泄露的问题
- 适配器-迭代器
- 如何学习linux编程
- javascript中的变量
- C++学习记录2--常量及运算符释疑
- error: 'Access denied for user 'root'@'localhost' (using password: YES)'
- windows php5.4 配置 mongodb 扩展(附各种其它版本下载地址)
- webService不支持函数重载?
- 外观模式-Car(最少知识原则)
- CSS-清理浮动的方法总结
- 733B Parade
- 免费的获取最近几天内的天气情况
- 《用python写网络爬虫》笔记3