day3
补充:递增递减插入栈的运算
常用关键字
1.数据类型的转换
(1)隐式转换 -->操作系统
1.在表达式中
eg:
5 / 2 = 2;
5 / 2 .0=2.5;
(2)在复制(=),等号右边的会自动转换为左边的数据类型
2.显示转换(强制数据类型转换) -->>程序员
(强制数据类型)数据;不要求精度高低
转换要求:
(1)低精度转高精度,可随意转换;
(2)高精度转低精度,需要判断(容量,数据大小对比,是否会丢失)
2.基本数据类型(补充)bool
#include <stdbool.h>(需引入的头文件)
bool
true:真
false:假
3.常量
程序运行器件不会发生改变的数据。
3.1整形常量--整数
十进制1234
八进制0123
十六进制0x123
3.2浮点型--小数
3.3字符型常量--ASCII码值
打印结果为a
打印结果为97
打印结果为:
A
65(空格ACSII码为32,A 的ACSII码为65)
大小写转换+-32(空格)
3.4字符串常量--双引号
"xxxx"
字符串的结束标志:‘\0’
"xxxx\0"
字符串的有效字符:第一个'\0' 前面的字符(不包括‘\0’)
字符串的长度:有效字符的个数
“hello\0 world”----有效字符个数为5个
3.5标识常量
宏后常量代入式后原式子优先级不变
4.变量
在程序运行过程中,可以改变的一个量。
局部变量:在函数、模块中定义的变量(在{}内,或在{}的{}内)
(1)作用域:在函数、模块的内部
(2)栈区
(3)生命周期:局部变量的生命周期随模块的结束而结束
(4)未初始化,里面存的值是随机值
全局变量:在main函数外定义
(1)作用域:整个文件
(2)全局静态区
(3)生命周期:随main函数(程序)结束而结束
a,b的值均可打印出
(4)未初始化,里面存的值是0
4.1变量的初始化和赋值
1.初始化(定义+赋值)
int a =0;
2.赋值
int a; //变量的定义
a = 10; //变量的赋值
5.输入输出函数
5.1getchar
输入什么,就打印什么
5.2putchar
打印字符,打印的结果是字符5.3printf
5.3printf
格式字符
格式说明符
5.4scanf
结束标志:
回车、空格、tab、超过预宽、错误输入
5.5gets(获取字符串string)
char *gets(char *s);
char str[32];
gets(str);
可打印空格,有抑制符的效果
5.6puts(打印字符串)
int puts(const char *s);
char str[32] = {0};
puts(str);
打印结果自动换一行,加上\n换两行,puts内没有内容空一行
脏字符
前面有一个scanf
有影响的情况
(1)获取字符
(2)字符串输入 -->>gets
解决方式:
(1)getchar()
(2)抑制符 *