C语言简单练习题——No.6 ,关于字母的大小写如何转化,多组输入,缓冲区,空语句,程序的手动结束等相关问题

题目链接:

大小写转换_牛客题霸_牛客网 (nowcoder.com)https://www.nowcoder.com/practice/4e089ee8966a4ed4b306f64e68d45264?tpId=107&&tqId=33309&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking

知识点:

1. 字母的大小写转换的思路是使用 ASCII 码值

2. 大写字母与小写字母的 ASCII 码值相差 32

 常见错误案例1

 这里错误的原因是:

忽略了 getchar ( ) 函数的返回值是用户输入的字符的 ASCII码值,所以需要为其创建一个 int 型的变量来存放 getchar( ) 函数的返回值

常见错误案例2:

 这里错误的原因是:

忽视了缓冲区的存在,与 getchar ( ) 函数的只读取一个字符的特性

例如:当输入大写字母 A 进入程序后,此时缓冲区中还留有 \n 没有被程序读取,所以当第二次循环开始时,因为此时缓冲区不为空,程序无需等待用户的输入,直接将缓冲区中的 \n 读走,使之作为一个用户输入的字符来使用。

而且程序还存在的问题是:   因为没有判断表达式的存在,程序无法通过键盘的输入 ( 对于键盘的Ctrl + Z ) 来使程序停止。

所以需要加上判断表达式 EOF 

所以要使程序可以手动结束,就要设置判断表达式

3. 正确题解

注意要按照题目要求,使其输出结果分俩行输出 

 使用 getchar ( ) 函数来拿走缓冲区中的 \n 

\n是属于单个字符,所以需要单引号

空语句需要加分号

*EOF的作用是:可以使用户通过键盘的 Ctrl + z 来手动结束,其原理是 Ctrl + z 返回一个数值为 -1,而EOF的返回值就是 -1.这样便可使程序手动退出

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值