#include<stdio.h>
//++和--
//前置++
/*int main() {
int a = 5;
// a++=a+1;
int b=a++;
//b=a+1
printf("%d\n %d\n", a,b);
return 0;
*/
//int main() {
//int a = 10;
//int b = a++;
//printf("%d%d", b,a);
//return 0;
//}
//在这段代码中,int b先将代码赋值为a,之后再a++;所以b的值为10,a++的值为11;
//前置++口诀,先+1;后使用
//后置++:先使用,后+1
//#include <stdio.h>
//
//int main() {
// int x = 5;
// printf("x的值为:%d\n", x);//5
// printf("使用++x后的值:%d\n", ++x);6
// printf("再次输出x的值:%d\n", x);6
// return 0;// 5 6 6
//}
//#include <stdio.h>
//
//int main() {
// int y = 7;
// printf("y的值为:%d\n", y);7
// printf("使用y++后的值:%d\n", y++);7
// printf("再次输出y的值:%d\n", y);8
// return 0;
//
//}
//#include <stdio.h>
//
//int main() {
// int a = 10;
// int b = 5;
//
// int result1 = ++a - b--;//11-5=6
// printf("result1的值为:%d\n", result1);//
// printf("a的值为:%d\n", a);//11
// printf("b的值为:%d\n", b);//4
//
// int result2 = a-- + ++b;
// printf("result2的值为:%d\n", result2);16
// printf("a的值为:%d\n", a); 10
// printf("b的值为:%d\n", b); 6
//
// return 0;
//}
//
//强制转换
//int main() {
// int a = 20.0
// printf("%d",& a);
// return 0;
//
//}
//赋值不对编译器会警告
//解决这个方法可以用强制转换
//int main() {
// int a = (int)3.14;
// printf("%d", &a);
// return 0;
//}
//printf介绍
//#include<stdio.h>
//int main() {
// printf("helloworld");
// return 0;
// }
//printf 不会自动换行,若想换行可以在后边加\n printf() 是在标准库的头⽂件 stdio.h 定义的。使⽤这个函数之前,必须在源码⽂件头部引⼊这
//个头⽂件。
//如果⽂本内部有换⾏,也是通过插⼊换⾏符来实现,如下⽅代码
//#include <stdio.h>
//int main(void)
//{
// printf("Hello\nWorld\n");
//
// printf("Hello\n");
// printf("World\n");
// return 0;
//}
//占位符
//int main() {
// printf("今天吃了%d个苹果", 3);
// return 0;
//}
//运行结果是今天吃了3个苹果
//当然也可以用%s代表字符串
//int main() {
// printf("今天占用%s", "abcd");
// return 0;
//}
//可以使用多个占位符
//int main() {
// printf("%d,abcd%s,", 8, "zhangsan");
// return 0;
//}
// 占位符列举
//printf() 的占位符有许多种类,与 C 语⾔的数据类型相对应。下⾯按照字⺟顺序,列出常⽤的占位
//符,⽅便查找,具体含义在后⾯章节介绍。
//•% a :⼗六进制浮点数,字⺟输出为⼩写。
//•% A :⼗六进制浮点数,字⺟输出为⼤写。
//•% c :字符。
//•% d :⼗进制整数。
//•% e :使⽤科学计数法的浮点数,指数部分的 e 为⼩写。
//•% E :使⽤科学计数法的浮点数,指数部分的 E 为⼤写。
//•% i :整数,基本等同于% d 。
//•% f :⼩数(包含 float 类型和 double 类型)。
//•% g :6个有效数字的浮点数。整数部分⼀旦超过6位,就会⾃动转为科学计数法,指数部分的 e
//为⼩写。
//•% G :等同于% g ,唯⼀的区别是指数部分的 E 为⼤写。
//•% hd :⼗进制 short int 类型。
//•% ho :⼋进制 short int 类型。
//•% hx :⼗六进制 short int 类型。
//•% hu :unsigned short int 类型。
//•% ld :⼗进制 long int 类型。
//•% lo :⼋进制 long int 类型。
//•% lx :⼗六进制 long int 类型。
//•% lu :unsigned long int 类型。
//•% lld :⼗进制 long long int 类型。
//•% llo :⼋进制 long long int 类型。
//•% llx :⼗六进制 long long int 类型。
//•% llu :unsigned long long int 类型。
//•% Le :科学计数法表⽰的 long double 类型浮点数。
//•% Lf :long double 类型浮点数。
//•% n :已输出的字符串数量。该占位符本⾝不输出,只将值存储在指定变量之中。
//• % o :⼋进制整数。
//•% p :指针。
//•% s :字符串。
//•% u :⽆符号整数(unsigned int)。
//•% x :⼗六进制整数。
//•% zd : size_t 类型。
//•%% :输出⼀个百分号。
//9.1.4 输出格式
//printf() 可以定制占位符的输出格式。
//9.1.4.1 限定宽度
//printf() 允许限定占位符的最⼩宽度。
//#include <stdio.h>
//int main()
//{
// printf("%5d\n", 123); // 输出为 " 123"
// return 0;
//}
//% 5d 表⽰这个占位符的宽度⾄少为5位。如果不满5位,对应的值的前⾯会添加空格。
//输出的值默认是右对⻬,即输出内容前⾯会有空格;如果希望改成左对⻬,在输出内容后⾯添加空
//格,可以在占位符的 % 的后⾯插⼊⼀个 - 号。
//int main(
//) {
// printf("%5d", 123);
// return 0;
//}
//默认是右对齐的,若想要左对齐可以前面加个-号
//那么如何输入小数呢
//int main() {
// printf("123456%.2f", 0.25);
// return 0;
//}
//输出字符串
//int main()
//{
// printf("%.6s\n", "hellworld");
// return 0;
//}
//scanf 介绍
//scanf用于读取用户键盘输入的数据
//它的第⼀个参数是⼀个格式字符串,⾥⾯会放置占位符(与 printf() 的占位符基本⼀致),告诉编
//译器如何解读⽤⼾的输⼊,需要提取的数据是什么类型。
//int main() {
// int score = 0;
// scanf_s("%d", &score);
// printf("%d", score);
// return 0;
//}
当然也可以输入多种数据
//int main() {
// int x = 0;
// int y = 0;
// char a = "a";
// char b="b"
// scanf_s("%d %d %s %s", 100, 200, "a", "b");
// printf("%d%d%d",200,200,200);
// return 0;
//
// }