《C语言程序设计基本概念.ppt》由会员分享,可在线阅读,更多相关《C语言程序设计基本概念.ppt(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、C语言语言程序设计程序设计 任课教师介绍任课教师介绍 许 创 副教授(工学院计算机系)手机:692211E-mail:网站: a+|b|,并显示计算结果。nCH2CVS:输入一个华氏温度F,输出对应的摄氏温度。公式为:c=5/9(F-32)n练习:2.6 2.7 2.8 11/19/20222任课教师:许创第第1章章 C语言程序设计基本概念语言程序设计基本概念了解了解C语言的历史和特点语言的历史和特点熟悉计算机语言的不同类型熟悉计算机语言的不同类型了解了解C语言的结构语言的结构理解理解C语言程序的开发过程语言程序的开发过程了解算法的概念了解算法的概念了解结构化程序设计方法了解结构化程序设计方法
2、学习目标学习目标11/19/20223任课教师:许创nC C语言的特点语言的特点语言简洁、紧凑,使用方便、灵活语言简洁、紧凑,使用方便、灵活运算符丰富,具有多种运算功能运算符丰富,具有多种运算功能有丰富的数据类型有丰富的数据类型生成代码质量高,程序执行效率高生成代码质量高,程序执行效率高C程序的可移植性好程序的可移植性好是一种结构化程序设计语言是一种结构化程序设计语言语法限制不严,程序设计自由度大语法限制不严,程序设计自由度大C提供的位运算可直接对硬件操作提供的位运算可直接对硬件操作11/19/20224任课教师:许创n程序设计语言程序设计语言人与计算机进行信息交流的工具人与计算机进行信息交流
3、的工具机器语言机器语言汇编语言汇编语言高级语言高级语言面向过程语言面向过程语言 (C、PASCAL等等)面向对象语言面向对象语言 (JAVA、C+等等)甚高级语言甚高级语言 (尚在开发尚在开发)11/19/20225任课教师:许创机器语言机器语言 1、与计算机硬件的设计密切相关、与计算机硬件的设计密切相关(无移植性无移植性)2、是计算机能直接识别的语言、是计算机能直接识别的语言 3、由一组二进制、由一组二进制0和和1序列构成序列构成 【例例】计算计算 4+8 取数取数 1011 0000 0000 0100 将将4 4送累加器送累加器 加加 0000 0100 0000 1000 8 8与累加
4、器中的与累加器中的4 4相加相加 停机停机 1111 0100特点:繁琐、难记、难读、难写、不可移植特点:繁琐、难记、难读、难写、不可移植 11/19/20226任课教师:许创汇编语言汇编语言 1、与计算机硬件的设计密切相关、与计算机硬件的设计密切相关 2、计算机不能直接识别、计算机不能直接识别 3、计算机基本操作是采用英语缩写的、计算机基本操作是采用英语缩写的助记符来编写程序助记符来编写程序 【例例】计算计算 4+8 MOVE AL,4 将将4 4 送累加器送累加器 ADD AL,8 8 8 与累加器中的与累加器中的 4 4相加相加 HLT 停机停机 11/19/20227任课教师:许创 汇
5、编程序:汇编程序:将汇编语言程序转换为计算机能识别的将汇编语言程序转换为计算机能识别的机器语言机器语言11/19/20228任课教师:许创高级语言高级语言 基本与计算机的硬件设备无关基本与计算机的硬件设备无关 【例例】计算计算4+8(用(用C语言编写)语言编写)sum=4+8;编译程序:编译程序:高级语言转换为机器语言的翻译程序高级语言转换为机器语言的翻译程序11/19/20229任课教师:许创n简单的简单的C C程序实例程序实例 运行结果:Welcome to C programming.【例例1-1】/第一个第一个C程序程序#includestdio.hvoid main()/*函数头函数
6、头 */printf(Welcome to C programming.n);注释注释 头文件头文件主函数、注释主函数、注释 系统提供的系统提供的输出函数输出函数 11/19/202210任课教师:许创 【例例1-2】编写求三数中最大值问题的程序编写求三数中最大值问题的程序#include int max_value(int a,int b,int c)int max;if(ab)max=a;else max=b;if(maxb THEN max=a ELSE max=bIF maxc THEN 输出输出 max ELSE 输出输出 c11/19/202216任课教师:许创流程图流程图:传统图
7、语言表示法传统图语言表示法 ANSI规定了一些常用的流程图符号:规定了一些常用的流程图符号:起止框起止框 输入输出框输入输出框 判断框判断框 处理框处理框 流程线流程线 连接圈连接圈【例例】酱油与醋的问题:试用自然语言描述酱油与醋的问题:试用自然语言描述如何将酱油与醋互换位置的过程。如何将酱油与醋互换位置的过程。11/19/202217任课教师:许创三个数中最大值问题的流程图(图三个数中最大值问题的流程图(图1-4)11/19/202218任课教师:许创N-S图图(结构化流程图结构化流程图):图语言表示法图语言表示法 三个数中最大值问题的三个数中最大值问题的 N-S图(图图(图1-5)11/1
8、9/202219任课教师:许创n结构化程序设计方法结构化程序设计方法 结构化程序设计的基本方法:结构化程序设计的基本方法:自顶向下,逐步求精,将复杂问题分解为若干的自顶向下,逐步求精,将复杂问题分解为若干的独立的小问题(小模块)。独立的小问题(小模块)。【例例】求求解两个数的平均值解两个数的平均值1、分解:问题分解为三个模块、分解:问题分解为三个模块:S1:输入两个数输入两个数a,b S2:求两个数的平均值赋给求两个数的平均值赋给aver S3:输出平均值:输出平均值 11/19/202220任课教师:许创2、实现方法,算法细化、实现方法,算法细化 S1:调调用输入函数,完成输入用输入函数,完
9、成输入S2:设计一个求解平均值的函数设计一个求解平均值的函数averge()S3:调用输出函数,完成输出调用输出函数,完成输出 3、C 语言实现主函数的编程语言实现主函数的编程/求求两个数的平均值两个数的平均值void main()/主函数主函数 float a,b,ave;/声明声明a、b和和ave为实型变量为实型变量 scanf(%f%f,&a,&b);/输入输入a、b两个数的值两个数的值 ave=average(a,b);/调用调用average函数求平均值函数求平均值 printf(average=%fn,ave);/输出输出ave的值的值 11/19/202221任课教师:许创4、逐
10、步求精:设计、逐步求精:设计averag(float x,float y)函函数的算法(设两个参数为数的算法(设两个参数为float x,float y)S2.1:把:把x加加y的和除的和除2的值送给的值送给averS2.2:把:把aver的值返回给主函数。的值返回给主函数。5、C 语言实现语言实现averag(float x,float y)函数的编程函数的编程#includefloat average(float x,float y)/求两个数的平均值求两个数的平均值 float aver;/声明声明aver为实型变量为实型变量 aver=(x+y)/2;/计算两个数的平均值赋给计算两个数
11、的平均值赋给aver return(aver);/aver的值作为函数的的返回值的值作为函数的的返回值11/19/202222任课教师:许创6、两模块连接成一个完整的求解程序、两模块连接成一个完整的求解程序#includefloat average(float x,float y)/求两个数的平均值求两个数的平均值 float z,aver;/声明声明aver为实型变量为实型变量 aver=(x+y)/2;/计算两个数的平均值赋给计算两个数的平均值赋给aver return(aver);/aver的值作为函数的的返回值的值作为函数的的返回值void main()/主函数主函数 float a,
12、b,ave;/声明声明a、b和和ave为实型变量为实型变量 scanf(%f%f,&a,&b);/输入输入a、b两个数的值两个数的值 ave=average(a,b);/调用调用average函数求平均值函数求平均值 printf(average=%fn,ave);/输出输出ave的值的值 11/19/202223任课教师:许创用自然语言描述:用自然语言描述:S1:输入两个整数输入两个整数x,yS2:交换交换x,y细化细化S2:S2.1:将:将x赋给赋给t S2.2:将:将y赋给赋给x S2.3:将:将t赋给赋给y相应的程序段:相应的程序段:/输入输入x、yscanf(%d%d,&x,&y);
13、/交换交换x、yt=x;x=y;y=t;【例例1-3】设计两整数交换的算法设计两整数交换的算法 11/19/202224任课教师:许创两数交换的另一个奇特难懂的算法:两数交换的另一个奇特难懂的算法:S1:输入两个整数输入两个整数x,yS2:将将x+y赋给赋给x S3:将将x-y赋给赋给yS4:将将x-y赋给赋给x相应的程序段:相应的程序段:scanf(%d%d,&x,&y);/输入输入x、y x=x+y;/交换交换x、y y=x-y;x=x-y;11/19/202225任课教师:许创【例例】对于一个大于对于一个大于3的整数,判断它是不是的整数,判断它是不是素数(循环之例)素数(循环之例)算法如
14、下:1.输入n 2.i=2 3.n被i除,得余数r 4.若r=0,则输出n“不是素数”,算法结束 5.i=i+1 6.若in/2,则重新执行3.;否则执行7.7.输出n“是素数”,算法结束11/19/202226任课教师:许创结构化程序的三种基本控制结构:结构化程序的三种基本控制结构:顺序结构顺序结构 选择结构(选择结构(if_else)循环结构(循环结构(while,repeat_until)顺序结构顺序结构:流程图流程图N-S图图 先执行先执行A操作,操作,再执行再执行B操作。操作。11/19/202227任课教师:许创选择结构选择结构:流程图流程图N-S图图 当当P 条件成立条件成立 (
15、为真(为真T)执行)执行A 否则否则 (为假(为假 F)执行)执行B11/19/202228任课教师:许创循环结构循环结构1(while):流程图流程图N-S图图 当当P条件成立条件成立(为真(为真 T)反复执行)反复执行A,直到直到P为为 假假时结束。时结束。11/19/202229任课教师:许创循环结构循环结构2(repeat_until)流程图流程图N-S图图 先执行先执行A操作,再判断操作,再判断P,若为,若为假假,再执行,再执行A,直到,直到P为为 真真时结束。时结束。11/19/202230任课教师:许创三种基本结构的共同特点:三种基本结构的共同特点:1)单入口)单入口2)单出口)
16、单出口3)无死语句)无死语句4)无死循环)无死循环顺序顺序选择选择循环循环11/19/202231任课教师:许创nC C程序的编辑、编译和执行程序的编辑、编译和执行编辑:编辑:利用编辑器,通过键盘将利用编辑器,通过键盘将C源程序输源程序输入到计算机,并以文件形成保存到磁盘。入到计算机,并以文件形成保存到磁盘。编译:编译:利用编译器,将利用编译器,将C源程序编译成目标源程序编译成目标程序。程序。连接:连接:利用连接器,将利用连接器,将C已编译的目标程序已编译的目标程序和库函数连接之后,生成可执行文件,并和库函数连接之后,生成可执行文件,并以文件形成存入到磁盘上,文件扩展名为以文件形成存入到磁盘上
17、,文件扩展名为.exe。运行:运行:在操作系统下运行可执行文件。在操作系统下运行可执行文件。11/19/202232任课教师:许创n上机实践上机实践运行环境turbo C(2.0或3.0)编辑录入、修改编译翻译为二进制代码(obj)连接连接各模块的二进制代码,生成可执行文件(exe)运行运行程序11/19/202233任课教师:许创Turbo C 2.0上机环境简介n四个最主要菜单四个最主要菜单nFile 创建新文件、打开文件、保存文件、改变目录、退出系统nEdit 切换到编辑状态nCompile 编译、连接成目标文件或可执行文件nRun 自动编译、连接并运行11/19/202234任课教师:
18、许创Turbo C 3.0上机环境简介n五个最主要菜单五个最主要菜单nFile 创建新文件、打开文件、保存文件、改变目录、退出系统nEdit 常用编辑命令nCompile 编译、连接成目标文件或可执行文件nRun 自动编译、连接并运行nWindows 窗口切换11/19/202235任课教师:许创n可用快捷键打开菜单 如按+F 可打开文件菜单n输入程序前一般应先改变好目录 File/Change dirn先编译、后保存、再运行n在3.0版本,可用鼠标,在多程序窗口环境下可选Windows-Next命令作窗口切换11/19/202236任课教师:许创Turbo C 常用编辑命令n上翻一屏n下翻一
19、屏n移到行首n移到行尾nQR移到文件首nQC移到文件尾11/19/202237任课教师:许创nQF查找nI查找下一个nQA查找并替换nY删除一行nN或插入一行n向前删一个字符n向后删一个字符11/19/202238任课教师:许创nQY从光标删到行尾n插入状态开关nKS存盘不退出n将本次操作作废或退回上级菜单11/19/202239任课教师:许创Turbo C 常用块操作命令nKB定义块首nKK定义块尾nKC块复制nKV块移动nKY块删除nKH隐藏/显示块nKW写块nKR读块11/19/202240任课教师:许创Turbo C 常用功能键nF2存盘nF5缩放当前窗口nF6切换编辑窗/信息窗nF9编译并连接nF10返回主菜单n+F5切换运行/用户屏幕nF9编译、连接并运行 11/19/202241任课教师:许创