第1章 C 程序设计基础解析

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第一部分C++结构化程序设计第一章C++程序设计基础本章内容①C++语言概述②计算机中的数据与编码③C++程序开发过程④C++程序实例⑤基本数据类型⑥常量、变量及引用⑦运算符与表达式⑧基本输入/输出1.1C++语言概述1.C++语言与程序设计•语言:人类交流思想的工具程序设计:就是将解决某个问题的过程用程序设计语言描述出来,计算机按这个描述去逐步实现。•程序设计语言:编写程序的语言。•C与C++语言2.程序设计语言分为•结构化程序设计语言(第1-4章)•面向对象程序设计语言(第5-11章)计算机中的信息可以分为两大类:•控制信息:是控制计算机完成各种操作的指令和控制字。•数据信息:计算机加工的对。包括数字信息、文字信息以及各种图形、图像、声音等。1.2计算机中的数据无论是那种数据,在计算机内部都要转换成二进制数后,计算机才能对其进行传送、存储和加工处理。1.2.1进位计数制•在计算机中使用的数据有二进制、十进制、八进制和十六进制。•无论哪种数制,它们的共同之处都是进位计数制。如果数制仅采用R个基本符号,称为R进制。其中R称为基数。•任意一个R进制数N都可以用一个式子展开:...2211002211RmRmRmnRnmnRnmN其中:m、n是正整数,m是每个数位上的值,m的取值范围0—R-1。进制基数进位使用符号二进制2逢2进位0、1八进制8逢8进位0、1、2、3、4、5、6、7十进制10逢10进位0、1、2、3、4、5、6、7、8、9十六进制16逢16进位0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F常用进位计数制1)R制数到十进制数的转换方法是:将要转换的数按权展开,各位数字与它的权相乘,最后求的和就是十进制数。例如:(1101.01)2=1×23+1×22+0×21+1×20+0×2-1+1×2-2=(13.25)10(205.4)8=2×82+0×81+5×80+4×8–1=(133.5)10(AF.8)16=10×161+15×160+8×16-1=(175.5)101.2.2不同数制之间的转换2)十进制数到R制数的转换方法是:•十进制的整数部份和小数部份分别转换,然后再拼接起来。•整数部份:连续除以R进制的R,直到商为0,将每次除以R的余数自下而上排列,即构成R进制的整数部分。•小数部份:小数部分连续乘以R进制的R,每次取积的整数,并将其自上而下排列,直到小数部份为0或规定精度为止。例如:将(237.625)10转换为二进制整数部分除2取余余数整数小数部分乘2取整2|23710.6252|1180取×22|59111.2502|291值0.252|140×22|71方00.502|31×22|11向11.00转换结果为:(237.625)10=(11101101.101)2例如:将(237.625)10转换为十六进制:整数部分除16取余余数整数小数部分乘16取整16|237D(13)取0.62516|14E(14)值×160方A10.000向转换结果为:(237.625)10=(ED.A)163)二、八、十六进制之间的转换•二进制与八进制之间转换方法:以小数点为界,左右分别按3位一划分,两头不够3位时补0,将划分的3位数按八进制数读出即可。例如:将二进制10100110101.0111转换成八进制:010100110101.0111002465.34因此:(10100110101.01110)2=(2465.34)8将八进制转换成二进制时,将每位八进制数用3位二进制表示出来即可。•二进制与十六进制之间转换方法:以小数点为界,左右分别按4位一划分,两头不够4位时补0,将划分的4位数按十六进制数读出即可。例如将二进制11110110101.101转换成十六进制:011110110101.10107B5.A因此:(11110110101.101)2=(7B5.A)16将十六进制转换成二进制时,将每位十六进制数用4位二进制表示出来即可。1.2.2二进制信息的存储单位•位(bit):二进制的1位,是计算机中数据处理的最小单位。•字节(Byte):8位二进制位组成一个字节(1Byte=8bit)。•常用来描述容量的单位有:千字节(KB),1KB=1024bit兆字节(MB),1MB=1024KB千兆字节(GB),1GB=1024MB•字(Word):独立的信息处理单位,又称为计算机字。1.2.3非数值数据的表示•字符编码:ASCII(AmericanSandardCodeforInformationInterchange)码。ASCII用一个字节中的7位二进制位来表示一个字符,每个字符唯一对应一个ASCII码,最多可表示27=128个字符。•汉字编码:1)汉字在计算机内部也采用二进制的数字化编码。2)广泛应用GB2312-80(国家标准信息交换用汉字编码),简称国标码,采用二字节编码.3)国标码共编码了7445个图形字符,其中6763个汉字和682个非汉字符号。1.3C++程序开发过程:出错编辑源程序预处理程序编译程序连接程序装入程序输出结果执行程序输入、修改源程序出错出错磁盘输入数据1.4C++程序实例例1:在屏幕输出Hello,youarewelcome!/*Helloprogram*/#includeiostream.hvoidmain(){cout″Hello,youarewelcome!″;//你好,欢迎你!}程序说明:•两种注释•编译预处理行•main()函数:void、函数体{…}、程序执行处•语句:一行可以写若干条语句,每个语句用“;”作为结束。例2:编写程序从键盘任意输入2个数,输出这2个数的和。#includeiostream.hvoidmain(){inta,b,n;cout″请输入两个数:″;cinab;n=a+b;cout″a+b=″nendl;}程序说明:第3行为变量定义第4行是输出语句第5行输入第6行是赋值运算第7行中endl也可以用“\n”代替,表示换行。例3:由两个函数组成的C++程序#includeiostream.hintfmax(inta,intb){if(ab)returna;elsereturnb;}main(){intv1,v2;cout“请输入两个数:”;cinv1v2;cout″两个数中较大数是:fmax(v1,v2)endl;return0;}1.5基本数据类型•程序中处理的数据分为不同的类型。类型不同,存储方式和使用的场合也不同。数据类型基本数据类型整型(int)字符型(char)符点型(float、double)布尔型(bool)非基本数据类型构造类型指针类型空类型(void)数组类型结构类型(struct)联合类型(union)枚举类型(enum)类类型(class)基本数据类型:C++系统已定义的类型。可以直接利用这些类型名来定义数据。类型名说明字节取值范围bool布尔型1true,false[singned]char有符号字符型1-128~+127unsignedchar无符号字符型10~255[signed]shortint有符号短整型2-32768~32767unsignedshortint无符号短整型20~65535[signed]int有符号整型4-2147483648~+2147483647unsignedint无符号整型40~4294967295[signed]longint长整型4-2147483648~+2147483647unsignedlongint无符号长整型40~4294967275float浮点型43.4×10-38~3.4×10+38double双浮点型81.7×10-38~3.4×10+38longdouble长双浮点型103.4×10-4932~3.4×10+49321.6常量、变量及引用1.6.1常量•程序中可以直接使用的常数称为常量•常量分为:整型浮点型字符型字符串常量布尔常量1)整型常量•十进制整数:由0~9数字组成的正负整数,如0、15、-247。•八进制整数:以数字0开头的整数,由数字0~7组成,如015,0238。•十六进制整数:以0x或0X开头的整数,由数字0~9和字母a~f(或大写A~F)组成。例如:0x516,0x8AB,0xb2ff。•八进制和十六进制只能表示无符号整数.•任一整型常数后跟字母l(或L)时,为长整型.如:12345L•任一整型常数后跟字母u(或U)时,为无符号整型.如:7895u•浮点型数由整数部分和小数部分组成。•小数形式:3.14159,-0.55,-123.0指数形式:+5.25e-80.5678e05、其中:+5.25e-8表示+5.25×10-80.5678e+05表示0.5678×1052)浮点型常量(又称实型)指数形式表示浮点型数时e(或E)前可以是整数或小数,但e后的指数部浮点型数总是按double类型存储的,只有在数的后面加上f才按float类型存储,如1.234E-6f。长双精度(longdouble)型常量通常在双精度数后面加上l或L表示,如1.2345e-12L。说明:3)字符型常量•字符型常量是用单引号括起来的单个字符例如:′A′、′S′、′*′、′a′、′\n′说明:字符型常量中的单引号作为定界符,不是字符型常量内容。字符型常量具有数值,其值就是该字符的ASCII码值。而且值可以作为整数参与运算:如‘a’+5结果为字符‘f’如‘9’-6结果为数字字符‘3’如‘A′+32结果为’a‘‘f’–‘d’可以是ASCII字符集中任意可打印字符,包括空格.转义字符(见表1-3)4)字符串常量•用双引号括起来的一串字符。例如:″Thisisastring″″a″″ABCxyz\n″″1234″″中国_天津″说明:字符串中可以包含空格、转义字符、中文字符等。双引号作为字符串的定界符,计算字符串长度时双引号不计算在内。编译程序在存储字符串常量时自动在字符串最后加一个‘\0’作为一个字符串的结束标志,‘\0’占一个字节位置。一个字符占一个字节,一个汉字占两个字节。在程序设计中字符串通常用字符数组或字符指针存放。5)布尔常量布尔常量仅有两个值,即true(真)和false(假)。6)符号常量•为常量起一个名字,称为符号常量。•符号常量在使用前必须进行说明。符号常量的说明形式为:const数据类型名常量名=常量值;const常量名=常量值;constintm=100;constfloatpi=3.14159;说明:符号常量在说明时一定要赋初值,其值程序中不能修改。符号常量名不要和一般变量名重名。使用符号常量可以提高程序的可读性,增强程序的可维护性。1.6.2变量1)标识符•用来为变量、符号常量、数组、函数、类型等命名。•命名标识符有以下规则:必须由字母、下画线和数字组成第1个字符应是字母或下画线字符例如:a、x1、data_5、count等为合法的标识符•标识符的长度视具体的编译系统而定。•不能使用C++的关键字作为标识符,例如:int、for等•C++中变量名区分大小写,因此ex1和EX1是两个不同的变量名2)变量——在程序中可以改变值的量称为变量。•每个变量在内存中占有一定的存储单元,该存储单元中存放变量的值。在程序设计中可以根据需要改变变量的值。•每个存储单元都有一个地址。12.345变量名X1变量值存储单元3)定义变量程序中的变量名在使用之前必须定义。chara,b,c;//intx,y;//longints1,s2;//定义s1、s2floatdata_1,data_2;//定义data1_1、data_2为浮点型变量doublew1,w2//定义w1、w2unsignedm,n;//定义m、n为无符号整型变量4——变量在定义的同时可以给其赋值。chara=‘A’;intx=0,y=12;doublew1=12.3

1 / 67
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功