




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学习C+程序设计,要掌握C+语言的常用的语法,掌握程序设计方法,掌握一些较简单的算法,掌握良好的编程风格,了解用计算机求解实际问题的步骤。算法(algorithm)是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作。设计一个好的算法应考虑以下因素:(1)正确性(correctness):算法应当满足具体问题的需求。设计或选择的算法应当能正确地反映这种需求。(2)可读性(readability):算法主要是为了人的阅读与交流,其次才是机器执行。可读性好有助于人对算法的理解,晦涩难懂的程序易于隐藏较多错误难以调试和修改。结构程序设计技术是设计高质量算法的关键技术。(3)健壮性(robustness):当发生输入数据非法、操作错误或硬件发生故障等以外情况时,程序也能适当地作出适当的响应进行处理,而不会产生莫名其妙的输出结果。(4)效率高:效率是完成软件的功能需要的资源,包括时间复杂度和空间复杂度。基本语法主要内容:程序结构、基本数据类型、常量、变量、最常用的系统函数、表达式,输入数据,顺序结构程序编写。1.1 程序的基本结构题1 输入圆的半径,计算圆的周长和面积。/计算圆的周长和面积。#include using namespace std;int main( ) double R,C,S,Pi; Pi=3.14159265; coutR; C=2*Pi*R; S=Pi*R*R; cout圆的周长=C 圆的面积=Sendl; return 0;知识点:注释,主函数,函数,函数的参数和类型,函数体,大括号,语句,分号,cout流,操作符,编译指令#include,头文件,命名空间,字符型数据,保留字。数据类型,常量,变量,表达式,运算,输入输出风格。题2 输入两个实数,输出较大的数。#include using namespace std;double Max(double x,double y) double z; if (xy) z=x; else z=y; return z;int main( ) double a,b; coutab; cout较大的数是:Max(a,b)endl; return 0;知识点:函数调用,主函数与子函数。1.2 字符集字符集是C+语言的基本元素。除字符和字符串常量外,C+程序的字符只能由C+字符集中的字符构成。字符集由下列字符构成:英文字母字符52个:A到Z a到z数字字符10个:0到9其他字符30个,逗号 数据之间的分隔符 ;分号 简单语句的结束符单引号 字符常量的起止标记 双引号 字符串常量的起止标志:冒号 条件运算符 空格 语句成份之间的分隔符左花括号 右花括号 复合语句的开始和结束标志(左圆括号 )右圆括号 表达式改变运算次序、函数参数左方括号 右方括号 访问数组元素+加号或正号 -减号或负号星号* 乘号、间接访问运算符 /斜杠或除号百分号% 整数取余 .句号 小数点、结构成员访问符大于号或右尖括号=等号 赋值号、构成等号 叹号! 逻辑非运算符 波浪号(波折号) 按位取反运算符 &与 取地址、按位与运算、引用说明符尖字符(脱字符) 按位异或运算 |竖线 按位或运算符?问号 条件运算符 井号# 预处理命令行的开始标记 反斜杠 转移序列的开始标记 下划线_ 用于标识符ASCII码计算机使用的字符集及其编码,是由美国国家标准协会(ANSI,American National Standards Institute)制定的ASCII码(American Standard Code for Information Interchange,美国标准信息交换码),它已被国际标准化组织(ISO,International Standardization Organization, International Organization for Standardization)定为国际标准。32 33 ! 34 35 # 36 $ 37 % 38 & 39 40 ( 41 ) 42 * 43 + 44 , 45 - 46 . 47 / 48 0 49 1 50 2 51 3 52 4 53 5 54 6 55 7 56 8 57 9 58 : 59 ; 60 63 ? 64 65 A 66 B 67 C 68 D 69 E 70 F 71 G 72 H 73 I 74 J 75 K 76 L 77 M 78 N 79 O 80 P 81 Q 82 R 83 S 84 T 85 U 86 V 87 W 88 X 89 Y 90 Z 91 92 93 94 95 _ 96 97 a 98 b 99 c 100 d 101 e 102 f 103 g 104 h 105 i 106 j 107 k 108 l 109 m 110 n 111 o 112 p 113 q 114 r 115 s 116 t 117 u 118 v 119 w 120 x 121 y 122 z 123 124 | 125 126 1.3 词法记号词法记号即C+的单词,包括关键字、标识符、文字、操作符、分隔符、空白等。关键字(保留字)是C+预先声明的单词,课本22页列出了60个关键字,程序中关键字与非关键字自动显示为不同的颜色。常用的保留字有:bool, break, char, class, const, continue, delete, do, double, else, false, for, if, int, namespace, new, return, struct, true, using, void, while标识符:程序员定义的单词,用于变量名、符号常量名、函数名、自定义的类型名、对象名等。构成规则为:(1)由字母、数字、下划线构成,区分大小写。(2)第一个字符是字母或下划线;(3)不能是C+关键字;(4)应尽量按其意义取名;应避免与C+系统的标识符重名。例如,若标识符用sin,则容易导致错误。例:“价格”可以用price,Price,JiaGe,JG,但不应用speed,width,ZXCVB,tan.文字:是程序中直接用符号表示的数据,包括数值常量、字符常量、字符串常量、布尔常量。如:123,A,ABC。以后详细介绍。运算符(操作符):对数据进行运算的符号,如:+、-、*、/、=等,还有保留字运算符new,delete,sizeof. 以后详细介绍。分隔符:用于分割各个语法记号或程序正文,包括:( ) , : ;空白:包括空格、制表符、换行符和注释。空格、制表符、换行符主要用于指示单词的起止位置。例如:int i;与int i;与int 换行 i换行 ;等价。尽管如此,程序的书写应尽量确保可读性好。注释的作用是对程序进行注解和说明,提高可读性。编译系统忽略注释,但注释是程序的重要部分。注表示释有两种方法:(1)/ (2) /* */1.4 基本数据类型数据类型包括泛整型(整型、字符型、逻辑型、枚举型)、实型、引用(指针、引用、数组)、复合类型(结构、联合、类)、空(无)值类型。基本数据类型是系统预定义的类型。枚举类型、数组、结构、联合、类是程序员自定义类型,以后介绍。先介绍基本数据类型:整型:int(最常用),-231231-1; short,-215215 unsigned int,0232-1 unsigned shot:0216-1 long同int;unsigned long同unsigned int. signed int同int. signed short同short. signed long同long. short int同short; long int同long.关键字signed,unsigned,short,long称为修饰符。实型:double(最常用),绝对值1.7E-3081.7E308 long double同double; float:绝对值3.4E-383.4E38字符型:char(常用):-128127 unsigned char: 0255逻辑型(布尔型):bool:false,true无值类型:void整型和实型统称数值型,字符型与整型兼容。数据类型确定了值的范围和允许的操作。1.5 常量各种数据类型,都有相应的常量。常量是在程序运行过程中不可改变的量,也就是直接使用符号(文字)表示的值。常量包括字面常量与符号常量。字面常量,如123,字面本身就是它的值。符号常量用标识符表示一个值。整型常量简称整数。形式举例:常用的是十进制形式:+123 123 -123 0八进制形式:0123 -0123 十六进制形式:0x12FA 不区分大写小写不常用的形式:123L 123U实型常数简称实数,有两种形式:小数形式和指数形式。例:1.23 +1.23 -1.23 123.0 1.23E-2 1.23E307 0.0不常用的形式: .123 1.23F 字符型常量就是单字符。单引号是字符的界符。字符A的三种形式: A 101 八进制数字 X61 十六进制数字 预定义了转义序列:a 响铃 n换行 见26页表coutaaaaaaendl;逻辑型常量:只有两个:true和 false。字符串常量简称字符串,并非基本类型,由于常用,先介绍。例如abcd,Yes界限符:双引号。字符串在存储方式:以0作为结尾标志。字符a与字符串a的存储方式不同。符号常量:用标识符表示常量。例如:const double pi=3.1416; 或double const pi=3.1416;1.6 变量变量用来存放常量,变量是在程序运行期间其值可以变化的量。系统为程序中的每个变量开辟了一个存储单元,用来存放变量的值。每个变量具有名字、类型。在不同时刻,变量可存储不同的数据,在任一时刻,变量具有确定的值。变量在使用前,必须声明其类型和名称。变量的声明举例:int m,n; double x,y; char c; bool b;定义变量的同时,也可以给它赋初值:int a=123; char d=a; 不常用形式: int a(123);1.7 常用系统函数先介绍几个常用的系统函数,以后陆续介绍其他函数。int abs(int); 整型的绝对值;下列函数需要头文件cmath。#include #include using namespace std;int main( ) coutacos(0.2)endl; return 0;acos 反余弦 double acos(double); asin 反正弦double atan(double); double atan2(double y,double x) 反正切 ceil 实数的上整数,double ceil(double);cos 余弦 exp 指数函数 fabs 绝对值,double fabs(double);floor 实数的下整数 log 自然对数 log10 以10为底的对数函数double pow(double,double); 幂函数 sin 正弦 sqrt 开方 tan 正切1.8 运算与表达式表达式是由变量、常量、函数调用、括号和操作符组成的有意义的单位。表达式的值是其运算结果。根据参加运算的数据的类型和表达式的值的不同,表达式分为:数值(算术)表达式;赋值表达式;逗号表达式;关系表达式;逻辑表达式;条件表达式等操作符的优先级高低决定了运算次序,圆括号可以改变计算次序。最简单的表达式只包括一个操作数。1.8.1 数值运算和数值表达式算术运算符: 乘*, 除/; 加或正+, 减或负-,取余%,自增+,自减-。正负号和+,-是一元运算符,其余是2元运算符。优先级与数学规定相同。表达式举例: Pi*r*r (a+b)/(c+d) a*a+b*b-2*a*b*cos(alfa) 1+21/2的值为0,1.0/2.0的值为0.5,混合算术表达式中的类型转换:同一类型的数据构成的算术表达式的值具有运算数的类型。整型和实型表达式的值分别是整型和实型。例:2*3/5 的值是 1; 2/5*3 的值是 0;2.0/5.0*3.0的值是1.2不同类型的数据构成的混合表达式的求值时,先进行类型转换再求值。类型转换的规则是:将整型转为实型。例:2.0*3/5 的值是 1.2 2/5*3.0 的值是0。1.8.2 关系运算与关系表达式关系运算即比较运算,比较两个数据的关系。关系运算符有: , , = 优先级高 = != 优先级低例 12 1+2=3 12=34 cout(12)endl; cout(12=34)endl; true输出1,false输出0关系运算符都是2元运算符,因此关系表达式的形式为:,其中运算数可以是数值型、字符型、逻辑型,表达式的值为逻辑型。若两个数值表达式类型不同,则先转换,规则同算术表达式。cout98)z 等价于(x+y)z.两个实型表达式比较相等,可能出错。为此,“x=y”可改为“fabs(x-y)1E-8”。double x,y; x=y=1.2;cout(fabs(x-y)1.0E-8)endl;1.8.3 逻辑运算与逻辑表达式逻辑运算符: 运算数和表达式的值都是逻辑型。逻辑非 ! 逻辑与 &. 逻辑或 |逻辑运算的优先级低于关系运算。1.8.4 逗号运算与逗号表达式表达式1,表达式2 值为表达式2的值。1,2,3的值为3; a=3*5,a*4的值为60;a=1,a+=2,a*=3,a*4的值为36cout(a=1,a=+2,a*=3,a*4)endl1.8.5 条件运算符与条件表达式逻辑表达式?表达式1:表达式2例 a=60?及格:不及格1.8.6 siseof操作符sizeof(类型名)或sizeof(表达式)返回所占字节数。例如:sizeof(int) sizeof(123)1.8.7 赋值运算与赋值表达式赋值号为= 复合的赋值运算符:+= -= *= /= %= = &= |=表达式的值就是左边对象的值。a=5 值为5 a=b=c=5 值为5 a=5+(c=6) 值为11 a=(b=10)/(c=2) 值为5a+=3 x*=y+8 相当于 x=x*(y+8)a+=a-=a*a 相当于 a=a+(a=a-a*a)1.8.8 类型转换表达式中出现不同类型的数据的混合运算时,需要类型转换。(1)隐含转换:算术运算、关系运算、逻辑运算、位运算、赋值运算要求两个操作数的类型相同。若不相同,则编译系统自动对数据进行类型转换。算术运算和关系运算中的操作数的转换的原则是:低类型转为高类型,这个规则保证数据的精度没有损失。常用的几种数据类型由低到高的次序为:char int double逻辑运算数要求是bool型。若为其他类型,则非0转为true,0转为false.位运算的操作数要求是整数。13.22 非法。赋值运算要求左边与右边的类型相同,否则将右边的值的类型转为左边的类型。(2)强制类型转换:语法为:类型说明符(表达式)例:coutint(13.2)endl; 输出13coutchar(66.2) 后置+ 后置-2 前置+ 前置- sizeof & * 正号+ 负号- !3 强制类型转换4 .* -*5 * / %6 + -7 8 =9 = !=10 &11 12 |13 &14 |15 ? :16 = *= /= %= += -= = &= = |=17 ,表达式求值+x x增1,表达式的值为x; x+ 表达式的值为x,x增1int x=10,y; y=+x; coutx yendl; 输出11 11int x=10,y; y=x+; coutx yendl; 输出11 10cout(12)endl; 输出1 cout!(12)endl; 输出0cout(1!=2)endl; 输出1 cout(a=A)endl; 输出0cout(12&2=3)endl; 输出1 cout(12|32)endl; 输出1abs(-12) 的值为12; sqrt(4*6+1)的值为5;log10(1.0e-5) 值为 -5 floor(sqrt(24) 值为 4double x=1.234; coutint(x*100)/100.0endl; 输出1.231/3值为0 1%3 值为1 10*sizeof(int) 值为40 012值为10 0X12值为18y表达式求值, 设char c=a;int n=20; double x=4.7;n+ +c n%5 n/5 c%10值为7 1+n/3%4值为3 n/8.0 c+=4char(n+30)值为2 (n0 n=1 c!=an=(cA?n+10:n-10) n=(n+,n+=2,n*2);coutnendl; 输出46n=n+,n+=2,n*2;coutnendl; 输出23ceil(x-=0.5) 值为5 x=fabs(1-x)+4值为7.7 x/22.5值为true定理:设a,b是逻辑值,则 (1) !a=a (2) !(a&b)=!a|!b (3) !(a|b)=!a&!b数学表达式转为C+形式:整数x与y不全为0 !(x=0&y=0) 或 x!=0|y!=0 或x+y!=0整数x与y有一个数为0但不全为0x=0&y!=0|x!=0&y=0 或x=0!=y=0 或 x*y=0&x+y!=0点(x,y)与原点的距离不超过0.1 x*x+y*y=0.01 sqrt(fabs(x)+1) pow(x,y+1) pow(x,1.0/3.0)+pow(x,0.25) log(exp(x)+exp(y) sin(3.14159265/6) (-b+sqrt(b*b-4*a*c)/(2*a) sqrt(a*a+b*b-2*a*b*cos(C) asin(sqrt(fabs(x)/(1+x*x)+atan(x/y) fabd(x-x0)epslon 0.5*b*b*cos(A) 但 ch是字母字符1.9 语句程序由语句和注释构成。语句是程序的基本成分。执行语句使计算机产生一种特定的操作(如赋值、输入、输出等),或将某些信息(如变量类型)通知编译系统,使编译系统按此信息对数据做相应处理。C+的语句包括:声明语句、表达式语句、复合语句、选择语句、循环语句等。声明语句用来声明变量:例如:int x,y;表达式语句是 表达式; 例如:x=3; x=1+2; 复合语句是 语句; 语句; 例如: x=1; x+=2; 赋值表达式语句的作用是给变量赋值:先计算,再转换,最后赋值。例:int x; x=14.6; coutxendl; 输出14int x; x=14.6; x+=2; coutxendl; 输出16int x,y; x=1; x+y=3; coutyendl; 错误,左边只能是变量名int x; x=9*5/7; coutxc & b+ca & c+ab;cout(x?能构成三角形:不能构成三角形)endl;int y=2008; bool leap;leap=y%4=0 & y%100!=0 |y%400=0;cout(leap?闰年:平年)endl;1.10 数据的输入输出读即输入数据:外部设备内存;写即输出数据:内存外部设备输入、输出语句应提供如下信息:设备;数据;格式。在C+语言中,数据从一个对象到另一个对象的流动抽象为流。从流中获取数据称为提取操作,向流中添加数据称为插入操作。cin和cout是系统预定义的流类对象,cin用来从键盘输入,cout用来屏幕输出。是插入符。输出语句语法:cout表达式表达式;例如:cout面积=是提取符。输入语句语法:cin变量变量;例如:cinab; 若用户用键盘输入5 6
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB32/T 4006.1-2021医务人员个体防护装备选用规范第1部分:生物危害防护
- DB32/T 3873-2020增材制造用塑料线材热熔产生烷烃类物质和醛酮类物质的测定
- DB32/T 3764-2020医疗污水病毒检测样品制备通用技术规范
- DB32/T 3597-2019增材制造金属材料机械性能测试方法指南
- DB31/T 534-2011通信网络运营环节的节能要求
- DB31/T 1282-2021车用气瓶氢气充装安全技术条件
- DB31/T 1184-2019特种设备隐患分类分级导则
- DB31/ 842-2014微电子元件制造业职业病危害控制规范
- DB31/ 731-2020船舶修正总吨单位产品能源消耗限额
- DB31/ 565-2013中小学课业簿册安全卫生与质量要求
- 护士分层级管理及培训陶英课件
- 优秀课例丨氯气的性质
- 2009年《四川省建设工程工程量清单计价定额》
- 监理平行检查记录表格模板
- 实验室生物安全手册(完整版)资料
- 临时围挡施工方案(标准版)
- 中班语言《嘘我们有个计划》课件
- 水墨中国风名著《水浒传》简介主题PPT模板课件
- Q∕GDW 11958-2020 国家电网有限公司应急预案编制规范
- TCSCS 009-2020 钢结构滑移施工技术标准
- 小学英语GreedyRabbit教案
评论
0/150
提交评论