程序设计初步(ZHP).ppt_第1页
程序设计初步(ZHP).ppt_第2页
程序设计初步(ZHP).ppt_第3页
程序设计初步(ZHP).ppt_第4页
程序设计初步(ZHP).ppt_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

1,复习:,算法解题的方法和步骤。理解算法在程序设计中的重要性。集成环境的使用(C语言源程序的调试步骤)编辑、编译、连接、运行。,2,第2章程序设计初步,3,1.程序的基本结构2.数据类型3.算术运算符和算术表达式4.赋值运算符和赋值表达式5.数据类型的转换6.数据的输出和输入7.数学函数8.简单程序设计,内容:,重点:1.了解C语言源程序基本结构;2.熟悉基本的数据类型,能进行算术表达式和赋值表达式的计算;3.能进行顺序结构的编程(变量的正确用法、输入输出函数的使用等),4,简单程序:将任意两个整数中,大的数输出。,/*功能:两个整数比较大小,将大的数输出*/#include/*文件包含处理*/intmax(intx,inty)/*比较大小*/intz;/*定义变量类型*/if(xy)z=x;/*比较大小*/elsez=y;return(z);/*将大的值返回*/,intmain(void)/*主函数首部*/inta,b,c;scanf(“%d%d”,5,C/C+结构化程序的基本结构,2.1程序的基本结构,注意:1:程序的运行规则和书写程序的风格;2:预编译命令的正确使用。,6,1,1,带符号的机器数,-77,原码,反码,补码,数据在计算机中的表示方式,7,数值的表示方法原码反码补码,正数的原码、反码和补码相同1的补码000000000000000132767的补码0111111111111111(215-1,2个字节的存储单元能表示的最大正数)负数的原码、反码和补码不同-1原码1000000000000001反码1111111111111110原码取反补码1111111111111111反码1,8,原码反码补码,32767补码0111111111111111-32767原码1111111111111111反码1000000000000000原码取反补码1000000000000001反码1-32768=-32767-1补码1000000000000000(2个字节的存储单元能表示的最小负数),9,-32768-10132767,3276701111111111111111000000000000000100000000000000000-11111111111111111-21111111111111110-327671000000000000001-327681000000000000000,32767+1=32768?100000000000000=-32768-32768-1=-32769?0111111111111111=32767,10,31302423220,浮点数,如:将十进制数“55”以浮点数格式存放(55)10=(110111)2=0.110111*26,数据在计算机中的表示方式,11,数据类型,2.2数据类型,数据是程序操作的对象,数据的类型决定了这个数据在内存的存储形式、取值范围和能够对它进行的操作。,示例1:编程输出5和6的和与平均值(保留两位小数)。#includeintmain(void)inta,b,sum;/*定义变量a,b,sum为整型*/floatav;/*定义变量av为实型*/a=5;b=6;sum=a+b;av=sum/2;/*计算和与平均值*/printf(“sum=%d,av=%.2fn”,sum,av);/*输出*/return0;,结果:sum=11,av=5.00,选用合适的数据类型及正确的输出格式。,12,1.基本数据类型,int整型float单精度浮点型char字符型double双精度浮点型,shortint(或short)短整型longint(或long)长整型unsignedint无符号整型unsignedshort无符号短整型unsignedlong无符号长整型unsignedchar无符号字符型,2.2数据类型,13,(1)整型,2.2数据类型,数据类型最小取值范围,14,(2)浮点类型,float型数据在内存中占用4个字节(32位),提供7位有效数字,可能的取值范围在10-381038;double型数据占8个字节,提供1516位有效数据,可能的取值约10-30810308。,2.2数据类型,15,(3)字符型,字符型数据存储时占用8位,它实际存储的是字符对应的ASCII码(美国标准信息交换码)。如:一个char型数据A,其ASCII码为65,故实际存储的内容是65。char型数据取值范围为-128127,unsiguedchar型数据取值范围为0255。字符型数据与整型数据可以通用,字符型数据所有的性质与一字节整型量相同。,2.2数据类型,16,表ASCII码字符表,17,/*程序名:2_5.cpp*/*功能:认识常量和变量、符号常量的使用,计算圆的周长和面积*/#include#definePI3.1415926/*定义PI为符号常量*/intmain(void)floatr,s,ar;/*定义变量的类型*/scanf(“%f”,2.2数据类型,2.常量,18,2.常量(续),在程序运行过程中其值不能被改变的量常量包括直接常量和符号常量。用一个标识符代表一个常量符号常量。符号常量的定义:#define标识符常量,2.2数据类型,19,2.常量(续),1)整型常量即整数。整型常量可以使用三种形式表示:十进制数、八进制数、十六进制数。十进制数:如123、-60、0。八进制数:以0(零)开始的数据是八进制数。如0123代表八进制数123。十六进制数:以0 x开始的数是十六进制数。如-0 x60代表十六进制数-60,0 x123代表十六进制数123。,2.2数据类型,20,2)实型常量实数有两种表示形式。即:十进制形式:包括整数部分、小数点、小数部分,当整数或小数部分为0时可以省略,但小数点不能省略。如128.0、.128、128.5、128.、0.0等都是十进制数形式。指数形式:包括尾数、字符e(或E)、指数。它适用于表示较大或较小的数。e之前必须有数字,且e后面的指数必须为整数。如1.28e4或1.28E4都代表12800。,2.2数据类型,注意:如果实型常量后缀是“f”或“F”,则被当成float型,否则,C语言编译系统总是将实型常量处理成双精度的。,21,示例:(调试时将出现警告错),#includeintmain(void)floata,b,c,ave;a=39.5;b=37.6;c=40.2;ave=(a+b+c)/3;printf(“三个数的平均数是:%f“,ave);return0;,22,3)字符常量字符常量是用单引号括起来的一个字符,如A、a、?、0等。字符常量的值的是机器字符集中字符的数字值,如字符常量0,其ASCII为48,所以存储的实际内容为48。字符常量可以象数值一样参与运算。如:a-32转义字符:一组以“”开头的特殊字符序列。如:n,2.2数据类型,23,常用转义字符表,24,4)字符串常量一对双引号括起来的字符序列。如:“Howdoyoudo.”,“ABCD!”等等字符串在存储时末尾被自动加上字符0作为串结束的标志。注意区分字符常量与只包含一个字符的字符串常量,2.2数据类型,25,3.变量和内存的概念,变量:程序运行过程中其值可以改变的量。系统为程序中的每一个变量开辟存储单元。变量名:字母开头,后跟字母、数字和下划线组成。C语言中的关键字不能作为变量名。,2.2数据类型,#include#definePI3.1415926intmain(void)floatr,s,ar;scanf(“%f”,说明:变量必须先定义后使用;变量中存储的只能是一个数据,往变量中存放数据的操作称为赋值。变量改变的是其值,而不是变量名。,26,4.变量定义和赋初值,变量定义inta,b,c;/*指定a,b,c为整型变量*/floatw;/*指定w为单精度实型变量*/doublez;/*指定z为双精度实型变量*/charc1,c2;/*指定c1,c2为字符型变量*/,2.2数据类型,变量赋初值inti=0;/*指定i为整型变量,初值为0*/inta=5,b=5,c=5;/*指定a,b,c的初值为5*/floatep=0.001;/*指定ep的初值为0.001*/charc=a;/*指定c的初值为a*/,类型标识符变量名1=常量1,变量名2=常量2,;,27,2.2数据类型,注意:变量的“名”和变量的“值”不同,变量的“名”是该变量所代表的存储单元的标志,而变量的“值”是指存储单元中的内容。如:inta;执行a=5;执行a=10;定义a第一次赋值第二次赋值,a的值不定,5,10,28,算术运算符,2.3算术运算符和算术表达式,C/C+语言提供了如下算术运算符:(加法运算符)(减法运算符)*(乘法运算符)(除法运算符):两个整数相除结果还是整数%(求余运算符):求余要求%两侧都是整型数据优先级和结合性:算术运算符的优先级与代数中相同,即先乘除和求余,后加减。结合性是从左到右。,29,2.3算术运算符和算术表达式,(1)求三个数的算术平均值代数表达式:ave=算术表达式:ave=(a+b+c)/3(2)根据三角形三边计算三角形面积代数表达式:算术表达式:sqrt(s*(s-a)*(s-b)*(s-c)(3)根据半径计算圆的周长代数表达式:s=2r算术表达式:s=2*3.14159*r,算术表达式,30,赋值运算符及表达式,2.4赋值运算符和赋值表达式,简单的赋值运算符:把一个表达式的值赋给一个变量,表达式格式为:变量名=表达式如:i=1n=n+1sum=i1+i2,31,2.4赋值运算符和赋值表达式,复合的赋值运算符:算术运算符与“=”结合在一起而形成。例如:,赋值运算符(续),i+=2等价于i=i+2a*=b+5等价于a=a*(b+5)x%=3等价于x=x%3,赋值运算符按照“自右向左”的结合顺序例如:a=b=8,a=(b=8),32,下面程序段的输出结果是:inta=5,b=5;a%=b+=a+=(a+b);printf(“a=%d,b=%d”,a,b);,练习1:,结果:a=15,b=20,33,下面程序段的输出结果是:inta=10,b=10;a+=b-=a*=b/=3;printf(“a=%d,b=%d”,a,b);,练习2:,a=3,b=-27,34,2.5数据类型的转换,运算符两侧的数据类型不同时,它们会按照提升规则自动进行类型转换。进行赋值运算时也发生类型转换,右侧的值转换为左侧的值。任何表达式中都可以强制类型进行转换。其形式为:(类型名)表达式,doublefloatlongunsignedintchar,short,数据类型的转换,如:计算a+3.2-15/2*12.7X=11.3,例如:下列程序段执行后i,x的值分别是多少?inti;doublex=2.6;i=(int)x;,35,1.格式输出函数printf,2.6数据的输出和输入,printf函数的一般调用格式:printf(格式控制,输出表列);功能:printf函数可以将任意类型的多个数据输出到标准输出设备上(一般为显示器)。,36,普通字符,格式说明,转义字符,格式控制,由双引号括起来的字符串,由“%”和格式字符组成,它的作用是将输出的数据按照指定的格式输出。,需要原样输出的字符。,用于控制输出。,格式符:见P100表6-5,37,2.常用格式符,2.6数据的输出和输入,示例1:#includeintmain(void)inta=-1,b=25,c=125;longx=356142;printf(%d,%5dn,a,b);printf(%5d,%2dn,c,c);printf(%ld,%dn,x,x);return0;,输出结果为:,38,#includeintmain(void)inta,b;floatx;charc;a=123;b=-1;x=3.14;c=A;printf(%d,%4dn,a,a);printf(%d,%x,%o,%un,b,b,b,b);printf(%c,%dn,c,c);printf(%f,%6.1fn,x,x);return0;,写出程序运行结果,示例2:,39,-1在内存中的存放,运行结果,有一个空格,inta,b;floatx;charc;a=123;b=-1;x=3.14;c=A;printf(%d,%4dn,a,a);printf(%d,%x,%o,%un,b,b,b,b);printf(%c,%dn,c,c);printf(%f,%6.1fn,x,x);,有3个空格,40,3.格式输入函数scanf,2.6数据的输出和输入,scanf函数的一般调用格式:scanf(格式控制,地址表列);scanf函数的功能是按照指定的格式输入数据,可以输入任意类型的多个数据。格式控制与printf函数含义相同,它由若干个格式说明构成,其作用是控制转换输入数据的类型。地址表列由若干个地址构成,它们可以是变量的地址,也可以是字符串的首地址(以后讲)。格式符:见P102表6-6,41,普通字符,格式说明,转义字符,格式控制,由双引号括起来的字符串,由“%”和格式字符组成,它的作用是将输入的数据按照指定的格式送入指定变量所占的存储单元。,需要原样输入的字符。,用于控制输入。,42,4.如何分隔数据,2.6数据的输出和输入,用隐含的分隔符。在输入数据中用空格或换行符分隔数据。scanf(%d%d%d,输入数据345或输入345则a=3,b=4,c=5,使用显示分隔符。在格式说明符中还可以有其它字符,在输入字符时应输入与这些字符相同的字符。scanf(%d,%d,%d,输入数据3,4,5则a=3,b=4,c=5,43,示例:C语言的表达式:sqrt(s*(s-a)*(s-b)*(s-c)头文件:math.h,2.7数学函数,数学函数:,44,常用数学函数,2.7数学函数,45,分析:程序需要三个整型变量分别存放三个整数,考虑到三个整数的平均数不一定为整数,所以存放平均值的变量定义为实型。,2.8简单程序设计,/*程序名:2_6.cpp*/*功能:求三个整数的平均数*/#includeintmain(void)inta,b,c;/*定义三个整型变量分

温馨提示

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

评论

0/150

提交评论