C++程序设计案例实训教程第1章

1章  用最简单的案例讲述C++

(本资料qq讨论群112133686)

若要学会一门程序设计语言,必须得多动手、多实践。本书就是一本用案例的方式帮助读者理解C++技术的入门书。说它入门,是因为本书的案例都是从最基本的C++语法入手,这样会让读者学得更轻松、理解更深刻。

在编写C++程序之前,读者必须了解C++的一些基本特征,如定义变量、实现输入和输出、定义数据结构来保存要处理的数据。不同的对象定义不同的变量,如整数变量、浮点数变量或字符串变量。定义变量后才能对变量进行处理,处理过程中可能涉及变量之间的转换。

本章从最简单的数学计算开始,讲解C++语言支持的5种数学运算符:加(+)、减(-)、乘(*)、除(/)和取模(%)。

1.1  C++程序的结构

C++程序编排按照“缩进”方式,程序的注释以符合“//”引出  。一个C++程序中必须有一个主程序。标识函数“().,函数体语句大致由变量定义、执行语句和返回语句三部分组成。C++程序基本元素有:字符集、标识符、基本数据类型和变量定义。C++有丰富的运算符,运行表达式用来说明一个计算过程,由操作符和操作数组成,其中操作数包含常量、变量或函数调用。

案例1-1显示“Hello World!

【案例描述】

下面介绍第一个程序,其功能是在屏幕上显示Hello World!”。虽然这个程序非常简单,但它展示了每个C++程序的基本组成结构。本例效果如图1-1示。

 

1-1  在屏幕上显示欢迎界面(cout

【实现过程】

1)包含本例代码需要用到的两个头文件;

2)显示提示性字符串;

3)暂停,等待用户的输入;

4)用户输入任意键退出程序。

详细代码如下:

#include<iostream.h> //包含头文件

#include<iostream>

int main() //主函数

{

  cout << "Hello World!" << endl;    //标准输出流

  cout << "Welcome to C++ Programming" << endl;

  system("pause");

  return 0; //返回语句

}

【案例分析】

1)每个C++程序都包含一个或多个函数,而且必须有一个命名为main的函数,main()是所有程序运行的起始点,不管它是在代码的开头、结尾还是中间。程序由执行函数功能的语句组成。以两个斜线符号(//)开始的程序行都被认为是注释行。以#标志开始的句子是预处理器的指示语句,如#include<iostream.h>告诉编译器的预处理器将输入/输出流的标准头文件包含在本程序中。

2cout <<把一串字符串插入到输出流(控制台输出)中,cout的声明在头文件iostream.h中。return 0;是返回语句,表示main()函数执行完毕。

 

提示:C++中,语句的分隔是以分号(;)为分隔符隔开的。并不是程序中所有的行都会被执行,如程序中的注释行(以//开头)、编译器预处理器的指示行(以#开头)、函数的声明(本例中的main函数)等,这些行都不会被执行。

1.2  常量

所谓的常量是指其值在程序的运行中不允许改变的量,分为字面常量和符号常量。包括整形常量、实型常量、字符常量、字符串常量和布尔常量。

案例1-2 各类常量的使用例子

【案例描述】

一个常量(constant)是一个有固定值的表达式。C++语言中的字用来在程序源码中表达特定的值,即用来给变量赋予特定的值。本例详细介绍了各种常量的定义,效果如图1-2所示。

 

1-2  各类常量的使用例子

【实现过程】

该程序用预处理器指令#define定义常量和用const前缀定义指定类型的常量,然后分别定义整数、浮点数、字符、字符串和布尔型数据类型的常量。其代码如下:

#include <iostream>

#include <iostream.h>

#define PI 3.14159265

#define NEWLINE '\n' //换行符newline

#define WIDTH 100

double circle;

void main()

{

int r=2.2;

circle = 2 * PI * r;

std::cout <<"预处理器指令#define输出演示:"<<circle<<NEWLINE;

system("pause");

 

const int width = 100;

const char tab = '\t'; //跳跃符tabulation

const zip = 12440; //整数

std::cout <<"const前缀定义常量输出演示:"<< width<<tab<<zip<<NEWLINE;

system("pause");

 

int i1=75; //十进制 decimal

int i2=0113;               //八进制 octal

int i3=0x4b; //十六进制 hexadecimal

std::cout<<"进制输出演示:"<<i1<<i2<<i3<<NEWLINE;

system("pause");

 

int j1=75; //整型

unsigned int j2=75u ;       //无符号整型

long j3=75l;               //长整型

unsigned long j4=75ul ;     //无符号长整型

std::cout<<"常数数据类型输出演示:"<<j1<<j2<<j3<<j4<<NEWLINE;

system("pause");

 

float f1=3.14159;   // 3.14159

float f2=6.02e23;   // 6.02 x 10^1023

float f3=1.6e-19;           // 1.6 x 10^-19

float f4=3.0 ;               // 3.0

std::cout<<"浮点数输出演示:"<<f1<<f2<<f3<<f4<<NEWLINE;

system("pause");

 

//字符和字符串

char a1='\n';

char a2='\t';                //回车

char *a3="Left \t Right" ;

char *a4="one\ntwo\nthree" ; //定义字符串

std::cout<<"字符和字符串常量输出演示:"<<a1<<a2<<a3<<a4<<NEWLINE;

system("pause");

//布尔型常量

bool b1=true;

bool b2=false;

std::cout<<"布尔型常量输出演示:"<<b1<<b2<<NEWLINE;

system("pause");

return;

}

【案例分析】

1C++常量有:整数(Integer Numbers)、浮点数(Floating-Point Numbers)、字符(Characters)、字符串(Strings)和布尔型常量(Boolean Literals)。整型常数表示十进制整数值。除十进制整数外,C++还允许使用八进制(octal numbers)和十六进制(hexadecimal numbers)的字常量(literal constants)。浮点数以小数(decimals)和指数幂( exponents)的形式表示。C++程序中还有表示特殊的字符,例如,换行符newline (\n)或跳跃符tab (\t),所有这些符号的前面要加一个反斜杠(\)。布尔型只有两个有效的值:truefalse,其数据类型为bool

2)使用预处理器指令#define,可以将那些经常使用的常量定义为自己取的名字,而不需要借助于变量。格式是:#define identifier token-stringopt,如代码中的#define PI 3.14159265。通过使用const前缀,可以定义指定类型的常量,就像定义一个变量一样,如代码中的const int width = 100。

 

提示:字用来在程序源码中表达特定的值,在代码中已经用了很多字来给变量赋予特定的值。例如:j1=75,其中的75就是一个字常量。

1.3  变量与基本类型

与常量相反,变量是程序的执行过程中其值可以变化的量。它的标识是用名字,是程序中最活跃的基本元素。变量的声明形式:数据类型 变量名1,变量名2,变量名n,如:int num,;等。变量必须先定义,定义的同时可以给它赋以初值。

案例1-3取之不尽的箱子

【案例描述】

变量代表了一个值,这个值是不固定的。使用变量可以处理各种数据,并通过一定的控制程序来完成指定的功能。在编程中怎么定义变量,怎么给变量赋值,怎么使用控制程序来操作变量,都是初学者需要掌握的基础知识。下面演示一个用变量进行加法、减法的案例,效果如图1-2所示。

 

1-3  取之不尽的箱子

【实现过程】

1)首先会提示用户输入自己的选择;

2)根据用户的选择获取输入的值;

3)开始做相应的加法或减法运算,当while条件满足时程序会重复执行,其中switch语句会根据输入的值来执行相应的代码。

详细代码如下:

#include <iostream>

#include <iostream.h>

int main()

{

int inputnum, outputnum,sum=0;

int sel;

do

{

cout<<"选择(1:输入箱子数据

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值