1.字符常量

字符常量由单引号括起的一个字符组成的。例如,

‘B’,‘d’,’9’,’\n’,‘\0,’,’\”等

都是字符常量,单引号是字符常量的定界符。单引号符可由}‘\”表示,即使用了转义序列的形式。因此,在字符常量中,对一般可打印字符采用直接写出字符符号的方法,而对不可打印字符采用转义序列的方法。

在C语言中,字符常量具有数值,该值便是该字符的ASCII码值。因此,一个字符常量可以像整数一徉的参与一些运算,如加法、减法等运算。例如,

‘d’一1

表示字符d的ASCII码值减去1,其差值为99。又例如。

‘C’一’A’+‘a’

表示将字符C的ASCII码值减去字符A的ASCII码值,再加上字符a的ASCII码值,其结果为67,而此值正是大写字母C的ASC’II值。

例:字符常量的输出。

mam()

printfi”%c,d\n;,67,’m ‘);

printf(” %e, %c,%c/n”,’a’,\r,,h’.);

prmtf(”%e,%c\n”,’a’,’r’,’b’);

Printlf(”%C %c”,‘\n’,\007’。;

下面分析该程序的输出结果,进一步搞清一些转义序列表示的字符的使用方法。

该程序中有4个printf ( )函数的语句,依次执行输出如下:

第一个printf < )函数的语句输出为:

C,109

因为67所对应的是大写字母C的ASCII码值,因此,按%。格式输出67时,则为字母C。又因为小写字母m的ASCII码值为109,因此,按%d格式输出字母m的ASCII码值应是109。

第二个printf < ) j}数的语句输出为:.

a, b

因为按%C输出字符常量‘ a’时,屏幕应显示a,然后控制串中有一般字符逗号(,)则照样输出,这时显示为a,。接着,再按异长输出’\b’,这是一个转义序列表示的字符,即退格符,在输出这个字符后,屏幕上显示为a,接着又输出控制申中的第二个逗号,这时显示为a,。再按%C输出字符常量’b『,因此,屏幕上应显示出a,h,由于控制串中最后一个字符是’场 },所以,光标被移到下一行第一个字符的位置。

第三个print f ( )函数的语句输出为:

.h

因为按%c输出字符常觉’a’,又输出控制串中第一个逗号后,显示为a,。再按%。输出字符常量\. r’后,光标被移到该行的首列,即字符a处,这时输出控制串中第二个逗号时,将字符a改为逗号(,)。接着,按灯c输出字符常量}b{时。屏幕上显示为。b。再将光标移至下行首列。

第四个printf ( )函数的语句输出为:

两声鸣铃

因为按%c。输出字符常量’\n’。则是机器的一声鸣铃,再按%:输出字符常量’\.007′,则机器又一次鸣铃。这时,光标仍停留在该行的首列,即光标并没有移动。

2.字符串常量

字符串常量是用一对双引号括起来的字符序列。双引号(””)作为字符串常量的定界符,

因此,在字符串中表示双引号应使用转义序列’\“’来表示。关于字符串与字符常徽的区别在前面已经讲述过了,这里不再重复。

关于字符和字符串这两种常量的区别还可以作下述描述:

早符实际上是一个整型数,而字符串实质上是地址值。

这句话前部分通过学习字符常量可以理解,字符的整型数就是该字符的ASCII码值。而后部分在学完“指针”一章后便可理解。

字符常量是用来给char型变量赋值的,而字符串常量却是用来给。har型数组赋值的,因此,两者是不相同的。

例:字符串常量的输出。

main( )

{

printf (” %s,%‘\n” }”Ok!”,”\good\“”

printf(”x\ty\b\bzuua\n”);

printf(”abc\tdef\rmn\tpq\n”).

分析该程序输出结果如下:

第一个printf ( ) l}数语句输出结果为:

ok!,”goo”

因为按%s输出字符串常量”ok!,则显示出ok,接着,控制串中的逗号被输出。然后,又按%s输出另一个字符串常\good`”“,这里有转义序列表示的字符’\“’。即双引号,这个字符串被输出显示为”good”。然后,光标移至下行首列。

第二个printf)函数语句输出结果为:

xuuuuiia

因为该语句是在屏幕上显示printf)函数中控制串中所指定的字符串常量。该字符串常

量中有可打印字符,又有不可打印字符’\t, ‘u’和’\b’,它们分别是水平制表符、空格符和退格符。水平制表符的作用是用来向右“跳格气每次跳到下一个“输出位置”,一般系统中指定一个“物出区”占8列,第一个输出区占1至8列,下一个输出区将从第9列开始,直到lfi列,依此类推。空格符是将光标右移一个字符,退格符是将光标移到所在字符的前一个字符处。弄清这三个常用的转义序列表示的字符的功能后,便不难分析该字符串常量的输出结果。首先,在该行首列显示字符、,接着,光标右移至第9列(首列为第一列)精出显示字符Y,然后输出两个‘\b’字符,光标向左退两列,即在第s列处,这时输出字符Z,再输出空格符,将Y变为空格符,又输出一个空格符后,输出字符a,于是屏幕上显示上述结果。

第三个printf ( )函数语句输出结果为:

mn a ,} u u u u pqf

因为先输出ahc字符后,再输出’\t’,这时光标移至第9列。接着,输出def,光标在第12列。当输出字符’\r’后,光标将被移至该行的首列。即a字符下,再输出mn时,将a变为m,将b变为n,又恰出’\t’,则将c变为空格符,光标移至第9列字符d下,输出p时,将d变P下,输出q时,将e变q,f没有被改变,仍然存留,光标被移至下行的首列,因为最后有一个’\n’。

c语言字符串常量表达,C语言基础教程:字符常量和字符串常量相关推荐

  1. java语言用数组接收字符_Java基础——数组应用之字符串String类

    字符串String的使用 Java字符串就是Unicode字符序列,例如串"Java"就是4个Unicode字符J,a,v,a组成的. Java中没有内置的字符串类型,而是在标准J ...

  2. python中的real函数_RealPython 基础教程:Python 字符串用法详解

    字符串是一个由字符数据组成的序列.字符串处理是编程必备的技能,很少有应用程序不需要操作字符串的. Python 提供了丰富的运算符.函数和类方法来操作字符串. 通过本文,你将了解如何访问字符串以及提取 ...

  3. angular 字符串转换成数字_Python基础语法大全:字符串的处理与使用

    本文来自牛鹭学院学员:邓瑞杰 字母处理 string.capitalize() 返回元字符串,且将字符串第一个字母转为大写,其它字母小写 string.title() 返回元字符串,且将字符串第一个字 ...

  4. js 获取中括号里面字符串_西门子SCL编程入门教程连载(18)——字符串

    今天这篇文章,我们来聊聊西门子S7系列PLC的一种数据类型--字符串. 本文包括如下几个主题: 什么是字符串: 怎样声明字符串变量: 怎样给字符串变量赋值: 1.什么是字符串 字符串(string)是 ...

  5. Python基础教程:拼接字符串的7种方法

    @本文来源于公众号:csdn2299,喜欢可以关注公众号 程序员学府 这篇文章主要给大家总结介绍了关于Python拼接字符串的7种方法,分别是来自C语言的 文章目录 前言 1.来自C语言的%方式 2. ...

  6. ASP.NET基础教程-以查询字符串的方式在两个页面之间传递信息

    查询字符串的方式是将要传递的值连接在URL后面,然后通过Response.Redirect方法实现客户端的重定向.这种方式可以实现在两个页面之间传递信息.由于URL的长度有一定的限制,因此不能传递太大 ...

  7. python基础教程学习笔记 —字符串

    字符串的基本操作 字符串是不可变的,所以类似下面的操作是错误的. >>> str="abcdefghijklmn" >>> str 'abcde ...

  8. sqlserver 字符串中添加单引号_Python3 教程-- 7、字符串

    Python 字符串 除了数字,Python也能操作字符串.字符串有几种表达方式,可以使用单引号或双引号括起来: >>> 'spam eggs''spam eggs'>> ...

  9. c语言位运算负数的实例_JavaScript基础教程(四)二进制位运算

    JavaScript基础教程二进制位运算 JavaScript中的位运算是针对二进制数据提供的运算与操作.在JavaScript标准中规定了二进制位运算时其操作数长度为32位,其最高位为符号位,因此能 ...

  10. python字符串怎么用_零基础如何使用python处理字符串?

    摘要:Python的普遍使用场景是自动化测试.爬取网页数据.科学分析之类,这其中都涉及到了对数据的处理,而数据的表现形式很多,今天我们来讲讲字符串的操作. 字符串是作为任意一门编程语言的基础,在Pyt ...

最新文章

  1. 如何在Ubuntu和CentOS上启用Nginx的HTTP/2 协议支持
  2. 计算机打印机用户,如何:在 Windows 窗体中选择连接到用户计算机的打印机
  3. NOIP2008 普及组T1 ISBN号码 解题报告-S.B.S.
  4. hprof文件分析工具_【赵强老师】如何分析Java的内存溢出问题
  5. 重载session存储方式–session_set_save_handler()
  6. JAVA的嵌入式脚本开发(中)
  7. 一个简单的游戏服务器框架
  8. androidx86 9.0下载_13.3寸大屏安卓9.0强悍性能刷新你认知!BOOX MAX3电纸书上手测评...
  9. Maven - 构建与命令
  10. webpack处理url资源的配置
  11. 【零基础学Java】—笔记本USB接口案例(二十八)
  12. C语言求卢卡斯序列,斐波那契序列和卢卡斯序列
  13. 编译原理--实验2 语法分析
  14. 下载pyboard的flash中的驱动程序_驱动人生下载-驱动人生绿色最新下载正式版
  15. Oracle常用字符ASCII码对应表
  16. HDU 6304 Chiaki Sequence Revisited(找规律)
  17. 以三维视频融合为核心的[点卯.增强虚拟全景平台]免费版,在智慧城市和安防监控行业中的应用
  18. firewall-cmd --permanent --get-zone-of-interface=ens33显示no zone
  19. QSFP 可插拔收发器规范 Rev 4.9
  20. 产业园招商方案“三部曲”

热门文章

  1. jeecg-boot自动生成代码_代码一键自动生成,拿走不谢
  2. Navicat for Mysql永久激活方法
  3. 5G - MEC(移动边缘计算)
  4. sql填充空值_如何在SQL中使用先前的非空值填充稀疏数据
  5. ApowerREC v1.5.6.2 最佳屏幕录像机
  6. kafka下载注意事项
  7. vsCode编写Latex文本( texlive +vsCode )
  8. 基于qgis和arcgis进行CAD转GIS操作
  9. 人工智能2021截稿日期_2019年136个国际学术会议资讯 (含截稿日期)
  10. pygame安装教程