1          运算符表达式和语句

1.1       基本运算符

1.1.1          =

数据对象:泛指数据在内存的存储区域

左值:表示可以被更改的数据对象

右值:能赋给左值的量

1.1.2          +

1.1.3          –

1.1.4          *

1.1.5          /

1.1.6          %

取余数

1.1.7          +=

加等于

1.1.8          -=

减等于

1.1.9          *=

乘等于

1.1.10      /=

除等于

1.1.11      %=

取余等于

1.1.12      ++

自加1

,i++先计算表达式的值,然后再++

,++i是先++,再计算表达式的值

1.1.13      --

自减一

1.1.14      逗号运算符

int a = 2;

int b = 3;

int c = 4;

int d = 5;

int i = (a = b, c + d);

 

逗号表达式先求逗号左边的值,然后求右边的值,整个语句的值是逗号右边的值。

1.1.15      运算符优先级

优先级

运算符

结合性

1

++(后缀),--(后缀),()(调用函数),{}(语句块),.,->

从左到右

2

++(前缀),--(前缀),+(前缀),-(前缀),!(前缀),~(前缀),sizeof,*(取指针值),&(取地址),(type)(类型转化)

从右到左

3

*, /, %

从左到右

4

+,-

从左到右

5

<< >>

从左到右

6

< > <= >=

从左到右

7

== !=

从左到右

8

&

从左到右

9

^

从左到右

10

|

从左到右

11

&&

从左到右

12

||

从左到右

13

?

从右到左

14

=,*=,%=,+=,-=,<<=,>>=,&=,|=,^=

从右到左

15

,(逗号运算符)

从左到右

1.2       复合语句

{}代码块

1.3       空语句

只有一个;号的语句就是空语句,空语句在C语言里面和合法的,并且是在某些场合必用的

1.4       类型转化

double f = (double)3 / 2;

()为强制类型转化运算符

#include <stdio.h>

int main01()
{
int a = ;
int b = ;
int c = a % b;
printf("c = %d\n", c); //a = a + 5;//语法正确,但是是个菜鸟
a += ; a = a + ;
a += ;
a++;
a = a - ;
a -= ;
a--;
return ;
} int main02()
{
int i = ;
//i++;
//++i; //int a = ++i;
//int a = i++;
int a = i++ + ++i;
//i = i + 1;
//int a = i + i;
//i = i + 1; printf("%d\n", a);
printf("%d\n", i);
return ;
} int main03()
{ int a = ;
int b = ;
int c = ;
int d = ;
int i = (a = b, a + d); printf("i = %d\n", i); a = ; b = ; c = ; d = ;
i = (a + (b - c)) * d;
printf("i = %d\n", i); a = ;
b = ;
c = ; i = a = b = c;
printf("i = %d\n", i); {
i = ;
a = ;
} ;//空语句 printf("i = %d\n", i); for (; ; )//循环语句,代表复合语句内部的代码要执行3次
{
printf("hello\n");
} return ;
} int main()
{
//double f = 3 / 2;//c语言两个整数相除的结果自动转化为一个整数
//double f = (double)3 / 2;//(double)3,意思是将整数3强制转化为double型
//double f = 3.0 / 2; int a = ;
int b = ;
double f = (double)a / b;
printf("%f\n", f);
return ;
}

资料来源:传智播客 仅供学习研究

2_C语言中的数据类型 (八)运算符的更多相关文章

  1. 2_C语言中的数据类型 (七)printf与scanf

    1          字符串格式化输出和输入 1.1       字符串在计算机内部的存储方式 字符串是内存中一段连续的char空间,以’\0’结尾 “”是C语言表达字符串的方式 1.2       ...

  2. 2_C语言中的数据类型 (四)整数与无符号数

    1.1       sizeof关键字 sizeof是c语言关键字,功能是求指定数据类型在内存中的大小,单位:字节 sizeof与size_t类型 1.1       int类型 1.1.1      ...

  3. 2_C语言中的数据类型 (九)逻辑运算符与if语句、switch、条件运算符?、goto语句与标号

    1          条件分支语句 1.1       关系运算符 在C语言中0代表false,非0代表真 1.1.1          < 小于 1.1.2          <= 小于 ...

  4. 2_C语言中的数据类型 (一)2.1.常量和字符串常量

    2.1 常量就是在程序中不可变化的量,常量在定义的时候必须给一个初值. 1.1.1          #define 定义一个宏常量 1.1.2          const 定义一个const常量 ...

  5. 2_C语言中的数据类型 (十)数组

    1          字符串与字符数组 1.1       字符数组定义 char array[100]; 1.2       字符数组初始化 char array[100] = {'a', 'b', ...

  6. 2_C语言中的数据类型 (九)数组

    1          数组 1.1       一维数组定义与使用 int array[10];//定义一个一维数组,名字叫array,一共有10个元素,每个元素都是int类型的 array[0] = ...

  7. 2_C语言中的数据类型 (二)进制

    1.1       二进制数.位.字节与字 我们习惯于十进制的数:10,12等 一个位只能表示0,或者1两种状态,简称bit,一个位是一个bit 一个字节为8个二进制,称为8位,简称BYTE,8个比特 ...

  8. 2_C语言中的数据类型 (十)while、for

    1          循环语句 1.1       while while(条件),如果条件为真,循环继续,条件为假,循环结束 while (1)..是死循环的写法 1.2       continu ...

  9. 2_C语言中的数据类型 (七)类型限定

    1.1       类型限定 1.1.1          const const是代表一个不能改变值的常量 1.1.2          volatile 代表变量是一个可能被CPU指令之外的地方改 ...

随机推荐

  1. [控件] LiveChangedImageView

    LiveChangedImageView 效果 说明 切换图片的时候自动根据图片的尺寸进行渐变式切换,效果很不错,使用非常容易. 源码 https://github.com/YouXianMing/U ...

  2. EXC_BAD_ACCESS错误

    EXC_BAD_ACCESS错误 一直都是使用ARC开发,咋就莫名其妙的出现这种EXC_BAD_ACCESS错误. 一直都是是怀疑在block中有着特殊处理,导致了使用时出现了这种错误,查找了好久.. ...

  3. iOS8中的定位服务

    iOS8中的定位服务 My app that worked fine in iOS 7 doesn't work with the iOS 8 SDK. CLLocationManager doesn ...

  4. 【笔记】JS数据类型总结

    JavaScript有六种数据类型,分别为undefined.null.number.string.Boolean.object,前面的五种是基础数据类型,也称之为原始类型,也就是无法再细分的基本类型 ...

  5. mvc, web mvc, spring web mvc 区别

    1. MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用于组织代码用一种业务逻辑和数据显示分离的 ...

  6. Spring源码分析之IOC容器(一)

    Spring作为当今风靡世界的Web领域的第一框架,作为一名Java开发程序员是一定要掌握的,除了需要掌握基本的使用之外,更需要掌握其实现原理,因为我们往往在开发的过程中,会出现各种各样的异常问题.而 ...

  7. 给 Virtualbox 中 Ubuntu 系统设置静态 IP

    虚拟机网络选择 桥接网卡 模式. 主要涉及两个步骤: 1. 修改 /etc/network/interfaces 文件: 2. 修改 dns : 第一步,修改 interfaces 文件: sudo ...

  8. Java8新特性 -- Lambda 方法引用和构造器引用

    一. 方法引用: 若Lambda体中的内容有方法已经实现了,我们可以使用“方法引用” 要求 方法的参数和返回值类型 和 函数式接口中的参数类型和返回值类型保持一致. 主要有三种语法格式: 对象 :: ...

  9. Linux进程地址空间与虚拟内存

    http://blog.csdn.net/xu3737284/article/details/12710217 32位机器上linux操作系统中的进程的地址空间大小是4G,其中0-3G是用户空间,3G ...

  10. [SHOI2008]小约翰的游戏

    题目 不会,抄论文 这是一个非常牛逼的东西,叫做\(anti\)博弈,就是进行最后一次操作的人输 我们考虑一下这道题 显然如果石子个数都是\(1\),那么有奇数堆石子先手必败,有偶数堆石子先手必胜 如 ...