5.运算符1算数运算符 - * / %求余双目运算符2个操作数1%的操作数必须是整形数据或者和整形数据兼容的数据类型2%左操作数是正数结果是正数左操作数是负数结果是负数。 --单目运算符1个操作数1num前置先加后用2num后置先用后加。3--num前置--先减后用4num--后置--先用后减。2赋值运算符 - * / %左值放在赋值运算符左边的量左值只能是变量。右值放在赋值运算符右边的量右值可以是常量、变量、表达式。普通用法赋值运算符左右两边的数据类型要一致。当赋值运算符左右两边的数据类型不一时1当浮点型数据赋值给整形数据只保留整数部分精度损失2若赋值运算符左右两边是空间一致的数据类型直接拷贝内存3补符号位小数据放入大空间高位补符号位正数补0负数补14高位截断大数据放入小空间保留低位高位截断。num 10 num num 10;cnt 10 5 cnt (10 5);除了逗号运算符赋值运算符比其他运算符优先级都低。3三目运算符三个操作数语法表达式 表达式1 表达式2如果表达式的结果为真成立则三目运算符的最终结果为表达式1的结果。如果表达式的结果为假不成立则三目运算符的最终结果为表达式2的结果。4逗号运算符和sizeof运算符num 23, 4*5, 6-4; //5num (23, 4*5, 6-4); //2注意1逗号运算符优先级最低2由逗号运算符组成的多个表达式的结果是最后一个式子的结果sizeof(数据类型/变量/常量/表达式)功能获取数据类型/常量/变量/表达式的结果在计算机内存中占的字节数。返回结果unsigned long -- %ld5运算符的优先级和结合方向优先级1括号单目运算符双目运算符三目运算符赋值运算符逗号运算符2算数运算符关系运算符逻辑运算符。结合方向优先级相等时看结合方向单目运算符三目运算符赋值运算符自右向左运算。二、常用输入输出函数函数封装的一个功能模块输入输出标准C库提供的输入输出函数。1.putchar/getcharint putchar(int c);功能向终端输出一个字符。参数要输出的字符的ASCII值。返回值返回输出字符的ASCII值。int getchar(void);功能从终端读取一个字符。参数空。返回值返回终端读到的字符的ASCII值。2.printf/scanfprintf:功能向终端输出格式化后的字符串。1输出非格式控制符的数据2输出带有格式控制符的数据%d 以十进制有符号整形数据输出%u 以十进制无符号整形数据输出%ld 以十进制有符号长整形数据输出%lu 以十进制无符号长整形数据输出%o %O 以八进制整形数据输出%#o %#O: 0144%x %X 以十六进制整形数据输出%#x %#X: 0x64%f 以单精度浮点型数据输出%lf 以双精度浮点型数据输出%c 以字符型数据输出%s 以字符串形式输出%e %E 以科学计数法的形式输出3.14e23输出带有多个格式控制符的数据4域宽输出设置%nd 以n位域宽输出%-nd 以n位域宽输出并左对齐%0nd 以n位域宽输出用0补齐%.nf 以保留n位小数输出%m.nf 以保留n位小数m位域宽输出scanf:功能从终端读取一个字符串并将其转换成目标格式。注意1scanf在使用时“”里面是什么内容终端必须输入同样内容2sacnf的“”中除了格式控制符尽量少写其他数据3%s 以字符串形式输入时要用字符数组接收遇到空格会停止读取。1scanf读取控制符数据2scanf读取多个控制符数据1输入数字型数据时中间用空格回车或Tab隔开2输入字符型数据时会读取空格回车和Tab3用其它类型的数据隔开时会停止读取。4在%c前面输入空格可以吸收输入的空格回车和Tab。3.puts/getsputs:功能将字符串输出到终端自动增加‘\n’自动换行。gets:功能从终端读取字符串并存入字符型数组中。注意gets是一个危险的函数可能会造成数组越界。
C语言运算符和常用输入输出函数
5.运算符1算数运算符 - * / %求余双目运算符2个操作数1%的操作数必须是整形数据或者和整形数据兼容的数据类型2%左操作数是正数结果是正数左操作数是负数结果是负数。 --单目运算符1个操作数1num前置先加后用2num后置先用后加。3--num前置--先减后用4num--后置--先用后减。2赋值运算符 - * / %左值放在赋值运算符左边的量左值只能是变量。右值放在赋值运算符右边的量右值可以是常量、变量、表达式。普通用法赋值运算符左右两边的数据类型要一致。当赋值运算符左右两边的数据类型不一时1当浮点型数据赋值给整形数据只保留整数部分精度损失2若赋值运算符左右两边是空间一致的数据类型直接拷贝内存3补符号位小数据放入大空间高位补符号位正数补0负数补14高位截断大数据放入小空间保留低位高位截断。num 10 num num 10;cnt 10 5 cnt (10 5);除了逗号运算符赋值运算符比其他运算符优先级都低。3三目运算符三个操作数语法表达式 表达式1 表达式2如果表达式的结果为真成立则三目运算符的最终结果为表达式1的结果。如果表达式的结果为假不成立则三目运算符的最终结果为表达式2的结果。4逗号运算符和sizeof运算符num 23, 4*5, 6-4; //5num (23, 4*5, 6-4); //2注意1逗号运算符优先级最低2由逗号运算符组成的多个表达式的结果是最后一个式子的结果sizeof(数据类型/变量/常量/表达式)功能获取数据类型/常量/变量/表达式的结果在计算机内存中占的字节数。返回结果unsigned long -- %ld5运算符的优先级和结合方向优先级1括号单目运算符双目运算符三目运算符赋值运算符逗号运算符2算数运算符关系运算符逻辑运算符。结合方向优先级相等时看结合方向单目运算符三目运算符赋值运算符自右向左运算。二、常用输入输出函数函数封装的一个功能模块输入输出标准C库提供的输入输出函数。1.putchar/getcharint putchar(int c);功能向终端输出一个字符。参数要输出的字符的ASCII值。返回值返回输出字符的ASCII值。int getchar(void);功能从终端读取一个字符。参数空。返回值返回终端读到的字符的ASCII值。2.printf/scanfprintf:功能向终端输出格式化后的字符串。1输出非格式控制符的数据2输出带有格式控制符的数据%d 以十进制有符号整形数据输出%u 以十进制无符号整形数据输出%ld 以十进制有符号长整形数据输出%lu 以十进制无符号长整形数据输出%o %O 以八进制整形数据输出%#o %#O: 0144%x %X 以十六进制整形数据输出%#x %#X: 0x64%f 以单精度浮点型数据输出%lf 以双精度浮点型数据输出%c 以字符型数据输出%s 以字符串形式输出%e %E 以科学计数法的形式输出3.14e23输出带有多个格式控制符的数据4域宽输出设置%nd 以n位域宽输出%-nd 以n位域宽输出并左对齐%0nd 以n位域宽输出用0补齐%.nf 以保留n位小数输出%m.nf 以保留n位小数m位域宽输出scanf:功能从终端读取一个字符串并将其转换成目标格式。注意1scanf在使用时“”里面是什么内容终端必须输入同样内容2sacnf的“”中除了格式控制符尽量少写其他数据3%s 以字符串形式输入时要用字符数组接收遇到空格会停止读取。1scanf读取控制符数据2scanf读取多个控制符数据1输入数字型数据时中间用空格回车或Tab隔开2输入字符型数据时会读取空格回车和Tab3用其它类型的数据隔开时会停止读取。4在%c前面输入空格可以吸收输入的空格回车和Tab。3.puts/getsputs:功能将字符串输出到终端自动增加‘\n’自动换行。gets:功能从终端读取字符串并存入字符型数组中。注意gets是一个危险的函数可能会造成数组越界。