【C语言】分支与循环语句(一)

本文详细介绍了C语言中的if语句、switch语句、while循环和for循环,包括真假判断、代码块、else的匹配、getchar和putchar的应用,以及各种循环结构的最佳实践。通过实例演示和关键知识点解析,帮助读者掌握循环和分支控制的基础。
摘要由CSDN通过智能技术生成

1、引言

     经过两周的学习,终于对C语言中的大部分知识有了一个粗略的印象,接下来就是对C语言语法的深入学习,莫愁前方道阻且长,我自坚定迈向前方。今天就开始学习C语言分支与循环语句的第一个部分。

2、if语句

     Ⅰ、C语言中的(真/假)

      C语言中规定:0就是假,非零就是真(只要是非零,就是真,-1等负数也是真)

     Ⅱ、if语句(若要运行多条语句,就要使用代码块,即大括号{})

if(表达式)
   语句1;
else 
   语句2;

     Ⅲ、if语句中的悬空else问题

     else和离他最近的If条件语句相匹配

     Ⅳ、if条件语句的练习:输出1-100之间的奇数

3、switch语句

     Ⅰ、switch后面括号内的语句必须是整型表达式,如果是其他类型的语句,则switch语句无法编译。

     Ⅱ、每个case后面必须是整型常量表达式

     Ⅲ、default子句:default的作用是默认,如果前面的case语句不能匹配,就执行default

     Ⅳ、case和default后面加的都是冒号“:”。最好在每个case和default后面加上break,这是一个好习惯。

4、while循环

     Ⅰ、while循环中的break的作用是终止整个循环,只要break循环被执行,就会终止循环。

     Ⅱ、while循环中的continue的作用是终止本次循环,跳过本次循环的剩余部分,直接回到判断部分,判断循环还要不要继续进行。

5、for循环(重点哦!循环语句中用的最多的就是for循环)

     Ⅰ、for循环的格式

for(表达式1;表达式2;表达式3)

        循环语句

其中:表达式1为初始化部分,用于初始化循环变量

           表达式2为条件判断部分,用于判断循环什么时候终止

           表达式3为调整部分,用于循环条件的调整

     Ⅱ、写for循环的好习惯

           不在for循环体内修改循环变量,防止for循环语句失去控制;建议for语句的循环控制变量的取值采用“前闭后开区间”的写法

     Ⅲ、for循环的变种

 for循环可以同时初始化多个变量,可以同时有多个循环控制条件,可以有多个调整语句

小知识:

              1、单独一个分号;也能算是一个语句,即空语句

              2、人类高质量代码写法(滑稽.JPG),建议将变量放在等号右边,常量写在等号的左边,比较容易发现编程的问题所在。

              但是这种方法仅适用于一个常量和变量比较,两个常量和变量比较时没多大用。

if(5==a)

             3、getchar和putchar的作用

       Ⅰ、getchar的作用:getchar()会从键盘上获取一个字符,之后用整型int来储存,这时就会有一个疑问,为什么getchar获取的明明是一个字符,却要用整型储存?

int ch = getchar()

        这是因为int储存的是getchar获得的字符的ASCII值,字符对应的ASCII值是一个整型,所以需要一个整形来储存

        当getchar读取失败的时候返回一个EOF,用编译器返回定义之后我们会发现EOF= (-1)

       Ⅱ、putchar的作用,打印getchar()获得的字符,实际上getchar和putchar就是针对字符使用的输入和输出,可以用scanf和printf来代替

       

       getchar实际应用的例题如下:

 解析:

        我们需要知道一个小知识,就是当scanf函数在输入时,并不是之间从键盘上获取字符,而是从(键盘上输入字符->缓冲区->scanf),也就是说scanf获取字符是从缓冲区中获取的,并且如果在缓冲区中遇到空格或者"\n",scanf就是停止读取,只读取空格或者"\n"前面的一部分信息。而我们从键盘上输入一串信息之后,需要按下回车键,这串信息才会进入缓冲区,而回车键即为"\n",所以scanf读取了"\n"前面的信息后自动停止,但是还留下了一个\n在缓冲区之中,等待getchar()来获取。

            

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值