c++精解和程序设计第二章

第二章c++概述

2.1 c++语言基本语法成分

(1)把英里转换成千米

//miles.cpp
//Converts distance in miles to kilometers

#include<iostream>
using namespace std;

int main()  //start of main function
{
    const float KM_PER_MILE=1.609;  //1.609 km in a mile
    float miles,    //input:distance in miles
            kms;   //output:distance in kilometers
    //Get the distance in miles.
  cout<<"Enter the distance in miles: ";
  cin>>miles;
  //Convert the distance to kms.
  kms=KM_PER_MILE*miles;
  //Display the distance in kms.
  cout<<"The distance in kms is"<<kms<<endl;
  return 0;  //Exit main function
}

2.1.1注释

格式://注释

          /*注释*/

 2.1.2编译预处理命令#include

编译预处理指令:程序中以“#”开头的命令行,编译系统在对源程序进行行编译之前,需要先对这些命令进行处理。

头文件:以类的方式对数据及其相关操作进行描述的一类文件。

标准库:c++系统所提供的一个事先定义好的集合体。

格式:#include<iostream>

注意:在编译预处理命令语句行结束处不能加“ ; ”。

 2.1.3命令空间Namespace std

格式: using namespace region;

说明:必须在#include命令行的下面。

 2.1.4 main函数

格式:int main()

{

    函数体

}

说明:程序总是从main函数开始执行的。函数体被包含在一对花括号中。函数体内的最后的一条语句是:

 return 0;

这表示当程序运行结束时,main函数将"0"作为返回值返回给操作系统。

2.1.5 声明语句 

例子: float miles;

2.1.6 可执行语句 

cout(c-out):输出设备,使用"<<"符号。

cin(c-in):输入设备,使用">>"符号。


2.2 保留字和标识符

保留字(关键字):c++中有着特定含义的单词。

保留字含义
const常量,表示该数据元素的值不能改变
float浮点数,表示该数据项是一个实型数据
include预处理指令,用于插入一个库函数
int整数,表示main函数的返回值是整型数据
namespace命名空间,程序中各种元素的定义范围
return退出被调用函数,返回到调用函数中
using表示可以使用由特定的名空间(namespace)中所定义的各种数据

 标识符:必须以字母或下划线开头,它只能包含字母,数字,下划线。


2.3数据类型和声明

2.3.1数据类型

1.实型

定点表示法:整数的机器内部存储形式。

浮点表示法:实数的机器内部存储形式。

尾数:用于浮点表示法中的0.5到1.0之间的二进制小数。

2.字符型

转义序列:以反斜杠(\)开头,由两个字符组成的一个序列,用来表示一个特殊字符。

3.常量声明

格式:const类型符号常量标识符=值;

例子:const float PI=3.14159;

4.c++程序读入字符和字符串,向程序用户显示个人信息。

//File:hello.cpp
//Displays a user's name

#include<iostream>
#include<string>
using namespace std;

int main()
{
    char letter1,letter2;  //input and output:first two initials
    string lastName;   //input and output:last name
    //Enter letters and print message.
    cout<<"Enter 2 initials and a last name: ";//输出
    cin>>letter1>>letter2>>lastName;  //输入letter1,letter2,lastName.
    cout<<"Hello"<<letter1<<". "<<letter2<<". "<<lastName<<"! ";  //输出
    cout<<"We hope you enjoy studying c++."<<endl;  //输出
    return 0;
}

2.4可执行语句

可执行语句:可执行语句被翻译成机器语言指令之后再执行,

赋值语句: 将值或中间计算结果赋给变量。

 输入操作:通过输入设备将数据读入内存的指令。

 输出操作:显示内存中存储信息的指令。

 流:与输入设备,输出设备及磁盘文件相关联的字符序列。

2.4.4输入语句 

格式:cin>> data-store;

例子:cin>>age>>firstInitial;

2.4.5程序输出 

提示:计算机的显示信息,表示计算机目前已做好准备,接受用户输入的数据或指令。

屏幕光标:一个移动的位置标志,指示下一个字符将要在屏幕上显示的位置。

格式: cout<< data-element;

例子:cout<<"My height in inches is "<<height<<endl;

说明:endl表示屏幕光标将向前移到下一行。显示字符串时,双引号不显示。

          如果不使用endl,屏幕光标就不会前移到下一行,下一条输出语句就会输出字符显示              在当前位置。

2.4.6 return语句 

格式: return表达式

例子:return 0;

说明:return语句的作用是将控制权由本函数交给该函数的调用函数。对于main函数,则是               将控制权转交给操作系统。表达式的值作为函数的执行结果返回给调用函数。

2.6算术运算符 

/:除

%:求余

混合类型表达式: 所含操作数位int和float类型的表达式。

                             int+int=int;

                             int+float=float;

2.6.4包含多个运算符的表达式 

单目运算符:带有一个操作数的运算符。

双目运算符:带有两个操作数的运算符。

  表达式求值运算 

1)括号原则: 凡是括号内的表达式先运算。碰到嵌套的括号,从内往外运算。

2)运算符优先原则:单目运算符  " + ",  " - ":优先级最高

                                                      " * "," / "," % ":优先级次之

                                   双目运算符 " + "," - ":优先级最低

3)结合性规则:左结合性:对于同一表达式中或具有同一优先级的双目运算符。

                           右结合性:对于同一表达式中或具有同一优先级的单目运算符。


问题

1.你的儿子一直攒硬币,包括面值5美分和1美分的两种。他想去银行把这些硬币兑换成整钱,因此需要统计出这组硬币总共有多少美元零多少美分。 

//File:coins.cpp
//Determines the value of a coin collection

#include<iostream>
#include<string>
using namespace std;

int main()
{
    string name;   //input:son's first name
    int pennies;   //input:count of pennies
    int nickels;   //input:count of nickels
    int dollars;   //output:value of coins in dollars
    int change;   //output:value of coins in cents
    int totalCents;  //total cents represented
    //Read in your son's first name.
    cout<<"Enter your first name: ";
    cin>>name;

    //Read in the count of nickels and pennies.
    cout<<"Enter the number of nickels: ";
    cin>>nickels;
    cout<<"Enter the number of pennies: ";
    cin>>pennies;

    //Compute the total value in cents.
    totalCents=5*nickels+pennies;

    //Find the value in dollars and change.
    dollars=totalCents/100;
    change=totalCents%100;

    //Display the value in dollars and change.
    cout<<"Good work "<<name<<'!'<<endl;
    cout<<"Your collection is worth"<<dollars<<"dollars and"<<change<<"cents."<<endl;
    return 0;
}

2.7交互模式,批处理模式和数据文件

交互模式:一种程序运行模式,用户能够与运行着的程序通过键入数据的方式进行交互。

批处理模式:程序运行的非交互模式,程序所需要的全部数据必须在程序开始运行之前提供。

输入/输出重定向:使用操作系统命令将标准输入设备的关联由键盘转向输入文件,将标准输出设备的关联由屏幕转向输出文件。

 例子:将英里转换为千米的程序的批处理版本

//File:milesBatch.cpp
//Converts distance in miles to kilometers.

#include<iostream>
using namespace std;

int main()
{
    const float KM_PER_MILE=1.609; //1.609 km in a mile
    float miles,    //input:distance in miles
          kms;      //output:distance in kms

    //Get the distance in miles.
    cin>>miles;
    cout<<"The distance in miles is "<< miles << endl;

    //Convert the distance to kms.
    kms=KM_PER_MILE*miles;

    //Display the distance in kms.
    cout<<"The distance in kms is "<< kms <<endl;
    return 0;

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值