当前位置:文档之家› C语言的标识符和字符数据字符串数据 优质课件

C语言的标识符和字符数据字符串数据 优质课件

在程序1_1L2.C 的printf语句里面的字符串末尾都有一个\n(反斜杠 和n)这种用反斜杠开头后跟一个或多个字符组成的复合字符, 在C语言中称为转义字符(即在一些普通字符前加一个反斜杠, 使普通字符的含意转变了)。如转义字符\n表示换行(实际执行 时变成回车并换行),\r表示回车但不换行。转义字符大都表示 操作动作的控制字符。见第一章附录二。
数量 5
2 6 3 _9
第一章 表-1 C语言字符集的符号部分
1·2·3 C语言程序打印字符图案
下面我们看看如何用printf()函数,向屏幕输出字符以及字符组成的 图案。
例1_1_3解法1 打印如右平面图形: * * * * * * * *
分析:这个图形,是由四行字符串
*
*
组成的,显然可以每行用一个printf() *
1·2·2 C语言的字符集、标识符
由英文字母、数码、规定的一些符号(见下表-1)组 成的字符集合,称为C语言的字符集。
由C语言字符集里的字符组成的,在程序中使用 的,标识(表达)某种意思的短语、缩略语、词汇, 这种标识编程者思想的符号,在C语言中称为标识符。 在C语言里,规定了任何一个标识符都要先定义再使
printf("%s\n","* * * * * * * *"); }
格式声明符
第一个printf()是直接打印字符串常量,字符串常 量和转义字符是printf()函数可以直接打印的数据。 第四个printf()是以字符串量的格式打印字符串量。 字符串在英文中写成string,取其首字符s,前面 再加一个%,构成printf()的指定输出字符串量的格 式声明符。%s是指定输出字符串量的格式声明符, 那么对于第二、第三行的%c,同学们猜一猜应该 是指定输出什么量的格式声明符?
比如,“12Aca”、“1”、“a”……都叫做字符串。在C语言中大写的英 文字母与小写的英文字母被规定为不同的字符。而且,字符是指 单个的、用英文单引号括起来的。如‘a’、‘A’、‘2’等等。这里有 必要注意:“a”与‘a’是两种不同类型的数据,前一个称为字符 串;后一个称为普通字符(也简称为字符)。也可以这样认为: 仅仅是用双引号括起来的就是字符串、用单引号括起来的就是普 通字符;这是两种不同的数据。用单引号是不能括起多于一个字 符的!
printf()使用格式声明符输出指定的 量时,括号里面的规律是什么?
用双引号把格式声明符包括起来, 如果后面的 输出量打印完后,希望下一个量在另一行打印, 则在双引号里的字符串最后,也可以写上转义字 符\n。这对双引号的后面,用英文逗号和后面的 输出量隔开,双引号里面一个格式声明符,就对 应后面的一个输出量,它们是一一对应的!如果 后面的输出量有多个,输出量之间,也要用英文 的逗号间隔。
*
函数打印一个字符串来完成,共用四个 * * * * * * * *
printf()函数。
请同学们试一试先编程,然后再与下面老师给出的参考程序对 比有没有漏了什么?
/* 1_1L3_1.C */
#include"stdio.h"
main( )
{
printf("* * * * * * * *\n");
printf("***************************************\n"); printf("* 我们立志成为祖国需要的高技术工人! *\n");
printf("***************************************\n"); } 请学生在机上录入并运行上述程序
现在请同学们想一想:对于字符串量的格式 声明符,会不会也有域宽?
1·2 C语言的标识符和字符数据、字符串数据
本节的任务是掌握用printf()函 数在屏幕的任意位置打印字 符组成的图案。
1·2·1 C语言的字符串数据、字符数据和转义字符
例1_1_2 用printf()输出字符串和转义字符 /* 1_1L2.C */ #include:stdio.h" main() {
printf(“*
*\n”); /*2个*号中间有13个空隔*/
printf(“*
*\n”); /* 同上 */
printf("* * * * * * * *\n");
printf("\n\简单的,特别 是中间两行左右两个字符‘*’相隔很近, 中间的空格只有13个。
如果中间的空格有六、七十个,难道我 们也照打六、七十个空格?怎么办?
可不可以不用照打那么多个空格?(由 学生讨论回答)
例1_1_3解法2
/* 1_1L3_2.C */ #include"stdio.h" main( ) {
printf("* * * * * * * *\n"); printf(“%c%14c\n”,‘*’,‘*’); /*为什么是14C? */ printf("%c%14c\n",'*','*');
用,Turbo C规定标识符定义时要求必须以字母或下 划线开头,后跟字母、数字或下划线,长度最多32个 字符。
符 号 名 称 符号列表
运算符 + - * / % 标点符, . : ; ? “‘ 7
空 白 符 (空格)、制表符
括 号( ) [] { } 关系运算符 < = > 其它符号 $ | # \ & ! ~ ^
域宽
还有一个:%14c表示什么意思?其实这是在格式 声明符中间插入了一个整数,大家可以从程序的 运行结果看到,它使得后面的字符'*'共占据了14 格的宽度,我们称这个14为域宽。%14c表示它对 应的打印字符共占14格的宽度,打印字符本身只 占1格,不够14格那么长,就在它的前面自动加 上13个空格,补到共占14格的宽度。
创新练习
将程序体当中printf里右边双引号前的“\n” 都删掉,再存盘并编译运行。看看前后 两个程序的运行结果有什么不同? 请同学们运行后讨论,并下结论!
字符串、字符、转义字符
这些用英文中的双引号括起来的英文、数码、汉字以及可以由键 盘输入的一切字符,以及它们的混合字符,在C语言中统统称作 字符串,因为它们是用英文双引号串起来的一串字符或数字。
相关主题