《C程序设计(第四版)》-笔记-第三章_第1页
《C程序设计(第四版)》-笔记-第三章_第2页
《C程序设计(第四版)》-笔记-第三章_第3页
《C程序设计(第四版)》-笔记-第三章_第4页
《C程序设计(第四版)》-笔记-第三章_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第三章最简单的c程序设计顺序程序设计3.1顺序编程示例(教材p37-p38)3.2数据表示和计算3.2.1常量和变量在计算机的高级语言中,数据以常量和变量两种形式出现。1.常数常数:程序运行时其值不能更改的量称为常数。(程序中的数字常数是数学中的常数)c程序常数序号常数分类表现型例如,如果说明1整数常数整数0,123,-123等2实际常数十进制格式1.23、0.0、-0.35等由数字和小数点组成指数形式12.34e3(表示12.34*103)-3.12E-25(代表-3.12*10-25).字母e或e表示以10为底的指数,因为在计算机上输入或导出时不能表示向上或向下角度。e或e前面必须有数字,

2、e或e后面必须有整数,例如e4(e前面没有数字)、12e2.5(e后面有小数)。3文字常数纯文字A,A,# ,用单个撇号括起来的一个字符,单个撇号只是边界福,字符常数可以是除单个撇号以外的任何字符。文字常量存储在计算存储单元中时,文字本身不存储,而是存储为相应的ASCII代码。转义字符转义符是以字符开头的字符序列,用于将“”后的字符转换为其他含义。例如, n 中的 n 将 字符换行,而不表示字母n。),以获取详细信息单个撇号具有此八进制代码的字符 一个双撇号输出此文字?一个问号输出此文字一条反斜线输出此文字a警告(alert)产生声音或视觉讯号b退格键将当前位置向后移动一个字符f替换页面(fo

3、rm feed)将当前位置移动到下一页的开头n换行将当前位置移动到下一行的开头r回车符将当前位置移动到此行的开头t水平制表符将当前位置移动到下一个选项卡位置v垂直制表符将当前位置移动到下一个垂直制表符对齐点o,oo,oooo表示一个八进制数。八进制代码的ASCII字符。xhh.其中h表示十六进制数。与此十六进制代码相对应的ASCII字符。4字符串常数用双撇号括住多个字符“Boy”、“123”、字符串常量是双撇号中的所有字符,但不包含双撇号本身。5符号常数要将常数表示为符号名称,请使用#define命令。习惯用大写字母表示符号常数。#define PI 3.14 /行尾没有分号优点:(1)明确的

4、含义;(2)需要更改程序不同部分中使用的相同常数时,可以“全部更改”。不要将符号常量误认为变量。符号常量不占用内存,只是临时符号,编译后符号不存在,因此不能为符号常量指定新值。2.变量具有变数名称和特定属性的储存单位。用于存储数据。也就是说,存储变量的值。您可以在程式执行期间变更变数值。必须先定义变量,然后使用变量。定义时,指定变量必须具有名称的变量的名称和类型,以便和引用。变量名和值是两个不同的概念。变量名是用名称表示的存储地址。定义变量的位置:通常,变量可以在函数开头的声明部分定义,也可以在函数外部定义(即,外部变量、全局变量)。程序编译连接时,编译系统会为每个变量名分配相应的内存地址。从

5、变量中获取值,实际上通过变量名找到相应的内存地址,然后从相应的存储单元中读取数据。3.常数变量常数变量和常数常量变量和常量的相似之处和区别如下:常量变量具有变量的基本属性。类型存在并占用存储库单位,但无法更改其值。常数变量是有名称的不变量,常数可以说是没有名称的不变量。有名字的话,在程序中很容易引用。常数变量和符号常数示例:#define Pi 3.14 /定义文字常数Const float pi=3.14 /定义常数变量这两个范例都表示程式中可用的3.14。但是两者的性质不同:定义符号常量使用#define指令,该指令是用符号常量表示字符串的预编译命令。预编译后,符号常量不存在(完全替换为3

6、.14),符号常量的名称没有指定存储单位。常量变量使用内存单位,具有变量值,但该值保持不变。常量变量具有符号变量的优点,使用起来更方便。4.标识符在标识符计算机高级语言中,用于命名变量、符号常量名称、函数、数组、类型等的有效字符序列统称为标识符。简而言之,标识符是对象的名称。c语言规定标识符只能由字母、数字和下划线三个字符组成,第一个字符必须是字母或下划线。编译系统将大写和小写视为两个不同的字符。变数名称通常以小写显示。3.2.2数据类型用计算机执行的计算并不是抽象理论值的计算,而是用工程方法实现的计算,往往只得到近似的结果。类型是数据分配存储单元的时间表,包括存储单元的长度(字节数)和数据存

7、储格式。为不同类型指定不同的长度和存储表格。预设整数(int)短整数(short int)整数类型“长整数”双重长度“长整数”(long int) c99增量字符型(char)默认类型布尔(bool) c99增量单精度浮点(float)浮点类型双精度浮点(double)数据类型复数浮点(float_complex、Double _ comple,long _ comple)枚举类型(enum)空类型(void)指针类型(*)阵列类型()衍生类型结构类型(struct)共享项目类型(union)函数类型3.2.3整数数据1.整数数据分类(1)预设整数(int)整数数据以整数补充形式存储在存储设备

8、上。正数的补码是这个数字的二进制形式。以二进制形式写出这个数字的绝对值,然后对其后的所有二进制位反向加1,得到负数补充。(教材p44)在储存整数的储存储存格中,最左边的一个用于表示符号,如果此位元为0,则数值为正数。如果此位为1,则数值为负。(2)短整数Visual C 6.0编译系统为int数据分配4字节短整数2字节。短整数变量值的范围为-32768到32767。(3)长整数Visual C 6.0编译系统为长int数据分配4个字节。长int (long int)变量的值范围为-231到(231-1),即-。2.整数变量的符号属性添加整数数据和修饰符unsigned(无符号整数)和signe

9、d(有符号整数)可以扩展到以下8种成型数据:有符号基本整数signedint;无符号基本整数unsigned int;有符号的短整数signedshortint;无符号短整数unsigned shortint;有符号长度整数signedlongint;无符号长度整数unsigned longint;有符号双重长度整数signedlongint;/C99增量无符号双重长度整数unsigned long int。/C99增量不能为定义为无符号整数变量的变量指定负值。3.2.4基于字符的数据字符存储为相应的代码(整数),因此C99将基于字符的数据用作整数类型行之一。1.字符和字符代码、并非像圆周率符

10、号程序那样随机编写的文字程序无法识别。大多数系统默认使用包含127个字符的ASCII字符集。指定c到一个字节(8位)存储一个字符,因为每个字符可以用7个二进制表示。字符:A到Z,A到Z数字:0-9。特殊符号:29个。“#”(*-.空格字符:空格、水平制表符(tab)、垂直制表符、换行符、换页无法显示的字符:空字符(显示为“0”)、警告(显示为“a”)等。2.文字变量文字变量用char类型的文字定义文字变量。Char是英语character(字符)的缩写。示例:Char c=?将/c定义为基于文字的变量,并将初始值定义为文字?即可从workspace页面中移除物件。“文字”?的ASCII代码为6

11、3,系统将整数63赋给变量c。基于文字的变量可以使用signed和unsigned修饰符。类型字节数取值范围Signed char具有符号字符类型1-128到127,即-27到(27-1)Unsigned char无符号字符类型10到255,即0到(28-1)3.2.5浮点数据浮点数据用于表示带小数点的实数。一个实数的指数形式称为浮点数,因为它表示指数可以有多个形式,小数点的位置可以浮动。在指数形式的多个表示中,小数点前面的数字为零,小数点后面的第一个数字非零的表示称为规范化指数形式。(1)浮点(单精度浮点)基于Float的数据可以获得有效的6位数字,范围为3.4 * 10-38至3.4 *

12、1038。(2)双精度类型双精度数据可以得到15位有效数字。(3)长双精度类型3.2.6确定常量类型的方法用单个撇号括起来的单个字符或转义字符是字符常量的字符常量。没有小数点的整数常数是整数常数,但要注意有效范围。任何以十进制或指数表示的实数都是以指数形式存储在内存中的浮点常量。c程序的实际常数是双精度浮点常数。3.2.7运算符和表达式1.基本算术运算符最常用的算术运算符运算符意义例如,如果结果正符号运算符(一元运算符)aa的值-负号运算符(一元运算符)-aa的算术负值* *乘法运算符A*ba和b的乘积/除法运算符A/b供应商(A b除外)剩余运算符A%b除了A b的馀数加法运算符A ba和b

13、的和-减法运算符A-ba和b的差异2.自增加,自减少运算符I,-I(使用I之前,I的值加或减1)I,I-(使用I后,I的值加1或减1)自增长运算符和自减少运算符只能用于变量,不能用于常量或表达式。在循环语句中,经常用于自动在循环变量中加或减1,指针变量也用于指向下一个(上一个)地址。使用运算符(如I j)时,为了避免双重性,可以在括号中指定,如(I) j。算术表达式和运算符的优先级和组合使用算术运算符和括号连接操作数(也称为操作数)的遵循c语法规则的表达式称为c算术表达式。操作数包括常量、变量、函数等。范例:a*b/c-1.5 a 计算表达式时,首先按运算符的优先级执行。如果一个操作数两侧的运

14、算符号具有相同的优先级,则按规定的合并方向处理。连接性指示操作数和运算符的“连接方向”,即首先与左侧运算符连接,还是先与右侧运算符连接。从左到右的连接方向也称为左连接。4.不同类型数据之间的混合运算(1)、-、*、/如果两个操作数中的任意一个为float或double,则结果为double类型。(2)int型与float或double型数据进行运算,最终成为double型。(3)基于字符(char)的数据使用字符的ASCII代码和整数数据进行操作。文字数据可以直接与整数数据一起工作。您可以在以文字为基础的资料和其他算术资料之间指定值和进行运算。以小写显示相同字符的字符ASCII代码比以大写显示的字符的ASCII代码大32。5.强制类型转换运算符一般形式如下:(类型名称) (表格样式)强制转换类型时,将生成所需类型的中间数据,但原始变量类型保持不变。示例:(双精度)将a /a转换为双精度类型(int)(x y) /x将y值转换为int类型(float)(5%3) /5%3将值转换为float类型6.c运算符(1)算术运算符(-*/%-)(2)关系运算符(=!=)(3)逻辑运算符(!| |)(4)位运算符(|)(5)分配运算符(=及其扩展分配运算符)(6)条件运算符(?) /C中唯一的三边形运算符(7)逗号运算符(,)(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论