C语言复习2_运算符
今天复习一下C语言的运算符
1、赋值运算符
单等号 =
顺序是:从右往左
2、复合运算符
#include <stdio.h>
#include <stdlib.h> int main()
{
int num = ;
num %= ;
printf("%d\n",num);
return ;
}
输出结果是:2
3、算术运算符
int num1 = , num2 = ;
double result1, result2, result3, result4;
result1 = num1 / num2;
result2 = num1 % num2;
result3 = num1++;
result4 = --num2;
printf("num1 / num2 = %lf\n", result1);
printf("num1 %% num2 = %lf\n", result2);
printf("num1++ = %lf\n", result3);
printf("--num2 = %lf\n", result4);
输出结果是:
num1 / num2 = 2.000000
num1 % num2 = 1.000000
num1++ = 5.000000
--num2 = 1.000000
其中,针对第3、第4条赋值语句,要注意以下情况:
int num = ;
int result = num++;
printf("result = %d\n", result);
输出结果是:result = 5
因为int result = num ++这个语句,++在语句的最后,相当于先执行int result = num,然后再执行num++,而上一段代码中,--在num2的前面,所以先执行num2 - 1,再执行result4 = num2语句
4、关系运算符
< > >= <= == !=
printf("5 > 8吗?%d\n", > );
printf("6 < 9吗?%d\n", < );
输出结果:
5 > 8吗?0
6 < 9吗?1
0表示假,1表示真
5、逻辑运算符

5、位运算符

5、sizeof运算符
测量数据类型所占空间
printf("整型所占空间是%d字节\n",sizeof());
输出:
整型所占空间是4字节
double所占空间是8字节
float所占空间是4字节
6、运算符优先级
()sizeof ++ -- > ! > 算术运算符 > 关系运算符 > && > || > 赋值运算符
int num = ;
int result = ++num > && --num < ;
printf("result=%d\tnum=%d\n",result, num);
输出:result=1 num=10
先算num+1,11>9为真;再算num-1,10<20,为真;最后算1&&1,等于1
printf("%d\n",!((+%*)>));
输出:0
C语言复习2_运算符的更多相关文章
- C语言复习————基本数据类型、运算符和表达式
数据类型/运算符/表达式 主要分两部分介绍,第一部分介绍常用的数据类型,例如:常量和变量/整型/实型/字符型:第二部分介绍算数运算符和算数表达式以及赋值运算符和逗号运算符. 一. 常用的数据类型 1. ...
- C语言复习20170728
C语言复习20170728 键盘输入和屏幕输出 字符常量:把字符放在一对单引号内,适用于多数可打印字符. 转义字符: 以反斜线()开头,也是放在一对单引号内,适用于控制字符. .\t,是水平制表符,相 ...
- C语言复习20170716
C语言复习20170716 C数据类型 图片来自:C语言基本数据类型简介 C语言程序处理的数据有常量和变量两种形式. 常量是在程序中不能改变其值的量.例如:整型常量.实型常量.字符常量.字符串常量和枚 ...
- c语言 &取地址运算符的理解
对于c语言中的&运算符,百度百科是这样定义的:(&p)则是这样一种运算,返回当时声明p 时开辟的地址:但是根据我对代码的观察,我觉得&运算符不只是返回地址的功能: 例如: in ...
- C语言基础学习运算符-赋值运算符
简单赋值 在C语言里,运算符=并不表示相等,而是一个赋值运算符.这意味着,符号=的左边该是一个可修改的变量名,而右边是赋给该变量的值. 如下程序语句: i = i+; 在数学上,该等式无法成立.而作为 ...
- c语言中逗号运算符和逗号表达式
原文:c语言中逗号运算符和逗号表达式 C语言提供一种特殊的运算符——逗号运算符.用它将两个表达式连接起来.如: 3+5,6+8称为逗号表达式,又称为“顺序求值运算符”.逗号表达式的一般形式为 表达式1 ...
- C语言按位运算符
C语言按位运算符 二进制反码或按位取反:~ 一元运算符~是逐位将1变为0,0变为1 Eg: ~(1001 1010) Result:(0110 0101) 按位与:& 二元运算符&是 ...
- C语言复习---零散补充
一:double和float使用scanf获取数据 printf输出float和double都可以用%f,double还可以用%lf. 2 scanf输入float用%f,double输入用%lf,不 ...
- C语言基础知识-运算符与表达式
C语言基础知识-运算符与表达式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.常用运算符分类 1>.算术运算符 用于处理四则运算. 2>.赋值运算符 用于将表达式的 ...
随机推荐
- m3u8下载转码一次完成
最近看到有部分网站开始加入视频解析服务,虽然这种服务会损害土豆优酷等视频托管商的权益,但是,烦人的广告也让我们开始寻找有没有什么比较靠谱的解决方法~实际上很多网站都在使用m3u8文件格式,里面都是视频 ...
- 【原创】大叔经验分享(50)hue访问mysql(librdbms)
cloudera manager安装hue后想开启访问mysql(librdbms)需要在这里配置(hue_safety_valve.ini) 添加配置如下 [librdbms] # The RDBM ...
- C#多条件查出来的多个DataSet,然后循环将数据整合
private List<string> barList; public List<string> BarList { get ...
- IntelliJ IDEA设置svn.exe的路径
安装TortoiseSVN客户端时,必须选中command line client tools这个选项
- UGUI中粒子特效与UI的遮挡问题
问题背景: 在做主线任务时发现完成任务后的特效显示穿透上面的UI层,不美观,策划不乐意了,抓紧解决下 解决思路: 首先讲下影响渲染顺序的因素: 能够影响渲染顺序的因素有:1.Camera Depth ...
- Docker动态给容器Container暴露端口
查看Container的IP地址 docker inspect <container name or id>| grep IPAddress 查看Container的映射的端口 docke ...
- Python3学习笔记之十九
1. 什么是orm? object relation mapping 对象关系映射 一旦确定表关系为一对多:在多的表中添加关联字段. 一对一:可以在任意一张表添加关联字段. 多对多:创建第三 ...
- Celery提交任务出错?
跟着官方的入门教程部署和运行的,为啥报这个错? tasks.py # -*- encoding:UTF-8 -*- from celery import Celery brokers = 'redis ...
- Redis数据类型SortedSET
Sorted Set有点像Set和Hash的结合体.和Set一样,它里面的元素是唯一的,类型是String,所以它可以理解为就是一个Set.但是Set里面的元素是无序的,而Sorted Set里面的元 ...
- MVC View中获取action、controller、area名称、参数
获取控制器名称: ViewContext.RouteData.Values["controller"].ToString(); 获取Action名称: ViewContext.Ro ...