系列文章目录一、算术操作符1.和-操作符2.*操作符3./操作符4.%操作符二、赋值操作符1.单赋值2.连续赋值3.复合赋值三、单目操作符1.前置2.后置3.前置--4.后置--5.和-四、强制类型转换五、scanf和printf介绍1.printf1占位符2输出格式3限定宽度2.scanf1占位符总结一、算术操作符C语言为了方便运算提供一系列的操作符其中的一组叫算术操作符 - * \ %)这些操作符都有两个操作数所以又叫作双目操作符1.和-操作符用于计算加法和减法由于两边各有一个操作数所以又叫双目操作符int a 0; int b 0; int c a b; int d a - b;2.*操作符用于计算乘法也是双目操作符int a 0; int b 0; printf(%d,a*b); printf(%d,a*1);3./操作符用于计算除法是双目操作符int a 4; int b 2; printf(%d,a/b);除号操作符的运算规则是去除小数留商去余printf(%d,5/2);运行后结果2若两端至少有一个小数时计算后保留小数printf(%f,5/2.0);运行后结果2.500000使用%f来打印小数默认保留小数后六位4.%操作符取模取余操作符是双目操作符printf(%d,10%3);其运算规则为留余去商运行后结果3%操作符的两端只能是整数其正负由第一个操作数所决定printf(%d\n,-6%-5); printf(%d\n,6%-5);运行后结果-1 1二、赋值操作符1.单赋值int a 1; //初始化 int b; b a; //赋值2.连续赋值int a 1; int b 2; int c; c b a 1; //从右到左计算3.复合赋值int a 1; a a 1; prtinf(%d, a);可以简写为a1;三、单目操作符是自增操作符又分为前置和后置--是自减操作符又分为前置--和后置--1.前置int a 1; printf(%d\n,a); printf(%d\n,a);口诀先自加1后再使用运行后结果2 22.后置int a 1; printf(%d\n,a); printf(%d\n,a);口诀先使用后再自加1运行后结果1 23.前置--int a 1; printf(%d\n,--a); printf(%d\n,a);口诀先自减1后再使用运行后结果0 04.后置--int a 1; printf(%d\n,a--); printf(%d\n,a);口诀先使用后再自减1运行后结果1 0注最好不要复合自加自减操作符在不同系统下计算的结果会不相同5.和-运算符这是一个可以忽略的运算符写了也不会错int a 5; a a; //a a;-运算符这是用来改变一个值的正负号在正值前加上会变成负值在负值前加上会变成正值int a 1; a -a; printf(%d,a);运行后结果-1四、强制类型转换语法形式如下类型类型int a (int)3.14;五、scanf和printf介绍1.printf标准输出函数可以指定输出的格式将数据输出到屏幕上int a 1; printf(%d,a); //指定打印整型到屏幕上 printf(abcdef); //打印字符串到屏幕上1占位符这个位置可以被其他的值给代替统一标准第一个字符是百分号%第二个字符是指定占位符的类型printf(this is %s,apple); //指定占位符%s打印字符串也可以输出多个占位符printf(%s to my %s,welcome,city );如果有n个占位符那参数就有n1个参数如果参数小于占位符可能会输出内存任意值printf(i ate %s at %d 0clock,eggs);运行后结果i ate eggs at -125 0clock注指定的格式与要输出的数据类型要匹配不然输出结果会与预期的可能不相同2输出格式可以定制占位符的输出格式3限定宽度整型printf(%dXXX\n,123456); printf(%6dXXX\n,123); printf(%-6dXXX\n,123); printf(%5XXXd\n,123456); printf(%06d\n,123);运行后结果123456XXX 123XXX 123 XXX 123456XXX 000123XXX浮点型printf(%f\n,123.456); printf(%10f\n,123.456); printf(%.2f\n,123.456); printf(%5.2f\n,123.456); printf(%*.*f\n,5,2,123.456);运行后结果为123.456000 123.456000 123.46 123.46 123.46字符串printf(%s,abcdef); printf(%.3s,abcedf); printf(%10s,abcedf);运行后结果abcdef abc abcedf2.scanf标准输入函数可以指定输入的格式将数据输入到变量内从键盘上读取用户的输入当程序执行到这行时会停下来等待用户输入按下回车键后才会处理输入int a 0; scanf(%d,a); //指定输入数据为整型 printf(%d,a);1占位符统一标准第一个字符是百分号%第二个字符是指定占位符的类型成员表列除了指针和数组之外的输入格式第一位要使用取地址操作符取地址int a 100; scanf(%d,a);也可以输出多个占位符scanf(%d %d %f %f ,a,b,c,d);运行后结果1 -1 1.2 -1.2e2 1 -1 1.200000 -120.0000001 -1 1.2 -1.2e2 1 -1 1.200000 -120.000000使用%d数值操作符时会默认屏蔽空白字符换行字符、制表字符、空格scanf处理数据时会先把用户输入的数据先放到缓存等到按下回车后按照占位符的对缓存进行处理处理时会从上一次处理的余留的第一个字符开始直到读完或遇到第一个不符合字符而终止scanf(%d,a); printf(%d\n,a); scanf(%f,a); printf(%f\n,a);运行后结果12.12e2# 1 12 120.000000小数实际在内存中的存放可能不准确注scanf在C语言中本身是一个不安全的函数它不会去管输入数据到存放的空间大小是否 满足存储可能会越界访问当使用scanf提示不安全时可以在源文件第一行加上#define _CRT_SESURE_NO_WARNINGS 1可忽视掉常见的占位符有%d有符号整型%c字符型%s字符串%f单精度浮点型%lf双精度浮点型%hdshort int%huunsigned short int%luunsigned long int%ldlong int%lldlong long int%Lflong double%x十六进制整数%lo八进制整数%p指针%zdsize_t