C语言深入讲解语句与选择结构的使用

C语言深入讲解语句与选择结构的使用

1. 语句的基础知识

在使用C语言编程时,我们使用语句来实现程序的功能。语句是一个完整的操作指令,每一个语句都执行一定的任务。

C语言的基本语句分为以下几种:

1.1 赋值语句

赋值语句可以将一个值赋给变量,语法如下:

variable = expression;

其中,variable 表示变量名,expression 表示一个表达式。

举个例子,如下所示:

int a = 1;
int b = 2;
b = a + 1;

以上代码中,第一条语句给变量 a 赋值为 1,第二条语句给变量 b 赋值为 2,第三条语句将变量 a 的值加 1,再赋值给变量 b

1.2 分支语句

分支语句可以根据条件选择不同的执行路径,语法如下:

if (condition) {
    statement1;
} else {
    statement2;
}

其中,condition 表示条件,如果满足条件就执行 statement1,否则执行 statement2

举个例子,如下所示:

int a = 1;
if (a == 1) {
    printf("a equals 1");
} else {
    printf("a does not equal 1");
}

以上代码中,如果变量 a 的值等于 1,则输出 a equals 1,否则输出 a does not equal 1

1.3 循环语句

循环语句可以重复执行某段代码,语法如下:

while (condition) {
    statement;
}

其中,condition 表示条件,如果满足条件就执行 statement,然后再判断条件,如果仍然满足就继续执行 statement,直到条件不满足为止。

举个例子,如下所示:

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

以上代码中,第一条语句给变量 i 赋值为 0,然后循环打印变量 i 的值,每次循环把变量 i 的值加 1,直到变量 i 的值大于等于 5,循环结束。

2. 选择结构的使用

选择结构可以根据不同的条件执行不同的代码,C语言中有两种选择结构:if语句和switch语句。

2.1 if语句

if语句用于根据条件执行不同的代码片段,语法如下:

if (condition1) {
    statement1;
} else if (condition2) {
    statement2;
} else {
    statement3;
}

其中,condition1 表示第一个条件,如果满足就执行 statement1,否则继续执行下一个条件,依次类推。如果所有的条件都不满足,就执行 statement3

举个例子,如下所示:

int a = 3;
if (a == 1) {
    printf("a equals 1");
} else if (a == 2) {
    printf("a equals 2");
} else {
    printf("a does not equal 1 or 2");
}

以上代码中,变量 a 的值为 3,如果 a 的值等于 1,则输出 a equals 1,否则如果 a 的值等于 2,则输出 a equals 2,否则输出 a does not equal 1 or 2

2.2 switch语句

switch语句用于根据不同的条件执行不同的代码片段,语法如下:

switch (expression) {
    case value1:
        statement1;
        break;
    case value2:
        statement2;
        break;
    default:
        statement3;
        break;
}

其中,expression 表示要检查的值,value1value2 表示不同的情况,如果 expression 的值等于 value1,就执行 statement1,如果 expression 的值等于 value2,就执行 statement2,否则执行 statement3

需要注意的是,每一个 case 后需要加上 break,否则会继续执行下一个 case 中的内容。

举个例子,如下所示:

int a = 2;
switch (a) {
    case 1:
        printf("a equals 1\n");
        break;
    case 2:
        printf("a equals 2\n");
        break;
    default:
        printf("a does not equal 1 or 2\n");
        break;
}

以上代码中,变量 a 的值为 2,如果 a 的值等于 1,则输出 a equals 1,否则如果 a 的值等于 2,则输出 a equals 2,否则输出 a does not equal 1 or 2

3. 示例说明

3.1 示例一

以下代码使用 if 语句判断变量 num 是否为正数:

#include <stdio.h>

int main() {
    int num = 10;
    if (num > 0) {
        printf("%d is a positive number.\n", num);
    } else {
        printf("%d is not a positive number.\n", num);
    }
    return 0;
}

程序输出如下:

10 is a positive number.

以上示例中,变量 num 的值为 10,判断变量 num 是否为正数,因为 num 的值大于 0,所以执行 if 语句中的 printf 语句,输出 10 is a positive number.

3.2 示例二

以下代码使用 switch 语句判断变量 grade 所代表的成绩级别:

#include <stdio.h>

int main() {
    int grade = 75;
    switch (grade / 10) {
        case 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("F\n");
            break;
    }
    return 0;
}

程序输出如下:

C

以上示例中,变量 grade 的值为 75,先把 grade 的值除以 10,得到 7,然后在 switch 语句中匹配 case 7,执行 printf("C\n") 语句,输出 C

结语

以上就是使用语句与选择结构的基础知识和示例说明。掌握这些知识点后,可以实现更多丰富、复杂的程序功能。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言深入讲解语句与选择结构的使用 - Python技术站

(0)
上一篇 2023年5月24日
下一篇 2023年5月24日

相关文章

  • C++线程安全容器stack和queue的使用详细介绍

    C++线程安全容器stack和queue的使用详细介绍 什么是线程安全容器 线程安全容器是可以支持在多个线程并发访问的STL容器。在多线程程序中使用线程安全容器可以保证数据操作的正确性和安全性。 为什么需要线程安全容器 在并发环境中,多个线程可能同时访问同一资源。对于非线程安全的容器,在多线程的情况下容易出现数据竞争、死锁等问题。线程安全容器可以避免这种问题…

    C 2023年5月22日
    00
  • C++ Coroutine简单学习教程

    C++ Coroutine简单学习教程 协程是一种用户态线程,可以避免线程切换等开销,提高代码效率。C++20引入了支持协程的新关键字co_await、co_yield、co_return等,可以方便地实现协程。本教程将介绍C++协程的基本使用方法。 环境准备 在编译器中开启协程支持,需要使用/await选项。 使用clang++编译示例代码: clang+…

    C 2023年5月23日
    00
  • Java编程基础测试题分享

    Java编程基础测试题分享攻略 背景说明 Java编程入门的学习是需要实践的。而测试题是测试自己知识掌握情况的重要方式之一。本文将介绍如何准备Java编程基础测试题,以及如何完整的解答测试题,帮助初学者更好地进行自我学习和检验。 准备测试题 找到适当的测试题,可以在网上搜索一些Java编程基础测试题,或者向周围有经验者拿一些推荐的Java编程基础测试题 将测…

    C 2023年5月23日
    00
  • Redis中的动态字符串学习教程

    Redis中的动态字符串学习教程 1. 什么是Redis中的动态字符串 Redis中的动态字符串是Redis内部实现的一种字符串类型。与C语言中的char *指针不同,Redis动态字符串是一个结构体,可以方便地进行操作和管理。Redis动态字符串具有如下特点: 可以保存二进制数据 可以自动扩展空间以容纳更多数据 最大长度是512MB,远大于C语言的字符串限…

    C 2023年5月22日
    00
  • CentOS安装使用VeraCrypt及创建整个加密硬盘详解

    CentOS安装使用VeraCrypt及创建整个加密硬盘详解 1. VeraCrypt简介 VeraCrypt是一个开源加密软件,可以对硬盘、U盘等存储设备进行加密和解密。它提供了一个非常安全的加密方式,在没有正确密码的情况下,即使是最顶级的黑客也无法破解。 2. 安装VeraCrypt 在CentOS上安装VeraCrypt需要使用RPM包管理器,可以通过…

    C 2023年5月23日
    00
  • C++你可能不知道地方小结

    C++你可能不知道地方小结攻略 1. 简介 本篇攻略为作者所撰写的一篇C++小结文章的详细讲解。在本文中,我们将会介绍作者在该篇文章中所总结的C++极易被忽视的几个问题。 2. 内容讲解 2.1. 匿名结构体/联合体 C++中,使用匿名结构体/联合体可以使代码更为简洁,但这样也会导致一些隐藏的问题。比如,考虑如下代码片段: struct Foo { stru…

    C 2023年5月30日
    00
  • 利用Golang解析json数据的方法示例

    下面我将详细讲解如何利用Golang解析json数据的方法,包括两个示例。 解析json数据的基本方法 在Golang中,我们可以通过下面的代码来解析json数据: import ( "encoding/json" ) type User struct { Name string `json:"name"` Age i…

    C 2023年5月23日
    00
  • 惠普新ENVY 13笔记本值得买吗 惠普新ENVY 13轻薄本深度图解评测

    惠普新ENVY 13笔记本深度评测攻略 简介 惠普新ENVY 13是一款定位于高端轻薄本的笔记本电脑。该产品采用了第11代英特尔酷睿处理器,具有出色的性能表现。这款笔记本还拥有高分辨率的13.3英寸触控屏幕、优秀的键盘、内置GPU、卓越的音效等特点。在设计方面,惠普新ENVY 13采用金属机身,轻薄便携,颜值也非常高。本文将深度讲解惠普新ENVY 13的各方…

    C 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部