C语言编程入门教程精简版

  • 格式:ppt
  • 大小:972.00 KB
  • 文档页数:434

下载文档原格式

  / 255
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

■字符型变量
用于存放字符的变量。 char c1,c2 定义c1和c2为字符型变量 c1=’a’; c2=’b’; 字符赋值
字符型变量存放一个字符,占据一个字节
■字符型数据的存储形式 a 存放ASCII码 不是 而是 97 如字符’a’在内存中存放97,’b’ 存放 98。 与整数的存储形式一致,它们之间可以通 用 一个字符数据既可以作字符用,也可以作 整数用(取其ASCII代码)。 如:32+’a’相当于 32+97 若 int x; char c; 则 x=’a’; c=97; x=97; c=’a’; 都允 许
第二章
2.1 算法的概念
算法
要利用计算机处理问题,光学习语言
的语法规则还不够,最重要的是要学会
针对各类型的问题,拟定出有效的解题
方法和步骤。解题方法和步骤就是算法。
算法:
为了解决一个问题而采取的有限步骤。
计算机算法:
如何使计算机一步一步地工作的具体过程。
利用计算机处理问题的步骤: 1)设计好算法——算法设计; 2)用计算机语言实现算法——程序设计。 算法必须是‚有效‛的。 算法设计还要充分考虑算法的好坏。 衡量算法好坏的主要标准: ① 程序简练。 ② 执行速度快。 ③ 占空间少。
程序运行结果:c=150
例3:求两数中的最大值。 函数类型 函数名 形参 main() int max (int x,int y) { int a,b,c; { int z; scanf(“%d,%d”,&a,&b); if(x>y) z=x; c=max(a,b); else z=y; printf(“\nmax is:%d”,c); return(z); } }
1.3
简单的C程序介绍
例1:
main() 主函数说明 { 程序框架 printf(‚abcdef‛); } 语句
函数体
程序的功能是输出字符串:abcdef
例2:求两数之和。 main() { int a,b,c; a a=100; b=50; b c=a+b; c printf(“\n c=%d”,c); }
a、x1、y_2、_b1、_1c 1x、a+2、Ф、Ω 合法 不合法
变量必须先定义后使用。 程序中何时使用常量?何时使用变量?
3.3 整型数据 ■整型常量 即整常数,c的整常数有三种形式: ①十进制整数 与数学中的整数一致,如:100,123,15等。 ②八进制整数 以0开头的整数,如:010,07,020等。 ③十六进制整数 以0x开头的整数,如:0x10,0xff,0x2a等。
定义
使用
一般根据什么原则选择变量的类型?
3.4
实型数据
■实型常量 可使用两种形式表示: ①小数形式:如 1.23, 3.1415926 ②指数形式:如 1e-20 1.23e5 15.48
■实型变量 用于存放实数的变量 分单精度和双精度两种: float a,b 定义a和b为单精度型变量 32位,7位有效数字,10-38—1038 double x,y 定义x和y为双精度型变量 64位,15位有效数字,10-308—10308
•汇编语言 用符号构成指令,如:MOV、ADD 用汇编语言编程: 相对直观,但仍繁琐,仍是面向计算 机的语言。
汇编语言是计算机间接接受的语言
•高级语言 与低级语言相比,有根本性的区别: 是面向问题的语言。 高级语言的一条指令(语句): y=2*x*x+3*x-1; 对应于:y=2x2+3x-1 y=sin(x); 对应于:y=sinx 用高级语言编程: 直观、易懂、移植性好(不依赖于具体计 算机)
■整型变量 用于存放整数的变量。 分4种类型: ①基本型:int a 16位,可表示的数值范围:-32768—32767 ②短整型:short int b 16位,可表示的数值范围:-32768—32767 ③长整型:long int c 32位,数值范围:-2147483648—2147483647
例:考虑 s=∑i
1
10
的算法。
算法①:直接表达。 直接用语句 s=1+2+3+4+5+6+7+8+9+10
当项数较多时该算法不适用
算法②:迭代法(累加求和法) s=1+2+3+4+5+6+7+8+9+10 算法步骤: s i ① 使s=0 + 10 6 3 1 0 5 4 3 2 1 ② 使i=1 累加器 记数器 ③ s+i→s 该算法通用,是好算法 ④ i+1→i ⑤ 若i≤10转③,否则转⑥ ⑥ 输出s
例: main() { float r,c; double r,c; r=5; c=2*3.1415926*r; printf(“%f”,c); }
3.5
ຫໍສະໝຸດ Baidu
字符型数据
■字符常量 用单引号括起来的一个字符。 ’a’,’x’,’*’,’1’等
除 此 外 , 以 ’ \ ’ 开 头 的 字 符 如’\n’,’\t’等 称为转义字符,祥见书表3.3
0→ s 1→ i 0→ s 1→ i
i≤10
s+i → s
i+1 → i
直到i>10
s+i → s i+1 → i 输出s
输出s
直到型
当型
第三章
3.1
数据类型、运算符 与 表达式
C 的数据类型
●基本类型 (整型、实型、字符型、枚举型) ●构造类型 (略) ●指针类型 (略)
●空类型
各类型包含常量与变量
a b c
3 5 5
x y z
3 5 5
(两个函数组成)
总结上例可知: (1) C程序由函数构成。 (2) 函数由两部分组成: 函数说明部分:函数名、函数类型、形 参名、形参类型。 函数体:实现函数的具体操作;由语句 构成。 (3) 程序总是从main函数开始执行。 (4) 书写格式自由。 (5)语句必须有分号。 :
④无符号型:加上 unsigned 只存放正数。 如:unsigned int x 变量x为无符号整数,16位全表示数码, 数值范围:0—65535 在程序设计中,如果要使用整型变 量,必须首先选择以上类型符来定义变量, 然后才能使用;
例: main() { int a,b,c; a=100; b=50; c=a+b; printf(“%d”,c); }
BASIC 入门语言 F77 科学计算 高级语言 Foxpro 数据库管理 (面向问题 ) C 多用途
…… ……
•机器语言 最早问世,用二进制代码构成指令。 如: 100000 (+) 110000 (-) 用机器语言编程的缺点: ─繁琐、不直观、不易调试。 如计算y=2x2+3x-1需要七八条指令。 ─移植性差。 依赖于计算机。
直到型循环
可以看出,每个基本结构都只有 一个入口和一个出口,因此,用三 个基本结构构成的流程图不会象乱 麻一般,用三个基本结构构成的流 程图就成为结构化流程图,用结构 化流程图描述的算法称为结构化算 法,相应的程序设计就称为结构化 程序设计。
观察前例:
顺 序 结 构
0→ s 1→ i y
S+i → s i+1 → i
循 环 结 构
i≤10 n
输出s
4 N-S流程图
N-S流程图的三个基本结构: 顺 序 结 构
A
P
成立
B
A
选 不成立 择 结 B 构
B
循 环 结 构
当P1
A 直到P2
例:计算 y= 1/x y= 10000 的N-S流程图:
输入x
X=0? 是
当x≠0时 当x=0时

10000→y
输出y
1/x→y
例: 计算 s=1+2+3+4+5+6+7+8+9+10 的N-S流程图:
上机运行高级语言程序需经过编译:
编译
高级语言源程序
执行
机器指令 目的程序 结果
编译程序
要上机完成一个计算问题,主要的任务就是 用高级语言编写出相应的源程序。即至少要 学会一种计算机语言。
1.2
C语言的特点
集高级语言和低级语言的优点于一身: ●能实现低级语言的大部分功能(如直接 访问内存物理地址、进行位操作等)。 ●图形功能强。 ●运算符和数据结构丰富。 ●语法限制不太严格,程序设计自由度大。 ●生成目标代码质量高,程序执行效率高。
2、流程图 用流程图符号表示算法。 常用的流程图符号
起止框 处理框 输入输出框 流程线
判断框
对于计算 s=1+2+3+4+5+6+7+8+9+10 用流程图表示为:
s+i → s
0→ s
S+i → s
i+1 → i Y i≤10
1→ i
N
输出s
直 观 形 象 , 易 于 理 解 , 次 序 清 楚
C语言程序设计
请大家边动手边观看
第一章 计算机语言与C语言概述
1.1 计算机语言概念 ■计算机语言定义 计算机能够识别和接受的语言。 要使计算机按自己的意图工作,必 须使用计算机所能接受、理解和执 行的指令指挥计算机工作。
■计算机语言的种类
机器语言
计 算 机 语 言
低级语言
(面向计算机)
汇编语言
整型、实型、字符型数据间可以进行混合运 算,如: 10-‘a’*1.5 运算时,参加运算的两个数据如果类型不同, 则首先将其类型转换成一致再运算,转换规则 是: 将优先级低的类型转换到优先级高的类型
数据类型的优先级:

double long unsignde 低 float
int
char
算术运算符与算术表达式 ■基本的算术运算符 + - * / % ■算术表达式 用算术运算符将运算对象连接起来的式子 用于表达数学公式的式子 如:2*x+y-1/a 表达式经过运算最终得到一个值: 算术表达式的值
3.8
■运算符的优先级与结合性 优先级: 在对表达式求值时,如果存在多个运算符,则 运算的先后次序按运算符的优先级别从高到底进 行。 运算符的优先级关系为: 高:* / % 低:+ 如:a-2*x 先算 * 2*(a+2) 有括号的情况?
3.2
常量与变量
■常量与符号常量 常量 在程序运行过程中其值保持不变的量。 符号常量
用来代表一个常量的标识符。 #define PI 3.1415926
例: #define PI 3.1415926 main() { float r=2,c; c=2*PI*r; printf(“%f”,c); }
■变量 其值可以改变的量。 变量的三要素: ① 变量名 每个变量有一个名字,作为识别该变量的 标识符。 ② 变量的值 每个变量有一个值,变量的值是随时 可以改变的。
③变量的存储单元 每个变量占据一个内存单元,用于存放变量 的值。
变量名
a 变量值
3
存储单元
变量的命名规则: 由字母、数字和下划线组成 以字母或下划线开头
■字符串常量 用双引号括起来的字符序列。
如:‛abcde‛,‛china‛ ‛a‛也属字符串。 注意‛a‛与’a’ 的区别。 对于: char c; c=‛a‛; 用法错误
字符串中每个字符各占一个字节,并且在 字符串结尾加上一个结束标记’\0’
如:‛china‛ 在内存中占6个字节。 c h i n a \0
3、结构化流程图
传统的流程图有一个弊端:对流程线没 有严格的限制,对于较复杂的算法可能会 变成乱麻一般(BS型算法)。 为克服这一弊端,提出了由三个基本结构 组成算法流程图的思想: 结构化流程图
三个基本结构: ① 顺序结构 按固定顺序(从上到下或从左到右)执行 的结构。 a A
B
b
② 选择结构 根据条件P选择执行哪一个分支。 a
2.2
算法的表示
算法需要有统一的表示方法 常用的表示方法有: 自然语言 流程图 结构化流程图 N-S流程图.
1、自然语言 对于计算 s=1+2+3+4+5+6+7+8+9+10 用自然语言表示为: ① 使s=0 (s为累加器) ② 使i=1 (i为计数器) ③ s+i→s (累加求和公式) ④ i+1→i (计数器加1) ⑤ 若i≤10转③,否则转⑥ ⑥ 输出s的值 特点:通俗易懂、文字冗长、含义不大严格。
成立
成立 不成立
不成立
p A B
b
例:计算
y= 1/x y= 10000 当x≠0时 当x=0时 的算法流程图图:
选择结构
输入x Y N
X=0?
10000→y
输出y
1/x→y
③ 循环结构 重复执行某些操作的结构。 分为两种: 当型循环和直到型循环。
a a
A
P1 N b Y
A
P2 Y b N
当型循环
C语言中专门的字符串变量,可用字符数 组存放(以后介绍)。
3.6 变量赋初值 在定义变量的同时给相应的变量赋初值。 如: int a=3; a 3 float b=5.2; char c=’a’; int x=y=z=6; 效果: 在给变量分配内存单元的同时在相应的单 元中存放初值。
3.7
各数值型数据间的混合运算

相关主题