0基础认识C语言(分支&循环)

大家今天有没有开心的敲代码呢?hhhhhh让我们今天继续走进C语言~


前提回顾:

上节课我们学习了一些单目操作符和双目操作符,还聊了一会儿 scanf 和 printf ,今天我们对前一次的内容做一次补充

1.如果你想输出一个保留五位小数并且让他右对齐十格,你应该怎么办呢?这个时候我们也是有办法的,以输出 2.421 为例,代码如下:

cpp 复制代码
#include <stdio.h>
int main()
{
    printf("%*.*f\n", 10, 5, 2.421);
    printf("%10.5f\n", 2.421);

    return 0;
}

这里给出两种方法,无论哪一种都可以实现

  1. scanf 会自动过滤空白符,比如空格,制表符,换行符等

3.上次让大家尝试了一下用 scanf 实现多组输入,这里给大家演示一下多组输入(目前用循环给大家演示)

这里要用到循环,如果没有看懂,学完循环和选择再看可能会好理解一些

cpp 复制代码
#include <stdio.h>
int main()
{
    //遇到特殊字符停止输入,以输入#停止输入为例
    char a ;
    while (scanf("%c", &a) != EOF)
    {
        if (a != '#')
            printf("%c", a + 1);
        else
            break;
    }
    //这里为了区分输入输出所以输出要加一
    return 0;
}

这个要知道 scanf 的返回值是怎么理解的,聊聊 scanf 的返回值,其实是当你输入的数据一一对应的时候,这个时候有几个匹配成功,返回值就是几,而这里EOF的意思是输入的内容不为空就继续输入,同样的,如果想输入两个数据,可以这样,代码如下:

cpp 复制代码
#include <stdio.h>
int main()
{
    int a = 0;
    int b = 0;
    while (scanf("%d %d", &a, &b) == 2)
    {
        printf("66大顺");
    }
    /*因为没有给定停止条件,所以这里会一直循环*/
    return 0;
}

关系操作符的补充:

大于 小于 等于 不等于 大于等于 小于等于 赋值

> < == != >= <= =

这里大家要注意赋值和等于不是一回事,赋值是把右边的值赋给左边的值,而等于只能判断左右两边是否相等


正文继续:

一、选择结构(if 和 switch)

1.if

if 语句一般用来判断一些表达式,用法一般为:

if ( 表达式 ){表达式成立要运行的代码;}

else if ( 表达式 ){表达式成立要运行的代码;}

else{以上两行都不满足的其它所有情况要运行的代码;}

这个逻辑是这样的:在上面三行代码中,如果要用一定是有第一行的,另外两行看自己需求,如果三行都写,那么只会进入三行中的其中一行代码,要是你写了两个 if 语句(也就是第一行),则两个 if 都会进行判断

2.switch

switch 一般也是用来分情况而定,用法一般为:

switch(整型表达式)

{

case 0:

caes 1:

......

}

这里大家要注意

  • case 后面跟的是整型常量表达式,不能是变量名称,也不能是浮点数
  • 而且如果没有break停止的话会从整型表达式给出的情况继续往下执行语句,直到最后一条语句执行完毕
  • default的用法是可以放在任意位置的,如果不在 case 的范围内,就会执行 default 的语句

大家可以自行尝试比如输出1~7分别对应出周一到周日的情景

二、循环(for & while & do while)

1. for 循环

for (初始值; 循环条件; 变量的变化)

{

循环内容

}

为了让大家更加清楚,我们直接举一个最简单的例子,打印1~5:

cpp 复制代码
#include <stdio.h>
int main()
{
    int i = 1;
    for (i = 1; i <= 5; i++)
    {
        printf("%d\n", i);
    }
    return 0;
}

首先我们要给变量 i 赋值为1,其次在 for 循环的语句里面,第一个分号前表示变量的初始值(i = 1),第二个分号表示变量的循环条件(i <= 5【意思为只要 i <= 5就会循环】),最后则是此变量的变化规则(i++【表示每次循环 i 都会 +1】)

2.while循环

while(表达式)

{

循环的内容

}

这里同样我们用打印1~5举例:

cpp 复制代码
#include <stdio.h>
int main()
{
    int i = 1;
    while (i <= 5)
    {
        printf("%d\n", i);
        i++;
    }
    return 0;
}

这里就是每次输出完 i 的值,程序继续往下走,然后 i++ 表示 i+1 ,这个时候 i 就会从1变成2,依此类推,直到 i > 5,循环结束

3.do while

do

{

循环内容

}while(表达式)

这里的意思是先进入循环再做判断,大家可以尝试输出1~5(相当于给大家遗留一个小问题,下次会说~)


今天的内容对新手而言,大家要好好消化,自己多实践几次,看懂和自己会敲代码是两种体验

冲冲冲!

相关推荐
小小数媒成员1 分钟前
UGUI 性能优化(详细,全,深入)
开发语言·unity·游戏引擎
小O的算法实验室2 分钟前
IEEE TCYB,着色旅行商问题:模型、求解与应用
算法
h_a_o777oah3 分钟前
【图论】网络流:Dinic 算法模板实现原理及解题技巧
c++·算法·图论·acm·网络流·最小割·dinic算法
大黄说说4 分钟前
告别卡顿:Android UI 性能优化,布局层级过度绘制实战排查
开发语言
千谦阙听8 分钟前
【 C++篇】:模板初阶——泛型编程、函数模板与类模板
开发语言·c++·学习·visual studio
SEO_juper10 分钟前
2026年用Python检测网站薄内容与重复页:用向量相似度找出“搜索引擎眼中一样“的页面(附完整代码)
开发语言·前端·seo·独立站·谷歌优化
傲世仙尊11 分钟前
预处理详解-define宏井号条件编译一篇过
linux·c语言
imDwAaY13 分钟前
消息队列四大核心问题:顺序性、幂等性、可靠性与一致性
学习·kafka·rabbitmq
老王爱玩车17 分钟前
第6讲:数组和函数实践-----控制台扫雷
c语言·开发语言·学习
我不会起名字32221 分钟前
一天一道力扣Hot100(37):深度优先算法--括号生成
java·数据结构·c++·后端·python·算法·go