c++宏定义常量为什么使用移位_干货 | C语言系列3——常量,运算符,常用数学函数.........
本期总结
1、符号常量和const常量;
2、运算符;
3、输入与输出;
4、常用数学函数。
往期回顾
干货 | C语言系列1——编程软件与做题平台
干货 | C语言系列2——程序结构与变量
符号常量和const常量
1.符号常量
符号常量通俗来讲就是“替换”,又称为宏定义。格式如下:
#define 标识符 常量
宏定义可以定义单个变量为常量,也可以定义某个语句或片段。
宏定义有一点需要特别注意,它只是“机械”替换,并不会自己加括号哦,比如:
#define x b-2 #宏定义(没有分号 ; )
...
y = x*3; #求y
此时,结果是:y = b-2*3,而不是我们想看到的y = (b-2)*3!!!
2.const常量
const 变量类型 变量名 = 常量;
这两种写法被称为常量,是因为它们一旦定义,就不能改变该变量的值。在定义单个变量为常量时,推荐使用const。
运算符
常用的运算符有算术运算符,关系运算符,逻辑运算符,条件运算符,位运算符等等。
1.算术运算符
+,-,*都直接用,没有什么特殊说明;
/需要注意,若两个数均为int型,相除后结果会自动向下取整,若要有小数部分,则需要强制转化类型为float或double(因为double精度较高,所以推荐double);
%为取模运算,在需要区分开个位十位百位等各个位的数字时,常用;
++自增,--自减;
自增自减写法有两种:
i++/++i i--/--i
区别在于第一种是先使用i再加(减)1,第二种是先加(减)1再使用i。
y = y+3等价于y += 3;
其他算术运算符类似。
2.关系运算符
常用的有,<=,>=,==,!=。特别要注意==,一个=是赋值。这种在判断语句中很容易出错,比如:
if(y = 2) ...
在这个语句中,应该写==,这种情况编译器不会报错,自己也较难发现这种错误。在编程中,很多人为了避免这个错误发生,会这样写:
if(2 == y) ...
将常量写在前,如果少写一个=,编译器就会报错。
3.逻辑运算符
&&, ||, !分别对应与,或,非
一定要记得是两个&,两个|,否则会变成位运算!
4.条件运算符
是C语言中唯一的三目运算符,格式如下:
a ? b : c
若a为真,则取b,否则,取c。
例:
int a = 3, b = 5, c = 7, d = 9
int e = a>b ? c : d;
此时,a>b为假,所以e = d,即9。
5.位运算符
输入/输出
C语言中必不可少的输入输出函数scanf与printf,在头文件stdio.h中,这也是C语言中最为基础的。在这里,我主要总结一些需要注意的点。
1.scanf
scanf("格式", 变量地址)
不同的数据类型对应不同的格式,如下:
可以看出,数组名没有取地址符&,因为数组名本身就是那个数组的首地址。其他输入变量的情况,不能漏掉&;
scanf除了对于%c,其他格式都以空格,回车等作为结束标志,而%c可以取到空格,换行,因此,getchar( )和putchar( )在这种情况下可以使用,当你想抛掉空格,换行符,或者抛掉某个不要的字符,可以直接用getchar( ),不给相应的变量即可。putchar( )是输出某个字符。
2.printf
printf("格式", 变量名)
可以看出,double类型在输入时格式为%lf,在输出时格式为%f,虽然在一些编译器中输出为%lf也没错,但最好还是按照标准来。
还有3种实用的输出格式:
(1)%md
不足m位的变量以m位右对齐输出,前面补空格,若超过m位,则保持原样。
(2)%0md
不足m位的变量以m位右对齐输出,前面补0,若超过m位,则保持原样。
(3)%.mf
保留m位小数。这里的保留使用的规则是“四舍六入五成双”,若要“四舍五入”,则需要用round( )函数。
常用数学函数
1.round(double x)
该函数为对double型变量进行四舍五入的函数,返回类型也是double型,若需要输出整数,最终结果需进行取整,即强制类型转换。
2.floor(double x)和ceil(double x)
分别对double型变量进行向下取整和向上取整。
3.pow(double x, double y)
求x的y次方。一定要注意x, y都为double型。可以这样写:
z = pow(2.0, 3.0)
4.sqrt(double x)
将x开方,返回double型变量的算术平方根。
5.log(double x)
返回double变量以自然对数为底的对数。若要求自然对数以外的底的对数,需要用换底公式:
参考资料:《算法笔记》
先把基础夯实
再大步向前走吧
赵姐的小屋,
等你关注~
c++宏定义常量为什么使用移位_干货 | C语言系列3——常量,运算符,常用数学函数.........相关推荐
- 干货 | C语言系列3——常量,运算符,常用数学函数......
符号常量和const常量 1.符号常量 符号常量通俗来讲就是"替换",又称为宏定义.格式如下: #define 标识符 常量 宏定义可以定义单个变量为常量,也可以定义某个语句或片段 ...
- python数学函数_「分享」关于Python整理的常用数学函数整理
原标题:「分享」关于Python整理的常用数学函数整理 1.函数说明 abs(number)返回数字的绝对值,如abs(-10)返回10 pow(x,y[,z]) 返回x的y次幂(所得结果对z取模), ...
- c语言定义不定长数组初始化_大学C语言期末考试练习题(带详解答案)(1)
链接:https://pan.baidu.com/s/1d2Bb1vNTyBNpFGneIAicVw 提取码:y7uw 单项选择题 C语言的基本单位是 函数 1.(A )是构成C语言程序的基本单位. ...
- 51单片机c语言宏定义是什么意思,51单片机的C语言宏定义应用.doc
1.预编译处理是单片机C语言程序设计中经常用到的一种方法.通过一些预处理命令可以为C语言本身提供许多功能和符号的扩充,增强C语言程序的灵活性和方便性. 常用的预处理命令有:宏定义.文件包含.条件编译等 ...
- c程序语言的常量变量和标识符,浅谈C语言中的常量与变量.pdf
课程教育研究 CourseEducationResearch 2014年4月 上旬刊 教学.信息 浅谈C语言中的常量与变量 刘 星 (青 岛工学院商学院 山东 青岛 266300) [摘要]在任何一种 ...
- python进阶之学习笔记_干货 | Python进阶系列之学习笔记(四)
目录 Python条件判断 Python循环语句 Python循环控制 迭代器与生成器 异常 一.Python 条件判断 如果某些条件满足,才能做某件事情:条件不满足时,则不能做,这就是所谓的判断. ...
- python中的常量可以修改吗_深入理解Python变量与常量
变量是计算机内存中的一块区域,变量可以存储规定范围内的值,而且值可以改变.基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中.常量是一块只读的内存区域,常量一旦被初始化就不能被 ...
- 结构体定义小的放前面_编程C语言进阶篇——自定义数据类型:结构体
一.结构体 定义方法: 结构名 变量名 特点: 两个同类型的结构变量可以相互赋值,但是结构变量之间不能使用"<","=="等运算符,如果使用则需要对运算符 ...
- c定义一个整型数组_滨州学院C语言作业讲解有序数组插入
点击蓝字 关注我们 + 滨州学院C语言作业详解 [问题描述]一个长度为11的整型数组中存放有10个从小到大排好序的整数:1 3 5 10 23 100 180 200 350 500.输入一个x,把它 ...
最新文章
- (翻译)为你的MVC应用程序创建自定义视图引擎
- python中ans的用法_Python的一些用法分享
- 【solr专题之四】关于VelocityResponseWriter
- Zepto Click点透情况解决办法
- mysql查询没有权限试图_MySQL迁移后提示查询view权限不足的处理
- unity, undo
- 递增的整数序列链表的插入_leetcode673_go_最长递增子序列的个数
- ug80浩强工具_ug浩强工具安装软件下载-ug浩强工具2.45 官方免费版-东坡下载
- 《硅谷钢铁侠:埃隆·马斯克的冒险人生》文摘
- 基于Python的QQ空间相册中的所有照片下载器
- Linux apt-get 安装离线包
- java中栈的两种实现
- 山东省第五届省赛题C Colorful Cupcakes(五维数组+记忆化搜索)
- linux ss的使用方法
- perl脚本的简单调试方法
- 信息中心网络ICN的物联网应用调研
- LightningChart数据可视化工具图形控件教程51-BarSeries3D
- mysql模糊查询语句区分大小写
- 输出100~1000的回文素数 - 简单题
- yyyy-MM-dd HH:mm:ss.fff规则的时间格式化
热门文章
- 蓝牙耳机和蓝牙鼠标相互干扰_蓝牙耳机推荐:编辑亲测后中肯评价五大爆款蓝牙耳机...
- python怎么显示分数_python分数怎么表示什么
- win2003服务器通过ipsec做防火墙的配置方法
- Docker 运行的 应用程序无法连接Oracle数据库的解决办法
- No changes detected
- B1013 数素数(20分)
- windows 环境下python 安装 pypcap 并用pyinstaller打包到exe,解决DLL 加载失败。
- IEnumerable和IEnumerator 详解
- 人生苦短,请好好珍惜自已的身体
- cordova sqlite