c语言从0->1入门——选择语句

简介: c语言从0->1入门——选择语句

关于作者:

2019NOIP退役成员,学习c语言已有多年经验, 更懂得考试的题目,和初学者学习时所遇到的问题

华为云享专家,以及CSDN的新星创作者,有写博客的一定能力

关于本栏目

本栏目的宗旨是带你入门c语言,作者打算用题海+c语言的概念来完成本栏目,

适用人群: 面向广大的编程爱好者和大学生来进行创作

学完本栏后你能达到的水平:计算机二级水平左右,入门c语言学习

题目:主要来源于网络和c语言的入门算法题目

写在前面的话(第六天)

记住我们的宗旨:努力去做,让一切交给时间来评判!

今天主要由俩个方面组成语句判断语句的几种格式,配套练习题有3个坚持下去,时间会给出答案!

语句的基本概念

什么是语句?

简单的来说,用一个;结尾的一行话,就是一条语句

语句的几种格式:

空语句:一行中只有分号 ;
复合语句:用大括号将多条语句组合起来叫复合语句

语句的嵌套:

语句的嵌套只存在复合语句中
int a;
{
    //进行嵌套
    a++;
    a+=2;
}
//a=3

判断语句

顾名思义判断一个条件是否成立,如果成立,返回为真,不成立返回为假

if

#include <stdio.h>

int main()
{
    int a;
    scanf("%d", &a);
    if (a > 1)
        printf("a大于1");
    return 0;
}

if...else...

条件成立执行if语句中的内容,否则执行else后面的内容
#include <stdio.h>

int main()
{
    int a;
    scanf("%d", &a);
    if (a >= 60)
        printf("及格");
    else
        printf("不及格");
    return 0;
}

if...else if...else

对比上面的也不难猜出,
如果...又如果....否则....
#include <stdio.h>

int main()
{
    int a;
    scanf_s("%d", &a);
    if (a >= 60 && a <= 70)
        printf("及格");
    else if (a > 70 && a <= 80)
        printf("良好");
    else if (a > 80)
        printf("优秀");
    else
        printf("不及格");
    return 0;
}

switch语句

试想一个问题,如果让我们输入一个数字,来判断是周几的话,怎么执行?

我们先用if语句来实现一下:

#include <stdio.h>
int main(){
    int a;
    printf("Input integer number:");
    scanf("%d",&a);
    if(a==1){
        printf("Monday\n");
    }else if(a==2){
        printf("Tuesday\n");
    }else if(a==3){
        printf("Wednesday\n");
    }else if(a==4){
        printf("Thursday\n");
    }else if(a==5){
        printf("Friday\n");
    }else if(a==6){
        printf("Saturday\n");
    }else if(a==7){
        printf("Sunday\n");
    }else{
        printf("error\n");
    }
    return 0;
}

对于这种情况,我们在实际开发中一般用switch语句来代替

#include <stdio.h>
int main(){
    int a;
    printf("Input integer number:");
    scanf("%d",&a);
    switch(a){
        case 1: printf("Monday\n"); break;
        case 2: printf("Tuesday\n"); break;
        case 3: printf("Wednesday\n"); break;
        case 4: printf("Thursday\n"); break;
        case 5: printf("Friday\n"); break;
        case 6: printf("Saturday\n"); break;
        case 7: printf("Sunday\n"); break;
        default:printf("error\n"); break;
    }
    return 0;
}

switch 是另外一种选择结构的语句,用来代替简单的、拥有多个分枝的 if else 语句,基本格式如下:

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

执行过程:

  1. 首先计算“表达式”的值,假设为 m。
  2. 从第一个 case 开始,比较“整型数值1”和 m,如果它们相等,就执行冒号后面的所有语句,也就是从“语句1”一直执行到“语句n+1”,而不管后面的 case 是否匹配成功。
  3. 如果“整型数值1”和 m 不相等,就跳过冒号后面的“语句1”,继续比较第二个 case、第三个 case……一旦发现和某个整型数值相等了,就会执行后面所有的语句。假设 m 和“整型数值5”相等,那么就会从“语句5”一直执行到“语句n+1”。
  4. 如果直到最后一个“整型数值n”都没有找到相等的值,那么就执行 default 后的“语句 n+1”。

当和某个整型数值匹配成功后,会执行该分支以及后面所有分支的语句
此刻引出了break语句

break语句

用来跳出switch语句,一旦遇到 break,就不再执行 switch 中的任何语句,包括当前分支中的语句和其他分支中的语句;也就是说,整个 switch 执行结束了,接着会执行整个 switch 后面的代码。

为什么default后面不加break语句呢?

default为switch语句中的最后一条语句执行后自动跳出switch语句,所以就不用跳出

例题

下面我们来做例题巩固今天所学的内容:
小玉家的电费

相关文章
|
1月前
|
安全 编译器 C语言
C++入门1——从C语言到C++的过渡
C++入门1——从C语言到C++的过渡
48 2
|
1月前
|
存储 Java 编译器
初识C语言1——C语言入门介绍
初识C语言1——C语言入门介绍
27 1
|
28天前
|
C语言
回溯入门题,数据所有排列方式(c语言)
回溯入门题,数据所有排列方式(c语言)
|
3月前
|
C语言
C语言------程设设计入门
这篇文章是C语言程序设计的入门教程,涵盖了C程序的实现过程、VC集成开发环境的使用、基本数据类型的使用、格式控制字符的作用,以及通过示例代码演示了如何使用printf()函数输出不同类型的数据。
C语言------程设设计入门
|
4月前
|
存储 Java C语言
【C语言入门】初识C语言:掌握编程的基石
【C语言入门】初识C语言:掌握编程的基石
66 4
【C语言入门】初识C语言:掌握编程的基石
|
3月前
|
NoSQL Java 编译器
C语言从入门到精通该怎样学?
持续学习与实践:编程是一门需要不断学习和实践的技能,要保持对新技术和新知识的敏感性,并持续进行编程实践。
54 1
|
4月前
|
存储 Java 程序员
【C语言入门】C语言入门:探索编程世界的基础概念
【C语言入门】C语言入门:探索编程世界的基础概念
103 2
|
4月前
|
前端开发 C语言 C++
C语言入门02---环境搭建
C语言入门02---环境搭建
|
5月前
|
存储 Web App开发 算法
c语言的简单入门
熟悉c语言(简单入门)
|
5月前
|
JavaScript C语言