本期总结
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变量以自然对数为底的对数。若要求自然对数以外的底的对数,需要用换底公式:
参考资料:《算法笔记》
先把基础夯实
再大步向前走吧
赵姐的小屋,
等你关注~