一、关键字
1.常见关键字
auto double int struct break else long switch case enum register typedef char extern return union
const float short unsigned continue for signed void default goto sizeof volatile do if while static
2.关键字typedef
typedef unsigned int u_int; // 类型重定义,其实就是给类型起个别名
unsigned int num1 = 20;
u_int num2 = 30;
// num1 和 num2 的类型是一样的
3.关键字static
在C语言中,static中是用来修改变量和函数的
修饰局部变量------>静态局部变量
修饰全局变量------>静态全局变量
修饰函数------>静态函数
二、选择语句
选择语句:
-
if
-
switch
选择语句(选择结构)
1.if语句
if (表达式){
语句块
}
含义:如果表达式的结果为真,则执行语句块
#include <stdio.h>
int main() {
int score = 0;
printf("请输入考试成绩\n");
scanf("%d",&score);
if (score>=60) {
printf("恭喜你,通过考试!");
}
return 0;
}
2.if-else语句
if (表达式){
语句块1
} else {
语句块2
}
含义:如果表达式的结果为真,则执行语句块1;否则,执行语句块2.
int main() {
int score = 0;
printf("请输入考试成绩\n");
scanf("%d",&score);
if (score>=60) {
printf("恭喜你,通过考试!");
}
else {
printf("很遗憾,您并未通过考试");
}
return 0;
}
3.多分支
if (表达式1){
语句块1
} else if(表达式2) {
语句块2
} else if(表达式3) {
语句块3
} else {
其它情况的语句块
}
含义:如果表达式1的结果为真,则执行语句块1;否则,如果表达式2的结果为真,则执行语句块2; 否
则,如果表达式3的结果为真,则执行语句块3; 其它情况,执行其它情况的语句块。
#include <stdio.h>
int main() {
int score = 0;
printf("请输入考试成绩\n");
scanf("%d",&score);
if (score>=90) {
printf("优秀");
}
else if (score<90 && score >=80) {
printf("良好");
}
else if (score < 80 && score >= 60) {
printf("及格");
}
else {
printf("不及格");
}
return 0;
}
示例:
#include <stdio.h>
int main() {
int day = 0;
printf("请输入数字(1~7)");
scanf("%d", &day);
if (1 == day) {
printf("今天是星期一!");
}
else if (2 == day) {
printf("今天是星期二!");
}
else if (3 == day) {
printf("今天是星期三!");
}
else if (4 == day) {
printf("今天是星期四!");
}
else if (5 == day) {
printf("今天是星期五!");
}
else if (6 == day) {
printf("今天是星期六!");
}
else if (7 == day) {
printf("今天是星期日!");
}
else {
printf("输入的数字不满足要求!");
}
return 0;
}
4.switch语句
switch(表达式){
case 常量表达式1:语句1;
case 常量表达式2:语句2;
…
case 常量表达式n:语句n;
default:语句n+1;
}
#include <stdio.h>
int main() {
int day = 0;
printf("请输入数字(1~7)");
scanf("%d", &day);
switch (day) {
case 1:
printf("今天是星期一!");
case 2:
printf("今天是星期二!");
case 3:
printf("今天是星期三!");
case 4:
printf("今天是星期四!");
case 5:
printf("今天是星期五!");
case 6:
printf("今天是星期六!");
case 7:
printf("今天是星期日!");
default:
printf("输入的数字不满足要求!");
}
return 0;
}
注意:
<1>switch语句中应该在每个选项的最后都添加 break ;
<2>break的实际效果是把语句列表划分为不同的部分
<3>switch-case结构中声明局部变量要在每个case下加一个大括号
4,default子句
在每个switch语句中都放一条default子句,甚至可以在后边再添加一个break。
#include <stdio.h>
int main() {
int day = 0;
printf("请输入数字(1~7)");
scanf("%d", &day);
switch (day) {
case 1:
case 2:
case 3:
case 4:
case 5:
printf("今天是工作日!\n");
break;
case 6:
case 7:
printf("今天是休息日!\n");
break;
default:
printf("输入的数字不满足要求!\n");
}
return 0;
}