#include <stdio.h> int main() { //************一、运算符********** //1、赋值运算符 = int a = 1; //赋值运算符表示的是将等号右边的赋值给左边。 //注意:和赋值运算符比较相似还有一个 ‘==’ //两个等号表示的是判断 //例如 int b = 2; a==b;//判断a和b是否相等。 //练习,交换a,b的值 int c=0;//在定义变量的时候建议都要赋初始值。 c = a;//将a的值赋值给c,c = 1; a = b;//将b的值赋值给a,a = 2; b = c;//将c的值赋值给b,b = 1; printf("a=%d,b=%d ",a,b); //2、算术运算符(+,-,*,/,++,--,%) //++在前,先加1,在运算 //++在后,先运算,在加1 //-- 同样适用 //++在后 int num = 5; int num1 = num++; //在这一行(分号)之前(包含这一行)num = 5 //num1 = 5;num在下一行的时候=6; printf("num=%d,num1=%d ",num,num1); //++在前 int num2 = 5; int num3 = ++num2; printf("num2 =%d,num3=%d ",num2,num3); int num4 = 5; int num6 = --num4; printf("num6=%d,num4=%d ",num6,num4); // 取余 % /* 变量的命名规则:一个变量只能有数字,字母, 下划线三部分组成,并且数字不能开头。 */ int num7 = 3; int num8 = 4; int num9 = num7 % num8; // 3/4 = 0...3 printf("num9=%d ",num9); //要求:%两边都必须int数据 int num10 = 4; float num11 = 4.3; // int num12 = num10 % num11; //3、复合运算符(+=,-=,*=,/=,%=)(不推荐大家使用) int num12 = 6; num12 += 3;// num12 = num12 + 3 num12 *= 3;// num12 = num12 * 3 int num13 = 9; int num14 = ((num13+=1) *=2); //1、num13+=1 ==> num13 = num13+1 => 10; //2、num14 =10*=2 = 10*2 =20 printf("num14=%d ",num14); //4、逻辑运算符(||,&&,!) /* ||:表示或者的意思 表达式1||表达式2 表达式1正确,表达式2正确,结果正确 表达式1正确,表达式2错误,结果正确 表达式1错误,表达式2正确,结果正确 表达式1错误,表达式2错误,结果错误 总结:只有||的两边全是错误的,整个结果才是错误的 &&:表示并且的意思 表达式1&&表达式2 表达式1正确,表达式2正确,结果正确 表达式1正确,表达式2错误,结果错误 表达式1错误,表达式2正确,结果错误 表达式1错误,表达式2错误,结果错误 总结:只有&&两边全部都正确,结果才正确 !:表示非 !表达式, 原来是正确的,加了!就表示不正确 原来不正确的,加了!就表示正确的 */ //******************二、表达式***************** /* 表达式:1、不能单独运行, 2、表达式通常用作判断条件。 3、表达式的有结果,而且结果如果是正确的,我们叫做真 如果结果是不正确,我们叫做假。 4、表达式当做判断条件的时候后面不加分号 5、单独的一个变量也可以叫做表达式。 6、在C语言中,非0即为真(0假,1真)。 7、通过运算符将变量链接起来的式子也叫做表达式 */ int h1 = 1; int h2 = 2; h1>h2;//假 h1; //真 h2; //真 h1-h2;//真 4-3; //真 //****************三、流程(分支)控制语句************ //一、if语句 //1种情况,要么做要么不做 /* if(表达式) { 表达式成立的时候才会被执行的代码 } 如果表达式不成立,就直接执行{}外面的代码了 */ int score = 98; if(score>90) { //只有表达式成立的时候才会进入到{}中 printf("你好棒啊,奖励一百块 "); } //这一句话,将不受if管理,肯定会被执行的 printf("你没有考到90分,要罚你100块"); //2种情况,二者必选其一 /* if(表达式) { 满足情况时执行的代码 } else { 不满足情况的时候执行的代码 } */ if(score > 90) { printf("你好棒啊,奖励你100块 "); } else { printf("你没有考到90分,要罚你100块"); } //多个条件来修饰一种情况(1、if的嵌套2、&&) /* if() { if().... } else { if()... } */ int weekend = 4; int rain = 1;//1表示 下雨,0表示 __ if(weekend<6) { //周一到周五 if(rain == 1) { //下雨 printf("今天是工作日,并且下雨了"); } else { printf("今天是工作日,但是没下雨"); } } else { //周六。周日 if(rain == 1) { printf("今天是周末,下雨了"); } else { printf("今天是周末,没有下雨"); } } //多种情况,选择一种(找到第一个满足情况的后面就不在执行了) /* if() {} else if() {} .. .. .. else if() {} else {} */ if(score>90) { printf("优秀 "); } else if(score>80) { printf("良好 "); } else if(score>70) { printf("中等 "); } else if(score>60) { printf("及格 "); } else//最后只需要写else就可以 { printf("不及格 "); } //二、switch语句 //switch和if语句的多种情况选择一个很类似。 /* 1、有多少种情况就写多少个case 2、其他情况写在default里面 3、default可以省略不写 4、switch后面的表达式必须是int类型 5、当我们只需要让switch语句满足其中一个就退出, 需要在每个case后面添加break语句 6、break是跳出语句,在哪里遇到break,就在哪里跳出 7、switch语句,从满足条件的第一个情况开始, 会一直向下执行,一直向下执行到遇到break终止 如果没有遇到break, 就会把下面的所有情况都执行完毕 switch(表达式) { case 表达式1: { } case 表达式2: { } 。。。。 default: { } } */ switch(score/10) { case 10: { printf("100分"); break; } case 8: { printf("良好"); break; } case 9: { printf("优秀"); //break; } case 7: { printf("中等"); break; } case 6: { printf("及格"); // break; } default: { printf("不及格"); } } return 0; }