C语言编程入门教程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
特点:通俗易懂、文字冗长、含义不大严格。
2、流程图 用流程图符号表示算法。 常用的流程图符号
起止框
输入输出框
处理框
流程线
判断框
对于计算
s=1+2+3+4+5+6+7+8+9+10
直 观
用流程图表示为:

s+i → s


S+i → s
0→ s
i+1 → i


1→ i
Y i≤10
理 解
N

输出s
char c; c=”a”; 用法错误
字符串中每个字符各占一个字节,并且在 字符串结尾加上一个结束标记’\0’
如:”china” 在内存中占6个字节。
c h i n a \0
C语言中专门的字符串变量,可用字符数组 存放(以后介绍)。
3.6 变量赋初值
在定义变量的同时给相应的变量赋初值。
如:
int a=3;
每个运算符都有相应的优先级和结合性。 基本算术运算符都是左结合性。
}
定义 使用
一般根据什么原则选择变量的类型?
3.4 实型数据
■实型常量 可使用两种形式表示: ①小数形式:如 1.23, 3.1415926 15.48 ②指数形式:如 1e-20 1.23e5
■实型变量 用于存放实数的变量 分单精度和双精度两种: float a,b
定义a和b为单精度型变量 32位,7位有效数字,10-38—1038 double x,y 定义x和y为双精度型变量 64位,15位有效数字,10-308—10308
① 程序简练。 ② 执行速度快。 ③ 占空间少。
10
例:考虑 s=∑i的算法。
1
算法①:直接表达。 直接用语句 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 ② 使i=1
+101360
④无符号型:加上 unsigned 只存放正数。 如:unsigned int x 变量x为无符号整数,16位全表示数码, 数值范围:0—65535
在程序设计中,如果要使用整型变量, 必须首先选择以上类型符来定义变量,然 后才能使用;
例: main()
{ int a,b,c; a=100; b=50; c=a+b; printf(“%d”,c);
优先级: 在对表达式求值时,如果存在多个运算符,则运 算的先后次序按运算符的优先级别从高到底进行。 运算符的优先级关系为: 高:* / % 低:+ -
如:a-2*x 先算 * 2*(a+2) 有括号的情况?
结合性: 如果在一个运算对象两边的运算符的优先级相 同,则按规定的“结合方向”处理。 如:a-b+c b与-结合是从左到右,称“左结合性”。 b与+结合是从右到左,称“右结合性”。
3.2 常量与变量
■常量与符号常量 常量 在程序运行过程中其值保持不变的量。 符号常量
用来代表一个常量的标识符。
#define PI 3.1415926
例:
#define PI 3.1415926
main() {
float r=2,c; c=2*PI*r; printf(“%f”,c); }
■变量 其值可以改变的量。 变量的三要素: ① 变量名 每个变量有一个名字,作为识别该变量的标 识符。 ② 变量的值
■字符型变量 用于存放字符的变量。 char c1,c2 定义c1和c2为字符型变量 c1=’a’; c2=’b’; 字符赋值
字符型变量存放一个字符,占据一个字节
■字符型数据的存储形式
存放ASCII码 不是 而a 是
97
如字符’a’在内存中存放97,’b’ 存放98。
与整数的存储形式一致,它们之间可以通用
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);
}
程序运行结果:c=150
第二章 算法
2.1 算法的概念 要利用计算机处理问题,光学习语言的 语法规则还不够,最重要的是要学会针 对各类型的问题,拟定出有效的解题方 法和步骤。解题方法和步骤就是算法。
算法:
为了解决一个问题而采取的有限步骤。
计算机算法:
如何使计算机一步一步地工作的具体过程。
利用计算机处理问题的步骤: 1)设计好算法——算法设计; 2)用计算机语言实现算法——程序设计。 算法必须是“有效”的。 算法设计还要充分考虑算法的好坏。 衡量算法好坏的主要标准:
例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);
a
3
float b=5.2;
char c=’a’;
int x=y=z=6;
效果:
在给变量分配内存单元的同时在相应的单 元中存放初值。
3.7 各数值型数据间的混合运算
整型、实型、字符型数据间可以进行混合运算, 如:
10-‘a’*1.5 运算时,参加运算的两个数据如果类型不同, 则首先将其类型转换成一致再运算,转换规则 是: 将优先级低的类型转换到优先级高的类型


y i≤10
n
输出s
4 N-S流程图
N-S流程图的三个基本结构:


A
结 构
B
P

成立
不成立 择
A
B
结 构
循 环
当P1
结 构
A
B 直到P2
例:计算
y= 1wenku.baidu.comx
当x≠0时
y= 10000 当x=0时
的N-S流程图:
输入x
X=0?


10000→y 1/x→y
输出y
例: 计算 s=1+2+3+4+5+6+7+8+9+10 的N-S流程图:
}
}
a3 b5 c5
x3 y5 z5
(两个函数组成)
总结上例可知:
(1) C程序由函数构成。
(2) 函数由两部分组成:
函数说明部分:函数名、函数类型、形参 名、形参类型。
函数体:实现函数的具体操作;由语句构 成。
(3) 程序总是从main函数开始执行。
(4) 书写格式自由。 (5)语句必须有分号。 :
数据类型的优先级:

double
long
unsignde 低
int
float char
3.8 算术运算符与算术表达式 ■基本的算术运算符 + -* /% ■算术表达式
用算术运算符将运算对象连接起来的式子 用于表达数学公式的式子
如:2*x+y-1/a 表达式经过运算最终得到一个值:
算术表达式的值
■运算符的优先级与结合性
例: main() { float r,c; double r=5; c=2*3.1415926*r; printf(“%f”,c); }
r,c;
3.5 字符型数据
■字符常量
用单引号括起来的一个字符。 ’a’,’x’,’*’,’1’等
除此外,以’\’开头的字符如’\n’,’\t’等 称为转义字符,祥见书表3.3




3、结构化流程图
传统的流程图有一个弊端:对流程线没
有严格的限制,对于较复杂的算法可能会
变成乱麻一般(BS型算法)。

克服这一弊端,提出了由三个基本结构组
成算法流程图的思想:
结构化流程图
三个基本结构:
① 顺序结构
按固定顺序(从上到下或从左到右)执行
的结构。
a
A
B b
② 选择结构 根据条件P选择执行哪一个分支。
0→ s 1→ i
s+i → s i+1 → i
直到i>10
输出s
直到型
0→ s 1→ i
i≤10
s+i → s i+1 → i 输出s
当型
第三章 数据类型、运算符 与 表达式
3.1 C 的数据类型
●基本类型 (整型、实型、字符型、枚举型)
●构造类型 (略)
●指针类型 (略)
●空类型
各类型包含常量与变量
•汇编语言 用符号构成指令,如:MOV、ADD 用汇编语言编程: 相对直观,但仍繁琐,仍是面向计算机 的语言。
汇编语言是计算机间接接受的语言
•高级语言 与低级语言相比,有根本性的区别:
是面向问题的语言。 高级语言的一条指令(语句):
y=2*x*x+3*x-1; 对应于:y=2x2+3x-1 y=sin(x); 对应于:y=sinx 用高级语言编程: 直观、易懂、移植性好(不依赖于具体计 算机)
12345
累加器 记数器
③ s+i→s ④ i+1→i
该算法通用,是好算法
⑤ 若i≤10转③,否则转⑥
⑥ 输出s
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的值
3.3 整型数据 ■整型常量 即整常数,c的整常数有三种形式: ①十进制整数 与数学中的整数一致,如:100,123,15等。 ②八进制整数 以0开头的整数,如:010,07,020等。 ③十六进制整数 以0x开头的整数,如:0x10,0xff,0x2a等。
■整型变量 用于存放整数的变量。 分4种类型: ①基本型:int a 16位,可表示的数值范围:-32768—32767 ②短整型:short int b 16位,可表示的数值范围:-32768—32767 ③长整型:long int c 32 位 , 数 值 范 围 : -2147483648— 2147483647
可以看出,每个基本结构都只有 一个入口和一个出口,因此,用三 个基本结构构成的流程图不会象乱 麻一般,用三个基本结构构成的流 程图就成为结构化流程图,用结构 化流程图描述的算法称为结构化算 法,相应的程序设计就称为结构化 程序设计。
观察前例:

0→ s

结 构
1→ i
S+i → s


i+1 → i
a
成立
成立
p
不成立
不成立
A
B
b
例:计算
y= 1/x 当x≠0时 y= 10000 当x=0时 的算法流程图图:
选择结构
输入x
Y X=0? N
10000→y
1/x→y
输出y
③ 循环结构 重复执行某些操作的结构。 分为两种: 当型循环和直到型循环。
a
A P1 Y
N b
当型循环
a
A
P2 N Y
b
直到型循环
一个字符数据既可以作字符用,也可以作整 数用(取其ASCII代码)。
如:32+’a’相当于 32+97
若 int x; char c;
则 x=’a’; c=97; x=97; c=’a’; 都允许
■字符串常量 用双引号括起来的字符序列。
如:”abcde”,”china” ”a”也属字符串。 注意”a”与’a’的区别。 对于:
每个变量有一个值,变量的值是随时可 以改变的。
③变量的存储单元 每个变量占据一个内存单元,用于存放变量 的值。
变量名 a
变量值
3
存储单元
变量的命名规则: 由字母、数字和下划线组成 以字母或下划线开头
a、x1、y_2、_b1、_1c 合法 1x、a+2、Ф、Ω 不合法
变量必须先定义后使用。 程序中何时使用常量?何时使用变量?

BASIC 入门语言

F77 科学计算

高级语言 Foxpro 数据库管理
(面向问题 ) C 多用途
……
……
•机器语言 最早问世,用二进制代码构成指令。
如: 100000 (+) 110000 (-) 用机器语言编程的缺点: ─繁琐、不直观、不易调试。 如计算y=2x2+3x-1需要七八条指令。 ─移植性差。 依赖于计算机。
C语言程序设计
Copyer:Vigiking
第一章 计算机语言与C语言概述
1.1 计算机语言概念 ■计算机语言定义 计算机能够识别和接受的语言。 要使计算机按自己的意图工作,必
须使用计算机所能接受、理解和执 行的指令指挥计算机工作。
■计算机语言的种类
机器语言
低级语言 汇编语言
计 算
(面向计算机)
上机运行高级语言程序需经过编译:
编译
高级语言源程序
机器指令 目的程序
执行
结果
编译程序
要上机完成一个计算问题,主要的任务就是 用高级语言编写出相应的源程序。即至少要
学会一种计算机语言。
1.2 C语言的特点
集高级语言和低级语言的优点于一身: ●能实现低级语言的大部分功能(如直接访
问内存物理地址、进行位操作等)。 ●图形功能强。 ●运算符和数据结构丰富。 ●语法限制不太严格,程序设计自由度大。 ●生成目标代码质量高,程序执行效率高。
相关文档
最新文档