C学习与讲解第一章.ppt_第1页
C学习与讲解第一章.ppt_第2页
C学习与讲解第一章.ppt_第3页
C学习与讲解第一章.ppt_第4页
C学习与讲解第一章.ppt_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

C+程序设计,第一章 C+基础知识,2019/6/29,网络与计算中心基础教研室,2,课程要求,课前请做好预习 保持课堂安静,头脑清醒,思维活跃 认真、独立、按时完成并提交作业,作业必须经上机调试通过 重视上机实践,有效利用宝贵的上机时间,上机前必须先完成实验预习报告,没有预习报告不能上机实验 上机考勤3次缺席,平时成绩按不及格处理 发现上机时间上网做与编程无关的事,按缺席一次处理 实验教学分组管理,组长负责,目标是一个都不能少。,2019/6/29,网络与计算中心基础教研室,3,联系方式,教材:c+程序设计(第二版) 高等教育出版社,吴乃陵 李赤松 chisong_ 电话班级邮箱:c_ 密码:c+xuexi,2019/6/29,网络与计算中心基础教研室,4,计算机语言的基本体系结构,语言的基本体系结构,程序设计语言,2019/6/29,网络与计算中心基础教研室,5,本章将简要介绍C+中的数据类型及相关运算,以及常量、变量、表达式、语句等,最后介绍简单的输入输出方法。,2019/6/29,网络与计算中心基础教研室,6,第一章 C+基础知识,1.3 C+的词法单位,1.6 运算符和表达式,1.8 简单的输入输出,1.7 数组与字符数组,1.5 常量,1.4 C+ 中的变量与数据类型,1.2 一个C+程序实例,2019/6/29,网络与计算中心基础教研室,7,1.2 用C+语言编写程序,2019/6/29,网络与计算中心基础教研室,8,1 在屏幕上显示同学们好 !,例2-1 在屏幕上显示短句: 同学们好 !,2019/6/29,网络与计算中心基础教研室,9,主函数main()是程序的执行入口 程序体可能由若干函数组成,其中有且仅有一个主函数main(),cout “ 同学们好!” endl ;,1 在屏幕上显示同学们好,/ 1.cpp ,我的第一个程序 注释文本 #include 编译预处理命令 using namespace std; 命名空间 void main ( ) 主函数 ,1. 程序由若干语句组成。 2.语句由分号;结束 3.任何程序都有主函数,2019/6/29,网络与计算中心基础教研室,10,求华氏温度 100 对应的摄氏温度 摄氏温度=(5/9)(华氏温度-32),2.求华氏温度对应的摄氏温度,#include 编译预处理命令 using namespace std; 命名空间 void main ( ) 主函数 ,2019/6/29,网络与计算中心基础教研室,11,1.3 C+的词法单位,1.3.1 C+的字符集,1.3.2 关键字,1.3.3 标识符(ID,identifier),1.3.4 标点符号,2019/6/29,网络与计算中心基础教研室,12,1.3.1 C+的字符集,C+语言基本字符:,2019/6/29,网络与计算中心基础教研室,13,标识符(Identifier,ID ): 是程序员定义的“单词”,用来给变量、常量、数据类型、函数等命名。,合法标识符由字母或下划线开始,由字母、数字、下划线组成。,1.3.3 标识符,2019/6/29,网络与计算中心基础教研室,14,1.3.3 标识符,例: 判断下面哪些是合法的标识符:,MyFile,Salary 94,amount,void,94Salary,Salary94,$amount,f3.5,Num_of_Student,合法标识符由字母或下划线开始,由字母、数字、下划线组成。,_Student,2019/6/29,网络与计算中心基础教研室,15,1.3.2 关 键 字,关键字(keyword): 又称保留字。是由系统定义的具有特定含义的英文单词。关键字不能另作它用。,C+区分大小写,关键字全部由小写字母组成。标准C+(ISO14882)定义了74个关键字,具体的C+编译器会做一些增删。常用关键字及分类见表1.1。,2019/6/29,网络与计算中心基础教研室,16,int long float double char,1.3.2 关 键 字,if else Switch break,2019/6/29,网络与计算中心基础教研室,17,1.3.4 标点符号,标点符号: # ( ) , : ; “ 等。,标点符号的作用:,有一定的语法意义。如字符和字符串常量分别用 和 “ “引起来。,对语法符号起分隔作用。如 ;等,2019/6/29,网络与计算中心基础教研室,18,求华氏温度 100F 对应的摄氏温度摄氏温度 C=(5/9)(F-32) 1 程序解析 2 常量、变量和数据类型 3 算术运算和赋值运算 4 简单的输入、输出,2019/6/29,网络与计算中心基础教研室,19,#include using namespace std; void main(void) / 主函数名main int celsius, fahr; fahr = 100; / 变量使用 celsius = 5 * (fahr - 32) / 9; cout“ fahr =“ fahr “ , celsius =“ celsius “n“; /输出结果 ,求华氏温度 100F 对应的摄氏温度。 摄氏温度 C=(5/9)(F-32),输出: fahr =100, celsius = 37,程序解析,2019/6/29,网络与计算中心基础教研室,20,1.4 变量和数据类型,int celsius, fahr; celsius = (5 / 9)(fahr - 32);,数据 常量:在程序运行过程中,其值不能被改变 变量:在程序运行过程中,其值可以被改变 数据类型 常量:5 和 9是整型常量(整数) 变量:在定义时指定,2019/6/29,网络与计算中心基础教研室,21,变量的定义,变量定义的一般形式: 数据类型名 变量名表; 例如: int celsius, fahr; 定义整型变量 float x; 定义单精度浮点型变量 double area, length; 定义双精度浮点型变量 double型数据比float精度高,取值范围大,变量名:小写字母;见名知义,2019/6/29,网络与计算中心基础教研室,22,定义变量时要指定变量名和数据类型 变量名代表内存中的一个存储单元 存储单元存放该变量的值 该存储单元的大小由变量的数据类型决定 C+语言中的变量代表保存数据的存储单元 数学中的变量代表未知数 x = x+1,变量的定义,类型名 变量名表; int celsius, fahr; double area, length;,2019/6/29,网络与计算中心基础教研室,23,变量的定义与使用,#include Using namespace std; void main(void) int celsius, fahr; fahr = 100; celsius = 5 * (fahr - 32) / 9; cout“fahr =“ fahr “, celsius =“ celsius “n“; ,一个变量名只能定义一次 变量一般都定义在程序的头上 不能定义在程序的中间或后面,变量必须先定义,后使用。,变量应该先赋值,后引用,2019/6/29,网络与计算中心基础教研室,24,实 型 float 双精度型 double,C+的数据类型,基本数据类型,非基本数据类型,数组 type 指针 type * 结构 struct 联合 union 枚举 enum 类 class,整 型 int,字符型 char,逻辑型 bool,无值型 void,实 型,C+中的数据类型,2019/6/29,网络与计算中心基础教研室,25,3 输入圆的半径,求圆的周长和面积,数据描述: 半径,周长,面积均用实型数表示 数据处理: 输入半径 r; PI是常变量,值为3.1415 计算周长 = 2*PI*r ; 计算面积 = PI* r2 ; 输出半径,周长,面积;,double r, girth, area;,radius= girth= area=,2019/6/29,网络与计算中心基础教研室,26,/ count the girth and area of circle #include using namespace std; int main () double r, girth, area ; cout r ; girth=2 * 3.14 * r ; area=3.14 * r * r ; cout“radius = “ r endl ; cout“girth = “ girth endl ; cout “area =“area endl ; return 0; ,2019/6/29,网络与计算中心基础教研室,27,文字常量 整型常量/实型常量 字符型常量/字符串常量 常变量,1.5 常量,2019/6/29,网络与计算中心基础教研室,28,整型常量,整数的十进制表示方法 C+中十进制表示与平时熟悉的书写方式相同。 例: 15 -24,2019/6/29,网络与计算中心基础教研室,29,实型常量,包含小数点和10的幂的数为实型常量,例 : 判断下列表示是否合法,123E12,-.34e-2,E4,1.43E3.5,表示方法: 一般形式 与平时书写形式相同,由数字 0 9和小数点组成。 例如: 0.23 -125.76 0.0 .46 -35. 指数形式(也称为科学表示法) 表示为尾数乘以10的次方形式,由尾数、E或e和阶数 组成。指数形式要求尾数部分必须有数字,阶数部分必须为整数。,123*1012,-0.34*10-2,2019/6/29,网络与计算中心基础教研室,30,特殊情况字符,如不可显示的字符等,c+使用转义序列表示方法(详见表1-3,此处略): n /换行 /字符,在内存中保存的是字符的ASCII码值。,字符型常量,用单引号引起来的单个字符, /单引号字符, /双引号字符“,在所有字符中,可显示字符通常就用单引号引起来表示: a /字符a /字符 4 /字符4 /空格字符,2019/6/29,网络与计算中心基础教研室,31,字符串常量,字符串常量与字符型常量的区别:,字符串常量“ a“ 占两个字节,存放a和0,值为0x6100,字符型常量a 占一个字节,存放a,值为0x61,用双引号引起来的若干个字符,例如: “ I am a Chinese.” , “123” , “ a “, “ “,2019/6/29,网络与计算中心基础教研室,32,标识符常量: 用常量说明符const给文字常量起的名字(标识符),因为其说明和引用形式很像变量,所以也称常变量; 例如: const float PI=3.14159;/推荐用大写字母作为常变量名 const int Number_of_Student=100; 常变量必须也只能在说明时进行初始化; 常变量初始化之后,不允许再被赋值; 常变量必须先说明后使用; 常变量存储在数据区,并且可以按地址访问,编译时系统对常变量进行类型检查。 C+建议使用常变量,而不要使用文字常量。,常变量,2019/6/29,网络与计算中心基础教研室,33,1、算术运算 双目算术运算符:+ - * / % 算术表达式:用算术运算符将运算对象连接起来的符合C+语言语法规则的式子,fahr = 100; celsius = 5 * (fahr - 32) / 9;,1.6 算术运算和赋值运算,数学式:(5/9)(F-32) C+表达式:5 * (fahr - 32) / 9 数学式:s(s-a)(s-b)(s-c) C+表达式:,2019/6/29,网络与计算中心基础教研室,34,双目算术运算符:+ - * / % 算术表达式:用算术运算符将运算对象连接起来的符合C+语言语法规则的式子,注意 / 整数除整数,得整数 如:1/2 0,9/4 2 ? 5 * (fahr - 32) / 9 和 5 / 9 * (fahr - 32) 等价吗 % 针对整型数据 如: 565,941,10040 双目运算符两侧操作数的类型要相同,算术运算,2019/6/29,网络与计算中心基础教研室,35,赋值运算符 = 赋值表达式:用 = 将一个变量和一个表达式连接 起来的式子 变量 表达式,赋值运算,例如: fahr = 100; celsius = 5 * (fahr - 32) / 9; 计算赋值运算符右侧表达式的值 将赋值运算符右侧表达式的值赋给左侧的变量,的左边必须是一个变量,2019/6/29,网络与计算中心基础教研室,36,双目算术运算符和赋值运算符可以组合成单一运算符:+ = = * = / = % =,复合赋值运算符,格式为: 变量 复合赋值运算符 表达式 它等同于 变量 = 变量 运算符 表达式 例如:x+=5 等同于:x=x+5,2019/6/29,网络与计算中心基础教研室,37,1 表达式语句:表达式; 2 空语句: ; 3 复合语句: /若干语句 流程控制语句:流程控制语句用来控制或 改变程序的执行方向 ;,1.6.3 语句,2019/6/29,网络与计算中心基础教研室,38,数组定义: 数组是有限个同类型元素的有序集合,这些元素有一个共同的名字,每个元素以其在数组中的位置区分,位置用下标表示。数组下标的个数称作维数。,1.7 数组与字符数组,2019/6/29,网络与计算中心基础教研室,39,一维数组的定义格式: 数据类型 数组名常量; 数据类型指的是数组中元素的数据类型,可以是C+中定义的任何一种数据类型。 写在方括号中的常量用来定义数组大小,即数组中元素的个数。 例如:int m5; /定义数组m, 其中有5个整数 const int N=3; float xN; /数组x中有3个实数,一维数组,2019/6/29,网络与计算中心基础教研室,40,一维数组,数组的存储: 数组在存储单元中是按下标的顺序连续存放的,数组名代表数组存储区域的首地址。 数组的元素: 标识方法是用数组名和下标: 数组名表达式 表达式用来计算下标值。C+中规定数组第一个元素的下标为0。,2019/6/29,网络与计算中心基础教研室,41,注意: C+中数组大小在编译时确定,编译系统按照定义为数组分配一段连续的存储单元,这段单元的大小也是不能改变的,因此数组大小不能用变量定义,而只能是一个正整数常量。 为避免使用时数组出界,通常“大开小用”. 对数组的访问指的是对数组元素的访问,不能直接将数组名作为访问对象,对数组赋值也必须对每一个元素逐个赋值。,一维数组,2019/6/29,网络与计算中心基础教研室,42,一维数组,数组的初始化 数组初始化的方法是在定义时用大括号列出元素的值。 初始化值的个数可以少于定义的元素个数,这时从第0个元素开始逐个取得初始化值,剩余的元素初始化为0。 对于定义时初始化的情况,可以不指明元素个数,编译器会按照初始化值的个数确定数组大小。,例如: int score5=88, 92, 90, 85, 78;,例如:float y5=3.4, 4.2, 7; /5个元素的取值分别为3.4,4.2, 7, 0, 0,例如: int n=1, 2, 3, 4; /数组n有4个元素 int nn; /非法定义,必须指明数组元素个数,初始化只能在定义 的时刻进行,2019/6/29,网络与计算中心基础教研室,43,一维数组的初始化,int a6=0,1,2,3,4,5;. 在声明数组时对数组元素赋以初值 int a6=0,1,2; 可以只给一部分元素赋初值 int a =1,2,3,4 在对全部数组元素赋初值时,可以不指定数组长度 a的长度为4,2019/6/29,网络与计算中心基础教研室,44,1,1,2,3,输出:,3,1+2=3,【例1.2】使用数组的简单例子。 # include using namespace std; int main() int int_arr4; int_arr0=1; int_arr1=1; int_arr2=2; int_arr3=int_arr1+int_arr2; coutint_arr3n; return 0; ,2019/6/29,网络与计算中心基础教研室,45,字符数组,字符数组定义: 如果数组中的元素为字符,就称为字符数组。,例如: char string110; /可用来保存10个字符的字符数组 char city_name1 =N, a, n, j, i, n, g; /可用来保存7个字符的字符数组;,2019/6/29,网络与计算中心基础教研室,46,字符串与字符数组: C+中用字符数组保存字符串。允许直接用字符串常量给字符数组初始化。 例如:char city_name2 =”Nanjing”;,用字符串初始化,字符数组会自动加上一个串结束符0 。串结束符在字符串操作中具有十分重要的意义,因此在定义字符数组大小时,要注意留出足够的空间保存串结束符。,字符数组,2019/6/29,网络与计算中心基础教研室,47,字符串与字符数组: C+中用字符数组保存字符串。允许直接用字符串常量给字符数组初始化。 例如:char city_name2 =”Nanjing”;,用字符串初始化,字符数组会自动加上一个串结束符0 。串结束符在字符串操作中具有十分重要的意义,因此在定义字符数组大小时,要注意留出足够的空间保存串结束符。,字符数组,char city_name1 =N, a, n, j, i, n, g; char city_name2 =”Nanjing”; 是否相同?,city_name1没有串结束符0,char city_name18=N, a, n, j, i, n, g;,2019/6/29,网络与计算中心基础教研室,48,Ex: char A5; cinA; char B=“are”; coutB;,48,字符数组的输入/输出,输入 : cin数组名 输出 : cout数组名,运行时输入数据:How,2019/6/29,网络与计算中心基础教研室,49,例如: char str15,str25,str35; cinstr1str2str3; 运行时输入数据: How are you,49,字符数组的输入/输出,输入多个字符串时,以空格分隔; 输入单个字符串时,其中不能有空格。,2019/6/29,网络与计算中心基础教研室,50,cin.getline(字符数组名, 字符个数N) 一次连续读入多个字符(可以包括空格),直到读满N个,或遇到回车n 读入的字符串存放于字符数组中,例如: char str115 ; cin.getline(str1,14); 运行时输入数据: How are you,字符串处理函数: 字符串处理函数定义在头文件中,2019/6/29,网络与计算中心基础教研室,51,字符串处理函数: 字符串处理函数定义在头文件中,strlen(s)/返回字符串s的实际长度(不包括0 ) strcpy(s1,s2)/将字符串s2中0 之前的所有字符/依次赋值到字符串s1中,最后再加上一个0 。,由于不能直接对字符数组名赋值,所以将一个字符串的值赋给另一个字符串必须用字符串复制函数完成。 例如:char string220; string2=”VC+”; /非法 char string220=“VC+”; /合法 strcpy(string2, ”VC+”); /合法,2019/6/29,网络与计算中心基础教研室,52,int main( ) char s1 =“Hello C+“;/初始化决定数组s1有10个元素 char s210, s320; s20= B; s21= e; s22= g; s23= i; s24= n; s25= 0 ; /对字符串结束处理非常重要 strcpy(s3, s2); cout“The length of “s1“ is:“ strlen(s1) n; couts2 ts3 n; return 0 ,【例1.3】 字符数组和字符串处理函数的应用。,# include # include using namespace std;,/只有字符数组可整体输出,因为有结束符 运行结果:The length of “ Hello C+ “ is:9 Begin Begin,2019/6/29,网络与计算中心基础教研室,53,1.8 简单的输入输出,1.8.1 C+的输入输出简介,1.8.2 数据的输入输出,1.8.3 输入输出的格式控制,2019/6/29,网络与计算中心基础教研室,54,1.8.1 C+输入输出简介,输入流对象cin: cin用来在程序执行期间给变量输入数据, 一般格式为: cin变量

温馨提示

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

评论

0/150

提交评论