1.不同数据类型间转换:
1.显示类型转换(强制类型转换)
2.隐式类型转换
不同类型进行数据运算和数据处理时会发生隐式类型转换
隐式类型转换规则: 低精度转换成高精度
同种类型:所占空间越大,精度范围越高
无符号和有符号类型:无符号精度范围高于有符号类型
整数类型和浮点数类型:浮点数精度范围高于整数类型精度范围
char char -> int
short short -> int
char short -> int
float float -> double
float double -> double
float char -> double
unsigned signed -> unsigned
double int -> double
2.表达式:
由运算符连接的一个或者多个常量变量所组成的式子
1.表达式一定有值
2.表达式一定有类型
3.运算符:
1.算数运算符
+ 加
- 减
* 乘
/ 除
% 取余(不能对浮点数操作)
++ 自增运算符
-- 自减运算符
i++ 后置++ 先用i,再让i++
++i 前置++ 先让i自加,再用i
2.赋值运算符
=
左值:允许放在等号左边的值
右值:允许放在等号右边的值
左值:必须是变量不能是常量或者表达式
右值: 可以是常量、变量或者表达式
小数据放入大空间高位需要补位(有符号数补符号位、无符号数补0)
大数据放入小空间直接截取数据低位(有可能正数截成负数,有可能负数截成正数)
左值为浮点数类型,右值为整数类型时,会将整数类型转换为浮点数类型赋值
左值为整数类型,右值为浮点数类型时,会将浮点数类型舍弃精度赋值给整数类型
如果左值和右值空间大小一样,会将右值直接拷贝到左值空间中
练习:
char ch = 500;
printf("ch = %d\n", ch);
+=
-=
*=
/=
%=
..
int a = 10;
a *= 3 + 5;
3.逗号运算符
从左至右依次执行,将最后一个表达式的结果作为整体的结果
4.sizeof运算符
获得变量或者数据类型 在内存中所占字节数
sizeof(int);
int val = 0;
sizeof(val);
====================================================================================
C语言中常用的输入输出函数:
1.putchar getchar
putchar
功能:在终端屏幕上打印一个字符
注意:
1.打印的是字符
2.只能打印一个字符
练习:
利用putchar在终端屏幕上打印"hello"
putchar(ch):表达式的结果为int类型
打印在屏幕上的字符的ASCII码值
getchar
功能:在终端屏幕上接收一个字符
注意:
1.接收字符
2.只能接收一个字符
2.printf scanf
printf:
1.打印非输出控制符:
\" "号
\n 换行符
\b 退格符
\t 横向制表符
\v 纵向制表符
\a 响铃
\r 回车符
\\ \符号
2.打印输出控制符:
printf("val = %d\n", val);
%d 按照有符号十进制打印
%ld 按照有符号十进制打印
%o 按照八进制打印
%x 按照十六进制打印
%X 按照十六进制打印
%#o 打印八进制前的0
%#x 打印十六进制前的0x
%u 按照无符号类型打印
%f 按照浮点数类型打印
%lf 按照浮点数类型打印
%e 按照指数形式打印浮点数类型
%E 按照指数形式打印浮点数类型
%c 按照二进制对应的ASCII码字符打印
%p 按照指针形式打印
%% 打印%号
3.打印多个输出控制符:
注意:输出控制符的个数与表达式的个数要一一匹配
printf表达式的值为实际打印在终端屏幕上的字符的个数
%nd n:表示域宽(不足域宽,高位用空格补齐)
%0nd 0:不足域宽,高位用0补齐
%-nd -:左对齐
%.mf m:保留小数点后m位有效数字
3.puts gets