龙空技术网

这样学C语言,从小白变大神之字符型常量!

次七条鱼 193

前言:

此时看官们对“从键盘上输入五个字符串的方法”可能比较讲究,看官们都需要分析一些“从键盘上输入五个字符串的方法”的相关知识。那么小编在网上搜集了一些有关“从键盘上输入五个字符串的方法””的相关资讯,希望大家能喜欢,大家一起来学习一下吧!

字符型常量要对其使用指定的定界符进行限制。字符型常量可以分成字符常量和字符串常量两种。

字符常量

字符常量是指用英文单引号括起来的-字符。如’c,’8’,!。字符常量中的单引号只起定界作用并不表示字符本身。在使用字符常量时应该注意:

1.单引号内的大小写字符代表不同的字符常量,例如'、y是两个不同的字符常量。

2.字符常量只能用英文单引号括起来不能用双引号。例如“Y”不是一个字符常量而是一个字符串。

3.单引号内如果是一个空格符,也是一个字符常量

4.单引号内只能包含1个字符,'xyz'写法是错误的。但超过1个的字符的话,除最后一个外前面的会自动失效,当然这在编程使用中应该避免。

5.字符常量的值,就是它在ASCI编码表中的值。是个从0-127之间的整数。因此字符常量可以作为整型数据来进行运算。

例如:

表达式'’+32的值为121,也就是y的值。

表达式'7’+'6’的值为109,通过查表可以发现,刚好是'm’的值。应该注意'7’和7是不一样的,作为字符常量所代表的整型常量值是55,后者是整型常量7.

单引号括起来的字符包括英文字母大、小数字字符10个,以及空自符写字符各26个、(空格符、制表符、换行符),标点和特殊符号(键盘上的共30个),它们也称为C语言的基本字符集。

转义字符

在字符集中,有一类字符具有这样的特性:当从键盘上输入这个字符时,显示器上就可以显示这个字符,即输入什么就显示什么。这类字符称为可显示字符,如a、b.c、$、+和空格符等都是可显示字符

另一类字符却没有这种特性。它们或者在键盘上找不到对应的一个键(当然可以用特殊方式输入),或者当按键以后不能显示键面上的字符。其实,这类字符是为控制作用而设计的,故称为控制字符。

在C语言中,构成字符常量的控制字符必须用转义字符表示。转义字符是一种以“\”开头的字符。例如退格符用"b'表示,换行符用"n'表示。转义字符中的"表示它后面的字符已失去它原来的含义,转变成另外的特定含义。反斜杠与其后面的字符一起构成一个特定的字符

转义字符是C语言中表示字符的一种特殊形式。转义字符以反斜"开头,后面跟一个字符或一个八进制或十六进制数表示。转义字符具有特定的含义,不同于字符原有的意义,故称转义字符

通常使用转义字符表示ASCII码字符集中不可打印的控制字符和特定功能的字符,如用于表示字符常量的单撇号('),用于表示字符串常量的双撇号(")和反斜杠(\)等。

转义序列 含义

\\ \符

\' '字符

\" "字符

\? ?字符

\a 警报铃声

\b 退格键

\f 换页符

\n 换行符

\r 回车

\t 水平制表符

\v 垂直制表符

\ooo 一到三位的八进制数

\xhh... 一个或者多个的十六进制数

例如,下面例子printf函数的格式串中用到的"n'就是一个转义字符,其意义是“回车换行”。

#include<stdio.h>

int main()

{

printf("c语言\t学习编程宝典\n\n");

printf(“结束”);

return 0;

}

字符串常量

字符串常量是用一组双引号括起来的若干字符序列,如字符串“happy birithdy!”和good day”。只要是双引号括起来的字符串,只有一个字符也是字符串,如"b"。字符常量'b'与字符串常量"b"是不同的。

C语言规定,在每一个字符串常量的结尾,系统都会自动加一个字符八0"作为该字符串的“结束标志符”,系统据此判断字符串是否结束。这里要特别强调一点:“0'是系统自动加上的,不是人为添加的。

'0'是 ASCI 码为 0 的字符,它不会引起任何控制动作,也不是一个可以显示的字符。比如字符串常量"Zhongguo",表面上看它只有8 个字符,但实际上它在内存中占9字节,'2'、"h'、'o'、'n'、'gg'、'u'、'o'、"0' 各占一字节。如果要输出该字符串,"0'不会输出。也就是说,虽然实际上总共有9个字符,"0'也包括在其中,但输出时八0'不会输出。系统从第一个字符'Z'开始逐个输出字符,直到遇到八0',则表示该字符串结束,停止输出。

也就是说,在字符串常量中,如果双引号中能看见的字符有 n个,那么该字符串在内存中所占的内存空间为 n+1 字节。如果在字符串中一个字符都没有,则将其称作为空串,此时字符串的长度为0。

例如字符串“welcome”:

# include<stdio.h>

int main(void)

{

printf("%d",sizeof(""));

printf("%d",sizeof("b"));

printf("%d",sizeof("welcome");

printf("%d",sizeof("b c d");

printf("%d",sizeof("b c d d");

printf("%d",sizeof("c语言编程学习宝典");

return 0;

}

12868 18

第一个双引号中什么都不写,则只有八0' 一个字符,所以只占一字节

第二个"a"中有1个可见字符,占 2字节。

第三个"welcome"有 7个可见字符占 8 字节。

第四个"bcd"中,空格也是字符,也算是可见的,所以总共有5 个可见字符,共占6字节。

第五个"bcdd"共7个可见字符,占8字节。

第六个"c语言编程学习宝典"为什么占 18 字节?有9个可见字符不是应该占10字节吗?C 语言规定,1个英文字符占1字节,而 1个 中文字符占2 字节,就算是中文的标点符号也是占 2 字节。所以八个汉字占 16 字节,加上 “0' 总共是 17 字节。

符号常量

在C语言中,可以用一个标识符来表示一个常量,称之为符号常量。符号常量在使用之前必须先定义,特点是编译后写在代码区,不可寻址,不可更改,属于指令的一部分。其一般形式为:

#define 标识符 常量其中#define 也是一条预处理命令(预处理命令都以"#“开头),称为宏定义命令,其功能是把该标识符定义为其后的常量值。一经定义,以后在程序中所有出现该标识符的地方均代之以该常量值。习惯上符号常量的标识符用大写字母,变量标识符用小写字母,以示区别。

#include<stdio.h>

#define PAI 3.14

int main()

{

double fRadius;

double fResult=0;

printf("请输入圆的半径:");

scanf("%lf",&fRadius);

fResult=fResult*fResult*PAI;

printf("圆的面积为:%lf\n",fResult);

return 0;

}

符号常量的优点

通过有意义的单词符号来指明该常量的含义,增加代码可读性

需要修改常量的时候,只需要修改一次就可以实现批量修改,效率高而且准确

标签: #从键盘上输入五个字符串的方法 #c语言如何把字符串变成ascii码 #c语言中字符常量和字符串常量的区别 #c语言字符常量和字符串常量有什么区别 #字符常量和字符串常量有何区别