百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

C#编程零基础到入门学习-C#基本数据结构(3-6)常量

bigegpt 2024-10-12 05:21 5 浏览

在计算机高级语言中,数据有两种表现形式:常量和变量。

区别:

变量:变量代表一个有名字的、具有特定属性的一个存储单元。它用来存放数据,也就是存放变量的值。在程序运行期间,变量的值是可以改变的。变量必须先定义后使用。在定义时指定该变量的名字和类型。一个变量应该有一个名字,以便被引用。

常量常量是固定值,程序执行期间不会改变。

这些固定值也被称为文字。常量可以是任何基本数据类型,如整数常量,浮点常量,字符常量或者字符串常量,还有枚举常量。

常量可以被当作常规的变量,只是它们的值在定义后不能被修改。

常量分类:

整数常量

整数常量可以是十进制、八进制、或十六进制的常量。前缀指定基或基数:0x 或 0X 表示十六进制,0 表示八进制,没有前缀则表示十进制。

整数常量也可以有后缀,可以是 U 和 L 的组合,其中 U 和 L 分别表示 unsigned 和 long。后缀可以是大写或小写,多个后缀以任意顺序进行组合。

这里是一些整数常量的例子:

212         /* 合法 */
215u        /* 合法 */
0xFeeL      /* 合法 */
078         /* 非法: 8 不是一个八进制数字 */
032UU       /* 非法: 不能重复后缀 */

以下是各种类型的整数常量的实例:

85         /* 十进制 */
0213       /* 八进制 */
0x4b       /* 十六进制 */
30         /* int */
30u        /* 无符号 int */
30l        /* long */
30ul       /* 无符号 long */

浮点常量

一个浮点常量是由整数部分,小数点,小数部分和指数部分组成。您可以使用小数形式或指数形式来表示浮点常量。

这里是一些浮点常量的例子:

3.14159       /* 合法 */
314159E-5L    /* 合法 */
510E          /* 非法: 不完全指数 */
210f          /* 非法: 没有小数或指数 */
.e55          /* 非法: 缺少整数或小数 */

使用小数形式表示时,必须包含小数点、指数或同时包含两者。使用指数形式表示时,必须包含整数部分、小数部分或同时包含两者。有符号的指数是用 e 或 E 表示的。

字符常量

字符常量是括在单引号里,例如 ‘x’,并可以存储在一个简单的字符类型变量中。一个字符常量可以是一个普通字符(例如 ‘x’)、一个转义序列(例如 ‘\t’)或一个通用字符(例如 ‘\u02C0’)。

在 C# 中有一些特定的字符,当它们的前面带有反斜杠时有特殊的意义,可用于表示换行符(\n)或制表符(\t)。在这里,列出一些转义序列码:

转义序列

含义

\

\ 字符

\’

‘ 字符

\”

“ 字符

\?

? 字符

\a

Alet 或 bell

\b

退格键

\f

换页符

\n

换行符

\r

回车

\t

水平制表符

\v

垂直制表符

\ooo

一到三位的八进制数

\xhh…

一个或多个数字的十六进制数

部分转义字符举例:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ESC_Test
{
    internal class Program
    {
        static void Main(string[] args)
        {
     
         Console.WriteLine("Hello\tWorld\n\n");
         Console.WriteLine("Hello\n\n\n\nWorld\n\n");
         Console.WriteLine("Hello\t\t\t\tWorld\n");
         Console.WriteLine("Hello\bWorld");
         Console.WriteLine("Hello\bWorld");
         Console.ReadLine();
      }
   }
}
        

编译执行上述代码,得到如下结果:

Hello   World


Hello



World


Hello                           World

HellWorld
HellWorld




字符串常量

字符串常量是括在双引号””里,或者是括在@””里。

字符串常量包含的字符类似于字符常量,可以是普通字符、转义序列和通用字符。

使用字符串常量时,可以把一个很长的行拆成多个行,可以使用空格分隔各个部分。

比如字符串常量。下面所列的各种形式表示相同的字符串。

"hello, hi"
"hello, \
hi"
"hello, " "h" "i"
@"hello hi"

定义常量

常量是使用 const 关键字来定义的。

定义一个常量的语法如下:

const <data_type> <constant_name> = value;

下面的代码演示了如何在程序中定义和使用常量:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DeclaringConstants//计算圆的面积
{
    internal class Program
    {
        static void Main(string[] args)
        {
            const double pi = 3.14159;  // 常量声明
            double r;
            Console.WriteLine("Enter Radius: ");//请输入半径
            r = Convert.ToDouble(Console.ReadLine());//转换输入的类型
            double areaCircle = pi * r * r;//π*r2
            Console.WriteLine("Radius: {0}, Area: {1}", r, areaCircle);//输出输入的半径,计算后的面积
            Console.ReadLine();
        }
    }
}

编译执行上述代码,得到如下结果:



 Enter Radius: 
3
Radius: 3, Area:  12.56636

相关推荐

得物可观测平台架构升级:基于GreptimeDB的全新监控体系实践

一、摘要在前端可观测分析场景中,需要实时观测并处理多地、多环境的运行情况,以保障Web应用和移动端的可用性与性能。传统方案往往依赖代理Agent→消息队列→流计算引擎→OLAP存储...

warm-flow新春版:网关直连和流程图重构

本期主要解决了网关直连和流程图重构,可以自此之后可支持各种复杂的网关混合、多网关直连使用。-新增Ruoyi-Vue-Plus优秀开源集成案例更新日志[feat]导入、导出和保存等新增json格式支持...

扣子空间体验报告

在数字化时代,智能工具的应用正不断拓展到我们工作和生活的各个角落。从任务规划到项目执行,再到任务管理,作者深入探讨了这款工具在不同场景下的表现和潜力。通过具体的应用实例,文章展示了扣子空间如何帮助用户...

spider-flow:开源的可视化方式定义爬虫方案

spider-flow简介spider-flow是一个爬虫平台,以可视化推拽方式定义爬取流程,无需代码即可实现一个爬虫服务。spider-flow特性支持css选择器、正则提取支持JSON/XML格式...

solon-flow 你好世界!

solon-flow是一个基础级的流处理引擎(可用于业务规则、决策处理、计算编排、流程审批等......)。提供有“开放式”驱动定制支持,像jdbc有mysql或pgsql等驱动,可...

新一代开源爬虫平台:SpiderFlow

SpiderFlow:新一代爬虫平台,以图形化方式定义爬虫流程,不写代码即可完成爬虫。-精选真开源,释放新价值。概览Spider-Flow是一个开源的、面向所有用户的Web端爬虫构建平台,它使用Ja...

通过 SQL 训练机器学习模型的引擎

关注薪资待遇的同学应该知道,机器学习相关的岗位工资普遍偏高啊。同时随着各种通用机器学习框架的出现,机器学习的门槛也在逐渐降低,训练一个简单的机器学习模型变得不那么难。但是不得不承认对于一些数据相关的工...

鼠须管输入法rime for Mac

鼠须管输入法forMac是一款十分新颖的跨平台输入法软件,全名是中州韵输入法引擎,鼠须管输入法mac版不仅仅是一个输入法,而是一个输入法算法框架。Rime的基础架构十分精良,一套算法支持了拼音、...

Go语言 1.20 版本正式发布:新版详细介绍

Go1.20简介最新的Go版本1.20在Go1.19发布六个月后发布。它的大部分更改都在工具链、运行时和库的实现中。一如既往,该版本保持了Go1的兼容性承诺。我们期望几乎所...

iOS 10平台SpriteKit新特性之Tile Maps(上)

简介苹果公司在WWDC2016大会上向人们展示了一大批新的好东西。其中之一就是SpriteKitTileEditor。这款工具易于上手,而且看起来速度特别快。在本教程中,你将了解关于TileE...

程序员简历例句—范例Java、Python、C++模板

个人简介通用简介:有良好的代码风格,通过添加注释提高代码可读性,注重代码质量,研读过XXX,XXX等多个开源项目源码从而学习增强代码的健壮性与扩展性。具备良好的代码编程习惯及文档编写能力,参与多个高...

Telerik UI for iOS Q3 2015正式发布

近日,TelerikUIforiOS正式发布了Q32015。新版本新增对XCode7、Swift2.0和iOS9的支持,同时还新增了对数轴、不连续的日期时间轴等;改进TKDataPoin...

ios使用ijkplayer+nginx进行视频直播

上两节,我们讲到使用nginx和ngixn的rtmp模块搭建直播的服务器,接着我们讲解了在Android使用ijkplayer来作为我们的视频直播播放器,整个过程中,需要注意的就是ijlplayer编...

IOS技术分享|iOS快速生成开发文档(一)

前言对于开发人员而言,文档的作用不言而喻。文档不仅可以提高软件开发效率,还能便于以后的软件开发、使用和维护。本文主要讲述Objective-C快速生成开发文档工具appledoc。简介apple...

macOS下配置VS Code C++开发环境

本文介绍在苹果macOS操作系统下,配置VisualStudioCode的C/C++开发环境的过程,本环境使用Clang/LLVM编译器和调试器。一、前置条件本文默认前置条件是,您的开发设备已...