今日新学关键字: if  else  switch 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
运算符补充:
  按位 与 : &   (00得0,10得0,01得0,11得1)
7&8 = 0
7   00000111

8   00001000
   00000000

  按位 或 : |   (00得0,10得1,01得1,11得1)
   7|8 = 15  
7   00000111

8   00001000
   00001111
  
  按位 异或 : ^ (00得0,10得1,01得1,11得0)
  7^8 = 15  
7   00000111

8   00001000
   00001111
  常用于交换两个变量的值,如:
  int a = 10, b = 20;
a = a^b;
b = a^b;
a = a^b;
printf("a = %d,b = %d", a, b);   //a = 20,b = 10


  取反: ~       (1得0,0得1)
     ~7 = -8 7 = 00000111 ~= 11111000(补) = 11110111(反) = 10001000(原) = -8;
 
  右移: >>      (往右移动,高位补0)
     7 >> 2 = 00000111 >> 2 = 00000001  = 1
 
  左移: <<      (往左移动,低位补0)
     7 << 2 = 00000111 << 2 = 00011100 = 28
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~






一,程序语句的三种结构
   顺序  选择  循环
   
   表达式语句:
   算术表达式:a+b;a*b;a++;
   关系表达式:a>b;a==b;
   逻辑表达式:!0; !真;
   
   
二,C语言总共9种语句:
   1,if    
   2,switch  
   3,for
   4,while
   5,do while
   6,break
   7,continue
   8,return
   9,goto
   
  
  
  "if"(判断语句):
  
    单分支形式: 
if(exp1)
{
exp2;
}  
当exp1为真时,则执行exp2;

双分支形式: 
if(exp1)
{
exp2;
}
else
{
exp3;
}
当exp1为真时,则执行exp2,否则执行exp3;

多分支形式:
if(exp1)
{
exp2;
}
else if(exp3)
{
exp4;
}
else
{
exp5;
}
当exp1为真时,则执行exp2;当exp3为真时,则执行exp4;除此以外执行exp5;

输入一个正整数作为年份,判断是否为闰年
输入一个字母,如果是大写就转小写,否则不变
输入两个数,输出绝对值较大的那一个
输入字母判断是星期几

易错例题:
if (a % 2 == 0)   //判断a是否为偶数
{
printf("A");
}
else if (a % 3 == 0)
{
printf("B");
}
else if (a % 5 == 0)
{
printf("C");
}
else if (a % 7 == 0)
{
printf("D");
}

//输入 30 打印A


换一种写法:
if (a % 2 == 0)   //判断a是否为偶数
{
printf("A");
}
if (a % 3 == 0)
{
printf("B");
}
if (a % 5 == 0)
{
printf("C");
}
if (a % 7 == 0)
{
printf("D");
}


//输入 30 打印ABC

"switch",多分支语句
语法格式:
swtich(变量)
{
case 常量1:
执行语句1;
break;
case 常量2:
执行语句2;
break;
case 常量3:
执行语句3;
break;
case 常量4:
执行语句4;
break;
.
.
.
case 常量n:
执行语句n;
break;
default:
执行语句n+1;

}



考试成绩分档,
60分以下F
60~70(不含70) E
70~80(不含80) D
80~90(不含90) C
90~100(不含100) B
100 A

int a, b;
scanf("%d",&a);
getchar();
b = a / 10;
switch (b)
{
case 10:
printf("成绩等级为A\n");
break;
case 9:
printf("成绩等级为B\n");
break; 
case 8:
printf("成绩等级为C\n");
break; 
case 7:
printf("成绩等级为D\n");
break; 
case 6:
printf("成绩等级为E\n");
break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:
printf("成绩等级为f\n");
break;
default:printf("该成绩不合法");
}
getchar();

十月17号

 打印一个由7行'*'组成倒三角
十月17号
 输入年月日,判断该日期是该年的第几天(一个很愚蠢的方法)
十月17号

十月17号


相关文章: