标签:形式 scan 如何 sig 范围 另一个 iii ascll 逗号运算符
*c语言是一个有类型的语言。
C语言的变量必须在使用之前定义,而且要确定类型。
了解:c以后的两个发展:
*支持:强类型有助于提早发现程序中的一些简单的错误。
*反对:强类型过于强调逻辑类型迫使面对最底层,实现而非事务逻辑。
*面对底层则强调类型,面向应用的则更强调事务逻辑。
\没有特殊要求整数只用int,浮点只用double。
整数: char, short, int, long, long long
浮点数: float, double, long double
逻辑: bool
指针: 自定义:
输入输出的格式化:%d, %ld, %lf。
所表达的范围 :char<short<int<float<double.
内存中所占的大小:1个字节到16个字节。
内存中的表达形式:二进制(补码),编码。
char:1字节。(8比特) short:2字节。 int:取决于cpu/编译器。 long:与int一致。 long long:8字节。
00000000-00000001->11111111 补码时这里的11111111为-1而纯二进制时为255 unsigned 如果一个字面量常数想表达自己是unsigned
eg:255U/u unsigned char c= 255 printf为255 若没有unsigned则输出-1。
十进制输出 %d %o:输出八进制 %x:十六进制
? float: double:
字长: 32 64
有效数字: +-(1.210^-32~3.410^38) +-(2.210^-308~1.7910^308)
范围: 7 15
scanf: %f %lf
printf; %f,%e(输入一个科学计数法) %f,%e 在%和f之间加上.和数字就可以指定输出小数点的的后几位。(结果是四舍五入的)
eg:0.1234567 8901 7后面的都是无效的
printf输出inf表示无穷大 输出nan表示不存在
带小数点的字面量是double而非float,folat需要用f/F来表明身份。eg: 1.233f
char:一种整数,也是一种特殊的字符。
用于表达无法印出来的控制字符/特殊字符。
\b:回退一格 ":双引号 \t:到下一个表格位 ‘:单引号 \n:换行 \r:回车 \:反斜杠
当运算符的两边出现不一致的类型时会自动转换成较大(范围更大)的类型。(一起运算的时候) -char -> short -> int -> long -> long long
-int -> float -> double
*对于printf来说,任何小于int的类型都会被转换成int,float则转换成 double
对于printf任何小于int的数都会被转换成int。float->double 而short不同,输入short则需要%hd.
(只是从那个变量计算出一个新的类型值,并不改变那个变量,值和类型都不变)
把一个量强制转换成另一个类型。
eg: (int)10.2 --double转换成int 会输出
? (short)32 --int转换成short
? 强制转换的优先级高于四则运算。
? eg:int i = (int)a /b
bool类型 要加上 头文件#include <stdbool.h>,之后就可以使用bool和true、false。
逻辑运算是对逻辑量进行的运算,结果只有0/1。
逻辑非-> 若a的结果是true就是false,a的结果是false就是true。
逻辑与 -> 若a与b都是true结果就是true,否则就是false。
逻辑或 -> 只有a b两个都是false的时候才是false其他都是true。
try 如何写出数学中的区间呢? eg: 4 < x <6 错误的示范 应该这样写:x>4 && x<6
若&& || 的左边已经能够决定结果了,那么右边的也就不用继续执行了。
条件运算符的优先级高于赋值运算符,但低于其他运算符。
count =(count >20 )? count -10: count +10;
=>if (count >20)
count =count-10;
else
count =count+10; (等同于上面的条件运算符)
逗号运算符:优先级是所有运算符中最低的。(主要是在for语句中使用得比较多) eg;for(i=0,j=10;i<j;i++,j--)......
标签:形式 scan 如何 sig 范围 另一个 iii ascll 逗号运算符
原文地址:https://www.cnblogs.com/wpoem/p/12448029.html