Day8 C基础(输入输出分支循环)

本文详细介绍了C语言中的格式化输入输出函数如printf和scanf,字符输入输出函数getchar和putchar,以及基本的编程控制结构如强制类型转换、分支语句(if-else,switch-case)、循环(for)和嵌套结构。
摘要由CSDN通过智能技术生成

输入输出

1.按格式输入输出

按格式输出

通过 man 3 printf 查看 printf函数
#include <stdio.h>
int printf(const char *format, …);
功能:按照指定的格式向终端输出
参数:format:字符串 “hello”
格式:
“%d” int
“%hd” short
“%ld” long
“%lld” long long
“%f” float
“%lf” double
“%c” char
“%s” 字符串
“%#x” 十六进制
“%#o” 八进制
“%p” 地址
“%e” 指数
“%- m .n” 含义:
.n:打印小数点后n位
m:位宽 // 当 m 大于实际位宽的时候,按 m 输出
// 当 m 小于实际位宽的时候,按照实际位宽输出
-:左对齐,默认右对齐
返回值:输出字符的个数(不常用)

按格式输入

#include <stdio.h>
int scanf(const char *format, …);

功能:按格式从终端输入
参数:同 printf;
返回值:正确输入数据的个数

当第一个数输入格式不正确时,会直接返回0

2.按字符输入输出

输入:

int getchar(void);
功能:从终端输入一个字符
参数:无
返回值:输入字符的ASCII值

输出:

int putchar(int c);

功能:向终端输出一个字符
参数:c:要输出字符的ascii值
返回值:要输出字符的ascii值

3.垃圾字符回收

通过空格回收

scanf(“%c %c”, &str, &ch);
可以回收一个或多个的空格、回车、tab

%*c

回收任意一个字符
scanf(“%c%*c%c”, &str, &ch);

getchar()

只能回收任意一个字符,一般用于循环里面

强制类型转换

int a = 5;
float b = (float)a / 2;
printf(“%f\n”, b); // 2.500000
printf(“%d\n”, a); // 5

分支语句

if

基本结构

if(表达式)
{
// 你符合这个条件的时候,就执行语句块1
语句块1;
}
else
{
// 你不符合这个条件的时候,就执行语句块2
语句块2;
}
在这里插入图片描述

分层结构

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

else
{
// 都不符合条件
语句块n;
}
在这里插入图片描述

嵌套结构

if(表达式1)
{
if(表达式2)
{
语句块2;
}
else
{
语句块3;
}
}
else
{
语句块;
}
在这里插入图片描述

注意

1)if后面可以没有else,但是else前面必须有if
2)if和else后面{}可以省略,但是只能匹配之后的一条语句

switch_case

switch(变量或表达式)
{
case 常量1: 语句块1; break;
case 常量2: 语句块2; break;
case 常量3: 语句块3; break;

case 常量n: 语句块n; break;

// 如果以上都没有匹配的话,就执行 default 后面的语句
default: 语句块n+1

}
执行顺序:
判断switch后面的表达式的结果,和case后的常量相匹配,如果匹配成功,就执行对应的语句块,如果没有匹配成功就执行default后面的语句块,遇到break结束

循环

for循环

基本结构

在这里插入图片描述
for(表达式1; 表达式2;表达式3)
{
语句块;
}

表达式1:赋初值
表达式2:循环的终止条件
表达式3:增值减值语句

嵌套结构

在这里插入图片描述
for(表达式1; 表达式2; 表达式3)
{
for(表达式4; 表达式5; 表达式6)
{
语句块;
}
}

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值