分支和循环语句(一)

文章目录

  • 1. 什么是语句
  • 2. 分支语句(选择结构)
    • 2.1 if语句
      • 2.1.1 悬空else
      • 2.1.2 if书写形式的对比
      • 2.1.3 练习
    • 3. switch语句

1. 什么是语句

2. 分支语句(选择结构)

2.1 if语句

2.1.1 悬空else

2.1.2 if书写形式的对比

2.1.3 练习

3. switch语句

 分支语句
 - if
 - switch
 
循环语句
 - while
 - for
 - do while
 
 goto语句

1.什么是语句

分支和循环语句(一)_第1张图片
表达式语句:顾名思义写个表达式。如:2+3;
函数调用语句;调用函数的语句。
空语句:一个分号。
控制语句:用于控制程序的执行流程,以实现程序的各种结构方式(C语言支持三种结构:顺序结构,选择结构,循环结构),它们由特定的语句定义符组成。C语言有9种控制语句。
可分为以下三类:
分支和循环语句(一)_第2张图片

  • C语言是一门结构化的程序设计语言
    有了这三种结构后你能发现能描述现实生活中的every thing。
    分支和循环语句(一)_第3张图片
    分支语句(对应选择结构)
    如果你扮猪吃老虎,成为计算机大佬,走上程序猿巅峰。
    如果你当“猪”躺平,成为小菜只因,回家打篮球。
    这就是选择。
    if语句
//语法结构
//单分支
if(表达式)
   语句;
   **表达式成立输出,不成立不输出**
//多分支
if(表达式一)
   语句1else if(表达式二)
   语句2else
   语句3

```c
#include 
int main()
{
  int score=0;
  scanf("%d",&score);
  if(score>=90)
     printf("Perfect\n");
  else if(score>60 && score<90)
     printf("Good\n");
  else
     printf("Cheer on\n");
  return 0;
 }

if语句也可以嵌套
C语言中0表示假,非0都为真

同时输入printf("Perfect\n")
printf("WIN ACM\n")
说法错误,
∵if语句只能控制一条语句
{这两条命令放入同一大括号中才受其控制}

《猜猜我们会不会掉坑系列(1)》@-@

#include  
int main()
{
 int a=0;
 int b=0;
   if(a==1)
   if(b==2)
     printf("哇哦\n");
   else
    printf("妙啊\n")return 0;
 }

你觉得是”妙啊“?恭喜你,和笔者一样想错了。
第一个if相当于下两个if和else的前提条件。只有第一个if语句进去,才有这俩进去的可能。因此输出错误
P.S.注意正常写代码的方式!不要像上面代码两if写在一起,不美观!
else就近匹配

//最清晰
#include  
int main()
{
 int a=0;
 int b=0;
   if(a==1)
   {
    if(b==2)
     {
      printf("哇哦\n");
     }
   }
   
     else
     {
      printf("妙啊\n")}
 return 0;
 }

不建议使用Dev C++ 非常不美观。自废武功。

《猜猜我们会不会掉坑系列(2)》@-@

if(condition)
{
return x;
}
return y;

此代码是否意味着条件成立返回x,条件不成立返回y? 答案:no yes
condition:条件

//正宗不误导人的相同代码。好代码
if(condition)
{
 return x;
}
else
{
 return y;
}

小tip:

int main()
{
 int num=8;
 if(num==9)//=和==在语法层面找不出任何问题
 {
  printf("banana\n")
 }
}

=:赋值
==:等于


```c
if(9==num) //此写法更妙

比较一个变量和一个常量是否相等时建议把常量放在等号左边更好。这是好的代码分割。

if(num % 2==1) //是表达式的话,不必将常量放在等号左边(无所谓)

2.1.3练习
输出1~100之间奇数
1.循环先产生1~100
2.判断产生的数字是否为奇数
3.是奇数打印

#include 
int main()
{
 int a=1;
 while("%d",a=<100);
  {
   if(a%2==1)
    {
     printf("%d\n",a);
    }
    a++;
  }
}

或将while后代码改为

{
printf("%d",a);
a+=2;//效率更高。
}

switch语句(也是一种分支语句)
常常用于多分支情况
问:输入1~7对应星期一到日

int main()
{
 int day=0;
 scanf("%d",&day);
 switch(day)
  { 
   case 1://案例1。决定入口
   //case后必须是*整型常量表达式*才可以
       printf("星期一\n");
       break;//打破,停止不在前进。决定出口
       //以后2~7以此类推,作者君疲了,后续自行想象
   default:
       printf("选择错误\n");
       break;
   }
   return 0;
}       

switch(整型表达式)
{
语句项;
}

float f=0.0

switch(f)
case后是否为break需看情况
若周一到周五结合在一起输出为工作日,则可这样做:

case 1:
case 2:
case 3:
case 4:
case 5:
  printf("工作日\n);
break;

剪切:Ctrl+X

你可能感兴趣的:(c语言,c++,算法)