C语言学习笔记(4)
关于char类型
我们先从一道编程题开始讲起。
编程实现字母的大小写转换,要求从键盘输入任意大写字母,程序转换成小写字母并输出。
这是今天在上C语言课的时候,老师在课上布置的随堂练习。我自己一开始是打算用if判断来实现,但是非常的明显————使用逻辑判断语句来实现这个题目既复杂,又显的……emmm,有点蠢。所以我就“稍微”百度了一下。这里贴出这位老哥的做法:
C语言实验题――大小写转换 从键盘输入一个大写字母,要求改用小写字母输出。
为了方便查看和说明,我将上面链接当中的代码展示在下方。
#include<stdio.h> |
初识char
先简单说明一下,char属于C语言当中的一种常见的数据类型,即字符类型。
以下文字取于书本原文:
“字符类型包含字母、数字、标点符号以及控制符号等,在内存当中是以整数数值的方式来存储的,每一个字符占用1个字节(8个二进制位)的数据长度,所以字符ASCII编码的数值范围在0~127之间。例如字符‘A’的数值为65、字符‘0’的数值为48。”
其实说白了,char类型就负责在C语言当中对字符的处理。字符类型也有char、signed char和unsigned char这三种。
char的使用
在C语言当中使用char时,需要这样表达。
char ch='a' //声明ch为字符变量,并设置初始值为'a' |
这一语句的意思是在声明一个字符变量,变量的名字为“ch”,它被设置的初始值为a。
注意:在为字符变量赋值的时候,使用的是单引号info ,而不是双引号<mark class=”hl-label @”””>danger !
在赋值的时候,除了直接使用字符,我们也可以利用ASCII码赋值,例如上面那一行我们还可以写成如下形式:
char ch=65; //声明ch为字符变量,并设置初始值为65 |
当然了,同理,我们还可以这样来表示字符。
char text='\x41'; //十六进制ASCII码表示 A 字符 |
注意:在使用ASCII码或者进制数进行赋值时,语句结尾需要加上info
字符类型当中的其他函数
关于getchar()函数
接下来我们就回到一开始那个老哥的例程上。在例程当中,我们可以看见这几条语句:
ch=getchar(); |
这条语句当中出现了info 这个函数,这个函数在C语言当中的作用是从计算机终端(一般为键盘)获取一个无符号字符。getchar()函数只能接收一个字符,其函数值就是从输入设备获取到的字符。getchar()——百度百科
关于putchar()函数
同时我们在例程当中出现了这条语句:
putchar(ch+32); |
这条语句当中出现了info 这个函数,这个函数的作用是把参数 char 指定的字符(一个无符号字符)写入到标准输出 stdout 中。
除此之外,我们还看见在括号里面出现info 。
字符可以通过ASCII码进行四则运算:
printf("%d\n",100+'A'); |
由于字符A的ASCII码为65,所以上面的运算出来的结果分别为165与35。