C语言day04(输入输出、垃圾字符、分支语句)

C语言day04

【1】按照字符输入输出

1》输出:putchar

定义格式:int putchar(int c);

功能:按照字符输出,向终端输出一个字符

参数:要输出的字符的ascii值、字符

返回值:输出字符的ASCII值

2》输入:getchar

定义格式:int getchar(void)

功能:按照字符输入,从终端输入一个字符

参数:无

返回值:输入字符的ascii值

练习:

(1)尝试使用putchar和getchar完成小写字母转大写字母

输入:a

输出:A

复习练习:

答案:A C

注意:当有符号数和无符号数进行计算时,转成无符号数进行计算

【2】垃圾字符

垃圾字符:空格、tab、回车

回收垃圾字符的方法:%*c 空格 getchar

(1)%*c:只能回收一个字符

只能回收这两个字符中间的一个垃圾字符,要想回收多个,则需要多个%*c

(2)空格:可以回收多个

使用空格,这时你在这两个字符中间不论输入多少个垃圾字符,都不会影响终端读入有效字符。

(3)getchar:用于循环语句中

不加getchar

输入有效字符后会加一个回车来确认,这时这个回车会被当成垃圾字符存在缓冲区内,当下次循环时会会先读入缓冲区的垃圾字符,导致出现错误。

加上getchar后

getchar会把回车吃掉,这时就不会出现错误。

(4)强制转换:在需要转换的变量前面加括号,在括号内填入需要转换的类型(类型)

例:int a = 9;

float b = (float)a/2

这就是把整型的a强制转换为一个浮点型。

【3】分支语句

1》if else

语法:

if(表达式)

{

//当表达式成立执行的代码 代码块1

}else

{

//当表达式不成立执行的代码 代码块2

}

执行顺序:首先判断表达式是否成立,若成立执行代码块1,不成立则执行代码块2

注意:(1)if语句的花括号可以省略,但是省略后就只能控制紧跟在他后面的第一个语句了

(2)if语句后面可以没有else,但是els语句前面不能没有if语句

2》分层结构:if..... else if .... else if ......else

语法:

if(表达式1)

{

//当表达式1成立执行的代码 代码块1

}else if(表达式2)

{

//当表达式2成立执行的代码 代码块2

}else if(表达式3)

{

//当表达式3成立执行的代码 代码块3

}......

else{

//以上条件都不满足执行的代码 代码块4

}

执行顺序:判断表达式1,如果表达式1成立,执行代码块1,其他语句不再执行,但是如果表达式1不成立,继续判断表达式2,如果表达式2成立执行语句块2, 其他语句不再执行,.......如果所有表达式都不成立,执行执行else后面的代码块

3》switch case

语法:

switch(变量或表达式)

{

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

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

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

...

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

default:语句块n+1;

}

执行顺序:判断表达式的结果等于哪一个case后面的常量值,对应执行后面的语句块,break跳出(结束判断,后面代码不执行)如果所有case后面的值都不相等,执行default的语句块

注意:(1)switchd的表达式不能是字符串或浮点型

(2)case后面只能跟常量

(3)break 可以省略,省略后就不会跳出该语句,会紧跟着执行下一条语句

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值