运算符总结

来源:互联网 发布:json2.js 编辑:程序博客网 时间:2024/06/05 10:41
<span style="font-size:18px;">本讲内容:一.BOOL布尔类型二 .关系运算符三.逻辑运算符四.if 语句五.switch 语句1.BOOL数据类型BOOL 数据类型,是一种表示非真即假的数据类型,布尔类型的变量只有YES和NO两个值。YES表示表达式结果为真,NO表示表达式结果为假。在C语言中,认为非0即为真。2.关系运算符>  >=  <  <=  ==  !=主要用于比较运算,返回的结果只有真假两种情况,结果值用BOOL类型变量存储。注意:判断两个数是否相等,用==(双等号)。3.逻辑运算符&&(逻辑与):运算符两边的表达式同时为真的时候,整个逻辑表达式的结果为真。||(逻辑或):运算符两边的表达式同时为假的时候,整个表达式的结果为假。!(逻辑非):将表达式的结果取反。注意:逻辑与和逻辑或的短路现象。程序的执行顺序①.顺序执行语句②.通过进行一个判断在两个可选的语句序列之间选择执行(分支)。③.在满足某个条件的时候反复执行一个语句序列(循环)4.if语句①用if语句可以构成分支结构,它根据给定的条件进行判断,以决定执行某个分支程序段。if(条件表达式){语句 1;}当条件表达式为真,执行语句1,否则跳过语句1,继续执行下面的语句。注意:条件表达式后不要加;②if(条件表达式){语句1;}else{语句2;}当条件表达式为真的时候执行语句1,否则执行语句2③级联式if(条件表达式){语句1;}else if(条件表达式){语句2;}else if(条件表达式){语句3;}else{语句n;}如果条件表达式1为真,执行语句1,如果表达式1为真后面也有为真,只执行第一个为真的语句。5.switch语句多分支语句,通过判断整型表达式的值,来决定执行哪个分支。switch通常与case配合使用switch-开关case-情况语法:switch(整型表达式){case 值1;{语句1;break;}case 值2;{语句2;break;}case 值3;{语句3;break;}…...case 值n;{语句n;break;} default:{语句n+1;break;}  }break 用在switch… case 中用于结束某个case,然后执行switch之外的语句。注意:①switch 的条件是整型表达式,同属switch语句内部的每一个case都要对应一个break关键字。如果忘记某个case忘记使用break来跳出整个switch语句,那么程序会顺序向下执行直到遇到下一个break,才能结束switch语句②.swtich 语句和if-else级联式比较,switch语句往往比级联式更容易阅读,更直观。switch-开关,case-情况,开关决定发生的情况。③.case后边的标签只能是整型常量或者整型常量表达式,不能用变量作为case的标签。④.default 后面的break 可以舍掉整个default 语句都可以舍掉多个case 可以运行一个语句块case定义变量需要加{}条件运算符语法:条件表达式?真结果表达式:假结果表达式;1.int a=3,b=5;    BOOL result1=a>b;    BOOL result2=a    BOOL result3=a>=b;    BOOL result4=a<=b;    BOOL result5=a!=b;    BOOL result6=a==b;  printf("result1=%d\nresult2=%d\nresult3=%d\nresult4=%d\nresult5=%d\nresult6=%d\n",result1,result2,result3,result4,result5,result6);    //逻辑与的短路现象a=3,b=5    BOOL result7=a>b&&++b;    printf("reslut7=%d,b=%d\n",result7,b);    //逻辑或的短路现象    BOOL result8=a    printf("reslut8=%d,b=%d\n",result8,b);    // 对于逻辑与运算,如果第一个表达式的结果为真,则第二个表达式的结果决定了整个逻辑与运算的表达式结果。    // 对于逻辑或运算,如果第一个表达式的结果为假,则第二个表达式的结果决定了整个逻辑或运算的表达式结果。输出结果:result1=0result2=1result3=0result4=1result5=1result6=0reslut7=0,b=5reslut8=1,b=52.编程实现是否是闰年提示:能被400整出或能被4挣出但不能被100整除 int year;    printf("请输入一个年份:");    scanf("%d",&year);    if(year%400==0||(year%4==0&&year%100!=0))    {        printf("%d年是闰年\n",year);    }    else{        printf("%d年不是闰年\n",year);    }3. 输入一个字符 可以判断是数字  大写字母小写字母还是其他char m;printf("请输入一个字符:”);scanf("%c",&m);if(m>='0'&&m<='9'){printf("this is a digital\n");}    else if (m>='A'&&m<='Z’){printf("this is a capital letter\n");}else if (m>='a'&&m<='z’){printf("this is a  letter\n");}else {printf("other");}4.控制台输入1~4;对应打出春夏秋冬的英文词。    int i;    printf("请输入1~4之间的数字:\n");    scanf("%d",&i);    //switch 的条件是整型表达式,同属switch语句内部的每一个case都要对应一个break关键字。如果忘记某个case忘记使用break来跳出整个switch语句,那么程序会顺序向下执行直到遇到下一个break才能结束switch语句    switch (i) {        case 1:        {printf("spring\n");            break;}        case 2:        {printf("summer\n");            break;}        case 3:        {printf("autumn\n");            break;}        case 4:        {printf("winter\n");            break;}                   default:            printf("输入错误,请重新输入:\n");            break;       }5.简单计算器 能实现加减乘除 int a,b;    char m;    printf("简单计算器:\n");    scanf("%d%c%d",&a,&m,&b);       switch (m) {        case '+':        { printf("%d+%d等于%d\n",a,b,a+b);break;    }        case '-':        { printf("%d-%d等于%d\n",a,b,a-b);break;    }        case '*':        { printf("%d*%d等于%d\n",a,b,a*b);break;    }        case '/':        { printf("%d/%d等于%f\n",a,b,(float)a/b);break;    }           default:            printf("输入错误,请重新输入:\n");            break;     }</span>

0 0
原创粉丝点击