C语言程序设计课件 (3)

上传人:zw****58 文档编号:51416188 上传时间:2018-08-14 格式:PPT 页数:114 大小:3.49MB
返回 下载 相关 举报
C语言程序设计课件 (3)_第1页
第1页 / 共114页
C语言程序设计课件 (3)_第2页
第2页 / 共114页
C语言程序设计课件 (3)_第3页
第3页 / 共114页
C语言程序设计课件 (3)_第4页
第4页 / 共114页
C语言程序设计课件 (3)_第5页
第5页 / 共114页
点击查看更多>>
资源描述

《C语言程序设计课件 (3)》由会员分享,可在线阅读,更多相关《C语言程序设计课件 (3)(114页珍藏版)》请在金锄头文库上搜索。

1、第三章 数据描述与基本操作3.1 基本数据类类型 3.2 常用的运算符和表达式3.3 表达式及赋值语句3.4 基本输入输出操作的实现3.5 顺顺序结结构程序设计实设计实 例概 述 使用高级语言编写程序,必须在程序中做好两件事: 一是描述数据,二是描述数据的加工方法。前者是通过 数据定义语句实现的,后者是通过若干执行语句,包括 用各种运算符构成的表达式来实现的。本单元主要介绍 C语言的基本数据类型和存储属性的说明方法,为后续单元的学习奠定一个基础。关于复杂的数据类型(如数 组、指针、结构型、共用型等)将在以后单元中介绍。3.1 C语言的数据类型 C语言具有十分丰富的数据类型。所谓数据类型是指数据

2、的内在表现形式。具体的数据类型有以下若干种:1.基本数据类型:整型、实型和字符型。2.构造类型: 由若干个相关的基本数据类型数据组合在一起形成的一种复杂的数据类型,如数组型、结构型和共用型。3.指针型:一种简单的数据类型,它是用来表示内存地址的。指针类型的数据可以表示基本类型数据的地址,它可以表示结构类型数据的首地址和其中某个具体数据的地址。4.枚举型:某数据在程序运行中,只取固定的几个值。我们可以把这几个值列出来,以后这个数据只能取这几个值中的某一个。5. 空类型:没有任何具体值的数据类型。 C语言中的数据类型如下图所示: 数据类型基本类型整型 字符型 实型(浮点型)单精度型 双精度型 构造

3、类型 数组类型 结构体类型 共用体类型 指针类型 枚举型 空类型 *6常量和变量2.常量的分类(1)整型常量 (2)实型常量(3)字符常量。(4)符号常量。常量的类型,可通过书写形式来判别。常量1.常量的概念在程序运行过程中,其值不能被改变的量称为常 量。*7变量1.变量的概念在程序运行过程中,其值可以被改变的量称为变量。2.变量的两个要素(1)变量名。每个变量都必须有一个名字变量名, 变量命名遵循标识符命名规则。(2)变量值。在程序运行过程中,变量值存储在内存中 。在程序中,通过变量名来引用变量的值。*8变量有以下几个特征:变量名、变量值、变量的数据类型、变量的地址、 变量的存储类别、变量的

4、作用域及变量的生存期等 。变量必须先定义后使用。定义变量格式如下: 数据类型关键字 ; 如int x,y,z;变量的初始化:变量赋初值的过程就是变量初始化 过程。整型数据整型常量:整型常量就是整常数,包括正整数和负整 数及 0。其书写形式如下:(1) 十进制整数。如 123,456,0。(2) 八进制整数。以0开头的是八进制数。如0123表示八进制数123,即(123)8 。(3) 十六进制整数。以0x开头的数是十六进制数。如0x123,代表十六进制数,(123)16116216316256323291。 整型常量在一般微型机中占用2个字节,不管是十进制、八进制或十六进制整数,它们的数值范围都

5、是十进制的3276832767。注意: C语言还提供一种“长整型常量”。它们的数值范围是十进制的21474836482147483647,在计算机中占用四个字节,它们的书写方法是在数据的末尾加一个大写字母“L”或小写字母“l”,如OL,038L,ox15L。*11整型变量1.分类根据占用内存字节数的不同,整型变量又分为类:(1)基本整型(类型关键字为int)。(2)短整型(类型关键字为short int)。(3)长整型(类型关键字为long int)。(4)无符号整型。无符号型又分为无符号基本整型( unsigned int)、无符号短整型(unsigned short)和 无符号长整型(un

6、signed long)三种,只能用来存储 无符号整数。2.占用内存字节数与值域上述各类型整型变量占用的内存字节数,随系统而异。在 16位操作系统中,一般用字节表示一个int型变量,且long 型(字节)int型(字节)short型(字节)。3.变量的作用范围变量可以在程序内的三个地方定义:在函数的内部,在 函数的参数定义中或者在所有的函数外部。这样定义的变 量分别称为局部变量,形式参数和全局变量。在不同地方 定义的变量,其作用范围是不一样的。局部变量和形式参 数只能在函数内使用,全局变量的作用范围是整个程序。 在同一层次的某一类型的变量,不能与其它类型的变量或 者函数同名。 *13实型数据实

7、型常量.表示形式 实型常量即实数,在语言中又称浮点数,其值有两种表 达形式:(1)一般形式的实数,它是由整数、小数点、小数三部分组成。 其中数据部分或小数部分可以省略。数的正负用前面的“”(可以省略)号或“”号来区分。例如,12.345,1.2345,47.0,.234,47等都是实型常量。(2)指数形式的实数,它是由尾数、小写字母e或大写字母E、指数三部分组成,尾数部分可以是十进制整型常量或一般形式的实数,指数部分是十进制的短整型常量(可以带E负号)例如, 12.3e2,1.2e-3,47.0e2,.234e-3 等都是实型常量。.关于类型实型常量不分float型和double型。一个实型常

8、量,可以 赋给一个实型变量(float型或double型)。注意:实型常量在一般的微机中是占用4个字节的,不管是一般形式还是指数形式,它们的数值范围都是10 10 有效数字7位。例如,1.23456789和1.234567是相同的,因为实型常量的有效数字是7位,所以1.23456789中的后两位是无效的。3838*16实型变量语言的实型变量,分为两种:(1)单精度型。类型关键字为float,一般占字节 (位)、提供位有效数字。(2)双精度型。类型关键字为double,一般占个字 节、提供1516位有效数字。字符型数据A、把单个字符用一对单引号括起来表示字符常量。如a,d,w,?等都是字符常量。

9、B、用该字符的ASCII码值表示字符常量。 C、转义字符:反斜杠开头后跟规定的单个字符或数字,并用一对单引号括起来表示字符常量。如下:一 字符常量 1.字符常量是ASCII码字符集里的一个字符,包括字母 (大、小写有区别)、数字和标点符号以及特殊字符等 ,均为半角字符。2.字符常量表示形式:字符形式 含 义 ASC n换行,将当前位置移到下一行开头 10t水平制表(跳到下一个tab位置) 9b退格,将当前位置移到前一列 8r回车,将当前位置移到本行开头 13f换页, 将当前位置移到下页开头 12反斜杠字符“” 92单引号(撇号)字符 39“双引号字符 34ddd1到3位8进制数所代表的字符 x

10、hh1到2位16进制数所代表的字符 *19例1:字符与整数的转化#include “stdio.h“ void main() int i;char n;n=97;i=b;printf(“n=%cn“,n);printf(“i=%dn“,i);printf(“i=%cn“,i); 程序的输出为:n=ai=98i=b*20例2 字符参与整数运算#include “stdio.h“ void main() char n;n=a;n=n-65;printf(“n=%dn“,n); 程序的输出结果为:n=32*21例3 字母的大小写转换#include “stdio.h“ void main() cha

11、r n,i;n=a;i=B;n=n-32;i=i+32;printf(“n=%cn“,n);printf(“i=%cn“,i);程序的输出为n=Ai=b 二 字符串常量 字符串就是用两个双引号(“)号后括住的若干个字符,例如,“abc”,“123 456”,“aBbB”都是字符串。 转义符可以出现在字符串中,例如,“ABC”,“101102x43x44”等都是字符串,分别表示“ABCD”、“ABCD”两个字符串。 一个字符串中所有的字符的个数称为该字符串的长度,其中每个转义字符只当做一个字符。例如,“ABC”的长度为5。注意!a与“a”的区别。 C语言规定:每个字符串在内存中占用的字符数等于字

12、符串的长度1。其中最后一个字符存放的字符称为“空字符”其值为0,书写时常用转义字符“0”来表示。在C语言中称为字符串结束标志。关于变量的补充内容 1. 变量: 变量是指在程序运行过程中其值可以发生变化的量。 2. 变量的取名规则为:以字母、下划线“_”开头,后跟若干个字母、下划线、数字。一般约定,用户使用的变量名采用以字母开头,C语言内部使用的变量名以下划线开头。例如,abc,a_1,age_1等都是合法的变量名,而3a,age则是非法的变量名。 当程序运行时,每个变量都要占用若干个连续的字节, 所占用的字节数由变量的数据类型确定。其中第1个字节的 地址称为变量的地址。C语言规定,程序中变量的

13、地址是用“float f=5.0,g=10.0;double d=5.0,e=10.0;则 n的结果是10 nm,nm,n*m,n/m,n%m的结果分别为13、7、30、3、1 de,de,d*e,d/e的结果分别为15.0,5.0,50.0,0.5 nmf*g/d的运算顺序相当于(nm(f*g)/d),结果是3.0 nm*f*d的运算顺序相当于(nm)*f)*d,结果是25.0 2 增1减1运算符(1)1减1运算符的运算对象、运算规则与结果、结合性如下表所示: 对象数单目名称运算符 运算规则 运算对象运算结果 结合性增1(前缀)先加1 后使用增1(后缀)减1(前缀)减1(后缀)先使用 后加1

14、先减1 后使用先使用 后减1整型、字符型、指针型变量或数组元素同运算对象的类型自右向左(2)减1运算符的优先级: 增1减1运算符 优先于 双目基本算术运算符 增1减1运算符和单目运算符、同级别,结合性是自右向左 注意: 若出现难以区分的若干个或组成运算符串时,C语言规定,自左向右取尽可能多的符号组成运算符。例1: ab 应理解为(a)b ab应理解为 (a)b 例2:增1减1运算符的使用 设变量定义如下:char c1b,c2B;(c1,c2可看成整型,其值分别为98,66)则: c1 的值是99,运算后c1的值是c c1 的值是98,运算后c1的值是a c1c2的值是164,运算后c1的值是

15、c,c2的值是B c1c2的值是32,运算后c1的值是a,c2的值是B 三.赋值运算符 1.赋值运算符 赋值运算符是双目运算符,赋值运算符的左边必须是变量, 右边是表达式。 (1) 赋值运算符的运算对象及有关规则如下表: 对象数 名称 运算符 运算规则 运算结果 结合性双目赋值 将表达式的 值赋予变量表达式的类型自右向左(2) 赋值运算符的优先级 算术运算符 优先于 关系运算符 优先于 双目逻辑运算符优先于 赋值运算符 赋值运算符的结合性是自右向左 (3) 赋值运算符的使用 设变量定义如下: char c1a,c2;int n165,n2,n3,n4,n5,n6;float f13.0,f2; 则: c2n1运算后,c2的值是65,n1的值不变。 n2!c1运算后,n2的值是0,c1的值不变。 f2f10.001运算后,f2的值是3.001,f1的值不变。 n3c1n1|c1!n1运算后,n3的值是1,c1和n1的值不变。 注:运算顺序相当于 n3(

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 教育学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号