分支语句(选择结构)
if else
==是判断是否等于的
语法结构:
if(表达式)
语句;
else if(表达式)
语句;
else
语句;
switch
语法结构:
switch(整型表达式)
{
语句项;
}
语句项:是case语句,如
case整型常量表达式:
语句;
break;
循环语句
while
语法结构:
while(表达式)
循环语句;
while语句中,break用于终止永久的循环
while循环中continue作用是跳过本次循环
for
语法结构
for(表达式1:表达式2:表达式3)
循环语句;
表达式1为初始化部分,用于初始化循环变量,表达式2为条件判断部分,用于判断循环终止时候,表达式3为调整部分,用于循环条件的调整
建议:不可在for循环体内修改循环变量,否则循环失控;循环变量取值采用前闭后开区间写法
do while
工程
分支语句(选择结构)
初识
#include<stdio.h>
int main()
{
int input=0;
printf("start:>\n");
printf("will you be strict(1/0)?>:\n");
scanf("%d",&input);
if(input==1)
{
printf("good job!\n");
}
else
{
printf("bad news..\n");
}
return 0;
}
if else
else下有{},因为child和need study要一起输出
#include<stdio.h>
int main()
{
int age=20;
if(age>=18)
printf("adult\n");
else
{
printf("child\n");
printf("need study\n");
}
return 0;
}
else if(age>=18&&age<26) 不能写成 18<=age<26,否则永远出teenager
因为18<60为真,即得到1,1<26,也为真,所以得到teenager,事实上是不对的
#include<stdio.h>
int main()
{
int age=60;
if(age<18)
printf("kid\n");
else if(age>=18&&age<26)
printf("teenager\n");
else if(age>=26&&age<60)
printf("person\n");
else if(age>=60&&age<200)
printf("old\n");
else
printf("gold\n");
return 0;
}
else和最近的if组团
输出是空,因为if(a==1)不成立,直接 return 0;
#include<stdio.h>
int main()
{
int a=0;
int b=2;
if(a==1)
{
if(b==2)
{
printf("hehe\n");
}
else
{
printf("haha\n");
}
}
return 0;
}
100以内所有奇数
#include<stdio.h>
int main()
{
for(int i=1;i<=100;i++)
{
if(i%2==1)//判断一个数是否为奇数
printf("%d ",i);
}
return 0;
}
输入密码确认
#include<stdio.h>
int main()
{
char password[20]={0};
printf("请输入密码:>");
scanf("%s",password);
printf("请确认密码(Y/N):>");
int ch=getchar();
if(ch=='Y')
{
printf("确认成功\n");
}
else
{
printf("确认失败\n");
}
return 0;
}
switch
case break
#include<stdio.h>
int main()
{
int day=0;
scanf("%d",&day);
switch(day)
{
case 1:
printf("monday\n");
break;
case 2:
printf("tuesday\n");
break;
}
return 0;
}
#include<stdio.h>
int main()
{
int n=1;
int m=2;
switch(n)
{
case 1:
m++;
case 2:
n++;
case 3:
switch(n)//switch允许嵌套使用
{
case 1:
n++;
case 2:
m++;n++;
break;
}
case 4:
m++;
break;
default:
break;
}
printf("m=%d,n=%d\n",m,n);
return 0;
}
循环语句
初识
因为int line=0,所以计数时候从0开始,如果=1,则从1开始
#include<stdio.h>
int main()
{
int line=0;
while(line<300)
{
printf("keep practicing:%d\n",line);
line++;
}
if(line==300)
{
printf("good job\n");
}
return 0;
}
while
无数haha
int main()
{
while(1)
printf("haha\n");
return 0;
}
12345678910
int main()
{
int i=1;
while(i<=10)
{
printf("%d",i);
i++;
}
return 0;
}
while循环中continue
输出1234,while循环中continue作用是跳过本次循环continue后的代码
#include<stdio.h>
int main()
{
int i=1;
while(i<=10)
{
if(i==5)
continue;
printf("%d",i);
i++;
}
return 0;
}
getchar只读取结果
#include<stdio.h>
int main()
{
int ch=0;
while((ch=getchar())!=EOF)
putchar(ch);
return 0;
}
#include<stdio.h>
int main()
{
int ch=0;
while((ch=getchar())!=EOF)
{
if(ch<'0'||ch>'9')
continue;
putchar(ch);
}
return 0;
}
for
打印1-10(满屏1-10)
#include<stdio.h>
int main()
{
int i=1;
for(i=1;1<=10;i++)
{
printf("%d",i);
}
return 0;
}
满屏6
#include<stdio.h>
int main()
{
int i=0;
for(i=1;1<=10;i++)
{
printf("%d",i);
i=5;
}
return 0;
}
1-10
#include<stdio.h>
int main()
{
int i=0;
for(i=1;i<=10;)
{
printf("%d ",i);
i++;
}
return 0;
}
满屏hehe
#include<stdio.h>
int main()
{
int i=0;
for(i=1;i<=10;i++)
{
printf("%d ",i);
int j=0;
for(j=0;j<10;i++)
{
printf("hehe\n");
}
}
return 0;
}