




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
12 C语言的标识符和字符数据、字符串数据,本节的任务是掌握用printf()函数在屏幕的任意位置打印字符组成的图案。,121 C语言的字符串数据、字符数据和转义字符,例1_1_2 用printf()输出字符串和转义字符 /* 1_1L2.C */ #include:stdio.h“ main() printf(“*n“); printf(“* 我们立志成为祖国需要的高技术工人! *n“); printf(“*n“); 请学生在机上录入并运行上述程序,创新练习,将程序体当中printf里右边双引号前的“n”都删掉,再存盘并编译运行。看看前后两个程序的运行结果有什么不同? 请同学们运行后讨论,并下结论!,字符串、字符、转义字符,这些用英文中的双引号括起来的英文、数码、汉字以及可以由键盘输入的一切字符,以及它们的混合字符,在C语言中统统称作字符串,因为它们是用英文双引号串起来的一串字符或数字。 比如,“12Aca”、“1”、“a”都叫做字符串。在C语言中大写的英文字母与小写的英文字母被规定为不同的字符。而且,字符是指单个的、用英文单引号括起来的。如a、A、2等等。这里有必要注意:“a”与a是两种不同类型的数据,前一个称为字符串;后一个称为普通字符(也简称为字符)。也可以这样认为:仅仅是用双引号括起来的就是字符串、用单引号括起来的就是普通字符;这是两种不同的数据。用单引号是不能括起多于一个字符的! 在程序1_1L2.C 的printf语句里面的字符串末尾都有一个n(反斜杠和n)这种用反斜杠开头后跟一个或多个字符组成的复合字符,在C语言中称为转义字符(即在一些普通字符前加一个反斜杠,使普通字符的含意转变了)。如转义字符n表示换行(实际执行时变成回车并换行),r表示回车但不换行。转义字符大都表示操作动作的控制字符。见第一章附录二。,122 C语言的字符集、标识符,由英文字母、数码、规定的一些符号(见下表-1)组成的字符集合,称为C语言的字符集。 由C语言字符集里的字符组成的,在程序中使用的,标识(表达)某种意思的短语、缩略语、词汇,这种标识编程者思想的符号,在C语言中称为标识符。在C语言里,规定了任何一个标识符都要先定义再使用,Turbo C规定标识符定义时要求必须以字母或下划线开头,后跟字母、数字或下划线,长度最多32个字符。,符 号 名 称 符号列表 数量 运 算 符 + - * / % 5 标 点 符 , . : ; ? “ 7 空 白 符 (空格)、制表符 2 括 号 ( ) 6 关系运算符 3 其它符号 $ | # & ! _ 9 第一章 表-1 C语言字符集的符号部分,123 C语言程序打印字符图案,下面我们看看如何用printf()函数,向屏幕输出字符以及字符组成的图案。 例1_1_3解法1 打印如右平面图形: * * * * * * * * 分析:这个图形,是由四行字符串 * * 组成的,显然可以每行用一个printf() * * 函数打印一个字符串来完成,共用四个 * * * * * * * * printf()函数。 请同学们试一试先编程,然后再与下面老师给出的参考程序对比有没有漏了什么?,/* 1_1L3_1.C */ #include“stdio.h“ main( ) printf(“* * * * * * * *n“); printf(“* *n”); /*2个*号中间有13个空隔*/ printf(“* *n”); /* 同上 */ printf(“* * * * * * * *n“); printf(“nr“); ,上面这个平面图形是非常简单的,特别是中间两行左右两个字符*相隔很近,中间的空格只有13个。 如果中间的空格有六、七十个,难道我们也照打六、七十个空格?怎么办? 可不可以不用照打那么多个空格?(由学生讨论回答),例1_1_3解法2,/* 1_1L3_2.C */ #include“stdio.h“ main( ) printf(“* * * * * * * *n“); printf(“%c%14cn”,*,*); /*为什么是14C? */ printf(“%c%14cn“,*,*); printf(“%sn“,“* * * * * * * *“); ,格式声明符,第一个printf()是直接打印字符串常量,字符串常量和转义字符是printf()函数可以直接打印的数据。第四个printf()是以字符串量的格式打印字符串量。字符串在英文中写成string,取其首字符s,前面再加一个%,构成printf()的指定输出字符串量的格式声明符。%s是指定输出字符串量的格式声明符,那么对于第二、第三行的%c,同学们猜一猜应该是指定输出什么量的格式声明符?,printf()使用格式声明符输出指定的量时,括号里面的规律是什么?,用双引号把格式声明符包括起来, 如果后面的输出量打印完后,希望下一个量在另一行打印,则在双引号里的字符串最后,也可以写上转义字符n。这对双引号的后面,用英文逗号和后面的输出量隔开,双引号里面一个格式声明符,就对应后面的一个输出量,它们是一一对应的!如果后面的输出量有多个,输出量之间,也要用英文的逗号间隔。,域 宽,还有一个:%14c表示什么意思?其实这是在格式声明符中间插入了一个整数,大家可以从程序的运行结果看到,它使得后面的字符*共占据了14格的宽度,我们称这个14为域宽。%14c表示它对应的打印字符共占14格的宽度,打印字符本身只占1格,不够14格那么长,就在它的前面自动加上13个空格,补到共占14格的宽度。 现在请同学们想一想:对于字符串量的格式声明符,会不会也有域宽?,创新练习,例1_1_3解法1、2所生成的正方形图案,其每一行的首位置都是在屏幕最左边第一列上的。现在,我们想将其每一行的首位置打印在屏幕左边数起的第11列上(即是把图案整个向右移动10列)如何修改这个例题,使这个想法得以实现? 请同学们在机上练习!,124 源程序书写规范,程序体中,每行缩进2个空格,不要以制表符来缩进。每个模块写成锯齿型;模块之间空一行。 每行右边最多到80列,超过的应该换行,换行后应缩进。 大括号、分别占1行,成对的大括号应该位于同一列上。 小括号(、)前后都不要留空格。 所有的注释都用中文书写,使用/*/包括。凡是整个模块的注释写在整个模块的前面,并独占一行;凡是某句的注释写在该句的后面同一行上,超过80列也要换行并缩进到/*的后面。 所有标识符的命名遵照匈牙利符号表示法:前面用表示数据类型的指定的前缀、后跟表示数据用途的英文单词。,课堂练习:,打印如下的字符图形,开始可以不用域宽,最后要求一定使用域宽简化程序。 OOO OO OO OO OO OO OO OO OO OO OO OO OO,例1_1_4 使用域宽打印上图平面图形,分析:假设上述图形的第一行的三个大写字母O在它们所在行共占20格(即域宽为20,其实,这是可以任由程序员自己设置的)。图形的第二行的第一对OO,其最后一个O从第一行的设定可以推出在第18格,所以第二行的第一对OO其域宽是18;第二对OO共占有3格的宽度,其域宽是3。如下图: 图形的第一行: OOO 它在第20格 第二行: OO OO 在第18格 共占3格 第三行: OO OO 在第17格 共占5格 第四行: OO OO 在第16格 共占7格 ,很容易推出以后各行的第一对OO总要靠前一格,即域宽比上一行少1;而各行的第二对OO,要往后靠一格,它的前面与第一对OO又多了一个空格,因此,域宽总比上一行的第二对OO多了2;这样以下各行就很容易写出来了。图形共有7行,写7个printf()语句即可。程序如下: /* 1_1L4.C */ #include main() printf(“%20sn“,“OOO“); printf(“%18s%3sn“,“OO“,“OO“); printf(“%17s%5sn“,“OO“,“OO“); pri
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商办贷款合同范本
- 干货产品代销合同范本
- 工厂开挖基地合同范本
- 健身业务合同范本
- 家庭酒馆配送合同范本
- 工厂对接酒店合同范本
- 木材成品销售合同范本
- 私人转让商铺合同范本
- 船舶制造设备更新提质项目可行性研究报告模板-备案拿地
- 特价香蕉售卖合同范本
- 精选芭蕾舞男女演员之间的潜规则汇总
- JJG 856-2015 工作用辐射温度计检定规程-(高清现行)
- 慢阻肺随访记录表格模板
- SF∕T 0124-2021 录像过程分析技术规范
- 四讲业主业主大会业主委员会PPT课件
- 益美高引风式冷却塔特点介绍
- 永磁涡流传动器的应用示范及产业化20150706
- 1沥青混合料生产工艺
- 手工焊接(电烙铁)课件
- 被执行人财产申报表
- 复合活性羟基磷灰石陶瓷的研制及其生物相容性研究
评论
0/150
提交评论