在C语言中使用英文字符
" "包围,例如"http://c.biancheng网站站点" rel="nofollow" /> char,它的长度是 1,只能容纳 ASCII 码表中的字符,也就是英文字符。
要想处理汉语、日语、韩语等英文之外的字符,就得使用其他的字符类型,char 是做不到的,我们将在下节《在C语言中使用中文字符》中详细讲解。
字符的表示
字符类型由单引号' '包围,字符串由双引号" "包围。
下面的例子演示了如何给 char 类型的变量赋值:
//正确的写法
char a = '1';
char b = '$';
char c = 'X';
char d = ' '; // 空格也是一个字符
//错误的写法
char x = '中'; //char 类型不能包含 ASCII 编码之外的字符
char y = 'A'; //A 是一个全角字符
char z = "t"; //字符类型应该由单引号包围
说明:在字符集中,全角字符和半角字符对应的编号(或者说编码值)不同,是两个字符;ASCII 编码只定义了半角字符,没有定义全角字符。
字符的输出
输出 char 类型的字符有两种方法,分别是:
使用专门的字符输出函数 putchar;
- 使用通用的格式化输出函数 printf,char 对应的格式控制符是
%c。
请看下面的演示:
#include <stdio.h>
int main() {
char a = '1';
char b = '$';
char c = 'X';
char d = ' ';
//使用 putchar 输出
putchar(a); putchar(d);
putchar(b); putchar(d);
putchar(c); putchar('\n');
//使用 printf 输出
printf("%c %c %c\n", a, b, c);
return 0;
}
运行结果:
1 $ X
1 $ X
putchar 函数每次只能输出一个字符,输出多个字符需要调用多次。
字符与整数
我们知道,计算机在存储字符时并不是真的要存储字符实体,而是存储该字符在字符集中的编号(也可以叫编码值)。对于 char 类型来说,它实际上存储的就是字符的 ASCII 码。
无论在哪个字符集中,字符编号都是一个整数;从这个角度考虑,字符类型和整数类型本质上没有什么区别。
我们可以给字符类型赋值一个整数,或者以整数的形式输出字符类型。反过来,也可以给整数类型赋值一个字符,或者以字符的形式输出整数类型。
请看下面的例子:
#include <stdio.h>
int main()
{
char a = 'E';
char b = 70;
int c = 71;
int d = 'H';
printf("a: %c, %d\n", a, a);
printf("b: %c, %d\n", b, b);
printf("c: %c, %d\n", c, c);
printf("d: %c, %d\n", d, d);
return 0;
}
输出结果:
a: E, 69
b: F, 70
c: G, 71
d: H, 72
在 ASCII 码表中,字符 'E'、'F'、'G'、'H' 对应的编号分别是 69、70、71、72。
a、b、c、d 实际上存储的都是整数:
当给 a、d 赋值一个字符时,字符会先转换成 ASCII 码再存储;
当给 b、c 赋值一个整数时,不需要任何转换,直接存储就可以;
当以 %c 输出 a、b、c、d 时,会根据 ASCII 码表将整数转换成对应的字符;
当以 %d 输出 a、b、c、d 时,不需要任何转换,直接输出就可以。
可以说,是 ASCII 码表将英文字符和整数关联了起来。
再谈字符串
前面我们讲到了字符串的概念,也讲到了字符串的输出,但是还没有讲如何用变量存储一个字符串。其实在C语言中没有专门的字符串类型,我们只能使用数组或者指针来间接地存储字符串。
在这里讲字符串很矛盾,虽然我们暂时还没有学到数组和指针,无法从原理上深入分析,但是字符串是常用的,又不得不说一下。所以本节我不会讲解太多,大家只需要死记硬背下面的两种表示形式即可:
char str1[] = "http://c.biancheng网站站点" rel="nofollow" /> #include <stdio.h>
int main()
{
char web_url[] = "http://c.biancheng网站站点" rel="nofollow" /> - 随机文章
- 风儿(风儿轻轻的吹)
- 饿了么红包怎么用(饿了么红包怎么用微信支付)
- 儿童教育文章(儿童教育)
- 光遇花手先祖位置(安卓光遇手花先祖)
- 广州4a广告公司(广州4a广告公司创意总监年薪)
- 抖音卡(抖音卡顿怎么解决)
- xboxones(xboxone手柄怎么配对主机)
- 韩国媳妇和小雪(韩国媳妇和小雪的父亲工资是多少)
- 儋州市第二中学(儋州市第二中学录取分数线)
- 鬼泣5攻略(鬼泣5攻略第三关怎么跳)
- 和柳亚子(和柳亚子先生于田)
- 国外成人游戏(国外成人游戏注册需要visa信用卡)
- 充值卡代理(充值卡代理加盟)
- 拆奶罩
- 郭妮小说(恶魔的法则郭妮小说)
- 东天目山(东天目山景区)
- 杭同(杭同培训中心怎么样)
- 蝙蝠给人类的一封信(蝙蝠给人类的一封信)
- 大松电饭煲(美的大松电饭煲)
- 服饰加盟(服饰加盟店招商)
- 疯狂填字(疯狂填字5)
- 点对点短信息(点对点短信息费是什么意思)
- 观音普门品(观音普门品念诵全文)
- 河北省大运会(河北省大运会时间)
- 哈利波特官网(哈利波特官网在哪里)
- 骇客神条(骇客神条怎么辨别真假)
- 杜星霖(杜星霖图片)
- 查传倜(查传倜个人生活)
- 广州晓港公园(广州晓港公园正门图片)
- 钢筋等级符号(钢筋等级符号电脑怎么输入)
