【C语言入门必看】运算符和常用输入输出函数

5.运算符

    (1)算数运算符

       +  -  *  /  %(求余)

       双目运算符:2个操作数

              1)%的操作数必须是整形数据或者和整形数据兼容的数据类型;

              2)%左操作数是正数,结果是正数,左操作数是负数,结果是负数。

        ++  --

        单目运算符:1个操作数

              1)++num(前置++):先加后用;

              2)num++(后置++):先用后加。

              3)--num(前置--):先减后用;

              4)num--(后置--):先用后减。

    (2)赋值运算符

       =  +=  -=  *=  /=  %=

       左值:放在赋值运算符左边的量,左值只能是变量。

       右值:放在赋值运算符右边的量,右值可以是常量、变量、表达式。

       普通用法:赋值运算符左右两边的数据类型要一致。

       当赋值运算符左右两边的数据类型不一时:

              1)当浮点型数据赋值给整形数据,只保留整数部分,精度损失;

              2)若赋值运算符左右两边是空间一致的数据类型,直接拷贝内存;

              3)补符号位:小数据放入大空间,高位补符号位(正数补0,负数补1);

              4)高位截断:大数据放入小空间,保留低位,高位截断。

       num += 10  <=>  num = num + 10;

       cnt += 10 + 5  <=>  cnt += (10 + 5);

       除了逗号运算符,赋值运算符比其他运算符优先级都低。

    (3)三目运算符

      三个操作数

      语法:表达式 ?表达式1 :表达式2

      如果表达式的结果为真(成立),则三目运算符的最终结果为表达式1的结果。

      如果表达式的结果为假(不成立),则三目运算符的最终结果为表达式2的结果。

    (4)逗号运算符和sizeof运算符

      num = 2+3, 4*5, 6-4; //5

      num = (2+3, 4*5, 6-4); //2

      注意:

            1)逗号运算符优先级最低;

            2)由逗号运算符组成的多个表达式的结果是最后一个式子的结果;

     sizeof(数据类型/变量/常量/表达式)

     功能:获取数据类型/常量/变量/表达式的结果在计算机内存中占的字节数。

     返回结果:unsigned long --> %ld

(5)运算符的优先级和结合方向

   优先级:

            1):括号>单目运算符>双目运算符>三目运算符>赋值运算符>逗号运算符;

            2):算数运算符>关系运算符>逻辑运算符。

   结合方向:优先级相等时,看结合方向

   单目运算符,三目运算符,赋值运算符自右向左运算。

二、常用输入输出函数

函数:封装的一个功能模块

输入输出:标准C库提供的输入输出函数。

1.putchar/getchar

        int putchar(int c);

            功能:向终端输出一个字符。

            参数:要输出的字符的ASCII值。

            返回值:返回输出字符的ASCII值。

        int getchar(void);

            功能:从终端读取一个字符。

            参数:空。

            返回值:返回终端读到的字符的ASCII值。

2.printf/scanf

        printf:

            功能:向终端输出格式化后的字符串。

    (1)输出非格式控制符的数据

    (2)输出带有格式控制符的数据

               %d                  以十进制有符号整形数据输出

               %u                  以十进制无符号整形数据输出

               %ld                   以十进制有符号长整形数据输出

               %lu                 以十进制无符号长整形数据输出

               %o  %O          以八进制整形数据输出(%#o %#O: 0144)

               %x  %X           以十六进制整形数据输出(%#x %#X: 0x64)

               %f                   以单精度浮点型数据输出

               %lf                  以双精度浮点型数据输出

               %c                  以字符型数据输出

               %s                  以字符串形式输出

               %e  %E          以科学计数法的形式输出(3.14e2)

    (3)输出带有多个格式控制符的数据

    (4)域宽输出设置

               %nd            以n位域宽输出

               %-nd           以n位域宽输出并左对齐

               %0nd          以n位域宽输出,用0补齐

               %.nf            以保留n位小数输出

               %m.nf         以保留n位小数,m位域宽输出

        scanf:

           功能:从终端读取一个字符串并将其转换成目标格式。

           注意:

               1)scanf在使用时,“”里面是什么内容,终端必须输入同样内容;

               2)sacnf的“”中除了格式控制符,尽量少写其他数据;

               3)%s 以字符串形式输入时,要用字符数组接收,遇到空格会停止读取。

    (1)scanf读取控制符数据

    (2)scanf读取多个控制符数据

               1)输入数字型数据时,中间用空格,回车或Tab隔开;

               2)输入字符型数据时,会读取空格,回车和Tab;

               3)用其它类型的数据隔开时,会停止读取。

               4)在%c前面输入空格可以吸收输入的空格,回车和Tab。

3.puts/gets

            puts:

           功能:将字符串输出到终端,自动增加‘\n’(自动换行)。

           gets:

           功能:从终端读取字符串,并存入字符型数组中。

           注意:gets是一个危险的函数,可能会造成数组越界。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值