字符、ASCII、整数和getchar、putchar

字符是以整数形式(ASCII码的十进制数)存储在内存单元中的!

说白了,整数和字符是以同一种形式(都是整数形式)存储的,两者可以直接进行运算!

可以通过不同的输出格式(%d%cputchar())来按自己的要求来分别显示字符或者整数!

 1 //代码示例:
 2 #include<stdio.h>
 3 int main()
 4 {
 5     int sum;
 6     char a,b;
 7     a = getchar();
 8     b = getchar();
 9     sum = a+b;
10     printf("a和b的ASCII码值的和:%d\n",sum);    //%d以整数形式输出两个字符之和的ASCII码十进制值!
11     printf("两者和的字符:%c\n",sum);       //%c以字符形式输出两个字符之和的ASCII码对应的字符!
12     putchar(sum);
13     return 0;
14 }

关于getchar()和putcha()

 1 //示例代码:
 2 #include <stdio.h>
 3 int main()
 4 {
 5     char a,b,c;
 6     a=getchar();
 7     b=getchar();
 8     c=getchar();
 9     putchar(a);
10     putchar(b);
11     putchar(c);
12     putchar(‘\n‘);
13     return 0;
14 }

上面程序输入顺序:输入A,enter,B,再按enter。其中A将赋给a,换行符enter将赋给b,B将赋给c,最后的enter将敲下的上述字符输入计算机。

原文地址:https://www.cnblogs.com/rookieclimber/p/10828661.html

时间: 2024-10-18 12:59:09

字符、ASCII、整数和getchar、putchar的相关文章

c语言:用getchar函数读入两个字符给c1,c2,用putchar和printf输出。思考问题

用getchar函数读入两个字符给c1,c2,分别用putchar和printf输出这两个字符.思考以下问题: (1)变量c1和c2定义为字符型还是整型?或二者皆可? (2)要求输出c1和c2的ASCII码,应如何处理? (3)整形变量和字符变量是否在任何情况下都可以互相代替?char c1, c2;和int  c1, c2;是否无条件等价? 程序: #include<stdio.h> int main() { char c1, c2; printf("请输入两个字符c1,c2:&q

[Swift]字符串根据索引获取指定字符,依据ASCII编码实现字符和整数的快速转换

ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言. 它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646. 请注意,ASCII是American Standard Code for Information Interchange缩写,而不是ASCⅡ(罗马数字2),有很多人在这个地方产生误解. 在Swift中实现:字符串根据索

C#字符ASCII码学习经验

很多时候我们需要得到一个英文字符的 ASCII 码,或者一个汉字字符的 Unicode 码,或者从相关的编码查询它是哪一个字符的编码.很多人,尤其是从 VB 程序序转过来学 C# 的人,会报怨 C# 里为什么没有提供现成的函数来做这个事情——因为在 VB 中有 Asc() 函数和 Chr() 函数用于这类转换.但是如果你学过 C,你就会清楚,我们只需要将英文字符型数据强制转换成合适的数值型数据,就可以得到相应的C#字符ASCII码:反之,如果将一个合适的数值型数据强制转换成字符型数据,就可以得到

leetcode-13罗马字符转整数

leetcode-13罗马字符转整数 算法:转换的规律是先逐字符按照对应的阿拉伯数字累加,然后对于特殊的(I.X.C出现在左侧)要处理.处理方法:出现特殊字符组合减去双倍的左侧字符(在开始的处理中已经加过一次,而实际的结果中却是要减去,那么就需要在加的基础上减去两倍). Code: vertion : Java 1 class Solution { 2 public int romanToInt(String s) { 3 int ans = 0; 4 //处理特定字符 5 if(s.index

getchar()&amp;putchar()&amp;stdio.h

getchar():从stdio流中读字符. eof(end of file):文件结束符,在while循环中以eof作为文件结束标志.可以是文件(file),这种以EOF作为文件结束标志的文件必须是文本文件,在文本本件中,数据都是以字符的 ASCII代码值的形式存放,我们知道ASCII代码值的范围0-255,不可能出现-1,因此可以用EOF作为文件结束标志:也可以是标准输入(stdin).EOF是一个定义在stdio.h的常量,一般等于-1.在linux系统中,EOF根本不是一个字符,而是当系

C语言——常用标准输入输出函数 scanf(), printf(), gets(), puts(), getchar(), putchar(); 字符串拷贝函数 strcpy(), strncpy(), strchr(), strstr()函数用法特点

1 首先介绍几个常用到的转义符 (1)     换行符"\n", ASCII值为10: (2)     回车符"\r", ASCII值为13: (3)     水平制表符"\t", ASCII值为 9: (4)     空字符"\0" ,ASCII值为0: (5)     空:NULL (即为0): (6)     空格键space, ASCII值为32: 2 常用输入输出函数 scanf() , 从缓冲区读入数据,以空格,制

33 第一个只出现一次的字符+ASCII码

题目描述 在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置 思路:使用一个hashmap遍历一遍,统计每个字符出现的次数,然后再统计一遍,找到第一个出现一次的元素. 所有的字符有256个,可以开辟一个256的数组,直接使用字符访问就可以了,会自动转换为整数.A是65. ASCII码 class Solution { public: int FirstNotRepeatingChar(string str) { if(str.size()

过滤ASCII码中的不可见字符, ASCII三部分, 各控制字符详解

今天产品部同事报告了一个BUG,经过调试发现,由于用户输入的字符串中,包含字符0x1E, 也就是”记录分隔符”(Record Separator, Notepad++ 显示为[RS]),导致JavaScript XML解析遭遇错误.于是就想在字符串中过滤掉这些没多大用途的字符,同时又要保留部分常用的字符,例如换行,回车和水平制表符.于是写了下面一个 PHP 函数: /** * 清理字符串中的部分不可见控制字符 * * @param string $string 待处理字符串 * @return

算法 - 判断所有字符(ASCII)全不相同(Java)

判断所有字符全不相同(Java) 本文地址: http://blog.csdn.net/caroline_wendy ASCII码共有256位,字符异同判断,使用位操作即可解决(11行),位操作还可以排序非重复数字数组(11行). 位是一个二值的存储单元,直接进行操作,用于判断重复和非重复排序,节省时间和空间,可以使用bool数组代替其功能. 代码: /** * created by C.L.Wang */ public class Main { public static void main(