IBMresearch©版权所有哈尔滨工业大学(威海)软件学院TheC++ProgrammingLanguageC++程序设计C++教程IBMresearch©版权所有哈尔滨工业大学(威海)软件学院TheC++ProgrammingLanguage上节课内容回顾1.程序与语言2.程序设计方法3.面向对象程序设计与结构化程序设计4.典型的C++编程环境IBMresearch©版权所有哈尔滨工业大学(威海)软件学院TheC++ProgrammingLanguage学习目标:使用C++编写简单的计算机程序编写简单的输入输出语句使用算术运算符编写简单的判断语句第二讲C++编程入门IBMresearch©版权所有哈尔滨工业大学(威海)软件学院TheC++ProgrammingLanguage1AFirstProgram-Greeting.cpp//Program:Displaygreetings//Author(s):ImaProgrammer//Date:1/24/2001#includeiostreamusingnamespacestd;intmain(){coutHelloworld!endl;return0;}PreprocessordirectivesInsertionstatementEndsexecutionsofmain()whichendsprogramCommentsFunctionnamedmain()indicatesstartofprogramProvidessimpleaccessIBMresearch©版权所有哈尔滨工业大学(威海)软件学院TheC++ProgrammingLanguage1AFirstProgram-Greeting.cpp几种不同的include方法:1.#includeiostream.h2.#includeiostreamusingnamespacestd;4.#includeiostream在程序中使用cout时需要写成如下形式:std::cout…;3.#includeiostreamusingstd::cout;IBMresearch©版权所有哈尔滨工业大学(威海)软件学院TheC++ProgrammingLanguage1AFirstProgram-Greeting.cpp良好编程习惯:每个程序都应该以注释开头,由于描述该程序的用途、作者、日期和时间。//Program:Displaygreetings//Author(s):ImaProgrammer//Date:1/24/2001IBMresearch©版权所有哈尔滨工业大学(威海)软件学院TheC++ProgrammingLanguage1AFirstProgram-Greeting.cpp#includeiostreamusingnamespacestd;常见编程错误:在一个需要从键盘输入数据,或者需要将数据输出至屏幕的程序中,假如忘了包含iostream文件,会导致编译器报告一条错误信息。IBMresearch©版权所有哈尔滨工业大学(威海)软件学院TheC++ProgrammingLanguage1AFirstProgram-Greeting.cppintmain(){coutHelloworld!endl;return0;}常见编程错误:遗漏语句末尾的分号是一种语法错误。当编译器不能正确识别语句时,便会导致语法错误。语法错误是对语言规则的违背。语法错误也叫编译错误,因为它们都是在编译阶段出现的。IBMresearch©版权所有哈尔滨工业大学(威海)软件学院TheC++ProgrammingLanguage1AFirstProgram-Greeting.cppstd::cout标准输出流对象缺省为屏幕std::声明cout所属的命名空间当使用using语句时,std::可以省略IBMresearch©版权所有哈尔滨工业大学(威海)软件学院TheC++ProgrammingLanguage1AFirstProgram-Greeting.cpp流“插入”运算符将操作符右侧的值“插入”到输出流对象中std::cout“WelcometoC++!\n”;IBMresearch©版权所有哈尔滨工业大学(威海)软件学院TheC++ProgrammingLanguage1AFirstProgram-Greeting.cpp\Escapecharacter(转义字符)指示特殊字符将被输出IBMresearch©版权所有哈尔滨工业大学(威海)软件学院TheC++ProgrammingLanguage1AFirstProgram-Greeting.cpp#includeiostreamusingnamespacestd;intmain(){cout'A''''a'endl;coutone\ttwo\tthree\n;cout123\b\b45\n;coutAlert\a\n;return0;}IBMresearch©版权所有哈尔滨工业大学(威海)软件学院TheC++ProgrammingLanguage2AnotherC++Program:AddingIntegers变量在内存中存储基本数据类型int–integernumberschar–charactersdouble–floatingpointnumbers在使用前要为变量命名并声明数据类型intinteger1;intinteger2;intsum;1//Fig.2.5:fig02_05.cpp2//Additionprogramthatdisplaysthesumoftwonumbers.3#includeiostream//allowsprogramtoperforminputandoutput45//functionmainbeginsprogramexecution6intmain()7{8//variabledeclarations9intnumber1;//firstintegertoadd10intnumber2;//secondintegertoadd11intsum;//sumofnumber1andnumber21213std::coutEnterfirstinteger:;//promptuserfordata14std::cinnumber1;//readfirstintegerfromuserintonumber11516std::coutEntersecondinteger:;//promptuserfordata17std::cinnumber2;//readsecondintegerfromuserintonumber21819sum=number1+number2;//addthenumbers;storeresultinsum2021std::coutSumissumstd::endl;//displaysum;endline2223return0;//indicatethatprogramendedsuccessfully2425}//endfunctionmain声明整型变量使用标准输入对象的流抽取运算符获得用户输入流操作std::endl输出新行,并清空输出缓冲区级联的流插入操作IBMresearch©版权所有哈尔滨工业大学(威海)软件学院TheC++ProgrammingLanguage良好编程习惯:有的程序员喜欢一行声明一个变量。采用这种格式,可方便地在每个声明后插入说明性的注释内容。良好编程习惯:每个逗号(,)后都应该插入一个空格,以增强程序可读性。良好编程习惯:选择有意义的变量名,将有助于保障程序的“自编档能力”。2AnotherC++Program:AddingIntegersIBMresearch©版权所有哈尔滨工业大学(威海)软件学院TheC++ProgrammingLanguage2AnotherC++Program:AddingIntegers良好编程习惯:避免使用以下划线和双下划线开头的标识符,因为C++编译器可能采用这种形式的名称作为内部使用。可移植性提示:C++语言本身允许任意长度的标识符,但你的系统和/或具体的C++实现有可能对标识符的长度进行了某种限制。因此,请使用31个字符以内的标识符,以保证可移植性。IBMresearch©版权所有哈尔滨工业大学(威海)软件学院TheC++ProgrammingLanguage2AnotherC++Program:AddingIntegers良好编程习惯:在一个声明与其后面的可执行语句之间,总是插入一个空行。这样可以在程序中突出声明语句,使程序更加清晰。良好编程习惯:如果喜欢在函数的开头进行声明,则用一个空行将那些声明同函数中的可执行语句分开,突出声明结束的位置和可执行语句的开头位置。IBMresearch©版权所有哈尔滨工业大学(威海)软件学院TheC++ProgrammingLanguage2AnotherC++Program:AddingIntegers良好编程习惯:在二元运算符的两端分别添加一个空格。这样可突出显示运算符,增强程序可读性。IBMresearch©版权所有哈尔滨工业大学(威海)软件学院TheC++ProgrammingLanguage2AnotherC++Program:AddingIntegers输入流对象std::cinfromiostream通常cin代表从键盘输入流抽取运算符:等待用户输入,按Enter键将值存放到运算符右侧的变量中将值转换为变量类型例:std::cinnumber1;IBMresearch©版权所有哈尔滨工业大学(威海)软件学院TheC++ProgrammingLanguage2AnotherC++Program:AddingIntegersConcatenating(连接)流插入运算在一条语句中使用多个流插入运算流插入运算能够处理不同的数据类型也称为:chainingorcascading例std::coutSumisnumber1+number2std::endl;IBMresearch©版权所有哈尔滨工业大学(威海)软件学院TheC++ProgrammingLanguage3Arithmetic算术运算符*-Multiplication/-DivisionIntegerdivisiontruncates(截断)remainder(余数)7/5evaluatesto1%-Modulusoperatorreturnsremainder7%5evaluatesto2IBMresearch©版权所有哈尔滨工业大学(威海)软件学院TheC++ProgrammingLanguage3Arithmetic算术运算符的优先级优先级运算符结合性高低后置++后置--左→右前置++前置--右→左*/%左→右+–左→右IBMresearch©版权所有哈尔滨工业大学(威海)软件学院TheC++ProgrammingLanguage3Arithmetic常见编程错误:试图对非整数操作数使用求模运算符%,是一种语法错误。良好编程习惯:与代数运算一样,可在表达式中加上多余的括号,使其更清晰。这些括号叫做冗余括号。将一条大型语句分割为一系列较短的、较简单的语句,也可以使程序更清晰。IBMresearch©版权所有哈尔滨工业大学(威海)软件学院TheC++ProgrammingLanguage3Arithmetic运行结果:int/int,24/5=4int/int,24%5=4int/int,24%(-5)=4double/double,24/5=4.8double/int,24/(-5)=-4.8