C++初级学习(二)——运算符和循环、判断
来源:互联网 发布:手机实时监控软件 编辑:程序博客网 时间:2024/06/05 18:45
运算符
算数运算符 (与C一致,略)
关系运算符(与C一致,略)
逻辑运算符(与C一致,略)
赋值运算符(与C一致,略)
杂项运算符(似乎与C一致,还是记录一下)
重要杂项运算符:
int hzy
,sizeof(hzy)
将返回4 condition?X:Y 若condition为真,则值为X,否则为Y 略 , 执行一系列运算,整个逗号表达式的值是以逗号分隔的列表中的最后一个表达式的值 略 .(点)和->(箭头) 用于引用类、结构和共用体成员 略 cast 强制转换,将一种数据类型转换为另一种数据类型 int(2.2000)
将返回2 & 指针运算符&返回变量的地址 略 * 指针运算符*指向一个变量 略* sizeof
语法:
sizeof (data type);
- condition?X:Y
语法:
Exp1 ? Exp2 : Exp3;
Exp1若为真,则计算Exp2的值,且将计算结果当做整个表达式的值,否则计算Exp3的值。该语句可以用来替代简单的if-else语句。
* ,
看下面这个例子:
#include <iostream>using namespace std;int main(){ int i, j; j = 10; i = (j++, j+100, 999+j); cout << i; return 0;}
最终i的值为1010,原因如下:
j的初值为10,先自增,为11,然后执行j+100,值为111,但是该值不赋予j,因此j还是11,最后999+11=1010,把该值赋予i。
- .和->
可以参考如下的例子:
struct Employee { char first_name[16]; int age;} emp;//结构体emp中含有的成员为first_name数组和agestrcpy(emp.first_name, "zara");//将“zara”赋给emp中的first_namestrcpy(p_emp->first_name, "zara");//p_emp为指针,指向类型为Employee的对象,将“zara”赋给对象emp的first_name成员
访问结构的成员时使用点运算符,而通过指针访问结构的成员时使用箭头运算符。
* cast
(type) expression;
- &
&为取地址运算符,返回操作数的内存地址。 - *
*为间接寻址运算符,返回操作数所指定地址的变量的值。
可以参考下列代码:
#include <iostream>using namespace std;int main (){ int var; int *ptr; int val; var = 3000; // 获取 var 的地址 ptr = &var; // 获取 ptr 的值 val = *ptr; cout << "Value of var :" << var << endl; cout << "Value of ptr :" << ptr << endl; cout << "Value of val :" << val << endl; return 0;}
结果如下:
Value of var :3000Value of ptr :0xbff64494Value of val :3000
注意仔细体会上述值的差别。
运算符的优先级
后缀>一元>乘除求余>加减>移位>关系>相等>位与>位异或>位或>逻辑与>逻辑或>条件>赋值>逗号
循环
基本与C一致。
C++11允许基于范围的for循环:
int my_array[5] = {1, 2, 3, 4, 5};// 每个数组元素乘于 2for (int &x : my_array)//:前面表示用于迭代的变量,后面表示循环的范围{ x *= 2; cout << x << endl; }// auto 类型也是 C++11 新标准中的,用来自动获取变量的类型for (auto &x : my_array) { x *= 2; cout << x << endl; }
#include<iostream> #include<string> #include<cctype> using namespace std; int main() { string str("some string"); // range for 语句 for(auto &c : str) { c = toupper(c); } cout << str << endl; return 0; }
上述代码中,toupper函数为将小写转换为大写。代码遍历字符串,将所有字符变为大写然后输出。
goto对应需要加label作为标识符,goto语句可以用于跳出深嵌套。 for(::)
可以用于表示一个无限循环
Tips:按下CTRL+C可以终止一个无限循环
判断(与C一致,略)
阅读全文
0 0
- C++初级学习(二)——运算符和循环、判断
- Java学习笔记(二)运算符和循环选择结构
- Javascript基础——运算符、流程控制(循环、判断、真假、三元运算符)、Json
- 【C++】学习笔记二十四——?:运算符
- PHP初级学习——运算符篇
- <<左移运算符——初级学习
- Swift学习笔记(十三)——区间运算符和for-in循环
- C++|C++学习笔记|二、判断与循环
- C语言学习入门 (二) 语句和运算符
- C语言学习入门 (二) 语句和运算符
- 《C程序设计语言》学习笔记(二)——类型、运算符与表达式
- 黑马程序员——C语言基础学习(二)---分支结构和循环结构
- for循环的判断和运算符的结合
- Python3 基础:条件判断和循环&三元运算符
- C++——运算符重载(二)
- python基础学习之——条件判断和循环
- Python学习笔记(五)—条件判断和循环语句
- 用三元运算符判断奇数和偶数(学习)
- 读取配置文件
- Linux下的opengl库环境安装使用
- Spring解析Html视图
- android studio git使用总结 (一): 初级篇
- Opencv实现Camshift算法(物体跟踪)
- C++初级学习(二)——运算符和循环、判断
- Go实战--golang新手入门常见错误(The way to go)
- Android从网络取得一张图片
- 解决win2008下IIS7的HTTP500错误
- linux进程间通信:匿名管道和命名管道
- 数组名的值、数组名取地址&的值、数组名取sizeof的值
- Android开发学习之路-LeakCanary使用
- 视频
- flot