第1章 C语言概述与开发环境_第1页
第1章 C语言概述与开发环境_第2页
第1章 C语言概述与开发环境_第3页
第1章 C语言概述与开发环境_第4页
第1章 C语言概述与开发环境_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

1、C程序设计程序设计主讲:袁国刚主讲:袁国刚EMAIL: 作业上交:作业上交:Ftp:/99 2课程说明n教材教材:C C语言程序设计教程语言程序设计教程 龚本灿龚本灿 高教高教n学时安排学时安排: 48学时学时= =32学时(理论)学时(理论)+ +16学时学时n考试形式考试形式:上机考试:包括理论(选择题)和操作题上机考试:包括理论(选择题)和操作题n成绩评定成绩评定:平时成绩平时成绩30,考试成绩,考试成绩70 n答疑答疑:求索学堂:求索学堂3学习方法n难难:学语言,学习(积累)算法n练练:课外课外时间,多上机,多练习多练习n问问:相互启发(问老师,问同学)n总结

2、总结:举一反三(归类学习和一题多解)n按时完成作业作业(上机验证)n一般方法一般方法:能读懂模仿独立编程第一章第一章 C 语言概述51.1计算机程序设计语言发展n计算机语言的分类n机器(二进制)语言:n汇编语言:指令助记符n高级语言(面向过程、面向对象):语句(C语言面向过程的高级语言高级语言)n程序(某种语言源程序):指令/语句构成n各类计算机语言的特点机器语言机器语言:由0、1组成,编程难,对计算机硬件控制、操作容易,直接执行汇编语言汇编语言:由指令助记符组成,编程难(比机器语言容易),需汇编成机器语言汇编程序高级语言高级语言:易使用,对硬件操作有限(一般),需编译或解释才能执行(转换为二

3、进制)编译程序61.1计算机程序设计语言发展n高级语言的执行:必须转换为机器语言高级语言机器语言n编译:整个原程序编译生成一个EXE文件,可以脱离语言环境(C语言需要编译)n解释:翻译一句,执行一句(需要语言环境)编译/解释、链接71.2 C语言的发展及特点语言的发展及特点 nC语言的发展简介1978年产生,随后出现多个版本。教学使用版本:语法Turbo C环境VC+C语言源程序,扩展名 .C .CPP81.3 简单的简单的C语言程序语言程序 1.函数#include void main() /主函数 int a,b,s; /定义变量 a=123;b=234; /使用赋值语句赋值 s=a+b;

4、 /求和并赋值 printf(“sum=%dn”,s); /用输出函数输出 1.主函数;主函数;2.每条语句以分号结束;每条语句以分号结束;3.变量小写;变量小写;4.输出函数;输出函数;5.注释注释91.3 简单的简单的C语言程序语言程序 #include void main() /主函数 int max(int,int);/函数说明int a,b,c;scanf(“%d,%d”,&a,&b);c=max(a,b); /调用max函数printf (“max=%dn”,c); int max(int x,int y) /定义max函数int z;if(xy) z=x;else

5、 z=y; return(z); /返回函数体函数首部101.3 简单的简单的C语言程序语言程序 1.C程序是由函数构成的(函数语言),一个C源程序至少需要一个主函数main,同时,输入、输出也由函数(不是语句)完成;2.一个C程序总是由main函数开始执行,无论它在程序中位置如何,因此main函数必不可少;3.通常一个函数包括函数首部和函数体两部分。函数首部是对函数的类型、名称及函数参数的说明;函数体由一对括起,它分为变量定义以及语句部分。(函数体也可以为空)。4.一行可以写几个语句,中间用分号隔开即可;111.3 C语言概要5.每条语句必须以 ;(分号)结束;6.用/*.*/或/ 注释内容

6、;7.区分字母大小写。 12C程序编程风格1.一个说明或一个语句尽量占一行。 2.一般与该结构语句的第一个字母对齐,并单独占一行。 3.低一层次的语句或说明可比高一层次的语句或说明缩进一个 Tab键位。以便使程序更加清晰,可读性更强。4.添加必要的注释 13C程序编程风格VC+C语言上机环境与上机调试15VC上机环境程序运行步骤1)进入:开始菜单程序16C语言上机步骤(VC环境)2)新建vc源文件(文件新建:Ctrl+N)选位置选位置给文件名给文件名选源文件选源文件17C语言上机步骤(VC环境)3)编写程序:18C语言上机步骤(VC环境)4)保存程序:(文件保存/另存为)19C语言上机步骤(V

7、C环境)5)编译程序:20C语言上机步骤(VC环境)6)结果:可执行文件可执行文件所在位置所在位置C源程序源程序21C语言上机步骤(VC环境)7)执行程序: (工具栏的! 或者 Ctrl+F5)22C语言上机步骤(VC环境)7)执行程序: (工具栏的! 或者 Ctrl+F5)编译连接执行23C语言上机步骤(VC环境)8)重新开始编写:(关闭工作区新建)24C语言上机步骤(VC环境)9)打开原有源程序:25C语言上机步骤(VC环境)程序调试流程26C语言上机步骤(VC环境)10)跟踪调试:断点、单步执行、WATCH设置或取消断点断点标志进入调试27一一.经典公式经典公式程序 = 数据结构 + 算

8、法(Wirth)n数据结构:被加工对象n算法:解决特定问题的方法、步骤(怎么做)n描述算法的三种基本结构:顺序、选择、循环n顺序:指令顺序执行顺序执行n选择:根据条件执行不同的语句序列n循环:重复执行某个语句序列n算法:程序的灵魂,它决定程序的效率(速度、空间)1.5 算法及其描述算法及其描述 28二二.算法的特点算法的特点有穷性有穷性:有限个步骤(避免死循环)确定性确定性:每个步骤无二意性;只有一个初始和后续动作有效性有效性:计算机能进行的操作(不能有错)有零个或多个输入有零个或多个输入:可以没有有一个或多个输出有一个或多个输出:一定有1.5 算法及其描述算法及其描述291.5 算法及其描述

9、算法及其描述三三.算法的表示:算法的表示:1流程图:流程图:1)元素:处理判断输入/输出预定义过程起止流程线连接注释301.5 算法及其描述算法及其描述三三.算法的表示:算法的表示:1流程图:流程图:2)三种结构:S1S2S3PS1S2真假PS2假真(a)顺序结构)顺序结构 (b)选择结构)选择结构 (c)重复结构)重复结构 311.5 算法及其描述算法及其描述三三.算法的表示:(算法的表示:(重点讨论重点讨论N-S结构图结构图)2.N-S结构图:省略流程线,用矩形框表示结构图:省略流程线,用矩形框表示(1)结构化程序设计的三种基本结构:)结构化程序设计的三种基本结构:1)顺序结构:2)选择结

10、构:AB 条件条件 真真 假假A B 条件条件 真真 假假 A 321.5 算法及其描述算法及其描述三三.算法的表示:(重点讨论算法的表示:(重点讨论N-S结构图)结构图)2.N-S结构图:结构图: 3)循环结构: 当型循环直到型循环4 .伪代码伪代码介于自然语言与计算机语言之间的文字符号算法描述的工介于自然语言与计算机语言之间的文字符号算法描述的工具具。借助某种高级语言的结构,中间的操作可以用自然语。借助某种高级语言的结构,中间的操作可以用自然语言,也可以用程序设计语言,或使用自然语言与程序设计言,也可以用程序设计语言,或使用自然语言与程序设计语言的混合体。一般语言的混合体。一般专业人员习惯

11、用伪代码进行算法描述专业人员习惯用伪代码进行算法描述。当条件为真当条件为真 A A直到条件为真直到条件为真331.5 算法及其描述算法及其描述四四.算法举例:算法举例:例1:从三个数中取最大数从三个数中取最大数a=b输入a,b,cmax=a真假max=bmax=c真假输出max输出c开始结束i=maxmax=n输入一个nmax=n341.5 算法及其描述算法及其描述四四.算法举例:算法举例:例2:求5!算法(累乘)(x=1*2*3*4*5)1 t2 i直到 i 5t*i ti+1 i 输出t351.5 算法及其描述算法及其描述四四.算法举例:算法举例:例3:求1+2+3+100(累加)0 su

12、m1 i直到 i 100sum+i sumi+1 i 361.5 算法及其描述算法及其描述四四.算法举例算法举例: (伪代码)(伪代码)【例例1-71-7】从键盘输入一个自然数从键盘输入一个自然数n n,求,求n n!。!。371.5.2语句1、控制语句、控制语句1)if ( ) else 2)for ( ) 3)while ( ) 4)do while ( )5)continue6)break7)switch*8)goto9)return条件语句条件语句for循环语句循环语句当型当型循环语句循环语句直到型直到型循环语句循环语句结束本次循环语句结束本次循环语句终止执行终止执行switch或循环

13、语句或循环语句多分支选择语句多分支选择语句转向语句转向语句从函数返回语句从函数返回语句2、函数调用语句、函数调用语句由一次函数调用加一个分号构成一个语句由一次函数调用加一个分号构成一个语句例:例: printf ( “How do you do ?”) ;3、表达式语句表达式语句由一个表达式加一个分号构成一个语句由一个表达式加一个分号构成一个语句例:例:a = 5 ; i + ; y = y+1 ; . if ( ( a = b) 0 ) x = a+1 ; if ( ( a = b ; ) 0 ) x = a+1 ; 注意:没有分号就是表达式,而不是语句。注意:没有分号就是表达式,而不是语句

14、。1.5.2语句4、空语句、空语句(什么也不做)什么也不做)只有一个分号的语句只有一个分号的语句例:例: ;5、复合语句复合语句/块语句块语句(用于条件语句或循环体)(用于条件语句或循环体)用用 把一些语句括起来构成复合语句把一些语句括起来构成复合语句例:例: a = 5 ; b = a+1 ; printf ( “a=%d ,b=%d” , a ,b ) ; 1.5.2语句40 1、printf 函数(格式函数(格式输出函数)输出函数) 作用:向控制台输出若干个各种类型的数据作用:向控制台输出若干个各种类型的数据 格式:格式:printf ( “格式控制格式控制”,输出表列,输出表列 ) ;

15、 非格式字符(含转义字符)非格式字符(含转义字符) 原样输出原样输出 格式说明格式说明 (%和格式字符)和格式字符) 变量变量 表达式表达式格式控制格式控制输出表列输出表列(逗号分隔,替换格式(逗号分隔,替换格式符,数量一致)符,数量一致)1.6 格式化输入、输出函数格式化输入、输出函数 41%d 或 %md:(按m位)输出十进制整型数;(负号占1位)%ld 、%mld :(按m位)输出十进制长整型数;%o、%x、%u:以8进制、16进制、无符号十进制数输出;%c:输出一个字符;%s、%ms、%-ms、%m.ns、%-m.ns:字符串对齐输出字符串对齐输出输出字符串、占m位、输出n位、- 靠左

16、;%f、%m.nf、%-m.nf: 输出float(小数形式)、共占m位、n位小数、- 靠左;%lf、%m.nlf、%-m.nlf: 输出double(小数形式)、共占m位、n位小数、- 靠左;%e等42例:例:Main ( ) int a = 5 , b = 6 ; float x = 111111.111 , y = 222222.222 ; 运行结果:运行结果: Printf ( “%d %d n ” , a , b ) ; 5 6 Printf ( “a = %d , b = %d n ” , a , b ) ; a = 5 , b = 6 Printf ( “ %f ” , x +

17、y ) ; 333333.32812543 4、scanf 函数(函数(格式输入函数)格式输入函数) 作用:由控制台输入若干个各种类型的数据作用:由控制台输入若干个各种类型的数据 格式:格式:scanf ( “格式控制格式控制”,地址表列,地址表列 ) ; 格式说明格式说明 (%和格式字符)和格式字符) 非格式字符(非格式字符(照原样输入照原样输入) 变量地址(取址操作符变量地址(取址操作符 &) 数组名(数组名表示地址)数组名(数组名表示地址)格式控制:格式控制:地址表列:地址表列:2.4 数据的控制台输入与输出44非格式字符:(输入时照原样输入) 注意: 格式串尾不要加n 例:sc

18、anf(“a=%d”,&a); 输入:a=3格式字符:(l、h可用于d和f,表长和短型) %d、%ld、%o、%x、%c、%s、%f、%lf (常用)注意:1)格式控制中无分隔符,则输入时用空格、回车、Tab分隔数据均可 2)一般无域宽控制,加域宽表示读取指定长度; 3) * 表示丢弃该项输入数据 4)实数用%f、%lf; 5)提示信息由printf提供。例:scanf(“%d%d”,&a,&b); 输入:3 5 或35或3 5 45例:例:Main ( ) int a , b , c , d ; float x , y ; 运行时输入:运行时输入: scanf ( “

19、%d %d” , &a , &b) ; 5 6 scanf ( “c=%d,d=%d” , &c , &d) ; c = 5 , d = 6 scanf ( “%f,%f” , &x , &y) ; 3.5 , 4 Printf ( “%d %d n ” , a , b ) ; 运行运行结果结果: 5 6 Printf ( “ %6d%6d n ” , c , d ) ; 5 6 Printf ( “ %8.2f ,%8.2f” , x , y ) ; 3.50, 4.00461、printf ( ) 和和 scanf ( ) 中的中的“格式控制

20、格式控制”中的字符串中的字符串含含 义详见书义详见书;2、printf ( ) 中的中的 “输出表列输出表列” 是一连串由是一连串由 “ , ” 隔隔开的开的 变量及表达式;变量及表达式;3、scanf ( ) 中是中是变量地址变量地址 , 而不是而不是变量名变量名或或表达式表达式;4、scanf ( ) 的的 “格式控制格式控制” 字串中的字串中的非格式字符非格式字符(尽尽量量 不要有不要有),照原样输入;照原样输入; 注意:注意:47例:例:scanf ( “%d,%d”,&a,&b); 应输入:应输入:23,32 6、# include “stdio.h” 。48n例:输

21、入3个整数,求它们的和并输出#include /#include /注明输入输出函数使用的头文件注明输入输出函数使用的头文件void main()void main()/定义主函数定义主函数 int x,y,z,sum;int x,y,z,sum;/定义变量定义变量printf(“printf(“请输入三个整数:请输入三个整数:); /); /显示输入提示信息显示输入提示信息scanf(%d%d%d,&x,&y,&z);scanf(%d%d%d,&x,&y,&z);/调用库函数从键盘输调用库函数从键盘输入数据入数据sum=x+y+z;sum=x+

22、y+z;/计算两个数之差的绝对值计算两个数之差的绝对值printf(printf(结果为:结果为:sum=%dn,sum);sum=%dn,sum);/显示结果显示结果 49概述(总结)nC程序的基本结构(函数语言,main,分号)n函数的构成和初步使用:函数首部、函数体、函数类型、函数名、参数、函数说明、函数调用nVC编程环境:进入、新建、保存、编译、执行、关闭、打开501. 1. 从键盘输入两个整数,计算这两个数之差的绝对值。从键盘输入两个整数,计算这两个数之差的绝对值。#include #include /注明输入输出函数使用的头文件注明输入输出函数使用的头文件#include #inc

23、lude /注明绝对值函数使用的头文件注明绝对值函数使用的头文件void main()void main()/定义主函数定义主函数 int x,y,z;int x,y,z;/定义变量定义变量printf(printf(请输入两个整数:请输入两个整数:); /); /显示输入提示信息显示输入提示信息scanf(%d%d,&x,&y);scanf(%d%d,&x,&y);/调用库函数从键盘输入数据调用库函数从键盘输入数据z=abs(x-y);z=abs(x-y);/计算两个数之差的绝对值计算两个数之差的绝对值printf(printf(结果为:结果为:%dn,z);

24、%dn,z);/显示结果显示结果 练习题练习题512.2.从键盘输入直角三角形的两条直角边的长度,求斜从键盘输入直角三角形的两条直角边的长度,求斜边的长度和三角形的面积,计算结果保留两位小数。边的长度和三角形的面积,计算结果保留两位小数。#include #include /注明输入输出函数使用的头文件注明输入输出函数使用的头文件#include #include /注明注明sqrt()sqrt()函数使用的头文件函数使用的头文件void main()void main()/定义主函数定义主函数 double x,y,z,area;double x,y,z,area; / /定义变量定义变量p

25、rintf(printf(请输入两条直角边的长度:请输入两条直角边的长度:); /); /显示输入提示信息显示输入提示信息scanf(%lf%lf,&x,&y);scanf(%lf%lf,&x,&y);/从键盘输入数据从键盘输入数据z=sqrt(xz=sqrt(x* *x+yx+y* *y);y);/计算斜边计算斜边area=xarea=x* *y/2y/2 ; ;/计算面积计算面积printf(printf(斜边斜边%7.2lf%7.2lf,面积,面积%7.2lf n,z,area);/%7.2lf n,z,area);/显示结果显示结果 523.3.求一元二

26、次方程求一元二次方程3x3x2 2-20 x-100=0-20 x-100=0的根,计算结果保留的根,计算结果保留两位小数。两位小数。#include #include /注明输入输出函数使用的头文件注明输入输出函数使用的头文件#include #include /注明注明sqrt()sqrt()函数使用的头文件函数使用的头文件void main()void main()/定义主函数定义主函数 double a=3,b=-20,c=-100,delta,x1,x2;double a=3,b=-20,c=-100,delta,x1,x2;/定义变量定义变量delta=sqrt(bdelta=sqrt(b* *b-4b-4* *a a* *c);c);/计算计算deltadeltax1=(-b+delta)/(2x1=(-b+delta)/(2* *a);a); /计算方程的根计算方程的根x2=(-b-delta)/(2x2=(-b

温馨提示

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

评论

0/150

提交评论