控制类语句
if()…else… (条件语句)
#include<stdio.h>
int main()
{
int atHouseYesOrNo;
puts("在家输入1,不在家输入0");
scanf("%d",&atHouseYesOrNo);
if (atHouseYesOrNo == 1){
puts("煮饭");
}
else
puts("886");
return 0;
}
内存中后两个数,用代数值按从小到大输出两数
#include <stdio.h>
int main()
{
int data1;
int data2;
int data3;
printf("请输入两个数\n");
scanf("%d%d",&data1,&data2);
if (data1>data2)
{
data3 = data1;
data1 = data2;
data2 = data3;
}
printf("%d,%d\n",data1,data2);
return 0;
}
逻辑运算符
#include <stdio.h>
int main()
{
int data1;
int data2;
printf("请输入两个数\n");
scanf("%d%d",&data1,&data2);
if (data1 == 1 && data2 == 0){
printf("逻辑与\n");
}
if (data1 == 1 || data2 == 0){
printf("逻辑或\n");
}
if ( !data1 ){
printf("逻辑非\n");
}
return 0;
}
else
#include <stdio.h>
int main()
{
char data1;
printf("请输入一个字符\n");
scanf("%c",&data1);
if (data1>97 && data1<122){
printf("%c\n",data1);
}
else{
printf("%c\n",data1+32);
}
return 0;
}
嵌套
#include <stdio.h>
int main()
{
int healthYesOrNo;
int wealthYesOrNo;
int handsomeYesOrNo;
int huaMoneyYesOrNo;
printf("你身体好吗(输入0/1)\n");
scanf("%d",&healthYesOrNo);
if(healthYesOrNo ==1){
printf("你有钱吗,帅吗(输入0/1)\n");
scanf("%d%d",&wealthYesOrNo,&handsomeYesOrNo);
if(wealthYesOrNo==1 && handsomeYesOrNo==1){
printf("你愿意给我花钱吗\n");
scanf("%d",&huaMoneyYesOrNo);
if(huaMoneyYesOrNo == 1){
printf("在一起吧\n");
}else{
printf("不行,虽然你有钱很帅,但你很抠\n");
}
}else{
printf("不行,我喜欢有钱的帅哥\n");
}
}else{
printf("不行,你身体不好\n");
}
return 0;
}
switch case
#include <stdio.h>
int main()
{
int results;
printf("请输入你的成绩\n");
scanf("%d",&results);
switch(results/10){
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
puts("学渣");
break;
case 7:
case 8:
case 9:
puts("真棒");
break;
case 10:
puts("天才");
break;
default:
puts("输入错误");
break;
}
return 0;
}
课后练习
#include <stdio.h>
int main()
{
int x;
int y;
printf("请输入一个数\n");
scanf("%d",&x);
if(x<1){
y = x;
}
if(1<=x && x<10){
y = 2*x-1;
}
if(x>=10){
y = 3*x-11;
}
printf("y=%d\n",y);
return 0;
}
#include <stdio.h>
int main()
{
int data;
printf("输入成绩\n");
scanf("%d",&data);
if (data<=100 && data>=90){
puts("成绩为A");
}
else if (data<=89 && data>=80){
puts("成绩为B");
}
else if (data<=79 && data>=70){
puts("成绩为C");
}
else if (data<=69 && data>=60){
puts("成绩为D");
}
else if (data<60 && data>=0){
puts("成绩为E");
}else
printf("输入成绩有误\n");
return 0;
}
while()… (循环语句)
前面用到的顺序结构和选择结构远远不够,我们要运用循环结构
#include <stdio.h>
int main()
{
int data=0;
while(data<10){
puts("卢本伟牛逼");
printf("data=%d\n",data);
data++;
}
return 0;
}
for()… (循环语句)
#include <stdio.h>
int main()
{
int data;
//条件赋初 判断临界值 条件改变值
for(data =0;data<10;data++){ //判断,执行循环体,条件改变
puts("卢本伟牛逼");//循环体
}
return 0;
}
do…while() (循环语句)
continue (结束本次循环语句)
break (中止执行switch或循环语句)
switch (多分支选择语句)
return ( 从函数返回语句)
章节练习
#include <stdio.h>
int main()
{
int m, n, m1, n1, data;
printf("请输入两个正整数\n");
scanf("%d%d",&m1,&n1);
m=m1;
n=n1;
while(n1!=0){
data=m1%n1;
m1=n1;
n1=data;
}
printf("最大公约数是:%d\n", m1);
printf("最小公倍数是:%d\n", m*n/m1);
return 0;
}
水仙花数
#include <stdio.h>
int main()
{
int a,b,c;
int i;
for(i=100; i < 1000;i++)
{
//个位 十位 百位
a = i % 10;
b = i / 10 % 10;
c = i / 100;
if(i == a*a*a+b*b*b+c*c*c)//水仙花数每个数的立方和
{
printf("%d \n",i);
}
}
return 0;
}