C语言之简单的字母大小写转换
最近在刷题网站上碰到一个题:输入一个小写字母,将其转换为大写字母.
话不多说,先看代码和结果
#include<stdio.h>
int main()
{ char ch;scanf("%c",&ch);printf("%c",ch-32);return 0;
}
在Linux里,编译结果如下
$gcc variable1.c
$./a.out
a
A
可能很多小伙伴会问,代码中“ch-32”的意义是什么,这就涉及ASCII码的概念(American Standard Code for Information Interchange:美国信息交换标准代码),其产生的原因是因为在计算机中,任何数据都以二进制的形式存储,因此我们没法用二进制去真正意义上的存个字母"a"进去,因为再怎么说二进制数最后只能落实成数而不是文本。
这就好比以前谍战片里的电报只能发送电信号,无论如何也不可能发送一个手写的字母"a",如果我们想用电报表示文本,那就只能对每一个文本进行编码(Encoding),这就是摩尔斯密码产生的背景:用电信号表示文本。
对于ASCII也是同理,它是一种把字符编码成二进制的方式:
如图所示,数字 32–126 分配给了能在键盘上找到的字符
在C语言中,ASCII码代表的数字和字母转换如下所示;
#include<stdio.h>
int main()
{ char ch;scanf("%c",&ch);printf("%c",ch);return 0;
}
编译过程如下
$gcc variables2.c
$./a.out
a
97
这里就涉及了C语言中另一个重要的概念:类型转换
分类如下:
1.自动类型转换:在程序运行的时候,低精度的数据会自动向高精度的数据
进行类型转换,数据的精度度不会丢失。例如int=3,转换为float为3.00,对数据精度
没啥影响,但是如果3.13转换为int类型的,就可能会因为四舍五入而导致
其精准度降低。
一般顺序为char - short - int - long - float -double .....
2.强制类型转换:在我们运算的过程中,有的时候会对数据进行短暂的类型转换,
去进行运算,让数据更加精确(常应用于指针,因为指针指向的数据不管如何转换,
指针的精度都是不会丢失的,但是当高精度向低精度转换时,数据会丢失)。
ASCII表中’a代表的值为97,减去32为‘A’。
在编译的过程中,变量‘ch’是char类型的,C编译器会将变量’ch’转换为ASCII数值,减去32后为变量’ch’的ASCII值为65,在输出时会转换为字母’A’
另外,+32可以将大写字母转换为小写字母。
C语言之简单的字母大小写转换相关推荐
- C语言实现字符串英文字母大小写转换
Q:输入一串字符串,将其中的大写字母换成小写,小写字母换成大写输出. Eg:输入abdAd,输出ABDaD 思路: 把'A'变为'a' 我们需要把01000001变为01100001,即把第六位的0变 ...
- c语言中字母大写转小写,C语言中字母大小写转换的简单操作
大写字母要转换小写字母,要怎么操作呢?而在C语言开发中,我们经常会遇到这样或者那样的问题,别着急,爱站技术频道为你细细道来C语言中字母大小写转换的简单操作. C语言tolower()函数:将大写字母转 ...
- 汇编语言:简单的英文字母大小写转换
简单的英文字母大小写转换
- c语言中字母大小写转换的两种办法
起因: 牛客网一道题,需要按行输入多组字母,然后按行输出其转换大小写后的字母,我们来探讨一下. 分析: 有两个要点需要注意,一是要按行多组输入,二是要字母大小写转换.首先是按行多组输入,我们可以用wh ...
- C语言 —— char类型字母大小写转换
char类型的使用 一.字符型:char 二.ASCII表 三.例题:字母大小写转换 一.字符型:char # include <stdio.h> int main (void) {cha ...
- php 清除英文字母,PHP英文字母大小写转换函数小结
PHP英文字母大小写转换函数小结 发布于 2015-01-23 10:54:41 | 143 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypertext Pr ...
- php 英文小写变大写,PHP_PHP英文字母大小写转换函数小结,每个单词的首字母转换为大写 - phpStudy...
PHP英文字母大小写转换函数小结 每个单词的首字母转换为大写:ucwords() $foo = 'hello world!'; $foo = ucwords($foo); // ...
- latex中字母大小写转换实践
latex中字母大小写转换实践 要点概览 目的 实现常用的字母大小写转换,可以用于常规的字符串处理以及biblatex参考文献样式定义 全部大写/全部小写 句首大写(句首字母大写其它不变,句首字母大写 ...
- C++ 字符串字母大小写转换
C++ 字符串字母大小写转换 使用algorithm,里面的tolower(转小写)toupper(转大写) #include <iostream> #include <string ...
最新文章
- SWT中调用Automation的方式
- android 4.0之前版本号出现JSONException异常
- 数据结构 排序和查找
- Linux和Windows平台 动态库.so和.dll文件的生成
- Golang经典面试题下
- POJ 2352 Stars (线段树)
- Briage桥接设计模式
- 题目:JavaWeb乐购资源管理系统(附源码链接免费下载)
- Java面试必备的集合源码详解,砥砺前行!
- Postman使用入门
- 运动社交或将成为“反科技”先锋
- [2178]链表的有序集合 (链表的插排法+重复元素的删除) SDUT
- Processing的条件式
- 【MATLAB】从文件读取:xlsread、load
- 怎样用php制作动态烟花,动态烟花图片之自己动手制作
- html快闪软件制作,快闪文字视频制作
- Bugku:杂项 一枝独秀
- 《精进:如何成为一个很厉害的人》 采铜
- 【Hibernate步步为营】--映射合集汇总
- 成功抗“疫”背后的IT科技
热门文章
- java传感器_传感器 - javawebsoa - 博客园
- 谷歌的15条招人秘诀
- MySQL多实例(一台服务器搭建多个数据库)
- 解决Unity旋转改变局部坐标问题
- Word在试图打开文件时遇到错误。 请尝试下列方法: * 检查文档或驱动器的文件权限。 * 确保有足够的内存和磁盘空间。 * 用文件恢复转换器打开文件。
- docker进入容器的方法
- python实现二维码识别软件_OpenCV和Zbar两个Python模块实现二维码和条形码识别
- 不要问程序员什么是“对象”,也不要给他介绍“对象”
- 全网独家解决方案: doccano报错 Your models in app(s): ‘api‘ have changes that are not yet reflected in a migrat
- ubuntu 安装opendr失败_安装软件失败求助