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

下载本文档

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

文档简介

C+程序设计,第一章C+基础知识,2019/11/25,网络与计算中心基础教研室,2,课程要求,课前请做好预习保持课堂安静,头脑清醒,思维活跃认真、独立、按时完成并提交作业,作业必须经上机调试通过重视上机实践,有效利用宝贵的上机时间,上机前必须先完成实验预习报告,没有预习报告不能上机实验上机考勤3次缺席,平时成绩按不及格处理发现上机时间上网做与编程无关的事,按缺席一次处理实验教学分组管理,组长负责,目标是一个都不能少。,2019/11/25,网络与计算中心基础教研室,3,联系方式,教材:c+程序设计(第二版)高等教育出版社,吴乃陵李赤松chisong_li电话级邮箱:c_shengji2010密码:c+xuexi,2019/11/25,网络与计算中心基础教研室,4,计算机语言的基本体系结构,语言的基本体系结构,程序设计语言,2019/11/25,网络与计算中心基础教研室,5,本章将简要介绍C+中的数据类型及相关运算,以及常量、变量、表达式、语句等,最后介绍简单的输入输出方法。,2019/11/25,网络与计算中心基础教研室,6,第一章C+基础知识,1.3C+的词法单位,1.6运算符和表达式,1.8简单的输入输出,1.7数组与字符数组,1.5常量,1.4C+中的变量与数据类型,1.2一个C+程序实例,2019/11/25,网络与计算中心基础教研室,7,1.2用C+语言编写程序,2019/11/25,网络与计算中心基础教研室,8,1在屏幕上显示同学们好!,例2-1在屏幕上显示短句:同学们好!,2019/11/25,网络与计算中心基础教研室,9,主函数main()是程序的执行入口程序体可能由若干函数组成,其中有且仅有一个主函数main(),cout“同学们好!”endl;,1在屏幕上显示同学们好,/1.cpp,我的第一个程序注释文本#include编译预处理命令usingnamespacestd;命名空间voidmain()主函数,1.程序由若干语句组成。2.语句由分号;结束3.任何程序都有主函数,2019/11/25,网络与计算中心基础教研室,10,求华氏温度100对应的摄氏温度摄氏温度=(5/9)(华氏温度-32),2.求华氏温度对应的摄氏温度,#include编译预处理命令usingnamespacestd;命名空间voidmain()主函数,2019/11/25,网络与计算中心基础教研室,11,1.3C+的词法单位,1.3.1C+的字符集,1.3.2关键字,1.3.3标识符(ID,identifier),1.3.4标点符号,2019/11/25,网络与计算中心基础教研室,12,1.3.1C+的字符集,C+语言基本字符:,2019/11/25,网络与计算中心基础教研室,13,标识符(Identifier,ID):是程序员定义的“单词”,用来给变量、常量、数据类型、函数等命名。,合法标识符由字母或下划线开始,由字母、数字、下划线组成。,1.3.3标识符,2019/11/25,网络与计算中心基础教研室,14,1.3.3标识符,例:判断下面哪些是合法的标识符:,MyFile,Salary94,amount,void,94Salary,Salary94,$amount,f3.5,Num_of_Student,合法标识符由字母或下划线开始,由字母、数字、下划线组成。,_Student,2019/11/25,网络与计算中心基础教研室,15,1.3.2关键字,关键字(keyword):又称保留字。是由系统定义的具有特定含义的英文单词。关键字不能另作它用。,C+区分大小写,关键字全部由小写字母组成。标准C+(ISO14882)定义了74个关键字,具体的C+编译器会做一些增删。常用关键字及分类见表1.1。,2019/11/25,网络与计算中心基础教研室,16,intlongfloatdoublechar,1.3.2关键字,ifelseSwitchbreak,2019/11/25,网络与计算中心基础教研室,17,1.3.4标点符号,标点符号:#(),:;等。,标点符号的作用:,有一定的语法意义。如字符和字符串常量分别用和引起来。,对语法符号起分隔作用。如;等,2019/11/25,网络与计算中心基础教研室,18,求华氏温度100F对应的摄氏温度摄氏温度C=(5/9)(F-32)1程序解析2常量、变量和数据类型3算术运算和赋值运算4简单的输入、输出,2019/11/25,网络与计算中心基础教研室,19,#includeusingnamespacestd;voidmain(void)/主函数名mainintcelsius,fahr;fahr=100;/变量使用celsius=5*(fahr-32)/9;coutfahr=fahr,celsius=celsiusn;/输出结果,求华氏温度100F对应的摄氏温度。摄氏温度C=(5/9)(F-32),输出:fahr=100,celsius=37,程序解析,2019/11/25,网络与计算中心基础教研室,20,1.4变量和数据类型,intcelsius,fahr;celsius=(5/9)(fahr-32);,数据常量:在程序运行过程中,其值不能被改变变量:在程序运行过程中,其值可以被改变数据类型常量:5和9是整型常量(整数)变量:在定义时指定,2019/11/25,网络与计算中心基础教研室,21,变量的定义,变量定义的一般形式:数据类型名变量名表;例如:intcelsius,fahr;定义整型变量floatx;定义单精度浮点型变量doublearea,length;定义双精度浮点型变量double型数据比float精度高,取值范围大,变量名:小写字母;见名知义,2019/11/25,网络与计算中心基础教研室,22,定义变量时要指定变量名和数据类型变量名代表内存中的一个存储单元存储单元存放该变量的值该存储单元的大小由变量的数据类型决定C+语言中的变量代表保存数据的存储单元数学中的变量代表未知数x=x+1,变量的定义,类型名变量名表;intcelsius,fahr;doublearea,length;,2019/11/25,网络与计算中心基础教研室,23,变量的定义与使用,#includeUsingnamespacestd;voidmain(void)intcelsius,fahr;fahr=100;celsius=5*(fahr-32)/9;coutfahr=fahr,celsius=celsiusr;girth=2*3.14*r;area=3.14*r*r;coutradius=rendl;coutgirth=girthendl;coutarea=areaendl;return0;,2019/11/25,网络与计算中心基础教研室,27,文字常量整型常量/实型常量字符型常量/字符串常量常变量,1.5常量,2019/11/25,网络与计算中心基础教研室,28,整型常量,整数的十进制表示方法C+中十进制表示与平时熟悉的书写方式相同。例:15-24,2019/11/25,网络与计算中心基础教研室,29,实型常量,包含小数点和10的幂的数为实型常量,例:判断下列表示是否合法,123E12,-.34e-2,E4,1.43E3.5,表示方法:一般形式与平时书写形式相同,由数字09和小数点组成。例如:0.23-125.760.0.46-35.指数形式(也称为科学表示法)表示为尾数乘以10的次方形式,由尾数、E或e和阶数组成。指数形式要求尾数部分必须有数字,阶数部分必须为整数。,123*1012,-0.34*10-2,2019/11/25,网络与计算中心基础教研室,30,特殊情况字符,如不可显示的字符等,c+使用转义序列表示方法(详见表1-3,此处略):n/换行/字符,在内存中保存的是字符的ASCII码值。,字符型常量,用单引号引起来的单个字符,/单引号字符,/双引号字符“,在所有字符中,可显示字符通常就用单引号引起来表示:a/字符a/字符4/字符4/空格字符,2019/11/25,网络与计算中心基础教研室,31,字符串常量,字符串常量与字符型常量的区别:,字符串常量a占两个字节,存放a和0,值为0 x6100,字符型常量a占一个字节,存放a,值为0 x61,用双引号引起来的若干个字符,例如:IamaChinese.”,123”,a,2019/11/25,网络与计算中心基础教研室,32,标识符常量:用常量说明符const给文字常量起的名字(标识符),因为其说明和引用形式很像变量,所以也称常变量;例如:constfloatPI=3.14159;/推荐用大写字母作为常变量名constintNumber_of_Student=100;常变量必须也只能在说明时进行初始化;常变量初始化之后,不允许再被赋值;常变量必须先说明后使用;常变量存储在数据区,并且可以按地址访问,编译时系统对常变量进行类型检查。C+建议使用常变量,而不要使用文字常量。,常变量,2019/11/25,网络与计算中心基础教研室,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/11/25,网络与计算中心基础教研室,34,双目算术运算符:+-*/%算术表达式:用算术运算符将运算对象连接起来的符合C+语言语法规则的式子,注意/整数除整数,得整数如:1/20,9/42?5*(fahr-32)/9和5/9*(fahr-32)等价吗%针对整型数据如:565,941,10040双目运算符两侧操作数的类型要相同,算术运算,2019/11/25,网络与计算中心基础教研室,35,赋值运算符=赋值表达式:用=将一个变量和一个表达式连接起来的式子变量表达式,赋值运算,例如:fahr=100;celsius=5*(fahr-32)/9;计算赋值运算符右侧表达式的值将赋值运算符右侧表达式的值赋给左侧的变量,的左边必须是一个变量,2019/11/25,网络与计算中心基础教研室,36,双目算术运算符和赋值运算符可以组合成单一运算符:+=*=/=%=,复合赋值运算符,格式为:变量复合赋值运算符表达式它等同于变量=变量运算符表达式例如:x+=5等同于:x=x+5,2019/11/25,网络与计算中心基础教研室,37,1表达式语句:表达式;2空语句:;3复合语句:/若干语句流程控制语句:流程控制语句用来控制或改变程序的执行方向;,1.6.3语句,2019/11/25,网络与计算中心基础教研室,38,数组定义:数组是有限个同类型元素的有序集合,这些元素有一个共同的名字,每个元素以其在数组中的位置区分,位置用下标表示。数组下标的个数称作维数。,1.7数组与字符数组,2019/11/25,网络与计算中心基础教研室,39,一维数组的定义格式:数据类型数组名常量;数据类型指的是数组中元素的数据类型,可以是C+中定义的任何一种数据类型。写在方括号中的常量用来定义数组大小,即数组中元素的个数。例如:intm5;/定义数组m,其中有5个整数constintN=3;floatxN;/数组x中有3个实数,一维数组,2019/11/25,网络与计算中心基础教研室,40,一维数组,数组的存储:数组在存储单元中是按下标的顺序连续存放的,数组名代表数组存储区域的首地址。数组的元素:标识方法是用数组名和下标:数组名表达式表达式用来计算下标值。C+中规定数组第一个元素的下标为0。,2019/11/25,网络与计算中心基础教研室,41,注意:C+中数组大小在编译时确定,编译系统按照定义为数组分配一段连续的存储单元,这段单元的大小也是不能改变的,因此数组大小不能用变量定义,而只能是一个正整数常量。为避免使用时数组出界,通常“大开小用”.对数组的访问指的是对数组元素的访问,不能直接将数组名作为访问对象,对数组赋值也必须对每一个元素逐个赋值。,一维数组,2019/11/25,网络与计算中心基础教研室,42,一维数组,数组的初始化数组初始化的方法是在定义时用大括号列出元素的值。初始化值的个数可以少于定义的元素个数,这时从第0个元素开始逐个取得初始化值,剩余的元素初始化为0。对于定义时初始化的情况,可以不指明元素个数,编译器会按照初始化值的个数确定数组大小。,例如:intscore5=88,92,90,85,78;,例如:floaty5=3.4,4.2,7;/5个元素的取值分别为3.4,4.2,7,0,0,例如:intn=1,2,3,4;/数组n有4个元素intnn;/非法定义,必须指明数组元素个数,初始化只能在定义的时刻进行,2019/11/25,网络与计算中心基础教研室,43,一维数组的初始化,inta6=0,1,2,3,4,5;.在声明数组时对数组元素赋以初值inta6=0,1,2;可以只给一部分元素赋初值inta=1,2,3,4在对全部数组元素赋初值时,可以不指定数组长度a的长度为4,2019/11/25,网络与计算中心基础教研室,44,1,1,2,3,输出:,3,1+2=3,【例1.2】使用数组的简单例子。#includeusingnamespacestd;intmain()intint_arr4;int_arr0=1;int_arr1=1;int_arr2=2;int_arr3=int_arr1+int_arr2;coutint_arr3A;charB=“are”;cout数组名输出:coutstr1str2str3;运行时输入数据:Howareyou,49,字符数组的输入/输出,输入多个字符串时,以空格分隔;输入单个字符串时,其中不能有空格。,2019/11/25,网络与计算中心基础教研室,50,cin.getline(字符数组名,字符个数N)一次连续读入多个字符(可以包括空格),直到读满N个,或遇到回车n读入的字符串存放于字符数组中,例如:charstr115;cin.getline(str1,14);运行时输入数据:Howareyou,字符串处理函数:字符串处理函数定义在头文件中,2019/11/25,网络与计算中心基础教研室,51,字符串处理函数:字符串处理函数定义在头文件中,strlen(s)/返回字符串s的实际长度(不包括0)strcpy(s1,s2)/将字符串s2中0之前的所有字符/依次赋值到字符串s1中,最后再加上一个0。,由于不能直接对字符数组名赋值,所以将一个字符串的值赋给另一个字符串必须用字符串复制函数完成。例如:charstring220;string2=”VC+”;/非法charstring220=“VC+”;/合法strcpy(string2,”VC+”);/合法,2019/11/25,网络与计算中心基础教研室,52,intmain()chars1=HelloC+;/初始化决定数组s1有10个元素chars210,s320;s20=B;s21=e;s22=g;s23=i;s24=n;s25=0;/对字符串结束处理非常重要strcpy(s3,s2);coutThelengthofs1is:strlen(s1)n;couts2ts3变量名1变量

温馨提示

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

评论

0/150

提交评论