getchar()函数与scanf()函数相关知识点
来源:互联网 发布:淘宝上卖真蜂蜜的店铺 编辑:程序博客网 时间:2024/06/14 08:06
【项目1-字母及其编码】
编写一个程序,从键盘上输入一个小写字母,显示这个小写字母及它所对应的大写字母以及它们的ASCII码值。
编写一个程序,从键盘上输入一个小写字母,显示这个小写字母及它所对应的大写字母以及它们的ASCII码值。
#include <stdio.h>#include <stdlib.h>int main(){ char ch; printf("请输入一个小写字母:\n"); scanf("%c",&ch); printf("小写字母%c对应的大写字母为%c,对应的ASCII码为:%d\n",ch,ch-32,ch);//小写字母和对应的大写字母的ASCII码相差32. return 0;}心得体会:
- 对于char类型和int类型,可以理解为对内存单元中的数据解析方法不同。以上代码在编译时会用警告,是因为对应的类型不同,可以忽略。
- 在计算机中任何数据最终都是以0101的二进制代码表示,字符不能直接转为二进制,它是先将每个字符对应一个ASCII码,即一个整形数,然后将整形数转为二进制。使计算机能够识别。
- 对于%c使计算机一字符型来解析ch这个存储单元,%d则以整形来解析。
提升:
1、缓冲区:对于输入字符立即回显的是无缓冲。缓冲分为:完全缓冲和行缓冲。
- 完全缓冲:缓冲区满时被清空,常见缓冲区大小为512B、4096B。常用于文件的输入。
- 行缓冲:遇到一个换行符时,将清空缓冲区(即回显),(键盘输入)。
2、getchar()和putchar()函数:这两个函数分别是字符输入、输出函数,getchar()函数的返回值为int类型,无形参。putchar()函数返回值也为int类型,并带有int类型的形参。
3、对于以上两个输入、输出函数的换回值均为int类型,通常写代码时是这样定义的:
char ch;ch=getchar();
注意:getchar()返回一个整型值而不是字符值!
若把getchar返回值存储于ch中,将导致它被截断!允许以上代码并不会出错,字符是以ascii码表示的,0-127;但对于一下可能存在错误:
char ch ;while((ch=getchar())!= EOF ) ;这个被截断的值被提升为整形并与EOF比较,循环会出错。
4、注意:C的整型算数运算总是至少以缺省整型类型的精度来进行的。为了获得这个精度,表达式中的字符型和短整型操作数在使用之前被转换为普通整型。即:整型提升
0 0
- getchar()函数与scanf()函数相关知识点
- 8.5 scanf()与getchar()函数
- C语言中 scanf函数 与getchar 函数的相关测试
- scanf(), getchar(), 以及gets()函数注意点
- scanf(), getchar(), 以及gets()函数注意点
- gets、getchar、getch、scanf函数的区别
- scanf(), getchar(), 以及gets()函数注意点
- 输入函数gets()、fgets()、scanf()、getchar()
- getchar() 函数与 回车
- scanf()函数学习-关键知识点
- C语言基础-函数getchar和函数scanf小结
- 输入与输出函数(printf、putchar、puts和scanf、getchar)
- scanf getchar 与 eof
- getchar 与 scanf
- scanf()与getchar();
- getchar()与scanf()常见问题
- 关于scanf 与getchar
- c: scanf 与 getchar
- redis 实例
- 欢迎使用CSDN-markdown编辑器
- MyEclipse10中折行数设置
- [00101]使用多个界定符分割字符串
- bug宝典Node篇 node-inspector cb(error, NM[0].ref);
- getchar()函数与scanf()函数相关知识点
- 网络基本功系列:细说网络那些事儿(3月26日更新)
- 最接近目标的三数和
- 金牌智能人工------ 纠错 , S1 金牌
- 自己搭建SVN服务器和创建版本库-(一)搭建SVN服务器篇
- 上传图片到阿里云
- 通过GradientDrawable设置或修改view background
- C语言井字棋
- 使用Spring注解来注入属性