您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 70C++语言程序设计第一讲
高级语言程序设计(C++)(AdvancedLanguageProgramming(C++))华北电力大学Information&NetworkManagementCenterofNorthChinaElectricPowerUniversity信息与网络管理中心高伟13930897254课程简介通过学习本课程,学生应了解常用、典型计算机算法,通过独立地分析问题来设计可行算法;熟悉C++语言的基本数据类型、表达式、控制结构、数组、函数等知识;初步掌握结构化的程序设计方法;并能够综合运用以上知识编制小型应用程序,熟练使用C++语言的集成开发环境和基本调试方法进行程序的调试和运行。考核方式:笔试+机试+平时成绩1.程序设计语言机器语言例如:A=10,B=4,求A+B的值。001111100000101000000110000001001000000001110110LDA,0AHLDB,04HADDA,BHALTmain(){inta,b;a=10,b=4;c=a+b;printf(%d,c);}用0、1代码表示的指令。汇编语言执行速度快难记忆、不通用用助记符表示的指令。不通用便于记忆类似自然语言和数学语言高级语言通用性强第一章概述C++是一种使用非常广泛的计算机编程语言,支持过程化程序设计、数据抽象、面向对象程序设计。应用:Windows、Linux、Unix等操作系统“魔兽世界”等网络游戏Baidu、Google等搜索引擎MicrosoftOffice、InternetExplorer等应用软件2.C++语言第一章概述C++是由C发展成为的以面向对象为主要特征的语言。作为C语言的超集,C++继承了C的所有优点,又对数据类型做了扩充。C++与C完全兼容,很多用C编写的库函数和应用程序都可以为C++所用。C++既支持面向过程的程序设计,也支持面向对象的程序设计。我们主要学习面向过程的程序设计。第一章概述2.C++语言1.程序设计语言机器语言例如:A=10,B=4,求A+B的值。001111100000101000000110000001001000000001110110LDA,0AHLDB,04HADDA,BHALTmain(){inta,b;a=10,b=4;c=a+b;printf(%d,c);}用0、1代码表示的指令。汇编语言执行速度快难记忆、不通用用助记符表示的指令。不通用便于记忆类似自然语言和数学语言高级语言通用性强第一章概述3.语言处理过程0011111000001010LDA,0AHLDB,04HA=10B=4...目标程序汇编语言源程序00000110汇编程序高级语言源程序源程序结果解释程序源程序目标程序可执行程序结果编译程序连接程序......解释方式编译方式第一章概述/*程序文件名为1.cppC++的第一个程序*/#includeiostream.h//包含输入输出头文件voidmain()//主函数,程序入口{coutHello,world!endl;//输出}4.第一个C++程序此程序的功能是在屏幕上显示Hello,world!/*注释*/#include头文件voidmain(){}……第一章概述练习请参照上个例题,编写一个C++程序,输出以下信息:******************************Verygood!******************************#includeiostream.hvoidmain(){cout******************************endl;coutVerygood!endl;cout******************************endl;}5.C++的语法–一行可以写若干条语句,一条语句可写在多行上–一个单词应连续书写,中间不可加空格–每一条C++语句都要以“;”结束–字母区分大小写建议一行只写一条语句并采用缩进第一章概述•例题:已知三角形的两边a,b及夹角,求第三边c。)cos(22)cos(22222abbacabcbaabc计算公式:)cos(22)cos(22222abbacabcba引例/*---求三角形的边--*/#includeiostream.h#includemath.hvoidmain(){floata,b,alf,c;//定义变量a=1.0;//给变量赋值b=2.0;alf=0.2;c=sqrt(a*a+b*b-2*a*b*cos(alf));coutc;//输出结果}设:a=1.0b=2.0=0.2(弧度))cos(222abbac/*注释*/#include头文件voidmain(){}分号是C++语句的一部分引例数据类型•整型数据一般占4个字节–类型标识符int标准整型long[int]长整型short[int]短整型占2个字节占4个字节-2147483648~+2147483647–int类型的表示范围-32768~+32767–short类型的表示范围数据类型•实型数据(又称为浮点型)占4个字节–类型标识符float单精度实型double双精度实型占8个字节floata,b,alf,c;-3.4×1038~+3.4×1038–float类型的表示范围double类型提供15位有效数字–实型数据的精度float类型提供6位有效数字-1.7×10308~+1.7×10308–double类型的表示范围数据类型•字符型数据ASCII码:美国标准信息交换码–类型标识符char字符型占1个字节–在内存中字符数据以ASCII码值存储关于字符的ASCII码值见书292页字符'a'的ASCII码是97字符'b'的ASCII码是98ab97980110000101100010值不能被改变的量。常量区分为不同类型:2,0,-3为整型常量,1.0、-1.23为实型常量,'a','D'为字符常量。这种常量称为字面常量。–常量常量与变量还有一种常量是符号常量,用符号名代表某一常量。#definePI3.14159a=1.0;b=2.0;alf=0.2;c=sqrt(a*a+b*b-2*a*b*cos(alf));字符常量–用单引号引起来的单个字符。–转义字符:用“\”开头的特殊字符。如:'\n'(见课本14页表3.1)如:'a','X','1','?',''注意,'a'和'A'是不同的字符常量。•表示形式:'\''\t'水平制表符,将光标跳到下一个tab位置换行符,将光标移到下一行开头'\b'退格符,将光标移到前一列'\\'反斜杠字符\'\''单引号字符'双引号字符–用双引号引起来的字符或字符序列。如:Hello,world!,CHINA,a,$123.45字符串常量字符串CHINACHINA\0'a'VSa•表示形式:字符常量字符串常量aa\0a=1.0;b=2.0;alf=0.2;c=sqrt(a*a+b*b-2*a*b*cos(alf));在程序执行过程中值可以改变的量。变量的实质是代表内存中的一个存储单元。–变量变量有4个基本要素:变量类型、变量名、变量的值和变量在内存中的地址。常量与变量在使用变量之前,必须先对其进行定义。常量与变量•变量定义的一般格式:类型名变量名1[,变量名2]…[,变量名n];例如:intx,y;floatsum;charc;•变量名:只能由英文字母、数字或下划线组成,并且必须以字母或下划线开头。合法的变量名:sum,average,_total,n_4,_123不合法的变量名:M.D.John,#av,3D64,,命名原则:“见名知意”floata,b,alf,c;简单的C++语言程序介绍/*---求三角形的边--*/#includeiostream.h#includemath.hvoidmain(){floata,b,alf,c;a=1.0;b=2.0;alf=0.2;c=sqrt(a*a+b*b-2*a*b*cos(alf));coutc;//输出结果}//定义变量//给变量赋值•一般格式:将右侧表达式的值赋值给左侧的变量。赋值表达式变量名=表达式•功能:在赋值表达式后加上“;”就构成赋值语句。数学:n=n+1C++:n=n+1•特点:“新来旧去,取之不尽”•注意:“形同意不同”a=1.0;b=2.0;alf=0.2;c=sqrt(a*a+b*b-2*a*b*cos(alf));-独立赋值语句的使用赋值表达式a=5;b=b+a;b=4;5a4b9-赋值表达式的使用x=5+2*(y=3+6);y=3+6;x=5+2*y;a=b=c=5;c=5;b=c;a=b;赋值表达式的值是赋完值以后左侧变量的值赋值运算符是右结合:从右往左算C++允许在定义变量的同时给变量赋一个初始值,这就是变量的初始化。inta=3;/*定义整型变量a,初值为3*/floatf=3.56;/*定义实型变量f,初值为3.56*/charc='a';/*定义字符变量c,初值为'a'*/inta,b,c=5;/*定义整型变量a、b、c,且c的初值为5*/变量初始化算术运算符:–*/%a%ba、b必须是整型数例:5%35.0%3出错2+(求余)算术表达式算术表达式:例:a*a-2*a*b*cos(alf)(a+b)/(c+v)b*b-4*a*ca+b/1.5+'a'字符型与整型通用字符数据用它对应的ASCII码值参加运算dcbabaxabsina*b+sin(x)*sqrt(a+b)-(a+b)/(c-d))lg(2yxbaxa*x*x+b*log10(x+y)算术表达式举例:表达式中的乘号不能省注意:所有函数的参数都要用小括号括起来分式一定要加小括号(关于数学库函数见课本294页)•算术运算符的优先次序:*/%的运算优先级高于+-算术表达式•表达式的类型:(1)相同类型的数据进行运算,结果仍然为该种类型;(2)不同类型的数据运算,系统会自动进行类型转换。转换原则:将低级数据类型转换为高级数据类型;边计算边转换。算术运算符采用左结合,同一优先级的运算符从左向右进行运算。举例(表达式类型)6.0/2.0=3.01/2=03/2*3=33/2*3.0=3.0116.0/2=3.01/2.0=0.5算术表达式强制类型转换功能:把表达式的值强制转换成类型名所表示的类型。注意:在强制类型转换时,原来变量的类型和值并不会发生变化。一般形式为:(类型名)(表达式)如:(int)6.25,将6.25强制转换为整型数,结果为6。假设i是一个int型变量,值是3。(double)i,读取变量i的值,把这个数值转换成double型的数,值是3.0。变量名=表达式赋值时的类型问题赋值时的类型转换“=”两侧的类型不一致“=”两侧的类型一致直接赋值1、计算表达式的值;2、将计算结果转换成与左侧变量相同的类型;voidmain(){inta,b;floatc,d;a=13;c=a/2;d=(int)c%5;b=c/4;}abcd136.01.01……..;3、赋值。以左侧变量的类型为准doubled;floatf;longl;inti;i=f=l=d=20/3;赋值时的类型问题例:执行完赋值语句,变量d、f、l、i的值分别是多少?intx,y;x=1.2;y=(x+3.8)/5.0;例:执行完赋值语句,变量x、y的值分别是多少?d6.0l6f6.0i6x1y0复合赋值复合赋值运算符:+=-=*=/=%=如:x+=y+3等价于x=x+(y+3)x-=y+3等价于x=x-(y+3)x*=y+3等价于x=x*(y+3)x/=y+3等价于x=x/(y+3)x%=y+3等价于x=x%(y+3)复合赋值例1:inta=1,b=3;a+=1;b*=a+2;ab13a=a+1;b=b*(a+2);212kimi=i*k;224k=k+i;6m=k;6例2:intk=2,i=2,m;m
本文标题:70C++语言程序设计第一讲
链接地址:https://www.777doc.com/doc-3314186 .html