首页 > 编程语言 >C语句和程序流

C语句和程序流

时间:2024-10-17 18:19:23浏览次数:3  
标签:语句 case int 程序 while 循环 表达式

1.C语言表达式和语句

在C中,表达式代表值,而语句代表给计算机的指令。

表达式
表达式运算符操作数组成。最简单的表达式只是一个不带运算符的常量或者变量,例如12或者num。复杂一些的例子是20+30和a=12。


语句
语句是对计算机的命令。任何以分号结尾的表达式都是一个语句,它不一定要有意义。语句可以是简单语句复合语句简单语句(simple statement)以分号结尾,下面是一些例子:

int num;//声明语句
num=10;//赋值语句
printf("hello Clang!");//函数调用语句
while(i<10) num++;//控制语句
;//空语句什么也不做

(从技术上说,C标准把声明归于它们自己的类别而不是把它们划为语句类别。)
复合语句(compound statement)代码块(block)由用花括号括起来的一个或多个语句(它们本身也可以是复合语句)组成。

2.C语言if选择结构 

if else选择程序结构用于判断给定的条件,根据判断条件的成立与否来控制程序的流程。选择结构有单选择双选择多选择3种形式,单选择结构用if语句实现。

// method 1:
if(表达式) /*若条件成立则实行花括号里的语句,反之则不执行*/ 
{ 
    //语句 
}

// method 2:
if(表达式) /*若表达式成立则执行语句1,否则执行语句2*/ 
{ 
    //语句1 
} 
else 
{ 
    //语句2 
}

// method 3:
if(表达式) /*如果表达式成立,执行语句1否则继续判断表达式2*/ 
{ 
    //语句1 
} 
else if(表达式2) /*如果表达式成立,执行语句2否则继续判断表达式3*/ 
{ 
    //语句2 
} 
else if(表达式3) /*如果表达式成立,则执行语句3否则继续判断下一个表达式*/ 
{ 
    //语句3; 
} 
//… … 
else /*如果以上表达式都不成立 则执行语句4*/ 
{ 
    //语句4 
}

例子:

if(flag>=90)
{
    printf("Good\n");
}
else if(flag>=60)
{
    printf("passed");
}
else
{
    printf("failed\n");
}

 3.C语言switch case语句详解

对于有三种或更多的结构,C语言除了用多分支选择结构else if之外,C语言还提供了switch的结构。

switch语句的执行过程为:首先计算表达式的值,然后依次与常量表达式依次进行比较,若表达式的值与某常量表达式相等,则从该常量表达式处开始执行,直到switch语句结束。若所有的常量表达式的值均不等于表达式的值,则从default处开始执行。一般形式如下:

switch(表达式) /*首先计算表达式的值*/ 
{ 
    case 常量表达式1:语句1; 
    case 常量表达式2:语句2; 
    case 常量表达式3:语句3; 
    // …… 
    case 常量表达式n:语句n; 
    default:语句n+1;
}

例子:

switch(value)
{
    case 1:printf("one");
    case 2:printf("two");
    case 3:printf("three");
    default:printf("other");
}

需要注意的是,switch中每个条件(case)是比较相等与否,而else if中的条件除了可以比较相等以外,还可以满足某个区间,这是两者的使用范畴不一样.

4.C语言break语句的用法

break,顾名思义,跳出的意思,仅用于跳出switch结构循环结构,用于提前结束switch结构或循环。

如switch结构中,我们知道switch结构会判断从哪个case开始执行,然后接着后面所有的case后面的语句都执行完,但通常情况下我们希望仅执行一个case后面的语句,不希望输出多余的信息,因此这个时候就可以使用break语句跳出结束switch结构,如以下程序:

#include<stdio.h>
int main()
{
    int value;
    scanf("%d",&value);
    switch(value)
    {
        case 1:printf("one");break;
        case 2:printf("two");break;
        case 3:printf("three");break;
        default:printf("other");break;
    }
    return 0;
}

大家可以看到每个case后面出了正常输出之外,还多加了一个break语句,用于提前结束switch结构。 

5.C语言while循环语句详解

C语言提供三种循环结构,分别为while循环do while循环for循环

while语句创建一个循环,该循环在判断表达式为假(或0)之前重复执行。while语句是一个入口条件(entry-condition)循环,在进行一次循环之前决定是否要执行循环。因此有可能一次也不执行。循环的语句部分可以是一个简单语句或一个复合语句

while循环其一般式如下:

while(表达式) 
{ 
    循环体语句 
}

在表达式为假(或0)之前重复执行循环体语句部分。 

如以下完整代码:

#include<stdio.h>
int main()
{
    int i=0;
    while(i++<20)
    {
        printf("count %d\n",i);
    }
    return 0;
}

 6.C语言do while循环语句详解

do while语句

do while语句创建一个循环,它在判断表达式为假(或0)之前重复执行。do while语句是一个退出条件循环,在执行一次循环之后才决定是否要再次执行循环,因此循环至少要被执行一次。循环的语句部分可以是一个简单语句或一个复合语句

do while循环其一般式如下:

do 
{ 
    循环体语句 
}while(表达式);

在表达式为假(或0)之前重复执行循环体语句。

如以下代码:

#include<stdio.h>
int main()
{
    int i=0;
    do
    {
        printf("count %d\n",i);
    }while(i++<20);
    return 0;
}

屏幕上将循环20次打印20行输出。

7.C语言for循环语句详解

C语言for循环
 

for语句使用由分号隔开的三个控制表达式来控制循环过程。初始化表达式只在开始执行循环语句之前执行一次。如果判断表达式为真(或非0)就执行一次循环。然后计算更新表达式并再次检查判断表达式的值。for语句是一个入口条件循环,在进行一次循环之前决定是否要执行循环,因此有可能循环一次也不执行。循环的语句部分可以是一个简单语句或一个复合语句

for循环其一般式如下: 

for(初始化表达式;判断表达式;更新表达式)
{
    循环体语句 
}

循环在判断表达式为假(或0)之前重复执行。

如以下代码:

#include<stdio.h>
int main()
{
    int i;
    for(i=0;i<20;i++)
    {
        printf("count is %d\n",i);
    }
    return 0;
}

for循环完全可以替换whiledo while循环,由于循环的三大条件:初始值增量循环条件都写在一起,避免了while循环do while循环容易遗忘初始化、增量的情况,并且书写起来更简洁、直观,控制能力更强,请大家理解并学会for循环,并且通过for循环理解循环的必要条件,更深刻的理解循环的本质。 

8.C语言循环的嵌套讲解(附实例)

通过学习循环的语法,大家应该已经掌握了循环的使用。但实际的训练、比赛、开发以及更多的实用场景中,可能会有更多复杂的使用需求,也就是循环的嵌套,今天我们来熟悉和掌握这种用法。

循环的嵌套,即循环中还有循环,类似这样的方法:

#include<stdio.h>
int main()
{
    int i,j;
    for(i=0;i<10;i++)
    {
        for(j=0;j<10;j++)
        {
            printf("i=%d,j=%d\n",i,j);
        }
    }
    return 0;
}

这就是典型的循环嵌套的写法。

我们可以看到for循环里的循环体亦然是一个循环体(while、do-while循环也如此,也可以三种循环混合使用),这种情况下,内部的循环全部执行完(即j从0执行到10),外部的循环才会执行一次(即i会增加1),这就是循环嵌套的最大的规律和理解关键,即外部循环执行一次,内部循环执行一轮!

请大家一定要理解以上规律,然后上机运行此程序,然后观察i和j的值变化来加深对循环嵌套的理解,之后大家可以完成本节课作业。

题目:九九乘法表

输出格式: 输出九九乘法表,要求乘法的乘积结果共占三位并靠左对齐

注意:要使用双重循环!

样例:

1*1=1
1*2=2  2*2=4
1*3=3  2*3=6  3*3=9
1*4=4  2*4=8  3*4=12 4*4=16
1*5=5  2*5=10 3*5=15 4*5=20 5*5=25
1*6=6  2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7  2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8  2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9  2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 

 c 语言代码实现

#include<stdio.h>
int main()
{
    for(int i=1;i<=9;i++)
    {
        for(int j=1;j<=i;j++)
            printf("%d*%d=%-3d",j,i,i*j);
        puts("");
    }
    return 0;
}

9.C语言continue语句

continue,顾名思义,是继续的意思,它仅用于循环中,用于提前结束本次循环,即跨过continue后面的循环语句,提前进入下次循环。

怎么样,能理解吗?能理解当然好,不理解不要紧,我们继续举例为大家讲解。比如有一个需求,要求输出100以内的偶数和,大家想想应该怎么实现呢?

我们可以写一个循环,从0~100,然后呢做一个if判断,如果发现是奇数就过滤掉,进入下次循环,如果是偶数就加起来。这样循环结束就是需求的结果了。大家可以先自己完善思路并尝试编码实现。

#include<stdio.h>
int main()
{
    int n=0;
    int sum=0;
    for(n=0;n<100;n++)
    {
        if(n%2!=0) //如果对2取余不等于0,说明没有整除,当然不是偶数啦
        {
            continue;
        }
        sum=sum+n;
    }
    printf("%d\n",sum);
    return 0;
}

需要注意的是,continue语句并不能像break那样可以在switch循环中都可以使用,continue只能在循环中使用!这点大家务必牢记!

本章习题有人需要的话可以私聊

标签:语句,case,int,程序,while,循环,表达式
From: https://blog.csdn.net/xinfanyyds/article/details/143019874

相关文章

  • 如何在不删除应用程序的情况下释放 iPhone/iPad 上的空间
    您是否经常收到存储空间已满的提示?当您的iPhone存储空间不足时,您将无法安装新的应用程序、拍照或下载文件。如果您正在使用所有应用程序且不想卸载任何应用程序,可以采取哪些措施来释放iPhone上的一些空间呢?本文将向您展示如何在不删除任何应用程序的情况下释放iPhone的空间。......
  • Java基于微信小程序的大学生兼职管理系统,附源码+文档
    博主介绍:✌Java老徐、7年大厂程序员经历。全网粉丝12w+、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌......
  • 《程序员修炼之道:从小工到专家》读书笔记 01
    编程原则与最佳实践编程原则DRY(Don'tRepeatYourself):避免重复代码。通过抽象和封装来提高代码的复用性,减少维护成本。KISS(KeepItSimple,Stupid):强调简洁性。程序越简单,出错的可能性越小,理解和维护也越容易。YAGNI(YouAren'tGonnaNeedIt):不要过早地为未来的需求设计复......
  • Python桌面应用程序中的用户界面优化与体验
    Python桌面应用程序中的用户界面优化与体验从零开始:打造你的第一个Python桌面应用快速搭建基础界面:窗口、按钮和标签视觉盛宴:美化你的应用程序界面使用样式表定制外观:QtStyleSheets(QSS)示例图标与图像:让应用图标更吸引人添加应用图标主题切换:实现深色模式与浅色模......
  • 短视频去水印小程序流量主最新接口带配音功能
    短视频去水印小程序最新版包更新接口支持对接流量主盈利支持各大短视频平台如:抖音、快手、等可提一键取视频文案、可一键分析主页视频链接地址工具新增:带配音功能,文案提取功能,独立后台,可以设置卡密,后台制作卡密,前台激活,附:功能性工具类小程序......
  • 毕业设计——基于微信平台的居民出行调查小程序(附源码)
    摘 要随着微信的普及,基于微信平台的居民出行调查小程序系统可以为居民调查提供方便。首先调查研究问卷调查、调查活动服务的需求和系统所包含的各种功能。接着研究该系统的架构、数据库的结构、系统运行流程等以及微信平台的接入技术和功能实现相关技术,最后对系统进行测试......
  • python+flask框架的地震救灾小程序前台8(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容选题背景地震作为自然灾害之一,其突发性和破坏性给人类社会带来了巨大的生命和财产损失。当前,关于地震救灾的研究主要集中在地震预警技术、灾后救援......
  • python+flask框架的党建appapp8(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容选题背景随着信息技术的飞速发展,党建工作也逐渐向数字化、智能化方向转型。关于党建信息化的研究,现有研究主要以传统党建模式与信息技术的融合为主......
  • python+flask框架的代驾小程序设计与实现实现18(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容选题背景随着城市化进程的加速和交通安全意识的提升,代驾服务逐渐成为人们日常生活中不可或缺的一部分。特别是在饮酒后或长途驾驶疲劳时,代驾服务为......
  • python+flask框架的大学校园宿舍微信报修小程序小程序 38(开题+程序+论文) 计算机毕业
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容选题背景随着信息技术的飞速发展和智能手机的普及,微信作为国内最大的社交平台之一,其小程序功能已成为连接线上与线下的重要桥梁。在大学校园中,宿舍......