欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载
     

    C语言_第3章.ppt

    • 资源ID:3597674       资源大小:2.80MB        全文页数:32页
    • 资源格式: PPT        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C语言_第3章.ppt

    第三章 C语言的基本构成元素和数据类型,第三章 C语言的基本构成元素和数据类型,3.1 关键字 3.2 标识符 3.3 数据类型 3.4 常量 3.5 变量 3.6 变量的存储类别 3.7 综合运用 3.8 实战练习,本章学习内容,3.1 关键字,3.1 关键字,注意: C语言中,关键字必须是小写字母。 定义变量时,关键字不能作为变量名使用,因为它属于C语言的保留字,仅限内部使用。,3.2 标识符,标识符只能是由字母、数字、下划线组成的字符串,而且第一个字符必须是字母或下划线,而不能是数字 例如: 3count; /*错误,数字开头*/ score+; /*错误,包含了+号*/ count3; /*正确,字母开头,字母、数字组成*/ _score; /*正确,下划线开头,字母、下划线组成*/,标识符不能是C语言保留的关键字 例如: int /*错误,int是C语言关键字*/ Double /*正确,首字母大写,不是关键字*/,3.2 标识符,C语言是区分大小写的,仅大小写不同的字符串代表不同的标识符 例如: count,Count /*两个不同的标识符*/,标识符命名尽量做到“见行知义” 例如: score /*表示分数*/ count /*表示数量*/,ANSI规定,C语言标识符可以为任意长度,但是最好遵循“min-length && max-information”原则,考虑到跨平台编译,最好遵守前8字符可以唯一区分的原则(某些编译程序仅能够识别前8字符,如IBM PC的MS C),3.3 数据类型,3.3 数据类型,基本数据类型 不可以再分解为其他类型:整型、字符型、实型、枚举类型,构造数据类型 由多种类型组合而成的类型:数组类型、结构体类型和共用体类型,指针类型 指针类型的值表示某个变量在内存中的地址,空类型 使用void关键字定义,使用时通常需要强制转换 void* memcpy(void *dest, const void *src, size_t n);,3.4 常量,整型常量可以是长整型、短整型、有符号整型和无符号整型,使用时通常需要加限制符。常数后面加L修饰,表示长整型;常数后面加U修饰,表示无符号整型。,3.4.1 整型常量,直接使用的整型常数,例如:12,-418等,存储单位的相关概念:位、字节、字,LongNumber = 234L; /*表示长整型*/ unsignedNumber = 501U; /*表示无符号整型*/ unsignedLongNumber = 1024LU; /*表示无符号长整型*/,3.4 .1整型常量,整型常量的三种表示形式:八进制形式、十进制形式和十六进制形式,八进制形式 在常数前加0修饰,数值的每个数码取值为07 0345 0123 十进制形式 人们最容易接收的形式,数值的数码取值为:09 十六进制形式 在常数前加0X或0x修饰,数值的数码取值为:09、AF(或af),其中AF(或af)分别代表十进制数值:1015,3.4 .1整型常量,计算机中,符号数的三种表示方法:原码、反码和补码,原码 数值除符号外,对应的二进制数,以数值10为例:,反码 原码的二进制数按位取反,以数值-10为例:,补码 计算机中存储的数值方式,整数的补码与原码相同,负数的补码是将该数绝对值的二进制形式按位取反+1,3.4.2 实型常量,指数形式 一般形式:aEn(其中a、n都是十进制数) 表示:a*10n 例如:0.1 1e-1 127.154 -1.27154e2,实型也称为浮点型,由整数部分和小数部分组成,在常量的后面可以使用F(f)修饰,表示float单精度类型;或使用L(l)修饰,表示long float长双进度类型,在C语言中,实数只采用十进制,有两种表示方法:十进制小数形式、指数形式,十进制小数形式 也称为科学计数形式,由数码09和小数点组成,例如: 0.1 127.154,3.4 .3 字符常量,字符串常量 由一对双引号括起来的字符序列,如:“C program”、”Hello world!”,字符串存储,字符常量 单引号括起来的一个字符,如:A、a、$,3.4 字符型常量,字符常量和字符串常量的区别 (1)字符常量由单引号括起来的,字符串常量必须由双引号括起来 (2)字符常量只能是单个字符,字符串常量可包括0、1、多个字符 (3)字符常量的单个字符只占1个字节,字符串常量占用的内存字节数等于字符串中字符个数+1个字节,因为要包含0字符,例如同样存储字符a,字符常量和字符串常量分别如下:,a,字符常量,字符串常量,a,0,ASCII码,3.4 .4 转义字符,3.5 变量,变量是指在程序运行期间,其值可以改变的量。 一个变量应该有名字,在内存中占据一定大小的存储单元 变量必须在使用之前定义,3.5 .1整型变量,3.5.2 实型变量,一般占4个字节的内存空间,按指数形式存储 例如:3.1415的指数形式为:0.31415e1,在内存中存储如下:,3.5.2实型 变量,实型变量按照实数的精度可以分为单精度类型、双精度类型和长双精度类型,其中单精度类型可以提供7位有效数字;双精度类型可以提供16位有效数字;长双精度类型可以提供19位有效数字,3.5 .3 字符变量,由于字符型变量中存储的是无符号整数,所以可以将字符型变量与整型变量相互赋值,即字符和整数相互使用,在使用中要注意:整数赋给字符时,需要注意可能会引起字符的ASCII码值越界(ASCII码值最大为127),字符型变量用来存储字符常量,类型说明符为char,一个字符型变量只能存储一个字符,实际上是将该字符常量的ASCII码值(一个无符号整数)存储到字符变量所占的存储单元 字符型变量占1个字节的内存空间,取值范围为:-128127,3.6 变量的存储类别,变量的存储类别分为:静态存储和动态存储,存储类修饰符则告知编译器需要处理什么类型的变量:自动(auto)、静态(static)、寄存器(register)和外部(extern),变量有不同的存储类别,它由两种方式决定: 变量被定义的位置和存储类修饰符,3.6.1 静态变量与动态存储,从变量在程序中的生存期(变量存在的时间)可以将变量分为静态存储和动态存储。静态存储方式是指程序运行期间分配固定的存储空间;而动态存储方式是指在程序运行期间根据需要动态的分配存储空间。 通常存储空间可以分为三个部分:程序区、静态存储区和动态存储区。静态存储类别的变量存放在静态存储区,动态存储类别的变量存放在动态存储区。,3.6.2 auto变量,函数或语句块中的局部变量,如果不专门声明为static存储类别,都是动态分配存储空间的,存储在动态存储区中,当函数或语句块结束时,系统自动释放这些变量的存储空间,因此这类局部变量称为自动变量,类别修饰符为auto,所以也称为auto变量,3.6 .3 static变量,与auto变量不同,尽管两者的作用域都仅限于声明变量的函数(语句块)中,但static变量将始终保持它的值,并且初始化操作只在第一次执行时起作用,在随后的运行过程中,变量将保持函数(语句块)上一次执行时的值,static变量是静态变量,有时希望函数(语句块)中局部变量的值在函数调用结束后可以保留,不会随着变量的自动释放而消失,这时就应该指定局部变量为“静态局部变量”,#include void doubleValue() static int staticNum= 5; staticNum = staticNum * 2; printf(“%dn”, staticNum); /*输出乘2的结果*/ ,3.6 .3 static变量,【例3.1】练习使用static变量,int main() printf(“第一次调用:”); doubleValue(); /*调用doubleValue函数*/ printf(“第二次调用:”); doubleValue(); /*调用doubleValue函数*/ return 0; ,程序运行输出: 第一次调用:10 第二次调用:20,3.6 .4 register变量,register变量称为寄存器变量,register变量存放在计算机的某个硬件寄存器中,而不是内存。这样可以提高程序的运行速度,因为寄存器的读写速度远远高于内存的读写速度,【说明】 只有局部自动变量和函数的形式参数可以作为寄存器变量 即使定义变量存储类别为寄存器变量,变量的值也不一定就存储在寄存器中,实际运行还是编译器作决定,编译器可以忽略register对变量的修饰 由于大多数计算机的寄存器不占用内存地址,所以无法获取寄存器变量的地址,即使编译器忽略register修饰把变量存储在内存中 如果想有效利用寄存器变量,必须像汇编语言程序员那样了解处理器的内部结构,知道可用于存放变量的寄存器的数量、种类以及工作方式。但是不同计算机对于这些细节可能是不同的,因此,对于一个要具备可移植的程序来说,register变量的作用不大,3.6 .4 register变量,3.6.5 extern变量,外部变量(即全局变量)是在函数的外部定义的,它的作用域为从变量定义处开始,到本程序文件的末尾 如果外部变量不在文件的开头定义,其有效的作用范围只限于定义处到文件结尾。如果文件在定义点之前想引用该外部变量,则应该用关键字extern对该变量作“外部变量声明”,表示该变量是一个已经定义的外部变量,有了此声明,就可以从“声明”处起,合法的使用该外部变量 如果某个工程中有两个源文件A和B,在文件B中定义了一个外部变量x,此时变量x的作用域仅限文件B,如果A要引用这个变量,也必须使用关键字extern对该变量作“外部变量声明”,然后才可以使用该外部变量,3.7 综合运用,混合运算类型转换规则,3.7 综合运用,【例3.2】混合运算应用 #include int main() char ch = a; /*字符变量*/ int iNum = 10; /*整型变量*/ float fNum = 0.5f; /*实型变量*/ double result = (ch + iNum) * fNum; /*混合运算*/ printf(“%fn”, result); /*输出结果*/ return 0; ,程序运行结果: 53.500000,3.8 实战练习,定义一个整型变量,给其赋值为101,再使用printf函数输出 利用字符型变量,输出字符串“Wonderful!” 使用static变量,在自定义的函数中实现10的3次方 编程计算表达式:1.25*4 + a A,END,

    注意事项

    本文(C语言_第3章.ppt)为本站会员(少林足球)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开