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(相当于给大家遗留一个小问题,下次会说~)


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

冲冲冲!

相关推荐
远望清一色3 分钟前
基于MATLAB的实现垃圾分类Matlab源码
开发语言·matlab
confiself12 分钟前
大模型系列——LLAMA-O1 复刻代码解读
java·开发语言
凌云行者22 分钟前
OpenGL入门005——使用Shader类管理着色器
c++·cmake·opengl
XiaoLeisj24 分钟前
【JavaEE初阶 — 多线程】Thread类的方法&线程生命周期
java·开发语言·java-ee
凌云行者25 分钟前
OpenGL入门006——着色器在纹理混合中的应用
c++·cmake·opengl
杜杜的man27 分钟前
【go从零单排】go中的结构体struct和method
开发语言·后端·golang
幼儿园老大*28 分钟前
走进 Go 语言基础语法
开发语言·后端·学习·golang·go
半桶水专家29 分钟前
go语言中package详解
开发语言·golang·xcode
llllinuuu30 分钟前
Go语言结构体、方法与接口
开发语言·后端·golang
cookies_s_s30 分钟前
Golang--协程和管道
开发语言·后端·golang