精华内容
下载资源
问答
  • 讲座 选择结构程序设计 常见错误 记住有错不可怕只怕不知道 1. =与==的区别 在C语言中==是关系运算符易犯得错误是 if (a=b then c=a; 2. 没有使用复合语句 记住一点凡是需要两条或多条语句完成的工作一定用花 括号...
  • C语言选择结构

    千次阅读 2019-04-01 15:40:21
    C语言有两种选择语句:(1)if语句:用来实现两个分支的选择结构 (2)switch语句:用来实现多分支条件的选择结构 例子:计算ax^2 + bx + c = 0的方程的根。 流程图: 代码: #include<stdio.h> #...

    选择结构

    C语言有两种选择语句:(1)if语句:用来实现两个分支的选择结构

    (2)switch语句:用来实现多分支条件的选择结构

    例子:计算ax^2 + bx + c = 0的方程的根。

    流程图:

    代码:

    #include<stdio.h>
    
    #include<math.h>
    
    //计算ax^2 + bx + c = 0的方程的根。
    
    int main(){
    
        double a,b,c,disc,x1,x2,p,q;//disc是 sqrt(b*b-4ac)
    
        printf("输出参数:\n");
    
        scanf("%lf%lf%lf",&a,&b,&c);
    
        disc=b*b-4*a*c;
    
        if(disc < 0){ //b^2 - 4ac<0无实根
    
            printf("方程无实根\n");
    
        }
    
        else{
    
            p=-b/(2.0*a);
    
            q=sqrt(disc)/(2.0*a);
        
            x1=p+q;
        
            x2=p-q;
    
            printf("方程的两个根为: x1:%7.2f \t x2:%7.2f \n",x1,x2);
    
        }
    
        return 0;
    
    } 

    If语句:

    If语句的形式:

    If(表达式) 语句1

    [else  语句2]

    扩展

    关系运算符

    关系表达式:用关系运算符将两个数值或数值表达式连接起来的式子

    逻辑运算符(&& 、|| 、!):

    条件运算符(?):由(? 和:) 组成,必须一起使用

    条件表达式:  表达式1 ? 表达式2 : 表达式3

    选择结构的嵌套

    If语句的嵌套:if语句包含一个或多个if语句

    形式:

    注意if与else的配对关系:else总是与它上面的最近的未配对的if配对

    例:

          -1 (x<0)

    Y={ 0 (x=0)

           1 (x>0)

    流程图:                                           代码:

      

    Switch多分支选择结构

    形式:

    例题:百分制成绩,要求输出成绩的等级ABCDE。

    #include<stdio.h>
    /*
    百分制成绩,要求输出成绩的等级ABCDE。 
    	由于case里面  只能是常量 
    	switch里面放置表达式是得到分数的十位数字。 
    */ 
    int main()
    {
    	int score,i=3;
    	while(i--){
    		scanf("%d",&score); 
    		if(score>100||score<0)
    		{
    			printf("输入错误!重新输入!\n");
    			scanf("%d",&score); 
    		}
    		switch(score /10){
    			case(9):printf("A\n");break;
    			case(8):printf("B\n");break;
    			case(7):printf("C\n");break;
    			case(6):printf("D\n");break;
    			default: printf("E\n");break;
    		} 
    	} 
    	return 0; 
    } 

    展开全文
  • C.NS结构流程图 就是没有分支的一种从上往下的顺序结构。 2.伪码 伪码就是介于自然语言和计算机语言之间的一种语言,与自然语言比较接近同时易于转化成计算机语言。 3.关系运算符与关系表达式 < 小于 &...

    1.算法的描述
    A.自然语言描述
    汉语、英语和数学语言描述。
    B.流程图描述
    流程图是描述程序的控制流程和指令执行情况的有向图。
    C.NS结构化流程图
    就是没有分支的一种从上往下的顺序结构。
    2.伪码
    伪码就是介于自然语言和计算机语言之间的一种语言,与自然语言比较接近同时易于转化成计算机语言。
    3.关系运算符与关系表达式

    < 小于
    > 大于
    <= 小于或等于
    >= 大于或者等于
    以上高优先级的运算符
    == 等于
    != 不等于
    以上低优先级的运算符

    2.用于单分支控制的条件语句
    单独的if语句
    3.用于双分支控制的条件语句
    if else 语句
    4.条件运算符和条件表达式
    条件运算符是C语言里面唯一的一个三元运算符,计算时需要操作三个数
    条件表达式为:
    表达式1 ? 表达式2 :表达式3
    例如 max = a > b ? a: b; 解释就如果 表达式1的值非0,则该条件的表达式的值为表达式2,否则是表达式3的值。
    5.用于多分支控制的条件语句
    表达式
    if (表达式1) 语句1
    else if (表达式2)语句2

    else 语句 m+1

    函数 exit(code) (一种标准库函数)作用为终止整个程序的执行,强制返回操作系统。使用时需要在开头加上头文件<stdlib.h>
    6.多路选择的switch语句
    表达式:
    switch(表达式)
    {
    case 常量1:
    可执行语句序列1
    case 常量2:
    可执行语句序列2

    case 常量n:
    可执行语句序列n
    default:
    可执行语句序列n+1
    }
    7.逻辑运算符和逻辑表达式

    逻辑运算符 含义、优先级
    逻辑非、优先级最高
    && 逻辑与、优先级较高
    双竖线 逻辑或’、优先级最低

    8.扩充内容
    A.程序测试
    程序测试是确保程序质量的一种有效手段。即把所有情况全都测试一遍,又称穷尽测试
    白盒测试
    又称玻璃盒测试,也称结构测试。尽量让测试数据覆盖程序中的每条语句,每个分支和每个判断条件,并减少重复覆盖。主要用于测试早期
    黑盒测试
    又称功能测试。程序功能的覆盖性测试,因此从程序拟实现的功能出发选取测试用例。主要用于测试后期。
    选择有限数量的重要路径进行白盒测试,重要功能需求进行黑盒测试。
    边界测试
    9.对于非法字符的检查与处理
    由于scanf()不进行参数类型匹配检查,因此,党参数地址中的变量类型与格式字符不符时,只是导致数据不能正确输入,但是编译器不会提示任何错误。
    函数fflush(stdin)可以清除缓冲区的错误数据

    展开全文
  • C语言提供3种流程结构,分别是: 顺序结构:默认的流程结构。按照书写顺序执行每一条语句。 选择结构:对给定的条件进行判断,再根据判断结果来决定执行哪一段代码。 循环结构:在给定条件成立的情况下,反复执行某...

    ------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

    一、流程结构

    C语言提供3种流程结构,分别是:

    顺序结构:默认的流程结构。按照书写顺序执行每一条语句。

    选择结构:对给定的条件进行判断,再根据判断结果来决定执行哪一段代码。

    循环结构:在给定条件成立的情况下,反复执行某一段代码。

    如下图所示:

     

    二、选择结构 – if

    1. 简单使用

    1>     if (表达式)  语句1;

    <strong>if(score>50) 
    
    xxx;
    
    </strong>


    2>     if(表达式)  语句1;  else 语句2;

    <strong>f(score >50) 
    
    xxx; 
    
    else
    
    xxx;
    
    </strong>

    3>      if(表达式)  {  }

    <strong>if(score >50) 
    
    {
    
    xxx;
    
    } 
    
    else
    
    {
    
    xxx;
    
    }
    
    </strong>

    4>     if -else if-else

    if(a==0)
    
    {
    
        xxx;
    
    }
    
    else if (a>0)
    
    {
    
        xxx;
    
    } 
    
    … …
    
    else
    
    {
    
        xxx;
    
    }
    
    


    特点:只有一个括号会被执行

     

    2. 使用注意

    1> 不要在if的小括号后面添加分号

    2> 像a==0这样的表达式,最好写成0==a,若你误写成0=a,编译器会直接报错的

    3> 直接写个if(a)是可以的,C语言默认所有大于0的值都为真

     

    三、选择结构2-switch语句

    1. 基本形式

    switch(整型表达式)
    
    {
    
        case 数值1:
    
            语句1;
    
            break;
    
        case 数值2:
    
            语句2;
    
            break;
    
        ... ...
    
        case 数值n:
    
            语句n;
    
            break;
    
        default :
    
            语句n+1;
    
            break;
    
    

    2. 举例

    int a = 10;
    
     switch (a) {
    
         case 0:
    
             printf("这是一个0");
    
             break;
    
         case 5:
    
             printf("这是一个5");
    
             break;
    
         case 10:
    
             printf("这是一个10");
    
             break;
    
         default:
    
             printf("什么也不是");
    
             break;
    
     }
    
    

    3. break

    1> break的作用

    break关键字的作用是退出整个switch语句。默认的格式中,每个case后面都有个break,因此执行完case中的语句后,就会退出switch语句。

    2> break的基本使用情况

    如果某个case后面没有break,意味着执行完这个case中的语句后,会按顺序执行后面所有case和default中的语句,直到遇到break为止

    3> break的特例

    在某些时候,我们确实没有必要在每一个case后面添加break。下面举一个例子:判断分数的优良中差等级(100分满分)。

    int score = 77;
    
    switch (score/10) {
    
        case 10:
    
        case 9:
    
            printf("优秀");
    
            break; 
    
        case 8:
    
            printf("良好");
    
            break;     
    
        case 7:
    
        case 6:
    
            printf("中等");
    
            break; 
    
        default:
    
            printf("差劲");
    
            break;
    
    }
    
    


    分析:

    当score的范围是90~100,score/10的值为10或9时,就会执行第6行代码,然后退出switch语句;

    当score的范围是80~89,score/10的值为8时,就会执行第10行代码,然后退出switch语句;

    当score的范围是60~79,score/10的值为7或6时,就会执行第15行代码,然后退出switch语句;

    当score的范围并不是60~100,score/10的值并不在6~10范围内时,就会执行第19行代码,然后退出switch语句;

    score的值是77,所以score/10的值是7,输出结果:中等

     

    4. 在case中定义变量

    有时候,我们可能会想在case中定义一些变量,这个时候,就必须用大括号{}括住case中的所有语句。

     

    5. if和switch的对比

    1> 其实if和swift在很多情况下可以互换

    2> 在项目实战中,if用得比较多,比较灵活,switch只能某个单值,用的比较少

     

    四、循环结构1-while循环

    1. 形式

    while ( 条件 )
    
    {
    
        语句1;
    
        语句2;
    
        ....
    
    }
    
    

    2.举例

    在屏幕上重复输出10次Hello World,每输出一次的换行。

    int count = 0;
    
    while ( count < 10 )
    
    {
    
        printf("Hello World\n");
    
      
    
        count++;
    
    }
    
    

    3.注意

    仔细看下面代码:

    int count = 0;
    
     
    
    while ( count < 10 );
    
    {
    
        printf("Hello World\n");
    
       
    
        count++;
    
    }
    
    


    分析:

    俗话说细节决定成败,仔细看,while后面不小心加了个分号,就变成死循环了,而且这种错误还不容易调试,所以,要注意!

     

    五、循环结构2-do while循环

    形式如下:

    do {
    
        语句1;
    
        语句2;
    
        ...
    
     } while (条件);
    
    


    使用do-while结构时,记得在最后加上一个分号;

    不管while中的条件是否成立,循环体中的语句至少会被执行一遍;

    其实do-while跟while是同一个循环,几乎所有情况他们都等价,只有一种情况,就是当条件完全不满足时,do-while会执行一次循环体,while不会执行,所以会导致结果不同,除了这个没其他特例了,剩下的就没什么好说的了,我一般不用这个;

     

    六、循环结构3-for循环

    for循环很常用,个人爱好。

    1.形式

    for (语句1; 条件; 语句2) {
    
         语句3;
    
         语句4;
    
         ...
    
    }
    
    


    执行过程:

    先执行语句1一次,然后判断条件,条件满足执行循环体,然后执行语句2,再判断条件,再执行循环体,再执行语句2,如此循环。

     

    2.举例

    for (int i = 0; i<5; i++)
    
    {
    
         printf("%d  ", i);
    
    }
    
    

    3.补充

    如果for循环的初始化语句和循环一次后执行的语句是由多条语句组成的,就用逗号,隔开

    for (int x = 0, y =0; x<3; x++, y+=2)
    
    {
    
         printf("x=%d, y=%d \n", x, y);
    
    }
    
    

    4. for循环嵌套

    for循环是可以嵌套的,而且很常用。

    #include <stdio.h>
    
    int main()
    
    { 
    
        for (int i = 1; i<=4; i++)
    
        {
    
            //printf("好友列表%d\n", i + 1);
    
            printf("好友列表%d\n", i);
    
           
    
            /*
    
            printf("    好友1\n");
    
            printf("    好友2\n");
    
            printf("    好友3\n");
    
            printf("    好友4\n");
    
            printf("    好友5\n");*/
    
           
    
            for (int j = 1; j<=7; j++)
    
            {
    
                printf("    好友%d\n", j);
    
            }
    
        }
    
       
    
        return 0;
    
    }
    
    

    5. 注意

    1> 最简单的死循环 for(;;);

    2> for循环内部定义的变量,作用域只在内部,for结束就销毁,包括那个i

     

    6. while循环和for循环的比较

    1> while循环和for循环在任何情况下都可以互换

    2> for循环的好处在于循环结束可以及时销毁变量

     

    七、break和continue

    1. break

    1> 使用场合:switch\循环结构

    2> 循环嵌套下的break

    2. continue

    1> 使用场合:循环结构

    2> 循环嵌套下的continue

     

    展开全文
  • for(循环变量赋初值【可选】;...程序结构图如下: 程序执行for(expression1;expression2;expression3)这行代码的流程是,先初始化循环变量,再判断是否符合循环条件,也就是开始总是先执行条件判断部分。 ...

    三个循环结构

    • for循环
    • while循环
    • do…while循环

    for(循环变量赋初值【可选】; 循环条件判断【可选】; 循环变量增值【可选】) { 循环体 }
    程序结构图如下:
    在这里插入图片描述

    执行for(expression1;expression2;expression3)这行代码的流程是,先初始化循环变量,再判断是否符合循环条件,也就是开始总是先执行条件判断部分。
    while(表达式【判断是否符合循环条件】) {循环体 }
    do{循环体} while(循环条件判断);
    程序结构图如下:
    在这里插入图片描述
    do { } while();必须执行一次循环体,因为它先执行结构体再判断,而while( ) { }for(exp1;exp2;exp3){ }可以先判断循环条件再执行循环体,可以实现一次也不执行循环体.

    例子:

    int main()//这是输出第1~12个fibonacci数字的程序
    {
        int i,a=1,b=1,c=0;
        printf("%d\t%d\t",1,1);//输出前两个fibonacci数字
        for(i=0;i<10;i+=1)//输出第3~12个fibonacci数字
        {
            c=a+b;
            a=b;
            b=c;
            printf("%d\t",c);
        }
        //***************************************************************************************
        //用while语句:
        a=1;b=1;c=0;//重置变量值
        printf("%c",10);//空格
        printf("%d\t%d\t",1,1);//输出前两个fibonacci数字
        i=0;
        while(i<10)
        {
            c=a+b;
            a=b;
            b=c;
            printf("%d\t",c);
            i++;
        }
        //****************************************************************************************
        //用do while语句:
        a=1;b=1;c=0;
        printf("%c",10);
        printf("%d\t%d\t",1,1);//输出前两个fibonacci数字
        i=0;
        do
        {
            c=a+b;
            a=b;
            b=c;
            printf("%d\t",c);
            i++;
        }
        while(i<10);
    }
    

    两个选择结构

    第一个选择结构:

    • 不带else的:if (expression) {codeblock}
    • 带else的:if(expression) esle {codeblock}
    • else部分嵌套多层if的:if(expression1) else if(expression2)else if(expression3){codeblock}

    例子:

    int main()
    //输出1900年到2025年的闰年
    {
        int i,start,end;
        start =1900;
        end=2025;
        for(i=start;i<=end;i+=1)
        {
            if(i%4==0&&i%100!=0||i%400==0)//优先级:% 大于 != 大于 == 大于 && 大于 ||
               printf("%d leap year\n",i);
            else printf("%d\n",i);
        }
    }
    

    第二个选择结构:

    switch () {case 1:{ };break;case 2 { };break; default : { } };
    例子:

    int main()
    {
        char n;
        n=getchar();
        switch(n)
        {
            case '1':printf("case 1");printf("\ncase有多个语句时,可以不加{}");break;
            case '2':printf("case 2");;break;
            case '3': case 4: {printf("case 3 or case 4");};break;
            case 'q':printf("q");break;
            default :printf("default");
        }
    }
    

    说明:
    1.switch后面的括号内应该是个整型值,要知道,字符型是特殊的整型;
    2.case 和 default 只是“入口”,
    (1).它们出现的顺序不重要,因为case和default只是“入口”的标志。例如你可以将default放在最前面;
    (2).进入某个“入口”后,程序就一直执行下去,不遇到break不会停止,直到执行完所有switch内的语句;这就是为什么
    每个case后面都需要加break、
    好几个case可以共用一段程序、
    case后执行多个语句的话不用加{ }

    展开全文
  • 流程图C语言的关系

    2014-06-01 15:44:00
    C语言的第一堂课,便被着重的提了流程图。记得最被邹爱掐(老师)常挂在嘴边的话就是,...C语言种有三个结构:顺序结构,选择结构和循环结构。下面我就给几个相关的例图: 1、顺序结构: 顺序结构是最常见也最简...
  • 程序流程设选择if elseif单路选择结构流程图代码演示if else 二路选择结构流程图代码演示if else if 多路选择代码演示结构及流程图多路选择练习:输入学生成绩,判断成绩给出评价第一种第二种注意事项switch...
  • 程序设计基础 北京八维研修学院 第9单元 选择结构if语句 选择结构 导入 春节回家 使用选择结构... 选择的依据 本节课目标 if选择结构的概念 单分支选择结构--if if语句使用规范 流程图及应用案例 什么是if选择结构 if
  • #include <stdio.h> #include <math.h> #include <stdlib.h> #define EPS 1e-15 ... 用关系运算符将两个操作数连接起来组成... C语言中, 用非0值(也包括负数)表示"真", 用0值表示"假" 关系表达式的
  • 第4章 选择结构 本章内容 4.1 算法 4.2 if语句 4.3 条件运算符 4.4 switch语句 4.5 综合应用 4.1 算法 程序=数据结构+算法 算法的基本步骤 输入 处理 输出 算法的描述 自然语言 流程图 是 条件 语句 否 条件成立 ...
  • ------Java培训、Android培训、iOS培训、.Net培训、...程序流程图:  2)分支结构 有时候,你的程序需要做出决定,是执行这段代码,还是执行那一段。遇到一些条件的判断,流程根据条件是否成立有不同的流向。 3
  • C语言提供3种流程结构,分别是: 顺序结构:默认的流程结构。按照书写顺序执行每一条语句。 选择结构:对给定的条件进行判断,再根据判断结果来决定执行哪一段代码。 循环结构:在给定条件成立的情况下,反复执行某...
  • 逻辑表达式与逻辑运算符三、算法与流程图四、关于算法说一点吧 一、选择结构概述 有的问题,需要根据不同的条件来执行不同的语句。 比如同样去食堂打饭,你一个学生去了,食堂会按照原价卖饭菜,而且你还可能碰到手...
  • C语言为我们提供了3种流程控制结构,分别为:顺序结构,选择结构,循环结构。 顺序结构:默认的流程结构。按照书写顺序执行每一条语句。 选择结构:对给定的条件进行判断,根据不同的结果执行不同的代码断。 循环...
  • c语言之基本结构

    2018-06-21 09:31:31
    结构和流程图息息相关, 通过流程图可以更好的了解程序结构。 顺序结构: 顺序结构: 结构中的语句按期先后顺序依次执行。 常见的输入,计算, 输出三部曲的结构就是顺序结构。 选择结构 选择结构: 其实...
  • 流程图中, 菱形框 是有来判断的 ,这节课 我们就用到 菱形框) 二、 选择结构的 三种情况 选择结构也称为分支结构,可以分为三种情况 单分支选择结构 if 面临的选择是:要么执行一个操作,...
  • 第5章 选择结构程序设计;第一节 问题的提出;第二节 if语句 ;例1关于求符号函数 画流程图分析下面四个程序的对错;程序2 #include "stdio.h" void main) { int x,y; scanf%d&x; if(x>=0) if(x>0) y=1; else y=0; else ...
  • BAB P T F A B顺序结构选择结构流程图N-S结构图程序的三种基本结构NP成立?YAAYP成立?N当P成立时 A A当P成立时循环结构当型循环直到型循环流程图N-S结构图本章主要内容C语言的语句类型数据输出数据输入顺序结构程序...
  • 三种控制结构的N-S流程图;思考输入三角形的三边长求三角形面积 # include <math.h> main( ) { float a, b, c, s, area; scanf%f%f%f &a&b&c; s=(a+b+c)/2; area=sqrt(s(s-a(s-b(s-c; printf"area=.2f\n ,area; } ;第...
  • 分支结构适合于带有逻辑或关系比较等条件判断的计算,设计这类程序时往往都要先绘制其程序流程图,然后根据程序流程写出源程序,这样做把程序设计分析与语言分开,使得问题简单化,易于理解。程序流程图是根据解题...
  • 以下四个流程图结构分别为顺序结构选择结构当型循环结构直到型循环结构;第五讲 选择结构;思考题3-1从键盘上输入一个整数如果大于等于零输出Positive Number 正数如果小于零输出Negative Number负数要求用基本的if...
  • 单片机C语言C51程序中的基本结构

    千次阅读 2020-04-03 11:23:46
    顺序结构是最基本、最简单的结构,在这种结构中,程序由低地址到高地址依次执行,如图给出顺序结构流程图,程序先执行A操作,然后再执行B操作。 二.选择结构 选择结构可使程序根据不同的情况,选择执行不同的...
  • 计算机二级C语言选择题错题知识点记录。 1,在数据流图中,用标有名字的箭头表示数据流。在程序流程图中,用标有名字的箭头表示控制流。 2,结构化程序设计的基本原则:自顶向下,逐步求精,模块化,限制使用goto...
  • 第2章 C语言的基本控制结构 算法 进行某一工作的方法和步骤称为算法 算法的组成要素 操作 算术运算关系运算函数运算等 控制结构 顺序结构 选择结构 循环结构 算法的描述 算法的图形表示 用流程图表示算法 用N-S图...

空空如也

空空如也

1 2 3 4 5 ... 11
收藏数 215
精华内容 86
关键字:

c语言选择结构流程图

c语言 订阅