C语言程序设计的概念课件_第1页
C语言程序设计的概念课件_第2页
C语言程序设计的概念课件_第3页
C语言程序设计的概念课件_第4页
C语言程序设计的概念课件_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

C语言程序设计1课程内容C语言程序设计的概念基本数据类型C语言程序的流程控制模块化程序设计数组指针用户定制数据类型文件2第一章C语言程序设计的概念程序与程序设计语言C语言及其标准C语言程序概要VS2005集成开发环境31.1程序与程序设计语言计算机与程序算盘与现代计算机程序:按一定顺序安排的工作步骤记忆功能控制部件操作英国数学家CharlesBabbage研制差分机41.1程序与程序设计语言计算机程序设计语言机器语言CPU指令系统是该CPU能识别的一组由0和1序列所构成的指令码例:

10000000(进行一次加法运算)

10010000(进行一次减法运算)优点: 能被机器直接理解和执行缺点: 不直观,难理解,只能被少数专业人员掌握 编写效率低,质量难保证51.1程序与程序设计语言计算机程序设计语言汇编语言20世纪50年代中期用“助记符号”代替0,1,这种用助记符号描述的指令系统称为符号语言或汇编语言例:

A+B=>A或ADDA,B A-B=>A或SUBA,B优点: 程序生产效率和质量有所提高缺点: 机器不能直接识别、理解和执行 劳动强度依然很大61.1程序与程序设计语言计算机程序设计语言高级语言使用接近人类自然语言、但又消除了自然语言中的歧义性的语言来描述程序,如1954年出现的Fortran优点: 不需要熟悉机器内部结构,精力集中于解题思路和方法缺点: 机器不能直接识别、理解和执行发展迅速,种类繁多752FORTRAN54565860626466687072747678808284868890929496AdaALGOL60ALGOL68PascalModula-2CPLBCPLBCC++JavaLISPPROLOGCOBOLFORTRAN77PL/1Simula67Smalltalk80BASICQBASICVBFORTRAN90980002C89C9904C#81.1程序与程序设计语言高级语言程序的开发过程提出问题分析问题,建立模型表现模型编辑源程序编译链接测试与调试编写程序文档运行维护源程序代码源程序文件目标文件可执行文件未发现错误交付使用不再适宜分析错误建模错误编辑错误错误91.1程序与程序设计语言编译与链接#include<stdio.h>intadd(int,int);intmain(void){ints;s=add(2,3);printf(“Thesumis:%d”,s);return0;}intadd(inta,intb){intsum;sum=a+b;returnsum;}源文件1源文件2编译器0101100101110101101010001010001000110010101111010000010100010001100101011110100010011101110110001000101000100011001010111101000100111011101100110011链接程序11000110101100101000100000101011110101001110111000000目标文件1目标文件2其他目标文件101.1程序与程序设计语言程序的测试与调试以程序有错为前提编写程序文档程序功能所需输入数据的类型、格式和取值范围所需使用的文件数量、名称、内容以及存放位置程序运行所需的软/硬件环境程序的装载、启动方法以及交互方式等软件计算机程序计算机程序计算机化的文档软件111.1程序与程序设计语言程序的维护主要原因在于:程序未能完全满足用户需求用户需求的变更程序中存在Bug121.2C语言及其标准C语言的发展历程BCPLB改进20世纪60年代KenThompsonUNIX汇编BUNIX初版1970ThompsonBC充实1972DennisRitchie可移植C语言编译器1974DennisRitchieTheCProgrammingLanguage1978BrainandDennis131.2C语言及其标准C语言的标准C语言标准草案’83ANSIC1983C89ANSIX3.159-19891989C90ISO/IEC9899:19901990C89增补1/C951995WG14C99ISO/IEC9899:19991999141.3C语言程序概要函数语句名字与声明变量及其赋值算术运算151.3C语言程序概要函数例1.1输出字符串/*文件名:ex1_01.c*/#include<stdio.h>intmain(void){printf(“Programmingisfun.”);

return0;}函数编译预处理命令函数体161.3C语言程序概要问题1:请编写一个程序,显示以下两行文字Iamastudent.IloveChina.171.3C语言程序概要例1.2计算两个整数2、3相加的结果/*文件名:ex1_02.c*/#include<stdio.h>intadd(int,int);/*声明将要使用的函数add()*/intmain(void){ints;/*声明将要使用的变量s是整型的*/s=add(2,3);/*调用add()进行计算,并用s接收结果*/printf(“Thesumis:%d”,s);/*输出s的值*/return0;}intadd(inta,intb)/*函数add()的定义*/{intsum;/*定义一个整数sum,用于存放和*/sum=a+b;/*将a和b求和,并把结果赋给sum*/returnsum;/*返回sum的值到调用程序*/}181.3C语言程序概要ex1_02.exemain(){s=add(2,3);printf(“Thesumis%d”,s);return0;}add(inta,intb){sum=a+b;returnsum;}编译器提供库函数printf进行计算并输出结果操作系统1.操作系统调用main()2.3.4.返回操作系统返回sum的值到调用程序191.3C语言程序概要变量及其类型ints;intsum;函数的声明intadd(int,int);让编译器知道该函数的原型头文件printf()函数的参数控制串:直接输出字符+格式字符赋值运算符201.3C语言程序概要问题2:编写一个程序,求三个数之和。211.3C语言程序概要例1.3编写C语言程序,计算一个数的正弦值。/*ex1_03.c*/#include<stdio.h>#include<math.h>intmain(void){floatx;/*定义x为浮点型变量*/x=sin(0.19199);/*调用sin函数*/printf(“%f\n”,x);/*调用printf函数,输出x的值*/return0;}221.3C语言程序概要函数学习小结:C语言程序由函数组成;函数由声明和语句组成主函数必须设计,C语言程序的执行是从系统调用主函数开始的主函数的部分功能可通过其他子函数补充实现库函数的使用(#include)231.3C语言程序概要语句表达式语句表达式由运算符、变量和常量组成如:s=add(2,3)、sum=a+b、x=sin(0.19199)表达式加上语句结束符(;)就构成了表达式语句运算符如:+、=变量如:s、sum、a、b、x常量如:2、3、0.19199正确使用运算符的注意点:含义,如:=优先级结合性,如:2*3/5241.3C语言程序概要语句流程控制语句条件语句1语句2是否(a)选择控制结构条件语句是(b)重复控制结构25例1.4由键盘输入两个数,输出其中的较大数#include<stdio.h>floatmax2(floatx,floaty){floatmax;if(x>=y)max=x;elsemax=y;printf(“Themaxis:%f”,max);

returnmax;}intmain(void){floata,b;printf(“Inputtworealnumbers:\n”);

scanf(“%f%f”,&a,&b);max2(a,b);return0;}x≥y?max=xmax=y输出maxmax2的流程图261.3C语言程序概要问题3:编写一个程序,输入5个整数,找出最小值,并输出27#include<stdio.h>intmain(void){inta,b,c,d,e;scanf("%d%d%d%d%d",&a,&b,&c,&d,&e);intmin=a;if(b<min)min=b;if(c<min)min=c;if(d<min)min=d;if(e<min)min=e;printf("Thesmallestnumberis%d\n",min);return0;}28例1.5求累加和的值#include<stdio.h>intsigma(intn){inti=0,sum=0;while(i<=n){i++;sum=sum+i;}returnsum;}intmain(void){intm,total;scanf(“%d”,&m);total=sigma(m);printf(“total=%d\n”,total);return0;}i≤n?i=0,sum=0i++sum=sum+ireturnsum是否函数sigma的执行流程图块语句291.3C语言程序概要语句块语句:用一对花括号括起来的语句301.3C语言程序概要名字与声明标识符标识符,如:变量名、文件名、函数名标识符应遵循的词法规则:由大\小写字母、数字和下划线组成的序列,但不能以数字开头,如:aAAb_Ax_aXa_xabcd,而5AA-3都是不符合要求的区分同一字母的大小写,如abc与abC是不同的标识符C89规定C编译器能识别的标识符长度不超过31个有效字符,C99规定为不超过63个有效字符普通标识符不能使用对于系统有特殊意义的名字311.3C语言程序概要名字与声明关键字auto_Boolbreakcasechar_complexconstcontinuedefaultdosoubleelseenumexternfloatforgotoif_imaginaryinlineintlongregisterrestrictreturnshortsignedsizeofstaticstructswitchtypedefunionunsignedvoidvolatilewhile321.3C语言程序概要问题4:下列哪个选项可以全部用作变量名?A)a3Bb5_e_2MainB)+adayOK?MAXNUMBERC)i*jnext_day*xD)if$a3c-b331.3C语言程序概要名字与声明程序中使用“好”名字的原则:尽量做到“见名知义”尽量避免使用容易混淆的字符,如:0(数字)-O(大写字母)-o(小写字母)1(数字)-I(大写字母)-i(小写字母)2(数字)-Z(大写字母)-z(小写字母)名字不要过短,函数名一般采用动宾结构,如PrintCalendar、IsPrime等匈牙利命名法(P.17)341.3C语言程序概要名字与声明声明的作用:告诉编译器,一个名字与哪个实体相关联告诉编译器及程序员该实体的类型告诉编译器,该实体何时建立,在什么范围内可用在使用一个程序实体之前,一定要让编译器知道该程序实体的属性声明在程序中的位置,声明可以出现在程序中的任意一行声明属于非执行语句,表达式和流程控制语句属于执行语句351.3C语言程序概要变量及其赋值变量是一种程序实体,它具有一个值,这个值可以通过程序操作来改变变量的赋值运算赋值运算符=右操作数可以是一个表达式,左操作数只能是变量“自右至左”的结合性赋值运算的过程inta;a=2.6;printf(“%d”,a);运行结果为:2361.3C语言程序概要变量的赋值运算如:inta=2,b=3;a=a+b;23ab23a+b运算器5a=a+b的操作过程371.3C语言程序概要赋值运算符的结合性 如:inta=0,b=0,c=0;a=b=c=5+3;inta=0,b=0,c=0;a=(b=(c=(5+3)));000abc53a+b运算器008abc53a+b运算器381.3C语言程序概要088abc运算器888abc运算器391.3C语言程序概要算术运算符C语言中算术运算符与数学中算术运算符的区别:运算符符号有所不同,如:=运算符种类有所不同,如:%结合性可能会破坏交换律运算符名称运算对象功能示例示例值*乘任何两个实数或整数求两数之积5.5*4.022.000000/除任何实数或整数,但右操作数不能为0求两数之商4.5/50.900000%模两个整数,但右操作数不能为0求整除后的余数13%85+加任何两个实数或整数求两数之和8+3.511.500000-减任何两个实数或整数求两数之差10-4.65.400000401.3C语言程序概要例1.6分析下面程序的运算结果#include<stdio.h>intmain(void){printf(“300*2/3=%d\n”,300*2/3);printf(“2/3*300=%d\n”,2/3*300);return0;}411.3C语言程序概要问题5:下列程序的运行结果#include<stdio.h>intmain(void){intx;x=-3+4*5-6;printf("%d\n",x);x=3+4%5-6;printf("%d\n",x);x=-3*4%-6/5;printf("%d\n",x);x=(7+6)%5/2;printf("%d\n",x);return0;}A)11101B)11-201C)11101.5421.3C语言程序概要自反算术赋值运算符结合方向:自右向左优先级较低a=a+ba+=b-=(自反减赋值)*=(自反乘赋值)/=(自反除赋值)%=(自反模赋值)c=b*=a+2;b=b*(a+2);c=b;431.3C语言程序概要自加和自减运算i=i+1i=i-1i+=1i-=1i++i--或++i--i后缀形式前缀形式inti=5;i++;y=i;inti=5;++i;y=i;执行结果相同441.3C语言程序概要自加和自减运算符的结合方向是“自右至左”,它的运算对象只能是整型变量,不能是表达式或常数正负号运算符一元运算符:+、-优先级高于*、/结合方向:自右至左inti=5;x=i++;y=i;inti=5;x=++i;y=i;y执行结果相同x结果不同前缀方式为“先增值后引用”后缀方式为“先引

温馨提示

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

评论

0/150

提交评论