(一)控制语句入门
一.条件判断语句
1.if-else 语句
语法:
if(条件){
}else{
}
2.if 语句
语法:
if(条件){
}
3.if-else,if-else 语句
语法:
if(条件1){
} else if(条件2){
} else if(条件3){
}else{
}
4.switch-case 语句
语法:
switch(表达式){
case 整型常量1:
break;
case 整型常量2:
break;
default :
}
例:输入某年某月某日,判断这一天是这一年的第几天
#includeint main() { int year,month,day; scanf("%d%d%d",&year,&month,&day); int days=0; for(int i=1;i 二.循环语句
1. while 语句
语法:
while(条件){ }说明:
if与while区别在于if只执行一次,但是while重复执行多次直至条件为假。
while语句的代码块通常称为循环体
例:输入一个整数,将其反转。例如:123:321。
#includeint main{ int n; int m=0; scanf("%d",&n); while(n!=0){ m=m*10+n%10; n=n/10; } printf("%dn",m); } 2.do-while 语句
语法:
do { }while(条件);例:猜数字
#include#include #include int main(){ srand(time(NULL));//用系统时间作随机数播种 int num=rand()%100;//将随机数限制在100以内以防太大 int x; printf("%d",num); do{ printf("请输入数字:n"); scanf("%d",&x); if(x>num){ printf("太大了n"); }else if(x 说明:while后有;
while语句与do-while的区别:while先判断后循环,do-while先循环后判断
3.for 语句
语法:
for (初始值;条件;递增或递减){ }说明:for语句与while语句可以相互替换
4.break 语句与 continue 语句
在while和for循环中,break是结束整个循环体;continue是结束单次循环,继续下一次的循环。
(二)运算符与变量
一.逗号表达式
以右边的表达式为结果
例:
int n = (1+2,2*3,4-5,5/6,6%7);输出为:6
二.短路与&& 短路或||
短路与&&:左边表达式是false,右边就不执行,逻辑表达式值为false
int x = 1; printf("%dn",1<0 && ++x); printf("x=%dn",x);输出为:0
x=1
短路或||:左边表达式是true,右边就不执行,逻辑表达式值为true。
int x = 1; printf("%dn",1>0 || ++x); printf("x=%dn",x);输出为:1
x=1
(三)控制语句
一.for嵌套
例:打印九九乘法表
#includeint main(){ int n; scanf("%d",&n); int m; for(int i=0;i 二.switch-case省略break
输出天数:
int days_of_mouth(int year,int mouth){ int days; switch(mouth){ case 1: days = 31; break; case 2: days = (year%4==0&&year%100||year%400==0)?29:28; break; case 3: days = 31; break; case 4: days = 30; break; case 5: days = 31; break; case 6: days = 30; break; case 7: days = 31; break; case 8: days = 31; break; case 9: days = 30; break; case 10: days = 31; break; case 11: days = 30; break; case 12: days = 31; break; case 1: days = 31; break; default: days = -1; // 表示错误 } return days; }省略break:
int days_of_mouth(int year,int mouth){ int days; switch(mouth){ case 1: case 3: case 5: case 7: case 8: case 10: case 12: days = 31; break; case 2: days = (year%4==0&&year%100||year%400==0)?29:28; break; case 4: case 6: case 9: case 11: days = 30; break; default: days = -1; // 表示错误 } return days; }



