大家今天有没有开心的敲代码呢?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;
}
这里给出两种方法,无论哪一种都可以实现
- 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(相当于给大家遗留一个小问题,下次会说~)
今天的内容对新手而言,大家要好好消化,自己多实践几次,看懂和自己会敲代码是两种体验
冲冲冲!