顺序结构
控制语句:控制语句用于完成一定的控制功能。
括号()表示括号中是一个判别条件,……表示内嵌语句。
函数调用语句: 函数调用语句有一个函数调用加一个分号构成。
表达式语句: 由一个表达式加一个分号构成。
例如:a=3 是一个赋值表达式
a=3;是一个赋值语句
任何表达式都可以加上分号成为语句。
空语句: ;
复合语句: 用{}把一些语句括起来成为复合语句(分程序)
复合语句中最后一个语句中最后的分号不能忽略不写
数据输入输出的概念及实现
ram 以内存为准
字符数据的输入输出
1.putchar
int putchar (int c);
(c为对应字符的ASCII编号)
输出一个单字符,一次只能输出一个字符
putchar(65); = putchar(‘A’) 即 int = char 符号位扩展
putchar() 为右值
2、getchar
int getchar (void);
(无需传参)
输入一个字符(通过返回值来输入数据)
缓冲区(cpu高速设备等待键盘低速设备) 队列 FIFO(先进先出)
格式输入输出
1、printf
int printf(const char *format,...)
const char * 字符型指针 承载字符型变量地址信息 即“hello”
... 变参函数 可传可不传
%d 占位符 会被下一个参数所代替
占位符个数与后面参数的个数应该对应,否则占位符输出的为随机数
% + 格式化控制字符:
d,i int参数转换为带符号的十进制表示法
输出十进制整数 , 通常用来输出int型。
ld / lld 输出长整型long/long long
o,u,x,X 无符号整数参数转换为无符号八进制(o),无符号十进制(u),
无符号十六进 制(x和X)
e,E double参数转换为[-]d.ddde±dd,即科学计数法
f,F double参数四舍五入转换成[-]ddd 的十进制表示法,默认保留六位有效数字
输出浮点数,用来输出小数
g,G double类型随机转换为%e或%f,取决于那种方式更加简短
c int转化为ASCII 输出字符,char型
s 输出字符串,通常用来输出char型
p 万能指针 输出指针地址,打印指针地址
% 打印%
“%m.nf”
m表示总宽数(整体占的位数),包括小数点,可被省略
宽度不足默认补空格,m前加0表示默认补空格,- 表示空格补在后面
n表示小数点后保留几位(四舍五入)
返回值表示打印的字符的个数
2、scanf
int scanf(const char * format,...)
scanf(“%d”, & i);
main为主调函数,printf为被调函数
无法在被调函数中修改主调函数
scanf无法通过地址值推断变量的字节数,默认为4个字节
scanf中浮点型输入不能使用精度和宽度控制
scanf遇到非法输入时退出
scanf返回值表示输入成功的个数
------------------------
嵌入式学习第四天,学习了顺序结构,其中scanf函数和printf函数很重要。后面的学习将会越来越难,继续加油,迎接挑战!