《C语言程序设计课件第章C语言概述.pptx》由会员分享,可在线阅读,更多相关《C语言程序设计课件第章C语言概述.pptx(40页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、学好任何一门高级语言编程设计的学好任何一门高级语言编程设计的“秘诀秘诀”就是多上机实践,通过上就是多上机实践,通过上机实践才能深化和巩固讲授的理论机实践才能深化和巩固讲授的理论知识。知识。C语言实践性特强的课程,按语言实践性特强的课程,按分配的教学时间是远远不够,同学分配的教学时间是远远不够,同学们一定要们一定要自主学习自主学习,才能够,才能够“真正真正”学会使用它们来编写与正确的调学会使用它们来编写与正确的调试程序,从而达到与所学专业结合,试程序,从而达到与所学专业结合,做一个全面发展的未来人才。做一个全面发展的未来人才。第1页/共40页课程要求课前请做好预习,保持课堂安静,头脑清醒,思课前
2、请做好预习,保持课堂安静,头脑清醒,思维活跃,认真、独立、按时完成并提交作业。维活跃,认真、独立、按时完成并提交作业。上课要准备草稿本,课后作业需做在练习本上。上课要准备草稿本,课后作业需做在练习本上。重视上机实践,在老师指重视上机实践,在老师指定上机时间前一定要先定上机时间前一定要先行上机练习准备,才能行上机练习准备,才能有效利用老师的指导上机有效利用老师的指导上机时间,解决学习中的问题时间,解决学习中的问题。成绩评定平时作业考勤平时作业考勤 10%上机考试上机考试 30%期未笔试期未笔试 60%第2页/共40页教学进度总学时:总学时:48理论:理论:32(3-18周)周)上机:上机:16(
3、10-17周)周)第3页/共40页第4页/共40页C语言概述语言概述本次学习目标(第一章与第二章)本次学习目标(第一章与第二章)了解语言的发展历史了解语言的发展历史了解的特点了解的特点了解程序的基本概念了解程序的基本概念掌握掌握V语言的编译与执行的过程语言的编译与执行的过程5掌握掌握算法的基本表示方法(算法的基本表示方法(重点、难重点、难点)点)第5页/共40页语言的诞生与发展贝尔实验室贝尔实验室于7070年代年代初研制出来。80年代初,美国国家标准化协会(ANSI),制定了ANSI C标准(俗称标准C),1989年再次做了修订(称新标准C)。微机上广泛使用的语言编译系统有MSC、TC、BC:
4、基本部分相同,但存在一些差异。Visual C+最初的是由Borland开发,本学期上机环境选择Visual Vc+6.0。C语言做电子设备的比较多,比如嵌入式行业就用的C语言,什么手机软件了,硬件驱动了,网络安全方面的也有,如防火墙之类的,还有现在比较流行的数字机顶盒,路由器,监控安防方面等等都用C语言开发的!第6页/共40页/*example1.1 The first C Program*/#include main()printf(“Hello,World!n”);C程序格式和结构特点程序格式和结构特点例:第一个程序运行时显示例:第一个程序运行时显示 Hello,World!注释编译预处
5、理函数语句第7页/共40页第8页/共40页一个VC单文件应用程序的实现#include void main()int a=0,b=0,sum=0;a=123;b=456;sum=a+b;printf(sum is%dn,sum);第9页/共40页#include void main()int max(int x,int y);int a,b,c;scanf(%d,%d,&a,&b);c=max(a,b);printf(max=%d,c);int max(int x,int y)int z;if(xy)z=x;else z=y;return(z);主主函函数数子子函函数数第10页/共40页说明:
6、函数是语言程序的基本构成单位。(1)main()函数:C语言程序总是从main()函数开始执行(不论其在程序中的位置),止于主函数结束。(2)由一个main()函数和若干个其它函数结合而成。(3)其它函数:通过被main()函数直接或间接调用而执行。习惯:将主函数main()放在最前头。第11页/共40页4.4.分号是分号是C C语句的一部分。语句的一部分。5.5.C C程序书写格式自由,一行内可写多条语句,语句中的空格和回车符均程序书写格式自由,一行内可写多条语句,语句中的空格和回车符均可忽略不计。可忽略不计。6.6.注释部分应括在注释部分应括在/*/*/*/之间,且之间,且“/”和和“*”
7、之间不能有空格。之间不能有空格。第12页/共40页算法什么是算法为解决某一实际问题而采用的解题步骤与方法的完整描述算法的描述方式 用自然语言描述算法 用流程图描述算法 用N-S结构图描述算法 例如:输出两个数中的最大数?第13页/共40页用自然语言描述算法第一步:输入x和y的值第二步:比较x和y的值,如果x大于y,则输出x的值,否则输出y的值。易于理解,但易于理解,但冗长,不够精冗长,不够精确,难于描述确,难于描述复杂算法。复杂算法。若要求描述“输出10个数中最大数”的算法时,会冗长、难于理解第14页/共40页用流程图描述算法用流程图描述算法用流程图描述算法NYz=yZ=xx y?开始输入x和
8、y结束输出z起止框起止框输入输入/输出框输出框判断框判断框处理框处理框流程线流程线第15页/共40页用用N-SN-S结构图描述算法结构图描述算法输入x、y的值xy T F z=x z=y输出z的值图 用N-S结构图描述的算法已经证明,任何复杂的问题都可以三种基本算法结构来描述:顺序、选择、循环。因此用计因此用计算机语句描述的算机语句描述的程序也包含三种基本结构。程序也包含三种基本结构。第16页/共40页用计算机语言表示用计算机语言表示#define PI 3.1415926main()float r,a,c;r=2.5;a=PI*r*r;c=2*PI*r;printf(“r=%f,a=%f;c
9、=%fn”,r,a,c);计算园面与周长计算园面与周长第17页/共40页课堂练习课堂练习1.从键盘上输入一个大写字符,将其转化为小写字符.2.从键盘上输入一个三位数,分别输出这个数的每一位.3.从键盘上输入2个数,用数学方法完成2数的交换并输出交换后的数据.4.从键盘上输入数,判断该数是正数.第18页/共40页1.从键盘上输入一个大写字符,将其转化为小写字符.思路思路:用数学的方法描述大写字母与小字母的联系用数学的方法描述大写字母与小字母的联系 A ascii码为码为65 a ascii码为码为97 步骤步骤:1.输入数据输入数据 2.处理转换处理转换 3.输出结果输出结果开始转换处理输入大写
10、字符输出结果结束#includemain()char ch;printf(input captal letter);scanf(%c,&ch);ch=ch+32;printf(ch=%cn,ch);第19页/共40页2.从键盘上输入一个三位数,分别输出这个数的每一位.思路思路:用数学的方法描述每一数位的分离用数学的方法描述每一数位的分离,C语言中有两个语言中有两个运算符运算符/(除除)与与%(取余取余)xxx/100百位数百位数;在此处为整除在此处为整除 (xxx-百位数百位数*100)/10十位数十位数 xxx%10 个位数个位数步骤步骤:1.输入数据输入数据 2.处理转换处理转换 3.输出
11、结果输出结果开始转换处理输入3位数输出结果结束#includemain()int a,b1,b2,b3;printf(input 3 bits Numberr);scanf(%d,&a);b3=a/100;b2=(a-b3*100)/10;b1=a%10;printf(%d,%d,%dn,b3,b2,b1);第20页/共40页3.从键盘上输入2个数,用数学方法完成2数的交换并输出.思路思路:用数学的和差法用数学的和差法 a=a+b b=a-b a=a-b 步骤步骤:1.输入数据输入数据 2.处理转换处理转换 3.输出结果输出结果开始转换处理输入2个数输出结果结束#includemain()in
12、t a,b;printf(input a,b Number);scanf(%d,%d,&a,&b);a=a+b;b=a-b;a=a-b;printf(a=%d,b=%dn,a,b);第21页/共40页4.从从键盘上输入数,判断该数是正数.思路思路:输入的数需判断大于零输入的数需判断大于零步骤步骤:1.输入数据输入数据 2.判断处理判断处理 3.输出结果输出结果#includemain()int a;printf(input a Number);scanf(%d,&a);if(a0)printf(a=%dn,a);开始输入1个数输出结果结束A0是是第22页/共40页拓展题拓展题1.从键盘上输入个
13、数从键盘上输入个数,判断第判断第2个数能整除第个数能整除第1个个数数.开始输入个数输出结果结束余数为?是是重点:余数为重点:余数为的表示的表示若输入的数是若输入的数是x,y则则x%y=0第23页/共40页#includemain()int x,y;printf(input x,y Number=);scanf(%d,%d,&x,&y);if(x%y=0)printf(“yesn);注:容易出错x%y相等赋值第24页/共40页2.从键盘上输入从键盘上输入20个数个数,统计偶数的统计偶数的个数个数.结束是不是开始输入x输出结果i=20?i=1,k=0X是偶数?K=k+1i=i+1是不是第25页/共
14、40页#includemain()int x,i,k=0;for(i=1;i=20;i+)scanf(%d,&x);if(x%2=0)k+;printf(“偶数的个数是偶数的个数是:%dn“,x);第26页/共40页定义变量:定义变量:w,h,s输入输入ws=w*h输出输出s输入输入h1、求矩形的面积。巩固练习巩固练习第27页/共40页#includemain()float w,h,s;scanf(%f,&w);scanf(%f,&h);s=w*h;printf(s=%dn,s);为什么结果为零?能合并为一条语句?若能,将怎样修改?第28页/共40页k=1,s=0当当k=100s=s+kk=k
15、+1输出输出s2、求s=1+2+3+100第29页/共40页#includemain()int k=1,s=0;for(k=1;k=100;k+)s=s+k;printf(s=%dn,s);for(k=1;k=100;k+)K=1 s=0+1K=2 s=1+2 s=s+x 累加器累加器K=3 s=1+2+3:第30页/共40页复习前次主要掌握内容复习前次主要掌握内容1.C语言的源程序结构?语言的源程序结构?注释注释编译预处理编译预处理主函数主函数语句;语句;/*注释内容注释内容 */#includemain()printf(“大家好大家好”;);/*注释内容注释内容 */#includemai
16、n()printf(“大家好大家好”;);第31页/共40页文件(文件(file)新建新建(New)文件选项卡文件选项卡(files)2.C语言的上机操作步骤?语言的上机操作步骤?1.编辑编辑(*.c)2.编译编译(*.obj)3.连接连接(*exe)4.执行执行编译连接执行第32页/共40页3.C语言的中的一些规定?语言的中的一些规定?n int a;float x;char ch;%d,%f,%cscanf(“%d”,&a)printf(“%f,%c”,x,ch)换行换行 int a 定义整型变量定义整型变量afloat x;定义实数型变量定义实数型变量 xchar ch;定义字符型变量定
17、义字符型变量ch十进制十进制,实数实数,字符字符从键盘上输入一个整数放从键盘上输入一个整数放a中中输出实数输出实数x与字符与字符ch第33页/共40页k=1,t=1当当k=nt=t*kk=k+1输出输出t输入输入n3、任意数的N!第34页/共40页#includemain()int k=1,t=1,n;scanf(%d,&n);for(k=1;k=n;k+)t=t*k;printf(t=%dn,t);for(k=1;k=n;k+)K=1 t=1*1K=2 t=1*2 t=t*x 累乘器累乘器K=3 t=1*2*3:第35页/共40页k=1,t=1当当k=10t=t*4k=k+1输出输出tt=1
18、4、求410第36页/共40页#includemain()int k=1,t=1;for(k=1;k=10;k+)t=t*4;printf(t=%dn,t);for(k=1;k=10;k+)K=1 t=1*4K=2 t=4*4 t=t*x 累乘器累乘器K=3 t=4*4*4:第37页/共40页k=1,t=1当当k=nt=t*mk=k+1输出输出t输入输入m,n5、求mn第38页/共40页#includemain()int k=1,t=1,n,m;scanf(%d,%d,&m,&n);for(k=1;k=n;k+)t=t*m;printf(t=%dn,t);第39页/共40页感谢您的欣赏!第40页/共40页