第1章C程序设计基础.ppt

上传人:sccc 文档编号:6015460 上传时间:2023-09-14 格式:PPT 页数:57 大小:1.67MB
返回 下载 相关 举报
第1章C程序设计基础.ppt_第1页
第1页 / 共57页
第1章C程序设计基础.ppt_第2页
第2页 / 共57页
第1章C程序设计基础.ppt_第3页
第3页 / 共57页
第1章C程序设计基础.ppt_第4页
第4页 / 共57页
第1章C程序设计基础.ppt_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《第1章C程序设计基础.ppt》由会员分享,可在线阅读,更多相关《第1章C程序设计基础.ppt(57页珍藏版)》请在三一办公上搜索。

1、,第一章 C+程序设计基础,本章内容,C+语言概述 C+程序开发过程 C+程序实例(程序框架和简要书写规则)基本数据类型 常量、变量及引用(重点)运算符与表达式(重点)基本输入/输出(重点),1.1 C+语言概述,1.程序设计语言与程序设计,程序设计语言:人与计算机交流的语言。计算机程序:借助程序设计语言对解决问题步骤的描述 程序设计:将某个问题的求解过程用程序设计语言描 述出来的过程。,程序设计语言分类(按支持的程序设计方法),面向过程的程序设计语言,如 C、FORTRAN等 面向对象程序设计语言,如C+、JAVA等,1.1 C+语言概述,C+简介一种用于程序设计的高级语言来源于C,支持面向

2、过程的程序设计方法对C进行了扩展,支持面向对象的程序设计方法用途广泛:开发系统程序、各种应用程序C+的标准1998:ISO/ANSI 推出,1.1 C+语言概述,/一个C+程序示例#include void main()int a,b,c;coutab;c=a+b;couta+b=cendl;,执行程序,从存储器取指令,在CPU执行指令,结束,NO,YES,启动,停止,1.2 C程序调试过程,Visual C+是实现这一过程的一种软件工具(语言处理程序),类似的还有GCC、Borland C+、C+Builder等,1.3 程序实例(程序组成和书写格式),/一个C+程序示例#include/*

3、编译预处理命令,以“#”开头,行末不加分号*/void main()/主函数,执行入口/函数体 int a,b,c;coutab;c=a+b;couta+b=cendl;,程序组成注释预处理命令函数变量输出输入语句输出其他,C+程序书写规则,一行写一条语句,短语句可以一行写多个,长语句也可以写多行;每条语句以分号结束;C+程序区分大小写,如:int a;int A;则a和A是两个不同的变量;采用适当的缩进书写方式很重要;大括号的使用要恰当。,1.4 C+的数据类型,+常用的基本数据类型,.5 常量、变量及引用,1.常量程序中直接写出的常数,程序执行时其值不可以改变。常量的类型整型、浮点型、字符

4、型、字符串常量、布尔常量注意:编译系统依据书写形式确定常量的类型,十进制整数:由数字组成的正负整数,如、15、247。八进制整数:以数字开头的整数,由数字组成,如015,0236。十六进制整数:以0 x或0X开头的整数,由数字和字母(或大 写)组成。例如:0 x516,0 x8AB,0 xb2ff。注意八进制和十六进制只能表示无符号整数.任一整型常数后跟字母(或)时,为长整型.如:12345L十进制整型常数后跟字母(或)时,为无符号整型.如:7895,1)整型常量,浮点型常数有两种形式:小数形式:3.14159-0.55-123.05.5 指数形式:+5.25e-8 表示+5.2510-8 0

5、.5678+05 表示 0.5678105 1.0e-5或1e-5 表示 10-5,)浮点型常量(float 和double类型),说明:指数形式表示浮点型数时e(或E)前可以是整数或小数,但后的指数部 分必须是整型数。不带后缀的浮点型常量为 double 型,带后缀 F 或 f 可表示单精度实型常量,如:3.14159为double型;而3.14159f,1.234e-6f为float型。通常在双精度数后面加上l或L表示长双精度(long double)型常量,如 1.2345e-12L。,)字符型常量:用单引号括起来的单个字符,可打印字符:例:A、S、*、a 不可打印字符:例:n(回车符)

6、、0(空字符)特殊字符:例:、”、,说明:,1.字符型常量中的单引号作为定界符,不是字符型常量内容。2.字符型常量具有数值,其值就是该字符的ASCII码值。而且该值可以作为整数参与运算,例如:+5 结果为102,是字符的ASCII码值 9-6 结果为51,是数字字符的ASCII码值 A+32 结果为97,是字符的ASCII码值-结果为整数2。3.对不可打印的字符和特殊字符要使用以反斜杠开始的转义序列。,表1.3 转义字符,字符形式 功能,报警 退格 走纸(用于打印机)换行 横向跳格(键)垂直跳格 回车 单引号 双引号 反斜杠0 空字符 到位八进制数所表示的字符 到位十六进制数所表示的字符,)字

7、符串常量,用双引号括起来的一串字符。例如:“This is a string.”/字母及标点符号“1234”/数字 中国_天津/汉字/注意与a的区别/空字符串 Its a c+program/转义字符,说明:,字符串长度是指字符串中包含的字符个数(一个汉字算两个字符,转义字符算一个字符)编译程序在存储字符串常量时,自动在字符串最后加一个0作为一个字符串的结束标志,0占一个字节位置。存储长度=字符串长度+1字符串不能做算术、比较大小等运算。,5)布尔常量,仅有两个值,即 true(真)和false(假)true的值为1,false的值为0,6)符号常量:为常量起一个名字,称为符号常量。,符号常量

8、的说明形式 const 数据类型名 常量名常量值;或数据类型名 const 常量名常量值;例如:const int m=100;const float pi=3.14159;,说明:,符号常量在说明时一定要赋值,其值在程序中不能修改。符号常量名一般不要和变量名重名。使用符号常量可以提高程序的可读性,增强程序的可维护性。,1)什么是变量 在程序运行过程中可以改变其值的量,每个变量对应内存中的若干个存储单元,程序中使用变量就是使用相应存储单元中存放的数值。,2.变量,变量值,12.345,变量名,X1,存储单元,0 x15AB,存储单元地址,程序中的变量应先声明后使用。,一般形式 类型名 变量名1

9、,变量名2,;变量的类型告诉计算机应为变量分配多少内存空间、取值范围以及可以对变量进行的合法操作。例char a,b,c;int,y;long int s1,s2;float data_1,data_2;,2)定义变量,变量名:变量的名字,属于C+的一种标识符。标识符的命名规则必须由字母、下画线和数字组成 第个字符应是字母或下画线 不能使用+的关键字作为标识符例如:a、ex1、EX1、data_5、count/合法的标识符 23、5x、main、int、姓名/为非法标示符注意:标识符的最大长度:一般不要超过32个字符。区分大小写,如:ex1和 EX是两个不同的变量名 变量名应见名知意,如用 a

10、ge 表示年龄,area表示面积,2)定义变量,3)变量的初始化,变量在定义的同时给其赋值例如:char A;int=0,=12;double w1=12.3456,w2=-0.4567e-4;或 char(A);int(0),(12);double w1(12.3456),w2(-0.4567e-4);注意:初值类型应与变量类型一致,4)使用变量值的说明,对于非静态的局部变量,定义一个变量而且没有赋初值时,其值不确定。在程序中对已定义变量可以用多种方式改变它的值变量取到新值后,原值将被覆盖。,4)使用变量值的说明,例如:#include void main()int x,y=10;coutx

11、y;coutx=xy=yendl;x=20;y=30;coutx=xy=yendl;,x=-858993460y=10 输入3和5x=3y=5x=20y=30,运行结果:,3.引用,给程序中定义过的变量名再起一个别名说明引用的形式为:数据类型 引用名变量名;或 数据类型 引用名(变量名);注意:变量名和引用名是对同一个存储单元的操作例如:int a(10);int/a的值是多少?,枚举类型*,将一些可能取值的量一一列举出来,称为枚举类型。说明枚举类型的形式为:enum 枚举类型名枚举元素;其中:enum是用于说明枚举类型的关键字。每个枚举元素就是枚举常量值。例如:enumcolourred,y

12、ellow,blue,white,black;定义枚举型变量形式 enum colourred,yellow,blue,white,blackc1,c2;或 enum colourm1,m2;,枚举型使用说明,1)枚举元素在说明后都自动有一个整数值。例如:colour中,red的值为,yellow的值为,black的值为。可以在说明枚举类型时另指定一个整数值,指定元素后边的 各元素值按增的顺序重新排列,而没有指定的元素值仍按 系统自动给定的值。例如:enumd east,west,south10,north;south的值10,north的值为11,east的值为,west值为。2)仅能给枚举

13、变量赋枚举元素值。3)枚举变量进行增或减,比较运算。4)枚举变量不能用于输入,输出时仅输出枚举值的顺序号。,.6 运算符与表达式,表达式:完成各种运算的式子表达式的组成:操作数:常量、变量、表达式、数组元素及函数调用。运算符:对操作数进行特定运算和处理的符号。():改变运算顺序 运算符的优先级和结合性优先级:当几种不同的运算符出现在一个表达式中时,进行运算的先后顺序。结合性:当几个相同级别的运算符进行连续计算时,操作数与运算符的结合方向。,1.6.1 算术运算符与算术表达式,算术运算符(加)(减)*(乘)(除)(取余)说明、可作一元运算符,表示正和负优先级:、*、高于、结合性:由左向右。,注意

14、的几个问题,保证运算关系的正确性 用于求两个整型数相除的余数例如:10.5%5是非法的整型数据运算,结果类型不变例如:15/2允许不同类型的数据进行混合运算,按规则自动转换例如:15.0/2,(3*x+4*y)/(c+d),结果为7而不是7.5,结果为7.5,自动转换规则,Double unsigned long long unsigned intfloat short,char,例:混合类型数据运算的求值过程int a=10,b=5;double x=1.5;char c1=A;/A的Ascii码是65表达式:a*x+1/b+(c1+4)+1.0/b,15.0,0,15.0,69,84.0,

15、0.2,84.2,1.6.赋值运算符与赋值表达式,1)简单赋值运算符=,使用形式为:变量操作数 作用:将操作数存入变量,操作数可以是常量、变量或表达式。表达式的结果:“”号左边变量的值和类型。例如:int a,b,c;a=15;a=a+1;b=3.75;/表达式的值为3 c=a+b;,2)复合赋值运算符,将算术运算符和简单赋值运算符放在一起的缩写形式,包括:+=、-=、*=、/=、%=等。例如:a+=;相当于 a=a+b;a-=;相当于 a=a-b;a*=;相当于 a=a*b;a/=;相当于 a=a/b;a%=;相当于 a=a%b;,2)复合赋值运算符,赋值运算符的使用说明:,优先级仅比逗号运

16、算符高,低于其他运算符。例如:a-=x+y 等价于 a-=(x+y)允许连续赋值,但结合性为由右向左,如:a=b=3;等价于 a=(b=3)a+=b+=3;等价于 a+=(b+=3)赋值运算符左边必须是变量名。以下是错误的表达式:5=a;a+=b+=c+d=12;,1.6.4 自增运算符(+)和自减运算符(-),使用方式 前缀方式:变量 后缀方式:变量 例:int i(5);+i 前置自增,表达式的值为6,a的值为6。i+后置自增,表达式的值为5,a的值为6。-i 前置自减,表达式的值为4,a的值为4。i-后置自减,表达式的值为5,a的值为4。,1.6.4 自增运算符(+)和自减运算符(-),

17、几点注意运算对象必须是变量,如:3+、+(a+b)错误采用前置或后置对变量本身效果一样,但对表达式会有不同的结果。如:int a,b;a=5;b=a-;/b=5,a=4b=-a;/b=4,a=4 尽量避免对同一个变量连用多个+和-,如:+a(+a)+(+a),1.6.5 关系运算符与关系表达式,共有个运算符!小于 小于等于 大于 大于等于 等于 不等于 优先级 相同(高)相同(低)结合性:由左至右表达式的值是整型数,关系成立时为1,不成立时为0例:int a=5,b=3;表达式的值 a=b 1 a b 0/注意与=的区别 am 0/按ASCII码比较注意:不能用关系运算比较字符串大小,如以下运

18、算是错误的“zhang”wang”,1.6.6 逻辑运算符与逻辑表达式,逻辑运算符:用于多个条件的组合判断,包括:逻辑“与”:&逻辑“或”:|逻辑“非”:!使用形式 运算规则 a&b a、b同时为非0,结果为1,否则为0 a|b a、b同时为0,结果为0,否则为1!a a为非0,结果为0,否则为1优先级:!高于&、&高于|结合性:由左至右,例:int a=0,b=15;表达式的值a=-1xy|(+y)&(+x)/表达式的值为1,x=2,y=1xy&(+y)|(+x)/表达式的值为1,x=3,y=1,逻辑运算符使用举例:,1.6.7 其它运算符,1)条件运算符与条件表达式形式:1?2:3功能:e

19、1的值为非0,表达式的值为e2的值,否则为e3的值结合性:由右向左优先级:高于赋值运算符和逗号运算符,低于其他运算符,(1)?:y;/a的值为3(2)0?-1:x=0?0:1;等价于:0?-1:(x=0?0:1);/a的值为1,例:int a,x=3,y=5;,2)逗号运算符与逗号表达式,形式:e1,e2,en功能:从左到右计算各表达式值,并以最后一个表达式的值作为逗号表达式的值。结合性由左至右,优先级最低例:=(a=1,=3,+,a+b);/x的值是5,3)求字节运算符,形式为:sizeof()可以是任意类型的常量、变量、类型名或表达式。作用:求所属类型在内存中占用的字节数。结合性是由右向左

20、,优先级高于前面讲过的运算符例如:,unsigned int a,b,i;double(3.5);=sizeof();/结果是8 b=sizeof(double);/结果是8 i=sizeof(4*x);/结果是8,4)类型转换符,使用格式:(类型名)表达式或 类型名(表达式)作用:将“表达式”的值转换成“类型名”所指定的类型。例如:int a(5),b(2);float x;x=float(a/b);/2.0 x=(float)a/b;/2.5转换规则:,1.整数转换为字符型,则去掉多出的高位;2.长整型转换为一般整型时,去掉多出高位;3.浮点型转换成整型时,去掉小数部分;4.双浮点型转换成

21、单浮点型时,按单浮点型位数舍入。,1.6.8 运算符的优先级和结合性,优先级:括号-一元运算符-二元运算符-条件运算符-赋值运算符-逗号运算符 二元运算符:算术-插入/提取-关系-逻辑-赋值 结合性一元运算符、条件运算符、赋值运算符为从右向左,其余均为由左向右,表 4,1.7 基本输入/输出,输入:在程序运行时由输入设备(如:键盘)为程序中的变量提供数据的操作;输出:将程序中的数据传给输出设备(如:显示器)的操作 输入输出又称I/O(Input/Output)操作。,输入,输出,程序,1.从键盘输入数据时使用cin和,使用形式:cin变量1 变量2变量n;输入时,用空格、制表符或回车分隔不同的

22、数据。2.将结果输出到显示器使用cout和,使用形式:coute1e2en;其中:每个输出量可以是:常量、变量、表达式、字符串、函数调用等。,一、输入/输出的基本方法,使用cin和cout时,在程序开始处要写入预编译命令:#include 或:#include using namespace std;,注意:,程序举例:输入两个整数和两个浮点数,分别计算其和并输出。,#includevoid main()int i1,i2;float f1,f2;couti1i2;coutf1f2;cout两个浮点数的和是:f1+f2endl;,运行,三种换行方式,1.默认格式输出系统内定的输出格式与编译系统

23、有关,如在VC中:输出一个整型数或字符时,原样输出;输出一个float 或double型数时,默认6位有效数字;如果不加换行控制,当连续输出多个数据时,达到屏幕宽度时自动换行,二、输出格式,#include using namespace std;void main()int a=123;long int b=1234567;float x1=12.34,x2=23.456789;double y=12.34567890123;cout”a=”an”b=”bendl;cout”x1=”x1”x2=”x2endl;cout”y=”yendl;,默认格式输出举例:,a=123b=1234567x1

24、=12.34 x2=23.4568y=12.3457,输出结果:,2.在输出时使用控制符(操作算子),常用的几个控制符:dec 转换为十进制数输出 hex 转换为十六进制数输出 oct 转换为八进制数输出 setw(int)设置输出的宽度,只对一个输出项有效 setprecision(int)设置浮点数输出的有效数字位数 setfill(char)设置填充字符 endl 插入换行符,1.dec、hex、oct仅对整型数有效2.除endl外,使用以上格式控制符时,要加上编译预处理命令:#include 或:#include using namespace std;,注意:,输出结果:,使用格式控

25、制符举例:,#include#include using namespace std;void main()int x=24;double y=12.3456789;coutx“;couthexx“;coutoctxn;coutdec;/以下仍按十进制输出 coutsetw(8)x,xendl;coutsetw(8)setfill(*)xendl;coutsetprecision(5)yendl;,18 30 24,24*2412.346,1.8程序举例,#include void main()const float pi=3.14159f;float r,p,a,v;coutr;/通过键盘输

26、入数据 p=2*pi*r;/计算周长 a=pi*r*r;/计算面积 v=3.0/4.0*pi*r*r*r;/计算体积 cout“周长是:”pendl;/输出结果 cout“面积是:”aendl;cout“体积是:”vendl;,运行,/例1输入圆的半径,计算圆的周长、面积和球的体积,例2:求任意3个整数的最大值。,#include void main()int a,b,c,m;coutabc;m=ab?a:b;coutc)?m:c)endl;,运行:,输入3个整数:12 79 36最大值是:79,#include void main()int a;cina;couta%10;couta/10-

27、a/100*10;couta/100endl;,例3:输入一个三位整数,逆序输出每位数字。,运行结果:,输入:123输出:321,第一章小结,教学进程,重点掌握:C+程序格式 调试一个+程序过程 基本数据类型(各类型的表示)各种常量的表示、变量的含义,各种变量的定义形式 引用的含义及说明形式 各种运算符的形式 主要:算术、关系、赋值、逻辑、条件、逗号,运算符优先级、结合性 表达式的类型 基本输入/输出,复习第1章的内容,特别是重点内容完成 练习1的第2、3、4、5、6题,不交。完成练习1的 第7 题中2、4、5题的程序编写,上机调试后书面提交。,教学进程,课外复习及作业,熟悉VC编程环境,练习调试程序的基本步骤。验证例1.8和例1.11程序的运行结果调试作业中的编程题,教学进程,上机练习题,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号