版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C程序设计主讲:袁国刚EMAIL:ygg@作业上交:Ftp://99
2课程说明教材:C语言程序设计教程龚本灿高教学时安排:
48学时=32学时(理论)+16学时 考试形式: 上机考试:包括理论(选择题)和操作题成绩评定: 平时成绩30%,考试成绩70%
答疑:求索学堂3学习方法难:学语言,学习(积累)算法练:课外时间,多上机,多练习问:相互启发(问老师,问同学)总结:举一反三(归类学习和一题多解)按时完成作业(上机验证)一般方法:能读懂——模仿——独立编程第一章
C
语言概述51.1计算机程序设计语言发展计算机语言的分类机器(二进制)语言:汇编语言:指令助记符高级语言(面向过程、面向对象):语句 (C语言——面向过程的高级语言)程序(某种语言源程序):指令/语句构成各类计算机语言的特点机器语言:由0、1组成,编程难,对计算机硬件控制、操作容易,直接执行汇编语言:由指令助记符组成,编程难(比机器语言容易),需汇编成机器语言——汇编程序高级语言:易使用,对硬件操作有限(一般),需编译或解释才能执行(转换为二进制)——编译程序61.1计算机程序设计语言发展高级语言的执行:必须转换为机器语言高级语言——————机器语言编译:整个原程序编译生成一个EXE文件,可以脱离语言环境(C语言需要编译)解释:翻译一句,执行一句(需要语言环境)编译/解释、链接71.2C语言的发展及特点
C语言的发展简介1978年产生,随后出现多个版本。教学使用版本:语法——TurboC环境——VC++C语言源程序,扩展名.C.CPP81.3简单的C语言程序
1.函数#include<stdio.h>voidmain()//主函数{inta,b,s;//定义变量
a=123;b=234;//使用赋值语句赋值s=a+b;//求和并赋值
printf(“sum=%d\n”,s);//用输出函数输出}1.主函数;2.每条语句以分号结束;3.变量小写;4.输出函数;5.注释91.3简单的C语言程序
#include<stdio.h>voidmain()//主函数{ intmax(int,int); //函数说明 inta,b,c; scanf(“%d,%d”,&a,&b); c=max(a,b);//调用max函数
printf(“max=%d\n”,c);}intmax(intx,inty)//定义max函数{ intz; if(x>y) z=x; else z=y; return(z);//返回}函数体函数首部101.3简单的C语言程序
1.C程序是由函数构成的(函数语言),一个C源程序至少需要一个主函数main{},同时,输入、输出也由函数(不是语句)完成;2.一个C程序总是由main函数开始执行,无论它在程序中位置如何,因此main函数必不可少;3.通常一个函数包括函数首部和函数体两部分。函数首部是对函数的类型、名称及函数参数的说明;函数体由一对{}括起,它分为变量定义以及语句部分。(函数体也可以为空)。4.一行可以写几个语句,中间用分号隔开即可;111.3C语言概要 5.每条语句必须以;(分号)结束; 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语言上机步骤(VC环境)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一.经典公式程序=数据结构+算法(Wirth)数据结构:被加工对象算法:解决特定问题的方法、步骤(怎么做)描述算法的三种基本结构:顺序、选择、循环顺序:指令顺序执行选择:根据条件执行不同的语句序列循环:重复执行某个语句序列算法:程序的灵魂,它决定程序的效率(速度、空间)1.5算法及其描述
28二.算法的特点有穷性:有限个步骤(避免死循环)确定性:每个步骤无二意性;只有一个初始和后续动作有效性:计算机能进行的操作(不能有错)有零个或多个输入:可以没有有一个或多个输出:一定有1.5算法及其描述291.5算法及其描述三.算法的表示:1.流程图:1)元素:处理判断输入/输出预定义过程起止流程线连接注释301.5算法及其描述三.算法的表示:1.流程图:2)三种结构:S1S2S3PS1S2真假PS2假真(a)顺序结构
(b)选择结构
(c)重复结构
311.5算法及其描述三.算法的表示:(重点讨论N-S结构图)2.N-S结构图:省略流程线,用矩形框表示 (1)结构化程序设计的三种基本结构:1)顺序结构:2)选择结构:AB条件真假AB条件真假
A321.5算法及其描述三.算法的表示:(重点讨论N-S结构图)2.N-S结构图:3)循环结构: 当型循环 直到型循环 4.伪代码介于自然语言与计算机语言之间的文字符号算法描述的工具。借助某种高级语言的结构,中间的操作可以用自然语言,也可以用程序设计语言,或使用自然语言与程序设计语言的混合体。一般专业人员习惯用伪代码进行算法描述。当条件为真
A
A直到条件为真331.5算法及其描述四.算法举例:例1:从三个数中取最大数
a>=b输入a,b,cmax=a真假max=bmax>=c真假输出max输出c开始结束i<3输入一个n假真假输出max开始结束max=0,i=1真i++n>=maxmax=n输入一个nmax=n341.5算法及其描述四.算法举例:例2:求5!算法(累乘) (x=1*2*3*4*5)1t2i直到i>5t*iti+1i输出t351.5算法及其描述四.算法举例:例3:求1+2+3+…+100(累加)
0sum1i直到i>100sum+isumi+1i361.5算法及其描述四.算法举例:(伪代码)【例1-7】从键盘输入一个自然数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或循环语句多分支选择语句转向语句从函数返回语句2、函数调用语句由一次函数调用加一个分号构成一个语句例:printf(“Howdoyoudo?”);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、复合语句/块语句(用于条件语句或循环体)用{}把一些语句括起来构成复合语句例:{a=5;b=a+1;printf(“a=%d,b=%d”,a,b);}1.5.2语句40
1、printf函数(格式输出函数)
作用:向控制台输出若干个各种类型的数据格式:printf(“格式控制”,输出表列);非格式字符(含转义字符)——原样输出格式说明(%和格式字符)
变量表达式格式控制输出表列(逗号分隔,替换格式符,数量一致)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位、-靠左;%f、%m.nf、%-m.nf: 输出float(小数形式)、 共占m位、n位小数、-靠左;%lf、%m.nlf、%-m.nlf: 输出double(小数形式)、 共占m位、n位小数、-靠左;%e等42例:Main(){inta=5,b=6;floatx=111111.111,y=222222.222;运行结果:
Printf(“%d%d\n”,a,b);56Printf(“a=%d,b=%d\n”,a,b);a=5,b=6Printf(“%f”,x+y);}333333.32812543
4、scanf函数(格式输入函数)作用:由控制台输入若干个各种类型的数据格式:scanf(“格式控制”,地址表列);格式说明(%和格式字符)非格式字符(照原样输入)变量地址(取址操作符&)数组名(数组名表示地址)格式控制:地址表列:2.4数据的控制台输入与输出44非格式字符:(输入时照原样输入)
注意:格式串尾不要加\n例:scanf(“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);
输入:35 或 3 5 或3545例:Main(){inta,b,c,d;floatx,y;运行时输入:
scanf(“%d%d”,&a,&b);56
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);运行结果:
56
Printf(“%6d%6d\n”,c,d);56Printf(“%8.2f,%8.2f”,x,y);}3.50,4.00461、printf()和scanf()中的“格式控制”中的字符串含义详见书;2、printf()中的“输出表列”是一连串由“,”隔开的变量及表达式;3、scanf()中是变量地址,而不是变量名或表达式;4、scanf()的“格式控制”字串中的非格式字符(尽量不要有),照原样输入;注意:47例:scanf(“%d,%d”,&a,&b);应输入:23,32
6、#include“stdio.h”
。48例:输入3个整数,求它们的和并输出#include<stdio.h>//注明输入输出函数使用的头文件voidmain() //定义主函数{ intx,y,z,sum; //定义变量
printf(“请输入三个整数:");//显示输入提示信息
scanf("%d%d%d",&x,&y,&z); //调用库函数从键盘输入数据
sum=x+y+z; //计算两个数之差的绝对值
printf("结果为:sum=%d\n",sum); //显示结果}49概述(总结)C程序的基本结构(函数语言,main{},分号)函数的构成和初步使用:函数首部、函数体、函数类型、函数名、参数、函数说明、函数调用VC编程环境:进入、新建、保存、编译、执行、关闭、打开501.从键盘输入两个整数,计算这两个数之差的绝对值。#include<stdio.h> //注明输入输出函数使用的头文件#include<math.h> //注明绝对值函数使用的头文件voidmain() //定义主函数{ intx,y,z; //定义变量
printf("请输入两个整数:");//显示输入提示信息
scanf("%d%d",&x,&y); //调用库函数从键盘输入数据
z=abs(x-y); //计算两个数之差的绝对值
printf("结果为:%d\n",z); //显示结果}练习题512.从键盘输入直角三角形的两条直角边的长度,求斜边的长度和三角形的面积,计算结果保留两位小数。#include<stdio.h> //注明输入输出函数使用的头文件#include<math.h> //注明sqrt()函数使用的头文件voidmain() //定义主函数{ doublex,y,z,area; //定义变量
printf("请输入两条直角边的长度:");//显示输入提示信息
scanf("%lf%lf",&x,&y); //从键盘输入数据
z=sqrt(x*x+y*y); //计算斜边
area=x*y/2 ; //计算面积
printf("斜边=%7.2lf,面积=%7.2lf\n",z,area);//显示结果}523.求一元二次方程3x2-20x-100=0的根,计算结果保留两位小数。#include<stdio.h> //注明输入输出函数使用的头文件#include<math.h> //注明sqrt()函数使用的头文件voidmain() //定义主函数{ doublea=3,b=-20,c=-10
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年广州市花都区公务员人员招聘考试试题与答案详解
- 2026中山市东凤镇中心幼儿园招聘雇员2名考试参考题库及答案解析
- 2026广西南宁市第四中学顶岗教师招聘1人笔试参考题库及答案解析
- 2026广西科技大学马克思主义学院招聘博士12人笔试备考题库及答案解析
- 2026北京市顺义区卫生健康委员会第三批招聘事业单位4人笔试备考试题及答案解析
- 2026河北邢台宁晋县人社局公益性岗位招聘56人考试参考题库及答案解析
- 2026年铜陵市铜官山区事业单位人员招聘笔试试题与答案详解
- 2026年常德市鼎城区公务员人员招聘考试参考题库与答案详解
- 2026年北京市东城区事业单位人员招聘考试试题与答案详解
- 2026年云南省保山市公务员人员招聘考试备考题库与答案详解
- 2026年初级会计资格考试《初级会计实务》真题+答案解析
- 高校外籍留学生管理安全培训
- 2025年全国广播电视技术能手(调频与电视广播组)完整题库及答案解析
- 2025云南省农村信用社公开选聘县级行社高级管理人员笔试历年典型考题及考点剖析附带答案详解
- 地下通道工程监理实施细则
- 油库阀门知识课件
- 安徽省合肥市普通高中六校联盟2025-2026学年高一上学期11月期中考试政治试卷(含答案)
- 海克斯康三坐标培训课件
- 2026年高考语文备考之文言实词100道选择题(一)(含答案与解析)
- 2024人教版八年级英语上册Unit 1-8各单元重点短语清单(附汉译英+英译汉默写表)
- 盗窃罪课件教学课件
评论
0/150
提交评论