资源描述
单击此处编辑母版样式,单击此处编辑幻灯片母版样式,第二层,第三层,第四层,第五层,*,*,*,第一章,C,程序设计基础知识,蓝向阳,lxy2001,中国计量学院,9/16/2024,1,课程信息,理论,50,实验,18(9,个实验,),实验课 待定,9/16/2024,2,计算机系统组成,输入,a,b,c,d,计算,x=(,a+b,)*(,c+d,),输出,x,了解,9/16/2024,3,C,语言发展历史,63,年,67,年,70,年,72,年贝尔,ALGOL 60 CPL BCPL B,语言 ,C,语言,(标准,C,),83,年,87,年,90,年,ANSI C 87 ANSI C ISO C,从软件类型来看,面向过程 常用,C,面向对象 常用,C+/Java,最新:为,Windows,和,Web,应用程序提供动态开发环境的,Visual,C+.NET,及,C#,了解,9/16/2024,4,计算机语言,机器语言,汇编语言,高级语言,面向过程,面向对象,CPU,指令系统,由,0,、,1,序列构成的指令码组成,如:,10000000,加,10010000,减,用助记符号描述的指令系统,如,ADD A, B,面向机器的语言,程序设计是数据被加工的过程,客观世界可以分类,对象是类的实例,对象是数据和方法的封装,对象间通过发送和接受消息发生联系,程序设计关键是定义类,并由类派生对象,计算机接受,理解和执行的语言,9/16/2024,5,C,语言的特点,语言简捷方便灵活、设计自由度大,数据结构及运算符,丰富,,功能强大,结构化,控制语言,生成的目标代码质量高、程序执行,效率高,可移植性好,(与汇编语言相比),9/16/2024,6,例,1_1,:输出两行句子,P1.1,#include ,void main(),printf(Hello,Everyonenstudy,hard!n);,9/16/2024,7,例,1_2:,求两个整数的和,#include ,void main(),int,x,y,sum,;,printf,(,输入第一个整数,x,:,n);,scanf(%d,&x,);,printf,(,输入第二个整数,y,:,n);,scanf(%d,&y,);,sum=,x+y,;,printf,(,和是,%,dn,sum);,9/16/2024,8,例,1_3:,输入三个数,求最大值,#include ,double,max(double,x,double,y),double m;,if(x,y),m=x;,else,m=y;,return m;,void main(),double,a,b,c,t,maxdata,;,printf,(,输入三个数:,n);,scanf(%lf,%lf %,lf,&a,&b,&c,);,t=,max(a,b,);,maxdata,=,max(t,c,);,printf,(,最大数是:,%,fn,maxdata,);,9/16/2024,9,一个简单的例子,输入,a,b,c,d,计算,x=(,a+b,)*(,c+d,),输出,x,#include ,void main(),int,a,b,c,d,m,n,x,;,scanf(%d%d%d%d,&a,&b,&c,&d,);,m=,a+b,;,n=,c+d,;,x=m*n;,printf(x,=%,dn,x);,#include ,void main(),int,a,b,c,d,x,;,scanf(%d%d%d%d,&a,&b,&c,&d,);,x=(,a+b,)*(,c+d,);,printf(x,=%,dn,x);,9/16/2024,10,C,程序格式和结构特点,/* example1.1 The first C Program*/,#include ,main(),printf(“Hello,World,!”);,注释,编译预处理,函数,语句,输出:,Hello,World!,9/16/2024,11,main( ),int,i , j , sum;,sum=0;,for(i=1; i10;i+),for(j=1;j10;j+),sum+=i*j ;,printf(“%dn”,sum,);,优秀程序员习惯规范,:,使用,TAB,缩进,对齐,有足够的注释,有合适的空行,格式特点,习惯用小写字母,大小写敏感,不使用行号,无程序行概念,可使用空行和空格,常用锯齿形书写格式,9/16/2024,12,例:,/*This is the main /* of example1.1*/ */,非法,结构特点,函数与主函数,程序由一个或多个函数组成,必须有且只能有一个主函数,main(),程序执行从,main,开始,在,main,中结束,,其它函数通过嵌套调用得以执行。,程序语句,C,程序由语句组成,用,“,;,”,作为语句终止符,注释,/* */,为注释,不能嵌套,不产生编译代码,编译预处理命令,#include ,#define PI 3.1415926,9/16/2024,13,程序语言的基本处理流程,【,源程序,】,用汇编语言或高级语言编写的程序,【,编译程序,】,将源程序译成目标程序或可执行指令的程序,【,目标程序,】,经翻译程序翻译生成的程序,【,连接程序,】,将各个已编译好的目标模块组合起来的程序,【,可执行程序,】,经连接程序处理过可直接运行的程序,MOV A , 3,ADD A , 6,A=5, B=4;,C=B+A*2/B;,0110010,0011011,目标程序,abc.obj,高级语言源程序,abc.c,汇编语言源程序,汇编程序,编译程序,解释程序,可执行程序,abc.exe,连接程序,翻译一句,执行一句,9/16/2024,14,C,程序开发步骤,编辑,链接,编译,执行,file.exe,程序代码的录入,生成源程序,*,.c,语法分析查错,翻译,生成目标程序,*,.,obj,与其它目标程序或库,链接装配,生成可执行,程序,*,.exe,9/16/2024,15,C,语言的开发工具,Visual C,(本门课程选用的工具),Turbo C,Borland C,9/16/2024,16,作业,P13 3.1 3.2 3.3,9/16/2024,17,第一章,3(1) P13,#include ,void main(),printf,(“*n);,printf(“Merry,Christmas!n);,printf(“Happy,New Yearn);,printf,(“,同学们辛苦了,!n);,printf,(“,为人民服务!,n);,printf,(“*n);,9/16/2024,18,第一章,3(2) P12,#include ,void main(), float,r,h,v,;,printf,(“,输入半径,r,:,n);,scanf(%f,&r,);,printf,(“,输入高,h,:,n);,scanf(%f,&h,);,v=3.14159*r*r*h;,printf,(“,体积是,%,dn,v);,9/16/2024,19,第一章,3(3) P13,#include ,void main(),int,x,y,z,;,scanf(%d%d,&x,&y,);,if(x,y)z,=y;,else z=x;,printf(%d,z,);,9/16/2024,20,第一章,3(4) P12,#include ,void main(),float,a,b,x,;,scanf(%f%f,&a,&b,);,x=-b/a;,printf(%f,x,);,9/16/2024,21,第一章,3(5) P12,#include ,#include ,void main(),float,a,x,;,scanf(%f,&a,);,x=a*a;,printf(%f,x,);,9/16/2024,22,
展开阅读全文