当前位置: 首页 > news >正文

顺序结构 ( 三 ) —— 常量和变量 【互三互三】

常量

一、常量概述

常量是指在程序中使用的一些具体的数、字符。在程序运行过程中,其值不能被更改。如123,145.88,'m',TRUE等。

1、整型常量:如3、-5、0等。    

整型常量是表示整数的常量。有三种表示形式:    

        1)十进制形式。如99、-1。    

        2)八进制形式。以数字0打头,由0-7构成,如012,表示八进制整数12,即12(8)。            3)十六进制形式。以0x打头,如0x12A,表示十六进制整数12A,即12A(16)。

2、实型常量:如3.1、-6.1E+2(科学记数法)。

3、字符常量:是用单引号括起来的字符,如 'k' 、'5' 、'%'。 注意:'a'与"a"表示的含义是不同的,'a'表示一个字符常量,"a"表示一个字符串。

、常量的定义 

一个常量可以直接调用(如124,'A'),也可以给常量取个名字用一个标识符代表它,这就是符号常量。其语法格式为:             

const  符号常量=常量字串;     

例如:const double PI=3.1415926;

三、例题 

输入半径r,输出圆的直径、周长、面积,数与数之间以一个空格分开,每个数保留小数点后4位。

程序如下:

#include<cstdio> 
using namespace std;
const double  PI=3.14159;         //PI是符号常量。代表3.14159
int main()
{double r,d,c,s;             //变量定义为双精度实型scanf("%lf",&r);            //输入r的值,&符号不能漏掉d=r*2;                      //计算圆的直径c=2*PI*r;                   //计算圆的周长s=PI*r*r;                   //计算圆的面积printf("%.4lf %.4lf %.4lf",d,c,s);//分别输出圆的直径,周长,面积,数与数之间以一个空格分开return 0;
}

程序中定义的PI代表常量3.1415926,在编译源程序时,遇到PI就用常量3.14159代替,PI可以和常量一样进行运算。C++语言规定,每个符号常量的定义占据一个书写行,而且符号常量不能被再赋值。如果在例题中使用以下赋值语句是错误的。    

PI=3.14159;

习惯上,符号常量名用大写,而变量名用小写,以便于区别。 使用符号常量的好处:

1)增加了程序的可读性。如看到例2.5程序中,见到PI就可知道它代表圆周率,定义符号常量名时应该尽量使用见名知意的常量名。

2)增加了程序的易改性。如例题程序中,只需改动一处,程序中的所有PI都会自动全部代换,做到“一改全改”。

变量

一、变量定义

变量代表了一个存储单元,其中的值是可以改变的,因此称为变量。如游戏中玩家命的条数最初为3,当你死了一次,命减少一条,这里命的条数就是一个变量(或者说命的条数存储在一个存储单元中)。

一个程序中可能要使用到若干个变量,为了区别不同的变量,必须给每个变量(存储单元)取一个名(称为变量名),该变量(存贮单元)存储的值称为变量的值,变量中能够存储值的类型为变量的类型。例如游戏中用于存储“命”的变量,在游戏程序中的存储命的变量名可取为life,它的类型为整型,游戏初始时这个变量的值为3。

二、变量名

用一个合法的标识符代表一个变量。如n,m,rot,total 等都是合法变量名。在程序中用到的变量要“先定义后使用”,变量名应遵循自定义标识符的命名规则,并建议使用“见名知义”的原则,即用一些有意义的单词作为变量名。在C++语言,变量名大小写有区别。

用来标识变量名、符号常量名、函数名、数组名、类型名、文件名的有效字符序列称为标识符。C++语言规定,标识符只能由字母(包含下划线“_”)开头,后面的字符可以是字母或数字。对于标识符的长度,不同的C++语言编译器有不同的规定,考虑到系统的可移植性,建议变量名的长度不要超过8个字符。例如:month、_age、s2为合法的标识符;m.k.jack、a<=b、9y为不合法的标识符。

定义变量的语法格式为:

数据类型   变量表

例如:

int  i=5,j,k;           //定义i,j,k为整型变量,//i赋初值为5,j,k的初值未知。char a,b,c;                     //定义a,b,c为字符变量float  x,y,z;                   //定义x,y,z为实型变量

C++语言允许在定义变量的同时为变量赋初值。

三、变量的类型

常量是有类型的数据,变量在某一固定时刻用来存储一个常量,因此也应有相应的类型。如整型变量用来存储整数,实型变量用来存储实数。变量的类型,可以是标准数据类型int、short、long、float、double和char等,也可以是用户自定义的各种类型。

变量一经定义系统就在计算机内存中为其分配一个存储空间。在程序中使用到变量时,就在相应的内存中存入数据或取出数据,这种操作称为变量的访问。

四、例题

数学中经典的“鸡兔同笼”问题,已知头共30个,脚共90只,问笼中的鸡和兔各有多少只?

【分析】 设鸡为j只,兔为t只,头为h,脚为f,那么有:         

j+t=30 ,①         

2*j+4*t=90 ,②     

假设笼中30 个头全都是兔,那么都按每头4只脚计算,总脚数为(4*h),与实际脚数(f )之差为(4*h-f),如果这个差=0,则笼中全是兔(即鸡为0只);如果这个差值 >0,说明多计算了脚数,凡是鸡都多计算了两只脚,用它除以2就能得到鸡的只数,算法为:     

 j=(4*h - f)/2           //先用脚数差值除以2算出鸡的只数     

t=h - j                 //再用总头数减鸡数算出免的只数

注意这两步运算的先后顺序。程序如下:

#include<cstdio>              //使用getchar()语句, 须调用cstdio库
#include<iostream>            //使用cin,cout,须调用iostream库
using namespace std;
int main()
{int h,f,j,t;              //定个变量h=30;f=90;                //变赋初值j=(4*h-f)/2;              //计算鸡的只数t=h-j;                    //计算免的只数cout<<"j="<<j<<"  t="<<t<<endl;  / /输出结果return 0;
}

程序中语句的自上而下的顺序很关键,程序严格自上而下每条语句都被执行一次就称为顺序程序。

总结 

有不懂的地方可以si我,和我一起学习C++吧。

备注

还没有下载DEV-C++的小伙伴们可以私我拿到免费安装包

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 七、com多线程下如何同步,c++举例
  • 三道简单的web题(1)
  • AI in Finance 金融领域AI应用-基于DeepNLP AI App Store 真实用户评论打分和排名
  • JAVA Tesseract OCR引擎
  • Groovy vs Kotlin 在Gradle配置文件中的差异与选择
  • 防火墙安全策略用户认证综合实验
  • 火柴棒图python绘画
  • Spring中@Transactional的实现和原理
  • 嵌入式驱动源代码(9):Linux内核移植
  • 我的前端实习之旅
  • PyCharm\VsCode——Python第三方库下载换源
  • 老年生活照护实训室:为养老服务业输送专业人才
  • 如何挑选适合的需求池管理系统?10款优质工具分享
  • 韦尔股份:深蹲起跳?
  • Flexcel学习笔记
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • Android Studio:GIT提交项目到远程仓库
  • CNN 在图像分割中的简史:从 R-CNN 到 Mask R-CNN
  • CSS 专业技巧
  • ES2017异步函数现已正式可用
  • IndexedDB
  • Joomla 2.x, 3.x useful code cheatsheet
  • Laravel Mix运行时关于es2015报错解决方案
  • Phpstorm怎样批量删除空行?
  • Quartz实现数据同步 | 从0开始构建SpringCloud微服务(3)
  • ReactNative开发常用的三方模块
  • Redis提升并发能力 | 从0开始构建SpringCloud微服务(2)
  • Web标准制定过程
  • 读懂package.json -- 依赖管理
  • 飞驰在Mesos的涡轮引擎上
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 前嗅ForeSpider教程:创建模板
  • 如何选择开源的机器学习框架?
  • 在Docker Swarm上部署Apache Storm:第1部分
  • 《TCP IP 详解卷1:协议》阅读笔记 - 第六章
  • UI设计初学者应该如何入门?
  • 交换综合实验一
  • # wps必须要登录激活才能使用吗?
  • #NOIP 2014# day.1 T3 飞扬的小鸟 bird
  • (c语言版)滑动窗口 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度
  • (html5)在移动端input输入搜索项后 输入法下面为什么不想百度那样出现前往? 而我的出现的是换行...
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (六)vue-router+UI组件库
  • (学习日记)2024.01.09
  • (一)认识微服务
  • (正则)提取页面里的img标签
  • (轉貼) 寄發紅帖基本原則(教育部禮儀司頒布) (雜項)
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • **PHP分步表单提交思路(分页表单提交)
  • .Mobi域名介绍
  • .Net 6.0--通用帮助类--FileHelper
  • .NET 8.0 发布到 IIS
  • .NET MAUI学习笔记——2.构建第一个程序_初级篇
  • .NET Project Open Day(2011.11.13)