字符的输入输出可以调用函数 getchar()、putchar()、scanf()、printf()。

getchar() 函数和 putchar() 函数只能处理单个字符的输入和输出。

scanf()函数和 printf() 函数除了处理 整型 数据和 浮点型 数据的输入输出外,也可以处理 字符型 数据的输入输出。此时,在函数调用的格式控制字符串中 相应的格式控制说明为 %c 。

#include<stdio.h>
int main()
{
//printf("");char s[80]="happy!";int i;printf("%s\n",s);printf("输出字符串,后面不写[80]\n\n");printf("%s\n",s[80]);printf("输出的是s[80],然而在开头我们并没有对s[80]赋值\n\n");putchar(s[80]);printf("只写 putchar(s) 是个错误语段,写了s[80]又啥也没显示\n\n");for(i=0;s[i]!='\0';i++)printf("%c",s[i]);printf("这是printf输出的s\n\n");for(i=0;s[i]!='\0';i++)putchar(s[i]);printf("这是putchar输出的s\n\n");char c1,c2,c3;scanf("%c%c%c",&c1,&c2,&c3);printf("%c%c%c%c%c",c1,'#',c2,'#',c3);
}

输入多个字符时,这些字符之间不能有间隔。如果使用了间隔符(如空格 ),由于它本身也是字符,该间隔符就会被计算机当作输入字符,输入A后,输入了一个空格,所以 c2 的值是空格,c3 的值是 ‘b’ 。

与字符常量在程序中的表现不同,输入输出字符时,字符两侧没有单引号。
也就是在写程序的时候,要加上单引号,但是显示不会出现单引号。


C语言中,一个字符型数据 在内存中用一个字节存储它的ASCII码,它既可以按字符形式输出,也可以按整型形式输出
按字符形式输出时,可以调用函数 putchar() 或 printf() (格式控制说明用 %c ),系统 自动将存储的ASCII码转换为相应的字符后输出。
按整数形式输出时,可以调用函数 printf() (格式控制说明选用 %d %o %x等),直接输出它的ASCII码。
%d %o %x分别为十进制 八进制 十六进制。

同样,一个整数(在有效的ASCII码范围内)也可以按字符形式输出,此时,输出字符的ASCII码等于该数。

将整数按两种不同形式输出:

#include<stdio.h>
int main()
{int a;scanf("%d",&a);printf("%d %c\n",a,a);
//所以输入65,就会显示 "65 A" return 0;
}

将字符型数据按两种不同形式输出:

#include<stdio.h>
int main()
{char b;b=getchar();printf("%c %d\n",b,b);
//所以输入 A,就会显示 "A 65" return 0;
}

当然,以上你也可以尝试八进制十六进制。

计算机中包含了一些字符运算,在实际编程中是很有用的。例如,若字符型变量 ch 的值是小写字母 ‘a’~‘z’,则运算 ch-‘a’+‘A’ 把小写字母转换为大写字母
(也就是这个小写字母 ch 减去 ‘a’ 的部分,得它与 a 的差值,再加上 A ,它的大写ASCII码不就有了嘛)

若字符型变量 ch 的值是数字字符 ‘0’~‘9’,运算 ch-‘0’ 把数字字符转换为数字
若整型变量 val 的值是数字 0~9,运算 val+‘0’ 把数字转换为数字字符

举个例子,比如输入数字 65,然后用 val+‘0’ 计算,也就是65+48=113,用 %c 打印出来就是 ‘q’,它的ASCII码就是113。

最后就是想补一下 scanf 和 getchar 。

字符型数据的输入输出 运算相关推荐

  1. c语言字符型数据怎么输入输出,C语言基础之数据类型与输入/输出

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 常用的进位制 R进制数只采用R个基本数字符号,R称为数制的基数,数制中每一固定位置对应的单位值称为权,进位原则是逢R进1 ...

  2. 字符型数据和字符串常量

    字符型数据是计算机中用来表示英文字母.符号.汉字的数据.字符型数据只占用1个字节(8位)的内存单元. 字符型常量 用单引号括起来的一个直接输入的字符.例如,'A'.'a'.'3'.'+'等都是合法的字 ...

  3. c语言的字符数据与整型数据可以互相赋值,2012年计算机二级C语言字符型数据考点归纳...

    第6章 字符型数据考点归纳 6.1 字符常量 有两种形式:一是用单引号括起来的一个单字符,如′a′,′?′,′=′:二是″转义字符″,即以″\″开头的字符序列.常用的转义字符见下表. 字符形式 功 能 ...

  4. 字符型数据进行算术运算

    字符型数据进行算术运算,定义两个字符变量,通过对其进行加减运算,输出其对应的大写或小写字符,ascII 码的值. #include <stdio.h> int main () {char ...

  5. 字符与字符串的输入输出

    字符.字符串的输入输出 scanf printf getchar scanf与getchar的区别 putchar gets fgets puts cin与cout getline cin.getli ...

  6. C语言(CED)编写一个程序,求两个字符之间的加减运算。

    (请先看置顶博文)https://blog.csdn.net/GenuineMonster/article/details/104495419 复习C语言,不同的心境遇到了不同的问题: 问题: 编写一 ...

  7. 串口接收到的字符型数据如何转化成数字

    串口接收到的字符型数据转化成数字: k = USART_RXBuff[3]-0x30; 或者: k = USART_RXBuff[3]-'0';

  8. 字符型数据与数值型数据之间的转换

    (1)char字符型数据可以转换成任意一种数值类型,反之亦然.将整数转换成插入型数据时,只用到该数据的低十六位,其余部分被忽略.如:char ch=(char)0xAB0041;输出ch+'A'; ( ...

  9. stata里php代码,stata字符型数据如何转数值型

    stata字符型数据转数值型的方法:首先依次点击[File-import-Excel spreadsheet]:然后点击右上角的browser选项,并点击打开按钮:最后勾选[import first. ...

最新文章

  1. PHP的Smarty
  2. 如何在Gihub上面精准搜索开源项目?
  3. 第十章 內核同步的方法
  4. [转载] 用python写的一个简单的记事本
  5. Go语言实战-golang操作redis
  6. 我连鼠标光标都是爱你的形状——MATLAB自定义光标及png转化为光标数组
  7. 【学习笔记】python实现图像的手绘效果
  8. 博士论文-基于生成对抗网络的图像合成-阅读笔记
  9. 【历史上的今天】8 月 23 日:万维网面世 30 周年;微信公众平台正式上线;计算机先驱诞生日
  10. 大自然教给我们“知足”的生存方式
  11. Word 里文字对齐推荐这4种方法
  12. 在会计研究中使用Python进行文本分析
  13. 高精度地图:自动驾驶的向导
  14. Win11图标变成白色文件如何解决?
  15. 我的数据可视化之旅:从天文学家到数据可视化专家养成记
  16. 指令级并行(ILP)技术
  17. kerberos 之TGS_REQ、TGS_REP
  18. 洛谷 P1566 加等式
  19. suma: error while loading shared libraries: libGLw.so.1: cannot open shared object file: No such
  20. xming Error: Can‘t open display:

热门文章

  1. (2.2.8.10) Android多module下的构建版本区分
  2. CIO的BI选型思路篇
  3. 2023上半年教资笔试时间已出!注意报名时间
  4. Python中的lambda和apply用法
  5. 你知道Python是什么意思吗?
  6. React中使用Markdown编辑器
  7. 视频人脸识别和图片人脸识别的关系
  8. 数字IC设计和CS选那个?
  9. 这份日志格式规范,建议收藏!!!
  10. 【项目管理案例】第三期:如何应对项目中的风险