首页 > 其他分享 >0基础认识C语言(分支&循环)

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

时间:2024-06-06 23:30:02浏览次数:14  
标签:int scanf C语言 while 循环 代码 表达式 分支

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


前提回顾:

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

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

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

    return 0;
}

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

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

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

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

#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的意思是输入的内容不为空就继续输入,同样的,如果想输入两个数据,可以这样,代码如下:

#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:

#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举例:

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


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

冲冲冲!

标签:int,scanf,C语言,while,循环,代码,表达式,分支
From: https://blog.csdn.net/2302_81032013/article/details/139419173

相关文章

  • 【C语言从入门到入土】第三章流程控制
    第三章流程控制正式开始对流程控制语句的学习不是你的能力,决定了你的命运,而是你的决定,改变了你的命运。想,都是问题,做,才是答案。站着不动,永远是观众,想到做到,才是王道控制类语句帮助理解1.if()…else…条件语句,层层递进的if(条件){表达式01}else{表......
  • 八大排序(使用C语言)
    完整代码链接:诶嘿/DataStructure-码云-开源中国(gitee.com)目录一、排序的概念及应用:1.排序的概念:2.排序应用:二、常见排序算法的实现: 1 插入排序:1.1基本思想:1.2直接插入排序:1.2.1代码实现: 1.2.2测试:1.2.3时空复杂度:1.3希尔排序(缩小增量排序):1.3.1......
  • C语言通过socket实现TCP客户端
    socket概念​ 从wiki上了解,socket这个词追溯到1971年RFC147的发布。​ 目前我的理解:常用于指操作系统提供的API,该API允许使用TCP、UDP进行连接,但不仅限于TCP、UDP协议。实现目的利用系统提供函数接口,通过C语言实现对TCP服务器(IP地址)的连接,以及收发数据。实现......
  • C语言关于预处理的基础介绍
    一:预定义符号    在c语言中有一些预定义的符号,这些符号已经定义好了,用户不需要再次定义只需要使用即可。 __FILE__:显示当前进行编译的源文件__LINE__:显示当前代码行号__DATE__:显示当前文件被编译的日期__TMIE__:显示当前文件被编译的时间__STDC__:查看当前编译......
  • C语言:详解gcc驱动程序完成编译、汇编、链接的过程
    相关阅读C语言https://blog.csdn.net/weixin_45791458/category_12423166.html?spm=1001.2014.3001.5482    gcc是一个命令,严格意义上说,它只是一个驱动程序,而不是一个编译器。gcc负责调用GNU工具链中的预处理器、编译器、汇编器、链接器等工具,通过传递不同的选项给g......
  • 【C语言】指针(4)
    一、回顾 在这之前,我们学习了很多关于指针的内容,我们先在这里简单的回顾一下。1、一级指针int*p;  --整形指针-指向整形的指针 char*p;...void*p;......2、二级指针int**p; char**p;...3、数组指针--指向数组的指针int(*p)[];intmain(){......
  • C语言杂谈:函数栈帧,函数调用时到底发生了什么
            我们都知道在调用函数时,要为函数在栈上开辟空间,函数后续内容都会在栈帧空间中保存,如非静态局部变量,返回值等。这段空间就叫栈帧。    当函数调用,就会开辟栈帧空间,函数返回时,栈帧空间就会被释放。这里的释放并非清空,而是让其无效化,可以后续的使用。1,......
  • 【WPF】Dispatcher 与消息循环
    这一期的话题有点深奥,不过按照老周一向的作风,尽量讲一些人鬼都能懂的知识。咱们先来整个小活开开胃,这个小活其实老周在N年前写过水文的,常阅读老周水文的伙伴可能还记得。通常,咱们按照正常思路构建的应用程序,第一个启动的线程为主线程,而且还是UI线程(当然,WPF默认会创建辅助线......
  • 001__C语言程序入门
    一、第一个程序:helloworld配置部署好vsCode之后,就可以直接在上面写代码了,新建一个新的C程序文件,向屏幕输出一串字符“HelloWorld!”下面,从整体上来分析一下这个最简单的C语言程序,将这个最简程序的各个部分剖析清楚,明白我们写下的每一个字符的具体含义。二、C语言的基本结......
  • C语言—字符函数和字符串函数
    1.字符分类函数C语言中有一系列的函数是专门做字符分类的,也就是一个字符是属于什么类型的字符的。这些函数的使用都需要包含一个头文件ctype.h。例:将一句话中的小写字母改成大写字母。2.字符转换函数头文件:ctype.hC语言提供了2个字符转换函数:int tolower(intc);//将......