二级C课件教材

上传人:我** 文档编号:117180654 上传时间:2019-11-18 格式:PPTX 页数:213 大小:1.77MB
返回 下载 相关 举报
二级C课件教材_第1页
第1页 / 共213页
二级C课件教材_第2页
第2页 / 共213页
二级C课件教材_第3页
第3页 / 共213页
二级C课件教材_第4页
第4页 / 共213页
二级C课件教材_第5页
第5页 / 共213页
点击查看更多>>
资源描述

《二级C课件教材》由会员分享,可在线阅读,更多相关《二级C课件教材(213页珍藏版)》请在金锄头文库上搜索。

1、C语言程序设计 学苑中心 杨俣哲 0、C程序初识 0.0 计算机运行原理 0.1 程序设计基本概念 0.2 C程序构成和格式 0.3 VC+ 6.0开发C程序 0.0 计算机运行原理 0.0.0计算机硬件的基本组成: 存储器:实现记忆功能的部件用来存放计算程序及参与运算的各种数据 运算器:负责数据的算术运算和逻辑运算即数据的加工处理 控制器:负责对程序规定的控制信息进行分析,控制并协调输入,输出操作或内存访 问 输入设备:实现计算程序和原始数据的输入 输出设备:实现计算结果输出 0.0.1 程序运行流程 1、程序和数据从外存装载到内存 2、控制器从内存中获取指令和数据 3、控制器从输入设备将数

2、据放入内存 4、运算器处理指令和数据 5、控制器将运算后的结果输出的内存 6、控制将内存数据输出到输出设备 0.0.2程序设计语言的发展 机器语言 汇编语言 高级语言 面向过程 面向对象 CPU指令系统,由0、1序列构成的指令码组成 如:10000000 加 10010000 减 用助记符号描述的指令系统,可进行地址、位操作 如 ADD A, B 编写系统软件,直接对硬件操作,可读性,移植性差 可读性,移植性好,编写应用程序 一般较难实现汇编语言的某些功能 如:地址和位的操作 C语言兼有高级和低级语言的功能 适合写系统软件和应用软件 又称中级语言 0.1程序设计基本概念 程序:是指为了得到某种

3、结果而可以由计算机执行的代码化 指令序列,指示计算机的每一步动作。 程序设计:是给出解决特定问题程序的过程 程序包含以下几个部分 (1)分析问题(确定数据结构、找出解决问题规律,确定解决方法) (2)确定算法 (3)编码(将算法和数据结构转化成特定程序设计语言的源程序) (4)测试调试程序 (5)整理并写出文档资料 算法:解决问题的具体方法和步骤 算法的五个特性: (1)有穷性在合理范围内可完成 (2)确定性无歧义性 (3)可行性通过有限次基本运算可完成 (4)有零个或多个输入 (5)有一个或多个输出 算法的描述:伪代码和流程图(一般流程图和N-S流程图) 伪代码: if(猪肉炖粉条20块)

4、吃尖椒土豆丝 else 吃猪肉炖粉条 一般流程图基本图形 大于 20快 吃猪肉炖粉条吃尖叫土豆丝 结束 否是 一般流程图 吃尖叫土豆丝吃猪肉炖粉条 猪肉炖粉条大于20块? 是否 N-S流程图 结构化程序:使用顺序、选择、循环这三种结构所构成的程序 A B A B 流程图N-S图 顺序结构 P AB 真假 P BA 真假 选择结构 k A1A2AiAn k=k2 k=k1 k=kn k=ki l二分支选择结构 l多分支选择结构 循环结构 l当型循环结构 l直到型循环结构 P A 假 真 当P为真 A A P 真 假 A 直到P为真 三种基本结构的共同特点: 只有一个入口; 只有一个出口; 结构内

5、的每一部分都有机会被执行到; 结构内不存在“死循环”。 模块化:把一个复杂的问题划分为小问题逐个解决方式 C语言通过函数划分功能实现模块化 0.2、C程序的构成和格式 例0.2.1:求长方形面积的简单C程序 #include int main() int width=3,height=4;/*长方形的宽高*/ int area = width * height;/*求长方形面积*/ printf(“面积 = %d n”,area); return 0; 预处理命令 函数 变量 常量 注释 数据类型 0.2.1、标示符 标示符 关键字(保留字) 预定义标示符 用户标示符 关键字:C语言中有特殊固

6、定含义不能另作他用的标示符,也叫保留字 由 ANSI C89标准定义的C语言关键字共32个 auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef unsigned union void volatile while 预定义标示符:在C语言中预先定义并有特殊含义的标示符 标示符:在编程中标记操作对象的名字和有特殊含义的字符 用户

7、标示符:又称自定义标示符,指用户根据自己需要定义的标示符 A、只能包含字母数字下划线 B、只能由字母下划线开头 C、不能使用关键字 0.2.2 变量和常量 变量:在程序运行过程中其值可以改变的量 int width; int height; 在C语言中变量要先定义才能使用 变量有 变量名、变量地址、变量值、数据类型四个属性 常量:在程序运行过程中其值不能被改变的量 字面常量:直接在程序表达出值的量 如:“hello world!”、3、A、3.14 符号常量:用一个符号代替一个常量的符号叫常量符号 int const num = 5; #define N 5 0.2.3数据类型 数据类型:数据

8、的分类用来约束数据的解释 C 数 据 类 型 基本类型 构造 类型 指针类型 空类型void 定义类型typedef 数值 类型 字符类型char 枚举类型enum 整 型 浮点型 单精度型float 双精度型double 短整型short 长整型long 整型int 数组 结构体struct 共用体union 字符串 有符号无符号 signed、unsigned 数据类型决定: 1. 数据占内存字节数 2. 数据取值范围 3. 可以进行的操作 0.2.4 表达式、语句、注释 表达式(expression)是一个单纯的运算过程,总是有返回值; 语句(statement)是执行某种操作,没有返回

9、值。 表达式是可以被求值的代码,而语句是一段可执行代码。表达式 是操作符、操作数和标点符号组成的序列,其目的是用来说明某 个计算过程而语句是执行一个动作。 例如:以下是表达式 area = width * height 3*(5+6) a + b c 以下是语句 area = width * height;/赋值语句 ;/空语句 if(1=2) /if结构语句 /复合语句 3*(5+6); a + b c; 注释:对代码的文字说明,帮助阅读代码时快速理解/*/ 和 / C语言语句分5类 控制语句(共9种) 完成一定的控制功能,这些语句能够根据一定的测试条件决定某 些语句是否被执行,如分支、循环

10、、跳转等语句。 if( )else (条件语句) for( ) while( ) (循环语句) dowhile( ) continue (结束本次循环语句) switch (多分支选择语句) break (终止switch或循环语句) goto (转向语句) return (从函数返回语句) 空语句:只有一个“ ; ”,什么也不做 表达式语句:由表达式加“ ; ”组成 l典型的是赋值语句,由赋值表达式加分号构成,如:y=x+1 是表达式,而y=x+1;则是赋值语句。实际上函数调用语句也 属于表达式语句。 函数调用语句:由函数加“ ; ”组成 printf(“This is a C progra

11、m”); a=3 ; i+ ; for(i=0;ib) printf(“large= %d”,a); else printf(“small= %d”,b); if(0 = x) y = 1; else if (x 0) y = x * 2; else y = x / 2; ab为真则执行printf(“%d”,a) 否则什么也不做 ab为真则执行printf(“large= %d”,a); 否则执行printf(“small= %d”,b); y= 1 (x =0) a x 2 (x 0) a 2 (x y) x=y; y=x; else x+; y+; printf(“%d,%dn”,x,y

12、); Compile Error! 后没有后没有“ “ ;” ” 1.2.4 if语句的嵌套 if语句中又包含一个或多个if语句称为if语句的嵌套。 实际上只要将前述if语句的形式1、2、3中的内嵌语句用一个 if语句代替,即成为if语句的嵌套。 嵌套的if语句还可以嵌套另一个if语句,形成多重嵌套。 如: if (条件1) if (条件2) 语句1 else 语句2 else if(条件3) 语句3 else 语句4 内嵌if 内嵌if 例:输入两个数并判断其大小关系 #include int main() int x,y; printf(“Enter integer x,y:“); sca

13、nf(“%d,%d“, if(x!=y) if(xy) printf(“XYn“); else printf(“Xb) x=a; if(xc) x = c; else x = b; printf(“%d”,x); 对于区分逻辑很 重要,所以不论是 单条语句还是符合 语句尽量是用 main() int a=1,b=2,c=3,x=0; if(ab) x=a; if(xc) x = c; else x = b; printf(“%d”,x); int main() int a=1,b=2,c=3,x=0; if(ab) x=a; if(xc) x = c; else x = b; printf(“

14、%d”,x); 1.2.5 条件表达式 条件运算符:? : C语言中的唯一的三目运算符,要求有三个运 算对象 条件表达式:由条件运算符构成的表达式 使用形式如下: if (ab) max=a; else max=b; max=(ab)? a:b; 运算过程:表达式1的值为非零(逻辑值为真)则整个表达式的值 为表达式2的值否则为表达式3的值 表达式1 ? 表达式2 : 表达式3 优先级别 低于关系运算符和算术运算符,但高于赋值运算符. 如: y=x10?100:200; y=x 0) z = x*x; z+= fun(-x); return z; z = x*x +fun(- x); print

15、f(“%d”,fun(3); 输出 14 14 = 32 + 22 +12 -x = 1 -x =2 -x =0 z = 0 z=x*x+0 =1 z =x*x +1 = 5 z=x*x x=3 z+=fun(-x) z=x*x x=2 z+=fun(-x) z=x*x x=1 z+=fun(-x) if(x0) x=0 return z 传入x=3 返回x*x+5 =14 特点:1、问题简化后的新问题与原问题解法相同 2、可以用简化的过程解决问题 3、一个明确的递归终止条件 例2.11 求Fibonacci数列第n个数 定义:第一个数和第二个数字都是 1 ,而 后续的每个数字是其前两个数字之和 int Fibonacci(int n) if(n 2) return Fibonacci(n-1) + Fibonacci(n-2); else return 1; int fibonacci(int n) int i,t1,t2,temp; t1=t2=1; if(n=1)|(n=2) return 1; for(i=3; i q) printf(“p 高于q指向的位置n“); else if (p = q) printf(“p 和q

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号