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

    [其它考试]第一讲 c语言.ppt

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

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

    [其它考试]第一讲 c语言.ppt

    课程要求 课前请做好预习 上课注意力集中,紧跟老师思路 认真、独立、按时完成并提交作业 重视上机实践,有效利用宝贵的上机时间 上午:8:30-9:30 9:40-10:40 10:50-11:50 下午:2:00-3:00 3:10-4:25 (第2、4、6次课上午上机 8:30-12:00),第一章 C语言初步知识,本章考纲内容 1.程序的构成,main函数和其他函数。 2.头文件,数据说明,函数的开始和结束标志以及程序中的注释。 3.源程序的书写格式。 4.C语言的风格。 本章考点分析 考点 分值 考核几率 点评 C语言概述 0-1 20% 简单识记 C语言的构成 0-1 30% 简单识记 标识符 1-2 80% 重点识记 本章学习目标 了解C语言的发展历程 把握C语言的构成与格式 识记C语言的标识符,第一章 C语言初步知识,§1.1 C语言的发展历程 绪言:冯诺依曼结构,第一章 C语言初步知识,§1.1 C语言的发展历程 1、程序设计语言的发展,特点:机器语言由0、1代码组成的,比较繁琐,稍不注意就会出错;汇编语言则是采用了一些英文缩写助记符来编写指令;但是程序的可读性和移植性不太好。 所以人们就在想要是有一种语言能集二者之所长就好了,于是高级语言C语言在这种情况下便应运而生了。 C语言 面向过程 C+ 面向对象,第一章 C语言初步知识,§1.1 C语言的发展历程 2、C语言的发展历程,第一章 C语言初步知识,§1.1 C语言的发展历程 3、C语言特点: 程序设计结构化、模块化 运算符和数据类型丰富(34个运算符、32个关键字、9个控制语句) 高效率,可移植性好 直接访问内存地址,进行bit操作 4、 C与C+、C# C:在B语言的基础上产生,可用于多种操作系统。是其他多种编程语言的基础。 C+:在C的基础上产生,面向对象的设计语言,在有些方面和C可以兼容。 C#:面向对象的更为高级的程序设计语言。,第一章 C语言初步知识,§1.2 C语言的构成与格式 例 1.1 #include main() printf(“Hello,World!”); 输出: Hello,World! 例 1.2 main ( ) /*求两数之和*/ int a,b,sum; /*这是定义变量*/ /*注意不要在中文方式下输入*/ a=3; b=5; /*变量赋值 */ /*一行有两条语句,最好分开*/ sum=a+b; /*执行语句*/ printf (“sum=%dn”,sum); 运行结果: sum=8 (通过改变a,b的值得出新的程序),第一章 C语言初步知识,§1.2 C语言的构成与格式 通过以上2个例子,可以看到C语言的格式特点: (1) C程序是由函数构成的。一个C源程序至少包含一个main函数。 (2)函数体,即函数首部下面的大括弧内的部分。 函数体一般包括: 声明部分:在这部分中定义所用到的变量,如例1.2中main函数中的“int a,b,sum;”。 执行部分:由若干个语句组成。在某些情况下也可以没有声明部分(例如,例1.1)。甚至可以既无声明部分,也无执行部分。 (3) 一个C程序总是从main函数开始执行的 (4) 每个语句和数据定义的最后必须有一个分号。 (5) C语言本身没有输入输出语句。输入和输出的操作是由库函数scanf和printf等函数来完成的。 (6) 可以用/*/对C程序中的任何部分作注释。(好的程序员必须具备的素质之一),第一章 C语言初步知识,§1.2 C语言的构成与格式 2、优秀程序员的素质之一: 使用TAB缩进 对齐 有足够的注释 有合适的空行,第一章 C语言初步知识,§1.3 标识符(本章重点) 1、标识符定义 2、命名规则: (1)第一个字符必须是字母或下划线; (2)字符的序列是字母、数字或下划线; (3)标识符的大小写是有区别的; (4)标识符的有效长度一般上讲是8个; 合法的:program abc _up add_0 dec6c 非法的:45b no/yes ?en,第一章 C语言初步知识,§1.3 标识符(本章重点) 3、 标识符的分类: (a) 关键字(需记忆内容) C语言的关键字共有32个,根据关键字的作用,可分其为数据类型关键字、控制语句关键字、存储类型关键字和其它关键字四类。 (1)数据类型关键字(14个):int, short, long, float , double , char, signed, unsigned , const, volatile , struct, union, enum, void (2)控制语句关键字(12个):if, else, switch, case, default, do, while, for, goto, continue, break, return (3)存储类型关键字(4个):auto, extern, register, static (4)其它关键字(2个):sizeof, typedef (b)预定义标识符 例如:printf scanf sin define include (c)用户标识符 用户根据需要而定义的标识符。用于:变量,函数,数组,指针或者文件等。 注意:用户标识符不可以是关键字,但是关键字部分或全部大写则可以作为用户标识符。例:Void FOR 用户标识符还应该做到“见名知意”,便于记忆。例:time length high,第一章 C语言初步知识,§1.3 标识符(本章重点) 题目: 综合练习T8、T13、T20、T26、T37 总结: 1.组成:字母、下划线、数字(非法字符) 2.首字母:字母或者下划线(数字开头) 3.切记:不能是关键字(关键字纯小写) 作业 1 简述C语言的主要特点。 2 写出下列程序的输出结果。(提示:参考例1.1) #include main() printf(“Welcome to Beijing 2008n”); 3 编写一个程序,定义两个int变量a和b,自行随意赋初值,输出a与b的和sum和差diff。(提示:参考例1.2),第二章 数据类型、运算符与表达式,本章考纲内容 C的数据类型(基本类型,构造类型,指针类型,无值类型)及其定义方法。 C运算符的种类、运算优先级和结合性。 不同类型数据间的转换与运算。 C表达式类型(赋值表达式,算术表达式,关系表达式,逻辑表达式,条件表达式,逗号表达式)和求值规则。 本章学习目标 掌握各种数据类型、运算符及表达式的概念 能够建立一般的表达式编写简单的程序。,第二章 数据类型、运算符与表达式,本章考点分析 考点 分值 考核几率 点评 C运算符简介 0-1 10% 简单识记 运算符的结合和优先值 0-1 60% 简单识记 强制类型转换运算符 0-1 30% 简单识记 逗号运算符和逗号表达式 0-1 40% 简单,重点识记 基本的算术运算符 1-2 100% 简单,重点识记 算术表达式和算术运算符 1-2 100% 适中,重点理解 优先级与结合、自增自减运算符 2-3 100% 适中,重点理解 赋值运算符和赋值表达式 2-4 100% 简单,重点掌握 复合的赋值运算符 1-2 80% 偏难,非重点 赋值运算中的类型转换 0-1 75% 偏难,非重点 位运算符和位运算表达式 0-1 80% 偏难,重点识记,第二章 数据类型、运算符与表达式,C语言数据类型,第二章 数据类型、运算符与表达式,§2.1 常量与变量 1、常量:在执行构成中,其值不发生改变的量 例2.1 符号常量的使用。 #define PRICE 30 main ( ) int num,total; num=10; total=num *PRICE; printf(“total=%d“,total); ,第二章 数据类型、运算符与表达式,§2.1 常量与变量 程序中用#define命令行定义price代表常量30,此后凡在本文件中出现的price都代表30,可以和常量一样进行运算,程序运行结果为total=300 注意: 1 符号常量使用前必须先定义,一般形式: # define 标识符 常量 2 符号常量的标识符习惯上用大写字母(区别于变量标识符) 3 好处:含义清楚;一改全改,第二章 数据类型、运算符与表达式,§2.1 常量与变量 2、变量 变量:其值可以改变的量 一个变量应该有一个名字,在内存中占据一定的存储单元。在该存储单元中存放变量的值。 变量名:是一个符号地址,在对程序编译连接时由系统给每一个变量名分配一个内存地址。在程序中从变量中取值,实际上是通过变量名找到相应的内存地址,从其存储单元中读取数据。 注意:在c语言中,要求对所有用到的变量作强制定义,也就是“先定义,后使用”。目的是: (1) 凡未被事先定义的,不作为变量名,这就能保证程序中变量名使用得正确。 (2) 每一个变量被指定为一确定类型,在编译时就能为其分配相应的存储单元。 (3) 指定每一变量属于一个类型,这就便于在编译时,据此检查该变量所进行的运算是否合法。,第二章 数据类型、运算符与表达式,§2.2 整型数据 整型数据分为整型常量与整型变量。 1 整型常量 整型常量即整常数;可用以下三种形式表示: 十进制整数。如123, -456, 0。 注意:不能有前导0,除了数值0。基元为0-9 (2) 八进制整数。以0开头的数是八进制数。如0123表示八进制数123,即(123)8,其值为:1×82+2×81+3×80,等于十进制数83。-011表示八进制数-11,即十进制数-9。 注意:以0开头,不是以O开头。 (3) 十六进制整数。以0X或者0x开头的数是十六进制数。如0x123,代表十六进制数123,即(123)16=1×162+2×161+3×160=256+32+3=291。-0x12等于十进制数-18。 长整型数需要用后缀“L”“l”来表示。无符号数据的后缀用“U”“u”。 注意:以0X(0x)不是OX(Ox)。基元为0-9,A-F(a-f)。 另外注意:在计算机中存储的实际上都是以二进制数方式存储。(二进制-八进制-十六进制,同一体系) 综合练习 T25,第二章 数据类型、运算符与表达式,§2.2 整型数据(补充知识点) 1、二进制起源说(莱布尼兹-清朝) 2、为什么用计算机使用二进制? 3、进制类比 十进制 二进制 八进制 十六进制 基元 0-9 0-1 0-7 0-9,A-F 规律 满10进1 满2进1 满8进1 满16进1 借1当10 借1当2 借1当8 借1当16 幂 10 2 8 16 例子 123 110B 014 0xA1 分解成幂形式,即多项式格式 123=(1*102)+(2*101)+(3*100)=100+20+3=123 110B=(1*22)+(1*21)+(0*20)=4+2+0=6 014=(1*81)+(4*80)=12 0xA1=(10*161)+(1*160)=161,第二章 数据类型、运算符与表达式,§2.2 整型数据(补充知识点) 4、进制转换 典型(10进制转2进制,2进制、8进制、16进制互转) 前面已有:2、8、16进制转10进制 10转2,辗转除2法(举例15,10) 注意:整数除法、除到0为止,倒着写 2、8、16互转(举例31、25) 注意: (1)2-8(三位)、2-16(四位) (2)以2进制位中转站,这样8进制、16进制互转解决。10进制转8进制、转16进制也解决。 当然10转8或者16也可以直接用辗转除法,只不过除数变为8或者16了。,第二章 数据类型、运算符与表达式,§2.2 整型数据(补充知识点) 原码、反码、补码 正数:原码-本身 反码-同原码 补码-同原码 10 0000 1010 0000 1010 0000 1010 负数:首先有符号数,最高位为符号位,为1 原码-本身 反码-符号位不变,其它逐位取反 补码-反码+1 -10 1000 1010 1111 0101 1111 0110 注意:负数在内存中是以反码形式存储的。也就是说,如果最高位为1,则该数为负数,且是以反码形式存储的。 问题:为什么会有补码? 答:因为减法。计算机里计算只会加法,减法也是按加法来算的,故有反码一说。,第二章 数据类型、运算符与表达式,§2.2 整型数据(补充知识点) 减法举例:10-5 = 10 +(-5) (-5)补=1111 1011 10 0000 1010 - 5 + 1111 1011 5 10000 0101 = (0000 0101)补=5 溢出最高位不管 5-10 = 5 +(-10) (-10)补=1111 0110 5 0000 0101 -10 + 1111 0110 -5 1111 1011 =(1111 1011)补 =(1000 0101)原= -5 注:负数补码求原码,逆运算。最高位不变,减1取反。,第二章 数据类型、运算符与表达式,§2.2 整型数据 2 整型变量 整型数据在内存中的存放形式数据在内存中是以二进制形式存放的。 如果定义了一个整型变量i: int i; /* 定义为整型变量 */ i=10; /* 给i赋以整数10 */ 十进制数10的二进制形式为1010,在微机上使用的c编译系统,每一个整型变量在内存中占2个字节。图(a)是数据存放的示意图。图(b)是数据在内存中实际存放的情况 数值是以补码(complement) 表示的。(正数是本身,负数取反+1),第二章 数据类型、运算符与表达式,§2.2 整型数据 3 整型变量的分类 整型变量的基本类型符为int。可以根据数值的范围将变量定义为基本整型、短整型或长整型。 (1) 基本整型,以int表示,占2个字节 (2) 短整型,以short int表示,或以short表示,占字节数与基本型相同。 (3) 长整型, 以long int表示,或以long表示,占4个字节 (4) 无符号类型, 以unsigned表示 ( 缺省部分) 有符号基本整型 signed int 无符号基本整型 unsigned int 有符号短整型 signed short int 无符号短整型 unsigned short int 有符号长整型 signed long int 无符号长整型 unsigned long int,第二章 数据类型、运算符与表达式,§2.2 整型数据 4 整型变量的定义 定义的一般形式: 类型说明符 变量名标识符,变量名标识符 . ; 例 int a,b; (指定变量a、b为整型) long e,f; (指定变量e、f为长整型) unsigned short c,d; (指定变量c、d为无符号短整型) 注意: 变量的定义,一般是放在一个函数的开头部分的声明部分。 允许在一个类型说明符后有多个相同类型的变量,各个变量之间用“,”隔开。 最后一个变量名之后用“;”结尾。 例2.2 整型变量的定义与使用。 main() int a,b,c,d; /*指定a、b、c、d为整型变量*/ unsigned int u; /*指定u为无符号整型变量*/ a=12;b=-24;u=10; c=a+u;d=b+u; printf(“a+u=%d,b+u=%dn“,c,d); 运行结果为:a+u=22,b+u=-14,第二章 数据类型、运算符与表达式,§2.2 整型数据 5 整型数据的溢出 一个int型变量的最大允许值为32767,如果再加1,会出现什么情况? 例2.3 整型数据的溢出。 main() int a,b; a=32767; b=a+1; printf(“%d,%d“,a,b); 运行结果为 32767,-32768,第二章 数据类型、运算符与表达式,§2.2 整型数据 5 整型数据的溢出 从图可以看到:变量a的最高位为0,后15位全为1。加1后变成第1位为1, 后面15位全为0。而它是-32768的补码形式,所以输出变量b的值为-32768。 请注意:一个(有符号)整型变量只能容纳-3276832767范围内的数,无法表示大于32767的数。遇此情况就发生“溢出”, 但运行时并不报错。它好像汽车的里程表一样,达到最大值以后,又从最小值开始计数。所以,32767加1得不到32768,而得到-32768。 如果以一个字节的数(8位共表示256个不同的码值)表示-128-127为例,它是如何表示、如何对应的呢? 0000 0000 - 1111 1111 (-128-127的补码) 正 0000 0000 - 0111 1111 表示0-127 负 1111 1111 1000 0001 表示(-1)-(-127) 负 1000 0000 表示-128 特殊,第二章 数据类型、运算符与表达式,§2.3 实型数据 1 实型常量的表示方法 实数(real number)又称浮点数(floating-point number)。实数有两种表示形式: (1) 十进制小数形式。它由数字和小数点组成(注意必须有小数点)。 .123、 123.、 123.0、 0.0都是十进制小数形式。 (2) 指数形式。它的一般形式:aEn 其值为:a*10n 科学计数法 如123e3或123e3都代表123×103。但注意字母e(或e)前后必须有数字,且e后面的指数必须为整数,如e3、2.1e3.5、3e、 e等都不是合法的指数形式。 实型变量 (1) 实型数据在内存中的存放形式 在常用的微机系统中,一个实型数据在内存中占4个字节(32位)。与整型数据的存储方式不同,实型数据是按照指数形式存储的。系统把一个实型数据分成小数部分和指数部分,分别存放。指数部分采用规范化的指数形式。实数 3.14159 在内存中的存放形式如下图(存放示意图) 具体分配:1 23 8 (符号 尾数 指数),第二章 数据类型、运算符与表达式,§2.3 实型数据 1 实型常量的表示方法 注意: 小数部分占的位数越多,则表示的数的精度愈高。 指数部分占的位数越多,则表示数值的范围越大。 2. 实型变量的分类 C实型变量分为单精度(float型)、双精度(double型)和长双精度型(long double)三类。 float 占4个字节(32位的内存空间) 有效数字:6-7 double 占8个字节(64位的内存空间) 有效数字:15-16 long double 占16个字节(128位内存空间) 有效数字:18-19 3. 实型数据的舍入误差 由于实型变量是由有限的存储单元组成的,因此能提供的有效数字总是有限的,在有效位以外的数字将被舍去。由此可能会产生一些误差。,第二章 数据类型、运算符与表达式,§2.3 实型数据 3. 实型数据的舍入误差 例如,a 加 20的结果显然应该比a大。分析下面的程序: 例3.2 实型数据的舍入误差。 void main() float a,b; a = 123456.789e5; b = a + 20 ; printf(“%f”,a); / 12345678848.000000 printf(“%f”,b); / 12345678848.000000 现场演示程序 程序内printf函数中的“%f” 是输出一个实数时的格式符。程序运行时,输出b的值与a相等。原因是:a的值比20大很多,a+20的理论值应是12345678920,而一个实型变量只能保证的有效数字是7位有效数字,后面的数字是无意义的,并不准确地表示该数。因此要避免一个很大的数和一个很小的数相加。,第二章 数据类型、运算符与表达式,§2.3 实型数据 3. 实型数据的舍入误差 例3.3 1.0/3*3的结果并不为1 (等于0.999999) void main() /演示 float a; double b; a=33333.33333; b=33333.33333333333333; printf(“%fn%fn”,a,b); /33333.332031 (最后4位无效) /33333.333333 (只保留6位小数) 由例子看出:a是单精度浮点型,有效位数只有7位。而整数就占了5位,故小数两位后均为无效的数字;b位双精度浮点型,有效位是16位。但是计算机顶多保留6位小数,其余部分四舍五入。 综合练习 T6 T9 T19 T36,第二章 数据类型、运算符与表达式,§2.3 字符型数据 1 字符常量定义:用单引号括起来的单个普通字符或转义字符. a s = + ? 101 n (注意其中转义字符算一个) 课本勘误:p11-5不能参与运算。(错) 2 转义字符:反斜线后面跟一个字符或几个字符表示。详见课本。 例 main() printf(“101 x42 Cn“); printf(“I say:“How are you?“n“); printf(“C Programn“); printf(“Turbo 'C'“); 运行结果:(屏幕显示) A B C I say:”How are you?” C Program TurboC 现场演示程序,第二章 数据类型、运算符与表达式,§2.3 字符型数据 3 字符型变量 字符型变量用来存放字符常量,char c1,c2; (1)字符数据在内存中的存储方式 规定一个字符变量在内存中占一个字节,或者说以一个字节来存放一个字符,以字符ASCII码的形式来存放的。 参看附录一 注意: 上面写的ASCII码值用的是十进制数据。 注意0-9 A-Z a-z,第二章 数据类型、运算符与表达式,§2.3 字符型数据 void main() char c1,c2; c1=120; c2=121; printf(“%c %cn”,c1,c2); /*以字符型输出*/ printf(“%d %dn”,c1,c2); /*转换为整型输出*/ 输出如下: x y 97 98 void main() char c1,c2; c1='a' c2='b' c1=c1-32; c2=c2-32; printf(“%c %c“,c1,c2); 运行结果为 A B,第二章 数据类型、运算符与表达式,§2.3 字符型数据 (2)字符串常量 字符串常量是一对双引号括起来的字符序列。如: “how do you do!”, “CHINA”,“a”,”123.45“ c规定:在每一个字符串的结尾加一个“字符串结束标志”,以便系统据此判断字符串是否结束。C规定以字符0作为字符串结束标志。0是一个ASCII码为0的字符,从ASCII代码表中可以看到ASCII码为0的字符是“空操作字符”,即它不引起任何控制动作,也不是一个可显示的字符。 C H I N A 0 它的存储长度不是5个字符,而是6个字符,最后一个字符为0。但在输出时不输出0。 参看课本:字符串常量与字符常量的区别 单引号/双引号 单个字符/一个或多个 不能把字符串常量赋给字符变量 占据的存储空间区别(重要) 综合练习 T27 T28 T38 T45,第二章 数据类型、运算符与表达式,课堂作业: 1、请将下列各十进制数用八进制和十六进制表示 10 32 75 24 2、求以下各数(十进制)的原码、反码和补码 (8位二进制表示) 53 -67 -14 3、若有定义float x=1.2345678; 则printf(“%f”,x)的输出结果? 答案: 1、10=012=0xa 32=040=0x20 75=0113=0x4b 24=030=0x18 2、 原码 反码 补码 53=0011 0101B=0011 0101B=0011 0101B -67=1100 0011B=1011 1100B=1011 1101B -14=1000 1110B=1111 0001B=1111 0010B 3、1.234568 (7位有效数字),第二章 数据类型、运算符与表达式,课堂作业:答案程序演示 #include void mian() float x=1.2345678; printf(“x=%fn“,x); printf(“10=0%o=0x%xn“,10,10); printf(“32=0%o=0x%xn“,32,32); printf(“75=0%o=0x%xn“,75,75); printf(“24=0%o=0x%xn“,24,24); ,

    注意事项

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

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




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

    三一文库
    收起
    展开