在学C语言之第二章C语言的基本数据类型和存储类-------字符型数据

本文详细介绍了C语言中的字符型数据,包括字符型常量、变量及其存储表示方式,并探讨了字符型数据如何参与各种运算,以及字符串常量的概念。
C语言是一个很不错的语言,现在linux又在全球疯狂的流行起来,linux内核等都是用C语言写的,所以学好C语言是很重要的,以后的操作系统世界就是linux的世界了----linux fans 的狂言。

现在提供一些我学C语言是的一些笔录给大家。请期待哦~~
-------------------------------------------------------------------------------------------------------------------
rel="File-List" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml"> rel="Edit-Time-Data" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_editdata.mso"> rel="themeData" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx"> rel="colorSchemeMapping" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml">

2.2字符型数据在内存中占一个字节(1Byte=8bit

2.2.1字符型常量

u  字符型常量是由一对单引号括起来的单个字符(可打印)。

如:合法:’x’’a’’A’’b’’$’’r’,非法:’da’

u  转义系列是一个反斜线后跟特定的字符,表示某些不可打印的字符(如回车符,响铃符等)。

例如:

/n  换行符          /t  水平制表符

/b  退格符            /r   回车符 

/f   换页符            //  反斜线符

/’   单引号符          /0  空字符

/ddd 位型这里ddd13位八进制数字

/0xfff位型这里ff12位十六进制数字

 

注意:转义系列实际上作为一个字符来对待。但如果反斜线之后的字符和它不构成转义系列,则‘/‘不起到转义作用将被忽略。

例如:

Ø  printf(“A/Nbc/nDEF/n”);

→→【ANbc

DEF

 

Ø  printf(“/tab/rcb/n/’ ef//gh/x”);

→→【cb___ab

      _’ef/ghx

 

2.2.2字符型变量

u  字符型变量是通过保留字char来说明的,其格式如下:【char c1c2;】

该语句说明了c1c2两个字符型标量。每个字符型变量可用来存放一个字符,

例如:

#include <stdio.h>

main()

{char ch;

ch=getchar();

putchat(ch);

}   

 

u  字符数据在计算机内部也是以一个字节的二进制形式来表示的,即事先对所要处理的每个字符都进行编码(通常是一个整型数)且不同的字符其编码也不相同。

 

 

 

例如:

#include <stdio.h>                 #include <stdio.h>

main()                            main()

{char bell;                         {

Bell=7;                              putchat(7);

putchar(bell);                         }

}

 

 

 

2.2.3字符型数据的存储表示

例:

#include <stdio.h>

main ()

{char c1,c2;

c1=’a’;c2=’b’;

c1=c1-32;        //’a’-32=97-32=65//

c2=c2-32;        //’b’-32=98-32=66

printf(“c1=%c c2=%c/n”,c1,c2);

printf(“c1_ASCII_CODE=%d c2_ASCII_CODE=%d/n”,c1,c2);

}

其结果是:c1=A  c2=B

          c1_ASCII_CODE=65 c2_ASCII_CODE=66

 

u  printf中的参数个数可以有多个,但第一个参数必须是字符串,称其为格式串(format-string)。

u  printf首先对格式串从左到右扫描,当遇到可显示字符时就在终端上原样输出,当遇到控制字符(如‘/n’,响铃符等)就产生相应的动作(换行,响铃等),当遇到转换符时,就将最后面的实参依次按转换符的要求转换并输出。

常用的转换符有:%d十进制整型

%c字符型

%f浮点型

%s字符串型

 

u  C编译系统将字符型数据当成有符号整型还有无符号整型没有硬性的规定

 

例如

#include <stdio.h>

main ()

{char ch;

Ch=’/376’;

printf(“%d”,ch);}

 

如果将字符看成无符号型结果为:254,看成时有符号性结果为-2.

u  字符量可以参与任何整数运算,如:’B’-‘A’=66-65=1’a’+1=’b’

u  数字字符←→整数值,如:’9’-‘0’=57-48=99+’0’=9+48=57=’9’

u  字符量可以参加关系运算,如:’a’<’b’=

u  字符量可以参加逻辑运算,如:’a’&&’b’=真。

 

2.2.4字符串常量

u  字符串常量是用一对双引号括号起来的零个或多个字符的序号

u  “”只充当字符串的分界符,而不是字符串的一部分

u  如果字符串中要出现双引号,则必须经过转义序列(/042

例如:

输出The “a” is an indef art

写成的字符串是“The /042a/042 is an indef art

u  字符串中所含的字符个数称字符串的长度。例:“XYZ”的长度为3,“”的长度为0,称为空串。

u  字符串所占的空间长度+1,增加的一个字节存放放字符串”/0”,作为字符串的结尾标志。

例题:“/0mn”的长度为0,不是3

转义序列也可以出现在字符串中。但是只作为一个字符看待;例如:“I an a/n student”

----------------------------------------------------------------------------------------------------------------------
今天的内容就这些,这一讲主要是说字符型数据。这种数据是C语言的基础的基础,这里要大家一定要记住-----就是转义系列的字符,这些字符都是一些很特殊的字符,很多时候程序员写程序往往就是在这里出错。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值