C语言重点.ppt_第1页
C语言重点.ppt_第2页
C语言重点.ppt_第3页
C语言重点.ppt_第4页
C语言重点.ppt_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机程序设计 C语言,程鹏飞 cpf-,1,选择C语言的理由:,一、为以后更深入的学习数字印刷打下基础 二、为以后编程的深入学习创造条件 教材:谭浩强 著 清华大学出版社(第二版),2,课时分配,本课程为2学分,每周2节课 总体原则:16课时授课;12课时上机 上课时间共16周,其中8周上课,7周上机;第16周考试。如遇特殊情况另行通知。 前两周上课,以后为一周上机,一周上课。,3,C语言程序设计,课程目标 了解C语言背景 熟悉Turbo C的上机环境 会读、会编、会调试C程序 课程要求:多上机实习,4,C.语言的发展 (1),B语言基础上发展起来。 C 语言的形成过程始终围绕着系统程序设计

2、。 C 语言提出后首先用于开发 OS Unix 1978.B.Kernighan 和 Dennis Ritchie 在 Unix 第7版的基础上合著的书“C程序设计语言”推动了C的广泛使用。 美国国家标准 87 ANSI C/国际标准ISO 9899-1990,5,C语言定位,高级 BASIC FORTRAN PASCAL 中级 C 低级 汇编语言 机器语言 面向过程 面向对象,C+ Visual BASIC Visual C+ Visual FoxPro,6,C 语言的特点 (2),既具有高级语言直观性特点,又兼有汇编语言之类低级语言功能 (常称中级语言),如可以直接访问物理地址,进行位运算

3、。 简洁,紧凑,方便,灵活 32关键字 P375 运算符多、数据结构和控制结构丰富 P375 可执行代码质量高、运行速度快、可移植性好 ,而且可以分块编译。 程序设计的自由度大(优点/缺点) 不仅用于系统程序设计,也用于应用程序设计,7,程序基本结构(下一页例子) (6),C 语言程序可以有多个函数,但至少包括一个名为 main 的函数。 任何函数包括首部与函数体,函数体可以有变量声明和可执行语句。 C 语言程序总是从 main函数开始执行的。 C 语言程序可以一行多个语句(语句间以分号分隔),也可以一个语句写多行(不推荐这样) C 语言的许多功能都是由库函数实现的,包括输入输出。,8,mai

4、n() int a,b,c; /* 变量声明 */ 注解:用 /* */ 符号对; scanf(“%d,%d”, ,9,C程序运行,程序执行过程: 开始-编辑-编译-连接-执行-查看结果 实际程序调试 (以例题为例),总结,C语言的发展过程(B语言为基础) C语言的特点 C语言的运行环境(从编辑-执行),作业:,1、编写一个C程序,输出以下信息: * Very Good! * 2、编写一个C程序,输入a,b,c,输出最大值。,第2章 数据类型、运算符与表达式,第一节 C语言的数据类型 第二节 常量与变量 第三节 整型 第四节 实型 第五节 字符型 第六节 变量赋初值 第七节 各类数值型数据间的

5、混合运算 第八节 算术运算符和算术表达式,第一节 C语言的数据类型 第二节 常量与变量 第三节 整型 第四节 实型 第五节 字符型 第六节 变量赋初值 第七节 各类数值型数据间的混合运算 第八节 算术运算符和算术表达式,第一部分,第二部分,第三部分,第一部分,基础知识 程序设计 = 编程,把需要解决的问题用 计算机能完全理解的 方式描述给计算机。,程序设计=数据结构+算法+程序设计方法+工具,程序设计方法是(结构化程序设计,面向过程程序设计,面向对象程序设计,模块化程序设计,分布式程序设计等)是编程的指导思想,决定了我们用什么样的方式组织编写程序,一个程序的成功与否完全由它决定; 语言和环境是

6、编写程序的工具,程序由他们制造; 算法则是灵魂,是解决问题的方法步骤; 数据结构是数据的组织形式,按照客户的需要加工,处理,传递它。,数据类型,数据类型,构造类型,指针类型,空类型(无值类型) void,常量和符号常量,一、常量,1. 在程序运行中,其值保持不变。 2. 表示方法:,整型 100,125,-100 实型 3.14 , 0.125 字符型 a, b 字符串常量 “string”,3.符号常量: #define PI 3.14159,用指定的标识符表示某个常量,二、变量,3. 变量通过变量名标识,1. 在程序运行中,值发生变化,2. 必须先定义,再使用,变量,256,3,变量名和内

7、存中的存储单元相对应。编写程序时通过变量名来存、取存储单元。,类型 变量名表,int a,b;,(1)以字母或下划线开头,(2)不能用系统中的关键字作为变量名,int a,b A123,_b;,int a; . A=5;,4. 有关变量名的规定,(3)变量名中的字母是区分大小写的。 sum、stu_name、_age、Lts_1_2、a2 32c、x.y、start+9、c2.0 NAME name 表示两个不同的标识符。,一、整型常量,有三种表 示形式,十进制 八进制 十六进制,1234,加前导0 01234,0125,加前导0 x 0 x123,0 xffff,整型数据包括整型常量和整型变

8、量, 整型数据以二进制补码形式存储,例,100、-8、0;010、024;0 x38、0X1F,第二部分,二、整型变量,掌握要点 1 有几种定义形式 2 每种形式占存储空间的大小 3 取值范围 4 输入输出格式,1. 定义形式,共六种,基本整型 长整型 短整型 无符号整型 无符号短整型 无符号长整型,int long int short int unsigned int,2. 占存储空间,一个变量,2 4 2 2,字节,unsigned short unsigned long,2 4,3.整型变量的取值范围,类型说明符 长度 数的范围 基本型 int 2字节 -3276832767 短整型 s

9、hort 2字节 -215215-1 长整型 long 4字节 -231231-1 无符号整型 unsigned 2字节 065535 无符号短整型 unsigned short 2字节 065535 无符号长整型 unsigned long 4字节 0232-1),int型数的表示范围: 存储长度16位二进制(2Byte),0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1,=215-1=32767,0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1,0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1,1 0 0 0 0 0 0 0 0 0 0 0 0 0

10、 0 0,=1,=3,上面的数再加1是多少?,=-215=-32768,例,补码表示,4. 输入输出形式 : %d,%ld,%x,%o,%u,包括实型常量和实型变量,一、实型常量,有两种表 示形式,小数 指数,0.123 3e-3,1e3、1.8e-3、-123e-6、-.1e-3 e5、1e-3.2、e、.e-03,实型数据,用指数表示实型常量的规则,1. 定义形式,共三种,单精度 双精度 长双精度,float double long double,2. 占存储空间,一个变量,4 8 16,字节,二、实型变量,实型常量不区分单精度和双精度,3. 变量的取值范围,4.输入输出形式 %f,实型数

11、据在计算机中以指数形式存储,单精度实型变量用一个字节存放指数部分, 其余三个字节存数值部分 。,7位二进制,23位二进制,单精度实型,2-23 = |尾数| = 1-2-23,尾数,指数,包括字符型常量和字符型变量,一、字符型常量,1. 用单引号包含的一个字符是字符型常量,2 .只能包含一个字符,例,a, A, 1 abc “a”,字符型数据,3 有些以“”开头的特殊字符称为转义字符,n 换行 t 横向跳格 r 回车 反斜杠 ddd ddd表示1到3个八进制数字 xhh hh表示1到2个十六进制数字,记!,printf(“%d t %d n”,a,b); printf(“%d n%d n”,a

12、,b);,若:a为1,b为0 1 0 1 0,1. 定义形式,2. 占存储空间,一个变量,1 字节,char,一个字符变量只 能包含一个字符,3. 输入输出形式 %c,a ASCII值为 97 内存中存储形式,0 1 1 0 0 0 0 1,4. 字符型数据在内存中以相应的ASCII值存储,在ASCII范围以内,整型数据 与字符型数据可以通用,!,main( ) char c ; c = c; printf ( “%c %d”, c,c ); ,C 99,?,例,三、字符串常量,1 双引号内的一串字符 “china”,2 n个字符组成的字符串常量, 在 内存中占空间为n+1 个字节。,c,h,

13、i,n,a,0,字符串结 束标记,3 C 中没有专用的 字符串变量,“This is C string” 串长16 “a” 串长 1 “ ” (空格)串长 1 “” (不含空格)串长 0,算术运算与赋值运算,一、运算符,运算符,运算分量,X= 5 + b * c,对数据进行 运算的符号,被加工 的数据,+,表达式,认识C中的运算符和表达式,算术运算符 赋值运算符 关系运算符 逻辑运算符 逗号运算符 条件运算符 .,C 中运算符,共34种,2.表达式的运算结果称为表达式的值,1. 运算符和运算分量构成表达式,二. 表达式,算术表达式 赋值表达式 关系表达式 逻辑表达式 逗号表达式 条件表达式 .

14、,三. 学习运算符应掌握的要点:,* 运算符的种类与功能,* 运算符与运算分量的关系,个数,类型,A + B,(ab) ? a: b,目,关系,不同类型的变量,所 允许的操作不同,单目运算符 双目运算符 三目运算符,*优先级: 运算符的执行顺序,*结合性: 优先级相同时的结合方向,*运算结果的类型,X=5+8 a100,X=a+b*c,a+b-c 572 a=b=5,结果?,单目运算符的优先级高于双目运算符 单目运算符从右向左结合 双目运算符从左向右结合,算术运算符和算术表达式,1. 共有5个:+,-,*,/,%,2 “-”作为 负号时为单目,单目: -,双目:*, /, %,双目:+,-,4

15、. 优先级:,5. 结合性: 从左向右,3. %运算只适用于整型数,取模(求余数) a=10%4 a的值为2,一 、字符输出函数,1 格式: putchar(字符变量),2 功能 :在标准输出设备上,输出指定的字符,3 说明 :,* 一次调用只能输出一个字符 * 加上分号成为字符输出语句,#include,数据输出,#include main( ) char c=a; putchar( c); ,思考,char c1,c2,c3; c1=a;c2=b;c3=c; putchar(c1); putchar(c2); putchar(c3);,a b c,abc,输出多个字符怎样排列?,数据输出,

16、二 格式输出函数,1 格式:printf(格式控制串,变量表列) 2 功能:从标准输出设备上按指定的格式输出对应的变量,%d: 按十进制整数形式输出变量的值 %o:按八进制整数形式输出变量的值 %x:按十六进制整数形式输出变量的值 %ld: 按十进制整数形式输出长整型变量的值 %u 输出无符号整数变量 %f:输出单精度浮点变量的值 %e: 按指数形式输出浮点变量的值,格 式 控 制 串,%g: 输出f和e格式中宽度较小的格式,不输出无意义的0 %c: 输出字符变量 %s: 输出一个字符串,%md 输出整数据占m个字符位,右对齐 %-md 输出整数据占m个字符位,左对齐 %m.nf 输出数据占m

17、个字符位,小数点后留n位,右对齐 %-m.nf 输出数据占m个字符位,小数点后留n位,左对齐 %m.ns 输出字符串占m个字符位,仅输出前n个字符,右对齐,数据输出,1. 格式控制串的控制符号与变量表要一一对应,即:类型相同,个数相等 printf(“%d,%d,%dn”,a,b); 输出?,几点说明,数据输出,2. 格式控制符号尽量用小写字母,3. 格式控制符号之外的符号均照原样显示,printf(“a=%d,b=%d”,a,b);输出:a=3,b=5,4 . 若需显示百分号,格式为:%,%,当a为3,b为5时,5. 如果实际数据所占字符位大于指定的域宽, 按实际输出,数据输出,如果:a=5

18、,b=8 printf(“%d,%d n”,a,b);,5,8,printf(“a=%d,b=%dn”,a,b);,a=5,b= 8,printf(“%5d%5dn”,a,b);,5 8,5之前空4个字符位,printf(“Turbo C”);,Turbo C,以八进制和十六进制数据形式输出,输出的数据不带符号,即:符号位作为数据输出,!,数据输入,本节介绍三个字符输入函数和格式输入函数,功能:从标准输入设 备上读一个字符,一、字符输入函数,格式1:getch() 格式2:getche() 格式3:getchar(),输入字符,回车后才读入,输入字符,并回显,不必回车,输入字符,不回显,不回车

19、,区别,#include,#include,格式3,格式1,2,main( ) int a=3,b=5; printf(“%d,%d,%dn”,a,b,a+b); getch( ); ,main() char c; c=getchar( ); putchar(c); ,按任意键.,从键盘输入一个字符,从屏幕输出一个字符,数据输入,数据输入,二 格式输入函数,1 . 格式:scanf(格式控制串,地址表列),2. 功能:按照格式控制参数的要求,从终端上把数据送到地址参数所指定的内存空间中,3 . 格式控制符号 :同printf,地址参数,4. 要求:类型相同,个数相等,int a,b;,scan

20、f(“%d,%d”, ,scanf(“%3d”,float x; scanf(“%8.2f ”,5. 输入时,遇下列情况结束,* 回车,空格 * 宽度结束 * 非法输入,int K; scanf(“%3d”, 输入:123456789 K为: 123,数据输入,main( ) int a; float b,c; scanf(“%2d%3f%4f”, ,输入:12345678987654321,输出?,a=12,b=345.000000,c=6789.000000,12,345,6789,数据输入,6. 格式控制符号之外的符号照原样输入,int a,b;,scanf(“%d%d”, 3 5,sc

21、anf(“%d,%d”, 3 , 5,scanf(“a=%d,b=%d”, 输入: a=3,b=5 ,char c1,c2,c3; scanf(“%c%c%c”, ,A B C,(1)输入:ABC (2) 输入:A B C,?,程序实例,例1:x=10.2,y=20.5, 如何交换两个变量的值?,10.2,20.5,x,y,20.5,10.2,20.5,10.2,t,10.2,10.2,20.5,main( ) float x, y, t; scanf(“%f,%f”, ,x,y,程序实例,例2:输入三角形的三边长,求三角形的面积。,已知三角形三边长,求三角形面积的最恰当方法为:海伦公式(假设

22、a,b,c能构成三角形),若考虑a,b,c能否构成三角形,则需增加一选择结构。,程序实例,#include main() float a, b, c, s, R; scanf(“%f,%f,%f”, ,程序实例,例3:求ax2+bx +c=0方程的根。a,b,c由键盘 输入,设b2 4ac 0。,#include main( ) float a, b, c, disc, x1, x2, p, q; scanf(“a=%f, b=%f, c=%f”, ,选择结构程序设计,If(关系表达式)语句 1 else 语句2 关系运算符 bool,P91,用if语句设计选择结构程序,结构化程序设计方法:

23、顺序结构 严格按先后次序依次执行。 选择结构 根据对给定条件的判断选择执行语句。 循环结构 一组有规律的重复操作语句。,A,B,C,顺序结构流程图:,三岔路问题: (选择结构),用if语句设计选择结构程序,if语句构成的选择结构是C语言的三种基本结构之一。,问题:1. 怎样根据学生分数判断成绩是否及格? 2. 怎样根据学生分数对其成绩进行分级? 3. 银行如何根据存入现金和年限计算利息?,如何解决? 自然语言:如果 那么 否则 C语言:选择结构语句,用if语句设计选择结构程序,本节 重点,1. if语句的标准形式 2. 缺省else分支的 if语句 3. 复合if 语句,一、if语句的三种基本形式,1. if语句的标准形式 格式: if(表达式) 语句1; else 语句2;,功能:判断表达式的值,若 为非0,执行语句1, 否则执行语句 2。,用if语句设计选择结构程序,例1:判断学生分数是否及格。,main( ) int a; scanf(“%d”, ,用if语句设计选择结构程序,2. 缺省else形式的if语句 格式: if(表

温馨提示

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

评论

0/150

提交评论