输入输出、运算符、类型转换

格式化输入输出

%nd     显示n个字符宽度,不够则补空格,右对齐
%-nd    显示n个字符宽度,不够则补空格,左对齐
%0nd    显示n个字符宽度,不够则补0,右对齐 (%-0nd不成立)
%n.mf   显示n个字符宽度,不够则补空格0(小数点算一位),m表示小数点后的位数(四舍五入),m的优先度大于n,
%g      不显示小数点后多余的0

运算符

自变运算符:++/-- 使变量的值自动+1/-1
    前自变:++num --num 立即有效
    后自变:num++ num-- 下一行语句生效
    注意:不要再一行内多次使用自变运算符
	#include <stdio.h>
				
	int main(int argc,const char* argv[])
	{
		int num = 10; 
		printf("num=%d\n",num+++num);
		printf("num=%d\n",num++);
	}
算术运算符:+ - * / %
    整数/整数   结果没有小数点(整除)
    / % 除数不能为0 
            printf("num=%d\n",num/0);
            出现错误:浮点数例外(核心已转储)

关系运算法 > < >= <= == !=
    比较的结果必须是0或1,比较结果还能继续参与运算
    int num = -6;
    if(1 < num < 10) 永远为真,运算规则与数学不一样
    
    补充:使用关系运算符尽量将常量放在左边 ————>少写了=会报错,方便纠错

逻辑运算符 && || !
    会先把运算对象转换成逻辑值,0会转换为逻辑假,非0转换真
    A && B  一假即假 有一个是假就全都是假
    A || B  一真即真 有一个是真就全都是真
    !A      求反

    && || 具有短路特性:
        当左边的运算对象已经能够确定整个表达式结果时,右边所有运算对象不再执行
            例如:
            
                int num = 10;
                int num1 = 0;
                (num1 != 0) && (num = 100);
                printf("num = %d\n",num);

                num 的值为10 ,"num = 100"没有执行
            
            (num1 != 0) && (num = 100)
            ——————>
            if(num1 != 0){
                (num = 100);
            }		(同种效果不同写法)
            
三目运算符  运算对象有三个部分
    A ? B : C
    判断A的值是否为真,如果是则执行B,不是则执行C
    该语句不能使用流程控制语句,因为它必须要有运算结果
赋值运算符 = +=
    a += b;     a = a+b;
    a -= b;     a = a-b;
    a /= b;     a = a/b;
    a += b;     a = a*b;
    ...

位运算符
    & | ~ >> <<

sizeof 也是运算符,但是sizeof括号内的表达式不会计算

类型转换

自动类型转换:
	只有相同类型的数据才能运算,不同类型的数据必须转换成相同的类型才能进行计算
    转换规则:(以不丢失数据为基础,可以适当牺牲一些空间,保证数据不能丢失)
        1、字节少的向字节多的转
        2、有符号的向无符号的转
        3、整型向浮点型转

强制类型转换:
    (新类型)数据
    有丢失数据的风险,要谨慎使用
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值