~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
运算符补充:
按位 与 : & (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();
输入年月日,判断该日期是该年的第几天(一个很愚蠢的方法)