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

下载本文档

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

文档简介

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

2、:归类学习和一题多解n按时完成作业作业(上机验证)n一般方法一般方法:教材程序:n能读懂n模仿(包括照原样输入)n脱离书本,独立编程;变通编程第一章第一章 C 语言概述51.1计算机程序设计语言发展n计算机语言的分类及特点n机器(二进制)语言:由0、1组成,计算机直接执行n汇编语言:指令助记符,需要汇编变成二进制语言n高级语言(面向过程、面向对象):语句,需要解释或编译变成二进制语言nC语言面向过程的高级语言高级语言n程序(某种语言源程序):由指令/语句构成高级语言 机器语言 编译:整个原程序编译生成一个EXE文件,可以脱离语言环境(C语言) 解释:翻译一句,执行一句(需要语言环境)编译/解释

3、、链接61.2 C语言的发展及特点语言的发展及特点 nC语言的发展简介1978年产生,随后出现多个版本。n教学使用版本:语法Turbo C(标准C)环境VC+nC语言源程序:扩展名 .C .CPP71.3 简单的简单的C语言程序语言程序 /程序文件名: Hello.c:/功能:输出信息“Hello,world!”#include /引入标准输入输出头文件void main() printf(“Hello,World!”);/使用输出函数输出信息1.主函数main程序说明:1.程序结构:引入文件和main()函数;2.每条语句以分号(;)结束;3.输出使用printf()函数;4.注释81.3

4、简单的简单的C语言程序语言程序 程序2: Sum.c#include void main() /主函数 int a,b,s; /定义变量,变量小写 a=123;b=234; /使用赋值语句赋值 s=a+b; /求和并赋值 printf(“sum=%dn”,s); /用输出函数输出 1.主函数;主函数;2.每条语句以分号结束;每条语句以分号结束;3.变量小写变量小写;4.输出函数;输出函数;5.注释注释:/*.*/或/ ;6.区分大小写7.n 表示换行(输出后光标停到下一行)关于关于printf()函数的一般使用说明函数的一般使用说明1. 输出字符串信息:如 printf(“Hello,Worl

5、d!”); printf(“*”);2. 输出给定信息,如:当a=2,b=3,s=5时,用a的值2替换第一个%d,用b的值3 替换第二个%d,用s的值5替换第三个%d,形成一个新的字符串,再输出 printf(“a=%d,b=%d,a+b=%dn”,a,b,s); 最终输出:a=2,b=3,a+b=59C程序编程风格1.一个说明或语句尽量占一行。 2.一般与该结构语句的第一个字母对齐,并单独占一行。 3.低一层次的语句或说明可比高一层次的语句或说明缩进一个 Tab键位。以便使程序更加清晰,可读性更强。4.添加必要的注释 VC+C语言上机环境与上机调试11VC上机环境程序运行步骤1)进入:”开始

6、”菜单/所有程序/Visual C+12C语言上机步骤(VC环境)2)新建vc源文件(文件新建:Ctrl+N)3.选位置选位置4.给文件名给文件名2.选源文件选源文件113C语言上机步骤(VC环境)3)编写程序:程序结构:引入文件和main()函数14C语言上机步骤(VC环境)4)保存程序:(文件保存/另存为)15C语言上机步骤(VC环境)5)编译程序:16C语言上机步骤(VC环境)7)执行程序: (工具栏的! 或者 Ctrl+F5)17C语言上机步骤(VC环境)7)执行程序: (工具栏的! 或者 Ctrl+F5)编译建立执行18C语言上机步骤(VC环境)8)重新开始编写:(关闭工作区新建)1

7、9C语言上机步骤(VC环境)9)打开原有源程序:20C语言上机步骤(VC环境)6)结果:可执行文件可执行文件所在位置所在位置C源程序,每次作源程序,每次作业上交的东东业上交的东东21C语言上机步骤(VC环境)程序调试流程22C语言上机步骤(VC环境)10)跟踪调试:断点、单步执行、WATCH设置或取消断点断点标志进入调试1.设置/取消断点: 光标定位,点“手”2.跟踪执行: 不点!,而点!和“手”之间的3.单步执行:Step Over4.跟踪过程中观察变量的值进入跟踪状态后,窗口下部23n算法的概念:解决特定问题的方法、步骤(怎么做)n算法的特点算法的特点 有穷性有穷性:有限个步骤(避免死循环

8、) 确定性确定性:每个步骤无二意性;只有一个初始和后续动作 有效性有效性:计算机能进行的操作(不能有错) 有零个或多个输入有零个或多个输入:可以没有 有一个或多个输出有一个或多个输出:一定有1.5 算法及其描述算法及其描述 24n描述算法的三种基本结构:顺序、选择、循环n顺序:指令顺序执行顺序执行n选择:根据条件执行不同的语句序列n循环:重复执行某个语句序列1.5 算法及其描述算法及其描述 251.5 算法及其描述算法及其描述三三.算法的表示:算法的表示:1流程图:流程图:1)元素:处理判断输入/输出预定义过程起止流程线连接注释261.5 算法及其描述算法及其描述三三.算法的表示:算法的表示:

9、1流程图:流程图:2)三种结构:S1S2S3PS1S2真假PS2假真(a)顺序结构)顺序结构 (b)选择结构)选择结构 (c)重复结构)重复结构 271.5 算法及其描述算法及其描述三三.算法的表示:(算法的表示:(重点讨论重点讨论N-S结构图结构图)2.N-S结构图:省略流程线,用矩形框表示结构图:省略流程线,用矩形框表示(1)结构化程序设计的三种基本结构:)结构化程序设计的三种基本结构:1)顺序结构:2)选择结构:AB 条件条件 真真 假假A B 条件条件 真真 假假 A 281.5 算法及其描述算法及其描述三三.算法的表示:(重点讨论算法的表示:(重点讨论N-S结构图)结构图)2.N-S

10、结构图:结构图: 3)循环结构: 当型循环直到型循环4 .伪代码伪代码介于自然语言与计算机语言之间的文字符号算法描述的工介于自然语言与计算机语言之间的文字符号算法描述的工具具。借助某种高级语言的结构,中间的操作可以用自然语。借助某种高级语言的结构,中间的操作可以用自然语言,也可以用程序设计语言,或使用自然语言与程序设计言,也可以用程序设计语言,或使用自然语言与程序设计语言的混合体。一般语言的混合体。一般专业人员习惯用伪代码进行算法描述专业人员习惯用伪代码进行算法描述。当条件为真当条件为真 A A直到条件为真直到条件为真291.5 算法及其描述算法及其描述四四.算法举例:算法举例:例1:从三个数

11、中取最大数从三个数中取最大数a=b输入a,b,cmax=a真假max=bmax=c真假输出max输出c开始结束i=maxmax=n输入一个nmax=n301.5 算法及其描述算法及其描述四四.算法举例:算法举例:例2:求5!算法(累乘)(x=1*2*3*4*5)1 t2 i直到 i 5t*i ti+1 i 输出t311.5 算法及其描述算法及其描述四四.算法举例:算法举例:例3:求1+2+3+100(累加)0 sum1 i直到 i 100sum+i sumi+1 i 321.5 算法及其描述算法及其描述四四.算法举例算法举例: (伪代码)(伪代码)【例例1-71-7】从键盘输入一个自然数从键盘

12、输入一个自然数n n,求,求n n!。!。331.5.2语句1、控制语句、控制语句1)if ( ) else 2)for ( ) 3)while ( ) 4)do while ( )5)continue6)break7)switch*8)goto9)return条件语句条件语句for循环语句循环语句当型当型循环语句循环语句直到型直到型循环语句循环语句结束本次循环语句结束本次循环语句终止执行终止执行switch或循环语句或循环语句多分支选择语句多分支选择语句转向语句转向语句从函数返回语句从函数返回语句2、函数调用语句、函数调用语句由一次函数调用加一个分号构成一个语句由一次函数调用加一个分号构成一

13、个语句例:例: 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 ; 注意:没有分号就是表达式,而不是语句。注意:没有分号就是表达式,而不是语句。1.5.2语句4、空语句、空语句(什么也不做)什么也不做)只有一个分号的语句只有一个分号的语句例:例: ;5、复合语句复合语句/块语句块语句(用于条件语句或循环体)(用于条件语句或

14、循环体)用用 把一些语句括起来构成复合语句把一些语句括起来构成复合语句例:例: a = 5 ; b = a+1 ; printf ( “a=%d ,b=%d” , a ,b ) ; 1.5.2语句36 1、printf 函数(格式函数(格式输出函数)输出函数) 作用:向控制台输出若干个各种类型的数据作用:向控制台输出若干个各种类型的数据 格式:格式:printf ( “格式控制格式控制”,输出表列,输出表列 ) ; 非格式字符(含转义字符)非格式字符(含转义字符) 原样输出原样输出 格式说明格式说明 (%和格式字符)和格式字符) 变量变量 表达式表达式格式控制格式控制输出表列输出表列(逗号分隔

15、,替换格式(逗号分隔,替换格式符,数量一致)符,数量一致)1.6 格式化输入、输出函数格式化输入、输出函数 37%d 或 %md:(按m位)输出十进制整型数;(负号占1位)%ld 、%mld :(按m位)输出十进制长整型数;%o、%x、%u:以8进制、16进制、无符号十进制数输出;%c:输出一个字符;%s、%ms、%-ms、%m.ns、%-m.ns:字符串对齐输出字符串对齐输出输出字符串、占m位、输出n位、- 靠左;%f、%m.nf、%-m.nf: 输出float(小数形式)、共占m位、n位小数、- 靠左;%lf、%m.nlf、%-m.nlf: 输出double(小数形式)、共占m位、n位小数

16、、- 靠左;%e等l表示长,h表示短,如短整型:%hd38例:例: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 + y ) ; 333333.32812539 2、scanf 函数(函数(格式输入函数)格式输入函数) 作用:由控制台输入若干个各种类型的数据作用:

17、由控制台输入若干个各种类型的数据 格式:格式:scanf ( “格式控制格式控制”,地址表列,地址表列 ) ; 格式说明格式说明 (%和格式字符)和格式字符) 非格式字符(非格式字符(照原样输入照原样输入) 变量地址(取址操作符变量地址(取址操作符 &) 数组名(数组名表示地址)数组名(数组名表示地址)格式控制:格式控制:地址表列:地址表列:1.6 格式化输入、输出函数格式化输入、输出函数 40scanf使用说明1.常用的格式符有: %d、%ld、%o、%x、%c、%s、%f、%lf ;2.非格式字符:(照原样输入)scanf(“a=%d”,&a); 输入:a=3scanf (

18、 “%d,%d”,&a,&b); 应输入:应输入:23,32scanf(“a=%dn”,&a); 输入:a=3 格式串尾不要加格式串尾不要加n3.格式控制中无分隔符,则输入时用空格、回车、Tab分隔数据均可scanf(“%d%d”,&a,&b);输入:3 5 或35或3 5 4. 提示信息由printf提供 printf(“input two real(a b)n”); scanf(“%lf%lf”,&a,&b);scanf(“input two real(a b):%lf%lf”,&a,&b);41例:例:Main (

19、) int a , b , c , d ; float x , y ; 运行时输入:运行时输入: scanf ( “%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” ,

20、 x , y ) ; 3.50, 4.00421、printf ( ) 和和 scanf ( ) 中的中的“格式控制格式控制”中的字符串中的字符串含义详见书含义详见书;2、printf ( ) 中的中的 “输出表列输出表列” 是一连串由是一连串由 “ , ” 隔隔开的变量及表达式;开的变量及表达式;3、scanf ( ) 中是中是变量地址变量地址 ,如:如:&x;4、scanf ( ) 的的 “格式控制格式控制” 字串中的字串中的非格式字符非格式字符(尽尽量不要有量不要有),照原样输入;照原样输入; 注意:注意:43n例:输入3个整数,求它们的和并输出#include /#includ

21、e /注明输入输出函数使用的头文件注明输入输出函数使用的头文件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+y+z;/计算两个数之差的绝对值计算两个数之差的绝对值prin

22、tf(printf(结果为:结果为:sum=%dn,sum);sum=%dn,sum);/显示结果显示结果 441. 1. 从键盘输入两个整数,计算这两个数之差的绝对值。从键盘输入两个整数,计算这两个数之差的绝对值。#include #include /注明输入输出函数使用的头文件注明输入输出函数使用的头文件#include #include /注明绝对值函数使用的头文件注明绝对值函数使用的头文件void main()void main()/定义主函数定义主函数 int x,y,z;int x,y,z;/定义变量定义变量printf(printf(请输入两个整数:请输入两个整数:); /);

23、/显示输入提示信息显示输入提示信息scanf(%d%d,&x,&y);scanf(%d%d,&x,&y);/调用库函数从键盘输入数据调用库函数从键盘输入数据z=abs(x-y);z=abs(x-y);/计算两个数之差的绝对值计算两个数之差的绝对值printf(printf(结果为:结果为:%dn,z);%dn,z);/显示结果显示结果 练习题练习题452.2.从键盘输入直角三角形的两条直角边的长度,求斜从键盘输入直角三角形的两条直角边的长度,求斜边的长度和三角形的面积,计算结果保留两位小数。边的长度和三角形的面积,计算结果保留两位小数。#include #inc

24、lude /注明输入输出函数使用的头文件注明输入输出函数使用的头文件#include #include /注明注明sqrt()sqrt()函数使用的头文件函数使用的头文件void main()void main()/定义主函数定义主函数 double x,y,z,area;double x,y,z,area; / /定义变量定义变量printf(printf(请输入两条直角边的长度:请输入两条直角边的长度:); /); /显示输入提示信息显示输入提示信息scanf(%lf%lf,&x,&y);scanf(%lf%lf,&x,&y);/从键盘输入数据从键盘输入数据

25、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);/显示结果显示结果 463.3.求一元二次方程求一元二次方程3x3x2 2-20 x-100=0-20 x-100=0的根,计算结果保留的根,计算结果保留两位小数。两位小数。#include #include /注明输入输出函数使用的头文件注明输入输出函数使用的头文件#include #include

26、/注明注明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-delta)/(2* *

温馨提示

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

评论

0/150

提交评论