c++第二讲.ppt_第1页
c++第二讲.ppt_第2页
c++第二讲.ppt_第3页
c++第二讲.ppt_第4页
c++第二讲.ppt_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

1、上讲内容回顾o设计设计C C程序的四步曲:编辑、编译、连接、运行程序的四步曲:编辑、编译、连接、运行o算法的定义及特点算法的定义及特点o主函数的主函数的“特权特权”o良好的编程习惯良好的编程习惯上机存在的问题 (1)(1) C C语言程序由函数构成,有且仅有一个语言程序由函数构成,有且仅有一个 mainmain函数,无函数,无论论mainmain函数书写在什么位置,一个函数书写在什么位置,一个C C程序总是从程序总是从mainmain函数函数开始执行,也是从开始执行,也是从mainmain函数结束(一山难容二虎)。函数结束(一山难容二虎)。 (2 2) 除了双引号内部的字符以外,其余所有的字符

2、都必除了双引号内部的字符以外,其余所有的字符都必须在英文状态下输入(注意中英文输入法的切换)。须在英文状态下输入(注意中英文输入法的切换)。 上机存在的问题 (3 3) 由于系统给出的错误信息中的错误位置有时会有由于系统给出的错误信息中的错误位置有时会有偏离,需要我们适当地将搜寻范围向上向下扩展。偏离,需要我们适当地将搜寻范围向上向下扩展。 (4 4) 对于某个错误系统往往会给出一系列连带的错误对于某个错误系统往往会给出一系列连带的错误信息,无需全部改掉再编译,可以尝试着先改掉其中的信息,无需全部改掉再编译,可以尝试着先改掉其中的一个错误,立即重新编译,错误的数量可能会大幅度的一个错误,立即重

3、新编译,错误的数量可能会大幅度的减少。减少。第二讲第二讲 数据类型及常量、变量数据类型及常量、变量内容提要o 数据类型o 常量和变量o 调试程序技巧课堂引入课堂引入一般情况下计算机求解问题有六步法一般情况下计算机求解问题有六步法1 1 陈述问题:当一个问题提出需要用软件实现时,明晰且陈述问题:当一个问题提出需要用软件实现时,明晰且精确的问题陈述可以避免产生任何误解。精确的问题陈述可以避免产生任何误解。2 2 需求分析:主要是确定软件程序需要实现的目标,确定需求分析:主要是确定软件程序需要实现的目标,确定软件处理的数据或信息,建立问题域数据结构,进行程软件处理的数据或信息,建立问题域数据结构,进

4、行程序设计可行性分析。序设计可行性分析。 3 3 数学建模或处理流程示例:利用问题域的一个简单数据集数学建模或处理流程示例:利用问题域的一个简单数据集手动模拟解答问题,从中找出问题解答的细节或过程;手动模拟解答问题,从中找出问题解答的细节或过程;4 4 确定算法:进一步写出解决问题的详细可行算法步骤;确定算法:进一步写出解决问题的详细可行算法步骤;5 5 编码:用程序设计语言编程实现所定义的处理过程;编码:用程序设计语言编程实现所定义的处理过程;6 6 测试:问题求解的最后一步是测试结果是否正确。测试:问题求解的最后一步是测试结果是否正确。课堂引入课堂引入【例例】编程求半径为编程求半径为3的圆

5、的面积和同半径的球的体积的圆的面积和同半径的球的体积1. 问题陈述:求圆的面积和球的体积。问题陈述:求圆的面积和球的体积。 2. 需求分析:输入圆半径,输出圆面积和体积。需求分析:输入圆半径,输出圆面积和体积。3. 数学建模:数学建模:对于数值计算类问题,我们首先要确定问对于数值计算类问题,我们首先要确定问题的数学模型。题的数学模型。 设圆的半径为设圆的半径为r,值为,值为3,圆的面积为,圆的面积为s,体积为,体积为v。则求。则求圆的面积和体积的数学公式为:圆的面积和体积的数学公式为:s=rr=28.27,v=43rrr=113.104. 确定算法:确定算法:(1)设计表示半径、面积和体积的变

6、量:)设计表示半径、面积和体积的变量:r(整型或(整型或实型)、实型)、s(实型)和(实型)和v(实型)。(实型)。(2)利用数学公式)利用数学公式s=rr和和v=43rrr求出面积和体积。求出面积和体积。(3)输出面积和体积。)输出面积和体积。计算机操作处理时,要完成以下工作:计算机操作处理时,要完成以下工作:o 在内存中给半径在内存中给半径 r r 和运算结果和运算结果 开辟存储空间,存开辟存储空间,存放它们的值。应该留多大的地方来存放它们的值?放它们的值。应该留多大的地方来存放它们的值?o 数据数据 4 4、3 3 和和 3.14 3.14 与与 r r 、 不同,它们是在编写不同,它们

7、是在编写程序时就给出确定的值,在运算过程中不会改变。这样程序时就给出确定的值,在运算过程中不会改变。这样的数计算机怎么处理?的数计算机怎么处理?o 对整数对整数2 2 和小数和小数3.14 3.14 ,计算机存放时是否有区别?,计算机存放时是否有区别?数据是程序的生命线,是程序中跳动的音符。数据是程序的生命线,是程序中跳动的音符。一一个程序一般由说明数据,输入数据,加工数据,输个程序一般由说明数据,输入数据,加工数据,输出数据几个部分组成。数据类型包括字符型、数值出数据几个部分组成。数据类型包括字符型、数值型和逻辑型数据等。型和逻辑型数据等。“池塘捕鱼”VS“大海捕鱼”o内存:微机以字节为单位

8、线性的组织内存储器。内存:微机以字节为单位线性的组织内存储器。每一个字节都有一个唯一的编号。每一个字节都有一个唯一的编号。o内存的概念内存的概念(公寓楼公寓楼)地址:为了访问内存中的某个内存单元,我们地址:为了访问内存中的某个内存单元,我们 要为它编号,这种编号称为要为它编号,这种编号称为内存地址内存地址。 通过地址我们就能够访问该地址所标通过地址我们就能够访问该地址所标 识的存储单元。识的存储单元。o地址的概念(房间编号)地址的概念(房间编号)指针类型指针类型整整 型型基本类型基本类型构造类型构造类型单精度型单精度型float双精度型双精度型doubleC C语语言言数数据据类类型型字符类型

9、字符类型char空类型空类型void实型实型数组数组array结构体结构体struct共用体共用体union短整型短整型short长整型长整型long基本整型基本整型int一 数据类型1 整型数据类型数据类型字节个数字节个数取值范围取值范围shortshort (int)2-32768+32767(-215215-1)unsigned short (int)2065535 (0216-1)intint4-21474836482147483647(-231231-1)unsigned (int)404294967295(0232-1)longlong (int)4-214748364821474

10、83647(-231231-1)unsigned long (int)404294967295 (0232-1)o 执行程序和访问数据事实执行程序和访问数据事实上就是访问内存单元。根上就是访问内存单元。根据需要,多个字节可以组据需要,多个字节可以组合起来构成更大的单元,合起来构成更大的单元,存放简单变量、数组和结存放简单变量、数组和结构体等数据。例如,构体等数据。例如,C C语语言中一个整型数据可占言中一个整型数据可占4 4个连续的字节。个连续的字节。0123103104105106107int f;f占四个字占四个字节节2 实型(浮点型)数据类型数据类型字节个数字节个数取值范围取值范围精度精

11、度floatfloat4 4约约-3.4-3.41010-38-383.43.4101038386767doubledouble8 8约约-1.7-1.71010-308-3081.71.71010308308151615163 字符型(Character)数据类型数据类型字节个数字节个数charchar1 14 空类型(void) void main(void) void的含义是的含义是“无、空无、空”,是,是“空类型空类型”,强,强调函数的返回值类型为空或函数无参数。调函数的返回值类型为空或函数无参数。 函数无返回值,应声明为函数无返回值,应声明为void类型。函数无参类型。函数无参数,应

12、声明其参数为数,应声明其参数为void。二二 常量和变量常量和变量数据按照是否可以更改,可分为常量和变量。数据按照是否可以更改,可分为常量和变量。常量(指定房间的常驻人口)常量(指定房间的常驻人口):指在程序的运行:指在程序的运行过程中它的值不会发生变化的数据。过程中它的值不会发生变化的数据。变量(指定房间的流动人口)变量(指定房间的流动人口):指在程序的运行:指在程序的运行过程中它的值可以改变的数据。过程中它的值可以改变的数据。1 1 常量常量概念:在程序运行中概念:在程序运行中, ,其值不能被改变的量。其值不能被改变的量。分类:分类:直接常量和符号常量直接常量和符号常量1.1.直接常量:是

13、在程序中直接常量:是在程序中直接引用直接引用的数据。的数据。分为:整型、实型、字符型、字符串分为:整型、实型、字符型、字符串以数据的以数据的原形出现原形出现!三种表示形式:三种表示形式:十进制形式十进制形式: :与数学上的整数表示相同与数学上的整数表示相同。 例如例如: 12, -100, 0: 12, -100, 0八进制形式八进制形式: :以数字以数字0 0开头开头。例如例如: : 0 012=112=1* *8 81 1+2+2* *8 80 0=10(=10(十进制)十进制)十六进制形式十六进制形式: :以以0X0X(数字数字0 0和字母和字母X X,大小,大小写均可写均可)开头。)开

14、头。例如例如: : 0 x0 x12=112=1* *16161 1+2+2* *16160 0=18(=18(十进制)十进制)整型常量(无小数点):整型常量(无小数点):实型常量(有小数点):实型常量(有小数点):指数表示方式规则:指数表示方式规则:规则:规则:nem 表示表示 n10 mn为小数部分为小数部分m为指数部分为指数部分123.456 123.456 表示为表示为 0.123456E+30.123456E+30.0000123 0.0000123 表示为表示为 0.123e-40.123e-4注意注意:C C语言的语法规定,字母语言的语法规定,字母e e(或(或E E)之前必须)

15、之前必须有数字且其后的数据必须为整数。有数字且其后的数据必须为整数。十进制形式十进制形式: :由数字和小数点组成;由数字和小数点组成; ASCII ASCII码表中的所有字符,包括可显示码表中的所有字符,包括可显示字符和不可显示字符。字符和不可显示字符。 每个字符型数据在内存中占一个字节。每个字符型数据在内存中占一个字节。字符型字符型二种表现形式:二种表现形式:用单引号括起来的一个字符;用单引号括起来的一个字符;用单引号括起来的由反斜杠用单引号括起来的由反斜杠()()引导的转引导的转义字符。义字符。如:如:AA、 11、? ? 等。等。如:如: n n 在统计字符个数在统计字符个数时,记为一个

16、字时,记为一个字符符英文的单英文的单引号引号转义字符表转义字符表8 8进制数表示的进制数表示的ASCIIASCII码对应的字符码对应的字符字符形式字符形式 功能功能 n n换行换行t t 、VV横向跳格、横向跳格、b b 、rr竖向跳格竖向跳格退格、退格、ff回车回车、反斜杠、单引号、双引号反斜杠、单引号、双引号dddddd换页换页 xhh xhh1616进制数表示的进制数表示的ASCIIASCII码对应的字符码对应的字符一个字符的多种表示方法:一个字符的多种表示方法:65D65D(十进制)(十进制)=41H=41H(十六进制)(十六进制)=101Q=101Q(八进制)(八进制)字符字符A A

17、可以表示为可以表示为AA、6565、0 x410 x41、01010101。强调:强调:ASCII码码(桥梁作用桥梁作用) 字符串常量 用一对双引号括起来的零个或多个字符序列称为字符串。用一对双引号括起来的零个或多个字符序列称为字符串。例如:例如:“LiMingLiMing”、“HelloHello” 字符串的长度是指该字符串的字符个数,不包括双引号。字符串的长度是指该字符串的字符个数,不包括双引号。以上两个字符串的长度分别为以上两个字符串的长度分别为6 6和和5 5。 字符串常量在机器内存储时,系统会自动在字符串的末尾字符串常量在机器内存储时,系统会自动在字符串的末尾加一个加一个“字符串结束

18、标志字符串结束标志”,它是转义字符,它是转义字符00。该结。该结束标志在内存中占用一个字节,但不记入字符串长度。束标志在内存中占用一个字节,但不记入字符串长度。 字符串常量字符常量与字符串常量不同字符常量与字符串常量不同H e l l o H e l l o 00例如:例如: 字符串字符串“hellohello”在内存中在内存中a aa 0a 0例例 a a“a a”练习:u 字符串“computer”长度为_。u 字符串 “n”长度为_。u 字符串“abcn3450china”长度为_。注意:注意:字符串字符串有效字符的个数有效字符的个数是第是第1 1个个00前字符的总个数。前字符的总个数。

19、 概念:是用标识符来表示一个数据。概念:是用标识符来表示一个数据。 定义形式定义形式: :#define #define 标识符标识符 常量数据常量数据例如例如: #define PI 3.14159: #define PI 3.14159 特点:特点:在程序中不能给它赋值在程序中不能给它赋值。 在程序预处理时,凡是出现标识符在程序预处理时,凡是出现标识符PIPI的的地方都将用数据地方都将用数据3.141593.14159来替换。来替换。如如:2:2* *2 2* *PI PI 就等价于就等价于 2 2* *2 2* *3.141593.14159。2 变量变量变量是指在程序运行中变量是指在程

20、序运行中, , 其值可以被改变的量。其值可以被改变的量。变量代表计算机内存中的某一存储空间变量代表计算机内存中的某一存储空间, ,该存储该存储空间中存放的数据就是变量的值。空间中存放的数据就是变量的值。在同一程序中,每个变量都有唯一的名字,不在同一程序中,每个变量都有唯一的名字,不能被重复定义。能被重复定义。使用变量时必须使用变量时必须“先定义,后使用先定义,后使用”,其目,其目的是确定的是确定变量的名字和类型变量的名字和类型。 类型说明语句的一般形式为:类型说明语句的一般形式为: 类型说明符类型说明符 变量名表;变量名表;变量初始化变量初始化 在说明变量的同时给变量一个初始值。在说明变量的同

21、时给变量一个初始值。变量定义变量定义分配存储空间分配存储空间变量初始化变量初始化分配存储空间的同时存入数据分配存储空间的同时存入数据int a,b; int a,b; int a=1,b=2; int a=1,b=2; a ab b1 12 2a ab b? ? ?不确定不确定 short int x;short int x;long int y;long int y;float x;float x;double y;double y;自己设定,满足自己设定,满足标识符的规定。标识符的规定。如:如:intint、floatfloat、doubledouble;不可省;不可省变量的定义形式:变量

22、的定义形式:类型标识符类型标识符 变量名变量名1 ,1 ,变量名变量名2,2,变量名变量名3 3,.;例如:例如:int x;int x;double y;double y;20002000200320032004200420112011x xy y内存内存内存地址内存地址2.2.简单变量的说明及使用简单变量的说明及使用使用变量有三个步骤:使用变量有三个步骤:n声明:在程序中为了能使用变量,必须先用类型说明声明:在程序中为了能使用变量,必须先用类型说明符和标识符对变量进行声明定义符和标识符对变量进行声明定义 n赋值:为了能正确使用变量,变量使用时必须有确定赋值:为了能正确使用变量,变量使用时必

23、须有确定的值。的值。 n使用:变量的使用指的是在程序中获得变量中所存储使用:变量的使用指的是在程序中获得变量中所存储的值。的值。(1)声明变量()声明变量(Declare Variable)一般格式为:一般格式为: 类型标识符类型标识符 变量名变量名,变量名,变量名,; :例如:例如:int a,b,c; /*定义三个基本整型变量定义三个基本整型变量a,b,c*/char d;/*定义字符型变量定义字符型变量d*/类型标识符是类型标识符是C语言合法的数据类型。语言合法的数据类型。变量名必须满足变量名必须满足C语言中语言中标识符标识符的命名规则。的命名规则。在同一程序段中,变量不允许被重复定义。

24、在同一程序段中,变量不允许被重复定义。 语言字符集由字母,数字,空格,标点和特殊语言字符集由字母,数字,空格,标点和特殊字符组成。字符组成。 (1)字母)字母: 大小写字母大小写字母az,AZ共共52个个 (2)数字)数字: 09共共10个个 (3)空白符)空白符 : 空格符、换行符等空格符、换行符等 (4)特殊字符:)特殊字符:+ - * / % & # , ;关键字关键字是指系统预定义的保留标识符,又称是指系统预定义的保留标识符,又称保留字保留字。它们有特定的含义,不能再作其他用途它们有特定的含义,不能再作其他用途使用。在使用。在C C语言中共有语言中共有3232个关键字,而且所有的个关键

25、字,而且所有的关键字都必须关键字都必须小写小写。o41类型类型关键字关键字功能功能数数据据类类型型关关键键字字基本数据类型基本数据类型void、char、int、float、double声明数据的类型声明数据的类型类型修饰关键字类型修饰关键字short、long、signed、unsigned对整型数据进行对整型数据进行修饰修饰复杂类型关键字复杂类型关键字struct、union、enum、typedef声明复杂数据类声明复杂数据类型型存储类别关键字存储类别关键字auto、static、register、extern、const、volatile说明变量的存储说明变量的存储类别类别流流程程控控

26、制制关关键键字字跳转结构跳转结构return、continue、break、goto改变程序的执行改变程序的执行流程流程选择结构选择结构if、else、switch、case、default选择结构控制语选择结构控制语句句循环结构循环结构for、do、while循环结构控制语循环结构控制语句句预定义预定义标识符标识符C C语言中除了上述保留字符外,语言中除了上述保留字符外,还有一类具有特殊含义的标识符,它们被还有一类具有特殊含义的标识符,它们被C C系统用系统用作库函数名、预编译命令,这类标识符称为系统预作库函数名、预编译命令,这类标识符称为系统预定义标识符。定义标识符。例如,系统库函数例如,

27、系统库函数sinsin,printfprintf,scanfscanf,预编译命,预编译命令令definedefine,includeinclude,undefundef,ifdefifdef,endifendif等。等。用户自定义用户自定义标识:是标识:是用户根据编程的需要而定义的标识符,用用户根据编程的需要而定义的标识符,用于标识变量、符号常量、用户自定义函数等。于标识变量、符号常量、用户自定义函数等。【注意注意】合法的标识符合法的标识符只能由字母、数字、下划线组成,并且只能由字母、数字、下划线组成,并且第一个字符必须为字母或第一个字符必须为字母或下划线。下划线。在在C语言中标识符是区分大

28、小写的语言中标识符是区分大小写的。例:合法的用户标识符:例:合法的用户标识符:smart、_decision、 key_board 不合法用户标识符:不合法用户标识符:5smart、bomb?、key.board、 int(2)变量的赋值)变量的赋值 一是在声明语句中指定变量的值,称为变量的初始;一是在声明语句中指定变量的值,称为变量的初始; 例:例: int s=0; 注意:定义而未初始化的变量具有未知的注意:定义而未初始化的变量具有未知的初值。初值。 二是在执行语句中指定变量的值,称为变量赋值。二是在执行语句中指定变量的值,称为变量赋值。例:例:int a,b; a=10,b=2; /*执

29、行过程中为变量赋值执行过程中为变量赋值*/(3)变量的使用)变量的使用例:例: int a=10;a=a+1;上面的代码执行后,结果上面的代码执行后,结果a的值是的值是11。例如例如: char c;: char c; c= c=AA; ; 说明说明: :字符变量用来存放字符字符变量用来存放字符, ,注意一个字符变量注意一个字符变量只能存放一个字符只能存放一个字符。#include /*文件包含,编译预处理命令文件包含,编译预处理命令*/#define PI 3.14 /*符号常量,宏定义符号常量,宏定义*/void main(void) /*主函数首部主函数首部*/ int r=3; /*定

30、义半径变量为整型数据定义半径变量为整型数据*/ float s,v; /*定义面积和体积为实型变量定义面积和体积为实型变量*/ s= PI*r*r;/*计算面积计算面积*/ v=4.0/3* PI*r*r*r;/*计算体积计算体积*/ printf(area=%6.2fn,s);/在屏幕上输出面积值在屏幕上输出面积值*/ printf(volume=%6.2fn,v);/*在屏幕上输出体积值在屏幕上输出体积值*/【例例】求半径为求半径为3的圆的面积和同半径的球的体积。的圆的面积和同半径的球的体积。 程序代码如下:程序代码如下:调试程序o 静态查错:人工静态检查语法错误,如漏写分号、符号错误、拼写错误等 o 动态查错:集成开发环境会在编译后显示语法错误信息并定位错误

温馨提示

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

评论

0/150

提交评论