流程控制

                            流程控制

18号学习内容:

1.什么是流程控制-----------程序代码执行的顺序

2.流程控制的分类

(1)顺序执行

(2)选择执行

(3)循环执行

3.流程控制的重要性

  

在程序之前:# include <stdio.h> 

            int   Main(void){

                 }

            

一.顺序执行(略)

二.选择执行   定义:某些代码可能执行,也可能执行,有选择的执行某些代码。

     分类:(1if

                  1.if的简单用法

                  2.if的取值范围

                  3.if...else用法

                  4.if...else if...else...用法

                  5.C语言对真假的处理

                  6.if举例------求分数的等级

                  7.if的常见问题解析

     1.if的简单用法

        格式:if(表达式)

            语句;

       eg:   if3

            Printf"AAA/n");   //会输出

              if0

            Printf"AAA/n");   //不会输出

     2.if的取值范围

        格式:if(表达式)

             语句A

             语句B

       egif1>2

             Printf(“AAA/n”);  //不会输出

             Printf(“BBB/n”);  //一定会输出

       小结:if只能控制语句A的执行或者不执行,if无法控制语句语句B的执行或者不执行。

             不管表达式是真或者是假,对B语句的执行都无影响。

           If(表达式)

             {

               语句A

               语句B

               }

        语句A,语句B都会执行

        小结:由此可见,if只能控制一个语句的执行或者不执行;如果想要控制多个语句的执行或不执行,就不须把这些语句用{}括起来

   3.if...else用法

          If(表达式)

             语句A

         Else

             语句B;

        egifi>j

             Printf("i大于j")

            Else     //小于

             Printf"i小于j");

   4.if...else if...else...用法

          If1

           A;

          Else  if2

          B;

         Else if3

          C

         Else

          D

      如果123都不成立,执行D

  5.C语言对真假的判断

  6.写一个程序:求分数的等级

   代码如下:

     #include   <stdio.h>

     int  main(void)

     {

         Float  score

         Printf"请输入您的考试成绩:");

         Scanf"%f",&score);

         Ifscore>100

             Printf("这是我在做梦")

         Else   Ifscore>=90&&score<=100

           Printf("考试成绩为尤")

              Else   Ifscore>=80&&score<=90

           Printf("考试成绩为良,")

              Else   Ifscore>=60&&score<=80

           Printf("考试成绩为及格,")

                Else   Ifscore>=0&&score<=60

           Printf("成绩为不及格,")

                Else

          Printf"这是做噩梦\n");

        }

  7.if例子  实现两个数字的互换

      Int   i,j,k;

      i=3;

j=5;

K=i;   /*实现互换语句*/

i=j;

j=k;

  

if例子:求任意3个数的排序(降序)

int   a,b,c,t;

Printf("请输入3数(中间以空格分隔):")

Scanf"%d,%d,%d",&a,&b,&c;

If(a<b)

t=a;

a=b;

b=t;

     }   

   Ifa<c

     {

t=a;

a=c;

c=t;

}     =

   If(b<c)

  {

   t=b;

   b=c;

   C=t;

   }

Printf("%d%d%d"abc)

8.作业题

  (1)判断一个数字是否是素数  (素数:只能被1和它本身整除)

  (2)判断一个数字是否是回文数   (回文数:正写,反写都是一个数)

  (3)编程实现求一个十进制数字的二进制形式

  (4)求一个数字的每位是奇数的数字取出来组合形成新数字

  (5)求一个数字倒过来的数字    

 Switch (以后会进行详细的讲解)

数据结构中的一句话:程序=算法+语言

我的终点:看懂程序,掌握一个程序(看懂,背会)

做法具体如下:

1.看懂程序

2.敲一遍程序,如果出错能加深对程序的理解,弥补。

3.然后可以稍加改动,看会不会出现什么情况。。

如何看懂程序(分3步)

1.流程(先执行....,后执行.....)

2.每个句子的功能

3.试数(根据程序结果,用数来试试)【以后将详细讲讲】

如何学习对一些关于算法的程序

(1)尝试自己去编程解决它

(2)如果解决不了,就看答案

(3)关键是把答案看懂,这个血药花很大的精力,也是我学习的重点,看懂之后尝试自己修改程序,并且知道修改之后的不同输出结果的含义

(4)照着答案去敲,调试错误,不看答案自己独立把答案敲出来

(5)如果程序实在是无法彻底理解,就把它背会

(6)敲代码后,过了4-5天后,在敲一次

9.if常见错误解析:

(1)if(3>2);   <---------->if)(3>2)

                     ;

(2)if(表达式);          //此行分号写上,导致程序出错

   语句A

  Else

  语句B;              //此为语法错误,没有语句以else开头

(3)if(表达式1

       A;

     Else  if(表达式2

      B

     Else  if(表达式3

      C

     Else

      D;

     注:当表达式1,表达式2都成立时,只能执行A

(4)if(表达式1

       A;

     Else  if(表达式2

      B

     Else  if(表达式3

      C

     注:这个逻辑上有漏洞,语法上没问题

(5)if(表达式1

       A;

     Else  if(表达式2

      B

     Else  if(表达式3

      C

     Else(表达式4)      //这样写是错的改为:去掉"(表达式4)"或者else if

      D; 

(6)if(表达式1

       A;

     Else  if(表达式2

      B

     Else  if(表达式3

      C

     Else (表达式4);

      D;

 注:无语法错误,是无实际意义的语句   ,逻辑上的错误

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值