C语言详细分析讲解流程控制语句用法

yizhihongxing

C语言详细分析讲解流程控制语句用法

在C语言中,流程控制语句可以控制程序的执行顺序,根据不同的条件分支执行不同的语句,还可以循环执行语句。本文将详细分析C语言中常用的流程控制语句的用法,包括条件语句和循环语句。

条件语句

if语句

if语句用于判断一个条件是否成立,如果条件成立则执行指定的代码块。if语句的一般结构如下:

if(条件)
{
    满足条件时执行的语句;
}

例如,判断一个整数是否大于0:

#include <stdio.h>

int main()
{
    int x = 10;
    if(x > 0)
    {
        printf("x是正数\n");
    }
    return 0;
}

if-else语句

if-else语句用于判断一个条件是否成立,如果成立则执行 if 语句后面的代码块,否则执行 else 后面的代码块。if-else语句的一般结构如下:

if(条件)
{
    满足条件时执行的语句;
}
else
{
    不满足条件时执行的语句;
}

例如,判断一个整数是否为偶数:

#include <stdio.h>

int main()
{
    int x = 10;
    if(x % 2 == 0)
    {
        printf("x是偶数\n");
    }
    else
    {
        printf("x是奇数\n");
    }
    return 0;
}

if-else if-else语句

if-else if-else语句用于判断多个条件,如果第一个条件不成立,就继续判断第二个条件,以此类推,直到条件成立。if-else if-else语句的一般结构如下:

if(条件1)
{
    满足条件1时执行的语句;
}
else if(条件2)
{
    满足条件2时执行的语句;
}
else
{
    所有条件都不满足时执行的语句;
}

例如,判断一个整数的正负和零:

#include <stdio.h>

int main()
{
    int x = -10;
    if(x > 0)
    {
        printf("x是正数\n");
    }
    else if(x < 0)
    {
        printf("x是负数\n");
    }
    else
    {
        printf("x是零\n");
    }
    return 0;
}

循环语句

while循环

while循环用于重复执行一段代码,只要满足条件就一直执行。while循环的一般结构如下:

while(条件)
{
    循环执行的语句;
}

例如,输出1到10:

#include <stdio.h>

int main()
{
    int i = 1;
    while(i <= 10)
    {
        printf("%d ", i);
        i++;
    }
    printf("\n");
    return 0;
}

do-while循环

do-while循环和while循环类似,只不过它先执行一次循环体,再判断条件是否成立。因此,do-while循环至少会执行一次循环体。do-while循环的一般结构如下:

do
{
    循环执行的语句;
}
while(条件);

例如,输出1到10:

#include <stdio.h>

int main()
{
    int i = 1;
    do
    {
        printf("%d ", i);
        i++;
    }
    while(i <= 10);
    printf("\n");
    return 0;
}

for循环

for循环用于在已知循环次数的情况下执行重复操作。for循环的一般结构如下:

for(初始化; 条件; 更新)
{
    循环执行的语句;
}

例如,输出1到10:

#include <stdio.h>

int main()
{
    int i;
    for(i = 1; i <= 10; i++)
    {
        printf("%d ", i);
    }
    printf("\n");
    return 0;
}

示例说明

以判断一个数是否是质数为例进行说明。质数是指只能被1和自身整除的数,而且大于1。代码如下:

#include <stdio.h>

int main()
{
    int x, i;
    printf("请输入一个正整数:");
    scanf("%d", &x);

    if(x <= 1)
    {
        printf("%d不是质数\n", x);
    }
    else
    {
        for(i = 2; i <= x / 2; i++)
        {
            if(x % i == 0)
            {
                printf("%d不是质数\n", x);
                break;
            }
        }

        if(i > x / 2)
        {
            printf("%d是质数\n", x);
        }
    }

    return 0;
}

用户输入一个正整数,程序判断是否小于等于1,如果是则输出不是质数,否则从2到x/2进行遍历,如果存在x能被整除的i,则输出不是质数,否则输出是质数。以上就是判断一个数是否是质数的完整程序。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言详细分析讲解流程控制语句用法 - Python技术站

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

相关文章

  • C++设置超时时间的简单实现方法

    以下是“C++设置超时时间的简单实现方法”的完整攻略。 一、背景介绍 在使用C++进行网络编程时,经常会遇到一些需要设置超时时间的场景,例如: 在进行HTTP请求时,等待服务器返回数据的时间超过设定的时间(例如10秒),则认为该请求失败; 在进行socket通信时,若对方长时间未响应,则认为该连接已超时,需要关闭连接。 本文将介绍如何在C++中简单地实现设置…

    C 2023年5月23日
    00
  • C++ move()函数案例详解

    C++ move()函数案例详解 什么是move()函数? move()函数是C++11中提供的一种对于对象进行右值引用(Rvalue Reference)的操作。该函数能够将对象转换成右值引用,实现对象的移动(Move)而非拷贝(Copy)。 为什么需要move()函数? 在C++的编程过程中,我们经常需要对于对象进行拷贝操作,以便进行如参数传递、返回值传…

    C 2023年5月22日
    00
  • C语言编程递归算法实现汉诺塔

    C语言编程递归算法实现汉诺塔的完整攻略 汉诺塔问题介绍 汉诺塔问题是经典的递归算法问题,首先是在1908年由Edouard Lucas提出,原始的问题定义为: 有三根相邻的柱子A、B、C,A柱子上有64个盘子,盘子大小不等,大的在下,小的在上。现在要把A柱子上的盘子全部移到C柱子上,并且每次只能移动一个盘子,大盘子不能叠在小盘子上面,请问至少需要多少次移动?…

    C 2023年5月23日
    00
  • Json对象与Json字符串互转(4种转换方式)

    Json对象与Json字符串的互转是前端开发中经常遇到的问题,本文将介绍4种不同的转换方式。 1. 通过JSON.stringify()将JSON对象转换为JSON字符串 使用 JSON.stringify() 方法可以将一个 JSON 对象转换成 JSON 字符串。这种转换方式可以将一个 JavaScript 对象转换为 JSON 字符串,并可以对该字符串…

    C 2023年5月22日
    00
  • java 出现NullPointerException的原因及解决办法

    Java出现空指针异常(NullPointerException)的原因及解决办法 在Java编程中,空指针异常是一种常见的错误类型。它通常发生在一个对象上,当试图对一个为null的对象进行操作时,就会抛出空指针异常。本文将分析空指针异常的原因,并给出解决办法。 原因 空指针异常通常发生在以下情况: 操作为null的对象 String str = null;…

    C 2023年5月23日
    00
  • C语言 strncmp()函数

    当我们需要比较两个字符串时,可以使用C语言中的strncmp()函数。以下是有关此函数的完整使用攻略: 函数介绍 strncmp()函数用于比较两个字符串的前n个字符。此函数返回值是一个int类型,0表示两个字符串相等,1表示第一个字符串大于第二个字符串,-1表示第二个字符串大于第一个字符串。 函数语法 strncmp(const char str1, co…

    C 2023年5月9日
    00
  • C语言中bool变量的深入理解

    下面我来详细讲解“C语言中bool变量的深入理解”: 什么是bool变量? bool变量(布尔变量)是C语言中的一种数据类型,它的取值只有两个:true或false,用于存储逻辑值。 bool变量的定义和声明 在C语言中,使用标准库头文件stdbool.h来定义和声明bool变量。在使用布尔变量之前,必须先声明它们。例如: #include <stdb…

    C 2023年5月23日
    00
  • C/C++ 引用作为函数的返回值方式

    C/C++ 中引用是一种特别的数据类型,其本质是指向其他变量地址的别名。引用作为函数的返回值方式,可以避免拷贝对象造成的性能浪费,并且使代码更加简洁易懂。 返回值为左值引用 当函数的返回值声明为左值引用时,我们可以在函数内返回对象的引用,由于返回值是一个引用,因此可以对该对象进行修改。下面是一个简单的例子: #include <iostream>…

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