南海网站建设报价/搜索优化推广公司

南海网站建设报价,搜索优化推广公司,苏州工业园区建设局网站,莆田室内设计公司排名一、为什么使用变量 计算机程序本质上是对数据的操作,数字、文字、图片等在计算机中都属于数据。而变量,就是数据在计算机内存中的 “栖息地”。我们可以把变量想象成一个个小盒子,这些盒子能存放各种数据,需要时还能随时取出。 二…

一、为什么使用变量

        计算机程序本质上是对数据的操作,数字、文字、图片等在计算机中都属于数据。而变量,就是数据在计算机内存中的 “栖息地”。我们可以把变量想象成一个个小盒子,这些盒子能存放各种数据,需要时还能随时取出


二、变量的声明与使用

(一)声明变量

        声明变量需要明确指定类型和变量名,基本格式为<type> <name>; 。这里的type代表变量的数据类型,就像是不同规格的盒子,决定了能装什么数据;name则是变量的名字,方便我们在程序中找到对应的 “盒子”。例如:

int score;  // 声明一个整数类型的变量score,用于存储分数
string message;  // 声明一个字符串类型的变量message,可存放文本信息

(二)数据类型

整型

类型名称别名取值范围说明示例
sbyteSystem.SByte-128 到 127有符号的 8 位整数,适用于存储较小范围的整数,节省内存空间sbyte smallNumber = -5;
byteSystem.Byte0 到 255无符号的 8 位整数,常用于表示无符号的小整数,如颜色分量、索引等byte redColor = 255;
shortSystem.Int16-32768 到 32767有符号的 16 位整数,比 sbyte 能表示的范围更大,适用于一些中等范围的整数计算short score = 1000;
ushortSystem.UInt160 到 65535无符号的 16 位整数,适用于表示无符号的中等大小整数,如一些特定的计数器ushort itemCount = 50000;
intSystem.Int32-2147483648 到 2147483647最常用的整数类型,适用于大多数整数运算场景,是默认的整数类型int age = 25;
uintSystem.UInt320 到 4294967295无符号的 32 位整数,用于表示无符号的较大整数,如文件大小(以字节为单位)等uint fileSize = 1024 * 1024;
longSystem.Int64-9223372036854775808 到 9223372036854775807有符号的 64 位整数,适用于需要表示极大范围整数的场景,如时间戳(以毫秒为单位)long timestamp = 1672531200000;
ulongSystem.UInt640 到 18446744073709551615无符号的 64 位整数,用于表示无符号的极大整数,在处理一些超大数量级的数据时使用ulong largeNumber = 1000000000000000000;

浮点型

类型名称别名精度说明示例
floatSystem.Single约 7 位小数单精度浮点数,占用 4 字节内存,适用于对精度要求不高,且需要节省内存空间的场景float piApprox = 3.1415927f;
doubleSystem.Double约 15 - 17 位小数双精度浮点数,占用 8 字节内存,精度较高,适用于大多数需要精确小数计算的场景double eValue = 2.718281828459045;

非数值型

类型名称别名允许的值说明示例
charSystem.Char一个 Unicode 字符(存储 0 - 65535 之间的整数)用于表示单个字符,包括字母、数字、符号、汉字等char letter = 'A'; char symbol = '@'; char chineseChar = '中';
boolSystem.Booleantrue 或 false布尔类型,用于逻辑判断,在条件语句、循环语句等中经常使用bool isLoggedIn = true; bool isEven = (5 % 2 == 0);
stringSystem.String一组字符用于存储文本信息,是一个字符数组的封装,提供了丰富的字符串操作方法string greeting = "Hello, World!"; string sentence = "This is a test string.";

(三)命名约定

        变量命名要遵循标识符命名规则,采用 Camel 命名法,即首字母小写,后续单词首字母大写。这样命名能让代码结构更清晰,可读性更强。例如,用userName表示用户名,userAge表示用户年龄,一看就知道变量的含义。


(四)变量的赋值与初始化

变量声明后,需要赋值才能使用。可以先声明再赋值:

int num;
num = 10;

也可以在声明时直接赋值

int num = 10;

        首次给变量赋值的操作就是初始化在使用变量前必须初始化,否则会报错,就像从空盒子里取东西,肯定是不行的。


(五)多变量声明和赋值

一条语句可以声明多个相同类型的变量,如:

string color1, color2, color3;

声明时还能对部分或全部变量初始化

int num1 = 1, num2 = 2, num3;

三、字面值、转义字符与特殊字符

(一)字面值

        字面值用于表示文本和数字,像5"Hello"都是字面值。5是整数型字面值,"Hello"是字符串字面值。


(二)转义字符

        转义字符是具有特殊功能的字符,以反斜杠\开头。比如\'表示单引号,\"表示双引号,\n表示换行,\t表示水平制表符。在字符串中使用转义字符,能实现特殊格式的输出。

string text = "He said, \"Hello!\"";  // 输出:He said, "Hello!"
转义序列产生的字符Unicode 值用途示例
\'单引号0x0027用于在字符串中表示单引号,如string str1 = 'It\'s a book.';
\"双引号0x0022在字符串中包含双引号,例如string str2 = "He said, \"Hello!\"";
\\反斜杠0x005C表示路径时很有用,如string path = "C:\\Program Files\\Example";
\0空字符0x0000常用于表示字符串的结束(在一些特定场景),C# 中字符串本身有更明确的结束标识,但在某些与其他语言交互或底层操作时会用到
\a警告(产生蜂鸣)0x0007在控制台应用程序中可触发系统提示音(部分系统有效),如Console.Write("\a"); 可能会让计算机发出一声提示音
\b退格0x0008在文本输出中实现退格效果(删除前一个字符位置的内容),不过在普通控制台输出中效果不太直观,在一些特定文本处理场景使用
\f换页0x000C在打印或处理文档格式时,用于表示换页操作,在控制台应用中较少使用
\n换行0x000A使文本在输出时换行,例如Console.WriteLine("第一行\n第二行");
\r回车0x000D将光标移到当前行的开头,常与\n结合使用模拟完整的换行操作,如Console.Write("Hello\r\nWorld");
\t水平制表符0x0009在文本中插入一个水平制表位,用于对齐文本,如Console.WriteLine("Name\tAge"); Console.WriteLine("Alice\t25");
\v垂直制表符0x000B在一些文本布局中用于垂直方向的制表定位,在控制台应用中不常用

(三)Unicode 值与转义字符

        Unicode 是一种字符编码标准,每个字符都对应一个 16 进制数字可以用\u加上十六进制值来表示字符,也能表示转义字符。例如:

string message = "I\u0027m happy.";  // 等价于 "I'm happy."

(四)@符号的作用

        在字符串前加@符号,除双引号外,字符串中的转义字符将不被识别。它有两个常见用途:一是让字符串跨多行书写;二是表示文件路径时更直观

// 正常字符串表示路径,需要转义反斜杠
string path1 = "c:\\program files\\example\\file.txt";
// 使用@符号,无需转义反斜杠
string path2 = @"c:\program files\example\file.txt";// 跨多行字符串
string multiLineText = @"This is a 
multi - line
string.";

四、表达式与运算符

(一)表达式的构成

        把变量、字面值和运算符组合起来就是表达式。运算符是对操作数进行运算的符号,根据操作数的数量,运算符分为一元运算符(处理一个操作数)、二元运算符(处理两个操作数)和三元运算符(处理三个操作数 )


(二)数学运算符

1.基本运算:数学运算符包括+、减-、乘*、除/和取余% 。除了字符串相加和char类型可参与数学运算(char在内存中存储的是数字),数学运算符主要用于处理数字。

int result1 = 5 + 3;  // 结果为8
int result2 = 10 % 3;  // 取余运算,结果为1

2.运算结果类型:当操作数类型一致时,结果类型与操作数相同;当操作数类型不同时,结果类型与范围大的操作数一致,以确保结果能正确存储。例如:

int num1 = 5;
double num2 = 3.5;
double result = num1 + num2;  // 结果为8.5,类型为double

    3.自增自减运算符++使操作数加 1,--使操作数减 1 。作为前缀(如++var 、--var )时,先进行加 / 减 1 操作,再返回结果;作为后缀(如var++ 、var-- )时,先返回结果,再进行加 / 减 1 操作。

    int num = 5;
    int result1 = ++num;  // num变为6,result1为6
    int result2 = num++;  // result2为6,num变为7
    

    (三)赋值运算符

            赋值运算符用于给变量赋值。除了基本的=,还有复合赋值运算符,如+=-=*=/=%= 。

    int num = 5;
    num += 3;  // 等价于num = num + 3,num变为8
    

    (四)运算符优先级

            运算符的优先级决定了表达式中运算的先后顺序。例如,乘法和除法的优先级高于加法和减法。可以用括号改变优先级,括号内的运算先执行

    int result1 = 2 + 3 * 4;  // 先算乘法,结果为14
    int result2 = (2 + 3) * 4;  // 先算括号内加法,结果为20
    

    五、用户输入与类型转换

    (一)获取用户输入

    通过Console.ReadLine()方法可以从键盘读取用户输入的一行字符串。例如:

    Console.Write("请输入你的名字:");
    string name = Console.ReadLine();
    Console.WriteLine("你好," + name + "!");
    

    (二)类型转换

            从控制台读取的输入默认是字符串类型,需要时要进行类型转换。可以使用Convert类的方法,将字符串转换为其他类型

    Console.Write("请输入一个整数:");
    string str = Console.ReadLine();
    int num = Convert.ToInt32(str);  // 将字符串转换为整数
    

    六、实战练习

    1.定义商品信息变量:在Main方法中定义变量,存储商品的名称、价格、库存数量等信息。

    class Program
    {static void Main(){string productName = "笔记本电脑";double price = 5999.99;int stock = 100;Console.WriteLine($"商品名称:{productName},价格:{price}元,库存:{stock}件");}
    }
    

    2.交换两个浮点数变量的值:接受用户输入的两个浮点数,存储到变量中并交换它们的值。

    class Program
    {static void Main(){Console.Write("请输入第一个浮点数:");float num1 = Convert.ToFloat(Console.ReadLine());Console.Write("请输入第二个浮点数:");float num2 = Convert.ToFloat(Console.ReadLine());float temp = num1;num1 = num2;num2 = temp;Console.WriteLine($"交换后,第一个数为:{num1},第二个数为:{num2}");}
    }
    

    3.计算四个长整型数的乘积:编写控制台应用程序,要求用户输入 4 个long类型的值,并显示它们的乘积。

    class Program
    {static void Main(){Console.Write("请输入第一个长整型数:");long num1 = Convert.ToInt64(Console.ReadLine());Console.Write("请输入第二个长整型数:");long num2 = Convert.ToInt64(Console.ReadLine());Console.Write("请输入第三个长整型数:");long num3 = Convert.ToInt64(Console.ReadLine());Console.Write("请输入第四个长整型数:");long num4 = Convert.ToInt64(Console.ReadLine());long product = num1 * num2 * num3 * num4;Console.WriteLine($"这四个数的乘积为:{product}");}
    }
    

    4.反转四位整数的各位数字:从键盘输入一个四位的正整数,把千位、百位、十位、个位数字的相反顺序输出。

    class Program
    {static void Main(){Console.Write("请输入一个四位正整数:");int num = Convert.ToInt32(Console.ReadLine());int reversedNum = (num % 10) * 1000 + ((num / 10) % 10) * 100 + ((num / 100) % 10) * 10 + (num / 1000);Console.WriteLine($"反转后的数字为:{reversedNum}");}
    }
    

    5.计算三角形面积:编写程序,输入三角形的底和高,计算并显示三角形的面积。三角形面积公式为:面积 = 底 × 高 ÷2。

    class Program
    {static void Main(){Console.Write("请输入三角形的底:");double baseLength = Convert.ToDouble(Console.ReadLine());Console.Write("请输入三角形的高:");double height = Convert.ToDouble(Console.ReadLine());double area = baseLength * height / 2;Console.WriteLine($"三角形的面积为:{area}");}
    }
    

    6.计算椭圆的面积和周长:计算长半轴为a,短半轴为b的椭圆的面积和周长,ab由用户输入。椭圆面积公式为:面积 = π× 长半轴 × 短半轴;椭圆周长公式(近似)为:周长 = 2π×√((长半轴 ² + 短半轴 ²)/2) 。

    class Program
    {static void Main(){Console.Write("请输入椭圆的长半轴:");double a = Convert.ToDouble(Console.ReadLine());Console.Write("请输入椭圆的短半轴:");double b = Convert.ToDouble(Console.ReadLine());double area = Math.PI * a * b;double perimeter = 2 * Math.PI * Math.Sqrt((a * a + b * b) / 2);Console.WriteLine($"椭圆的面积为:{area}");Console.WriteLine($"椭圆的周长为:{perimeter}");}
    }
    

    结语

            变量和表达式是 C# 编程的基础,通过不断练习和实践,大家能更深入地理解和掌握它们。希望今天的分享能帮助各位在 C# 编程之路上迈出坚实的一步!如果在学习过程中有任何疑问,欢迎在评论区留言交流。

    本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/896317.shtml

    如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

    相关文章

    【深度学习神经网络学习笔记(三)】向量化编程

    向量化编程 向量化编程前言1、向量化编程2、向量化优势3、正向传播和反向传播 向量化编程 前言 向量化编程是一种利用专门的指令集或并行算法来提高数据处理效率的技术&#xff0c;尤其在科学计算、数据分析和机器学习领域中非常常见。它允许通过一次操作处理整个数组或矩阵的…

    海康威视摄像头RTSP使用nginx推流到服务器直播教程

    思路&#xff1a; 之前2020年在本科的时候&#xff0c;由于项目的需求需要将海康威视的摄像头使用推流服务器到网页进行直播。这里将自己半个月琢磨出来的步骤给大家发一些。切勿转载&#xff01;&#xff01;&#xff01;&#xff01; 使用网络摄像头中的rtsp协议---------通…

    鸿蒙开发深入浅出03(封装通用LazyForEach实现懒加载)

    鸿蒙开发深入浅出03&#xff08;封装通用LazyForEach实现懒加载&#xff09; 1、效果展示2、ets/models/BasicDataSource.ets3、ets/models/HomeData.ets4、ets/api/home.ets5、ets/pages/Home.ets6、ets/views/Home/SwiperLayout.ets7、后端代码 1、效果展示 2、ets/models/Ba…

    【Rust中级教程】2.8. API设计原则之灵活性(flexible) Pt.4:显式析构函数的问题及3种解决方案

    喜欢的话别忘了点赞、收藏加关注哦&#xff08;加关注即可阅读全文&#xff09;&#xff0c;对接下来的教程有兴趣的可以关注专栏。谢谢喵&#xff01;(&#xff65;ω&#xff65;) 说句题外话&#xff0c;这篇文章一共5721个字&#xff0c;是我截至目前写的最长的一篇文章&a…

    一周学会Flask3 Python Web开发-Jinja2模板过滤器使用

    锋哥原创的Flask3 Python Web开发 Flask3视频教程&#xff1a; 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili 在Jinja2中&#xff0c;过滤器(filter)是一些可以用来修改和过滤变量值的特殊函数&#xff0c;过滤器和变量用一个竖线 | &a…

    数据库 安装initializing database不通过

    出现一下情况时&#xff1a; 处理方法&#xff1a; 将自己的电脑名称 中文改成英文 即可通过

    嵌入式开发:傅里叶变换(5):STM32和Matlab联调验证FFT

    目录 1. MATLAB获取 STM32 的原始数据 2. 将数据上传到电脑 3. MATLAB 接收数据并验证 STM32进行傅里叶代码 结果分析 STM32 和 MATLAB 联调是嵌入式开发中常见的工作流程&#xff0c;通常目的是将 STM32 采集的数据或控制信号传输到 MATLAB 中进行实时处理、分析和可视化…

    微信小程序源码逆向 MacOS

    前言 日常工作中经常会遇到对小程序的渗透测试&#xff0c;微信小程序的源码是保存在用户客户端本地&#xff0c;在渗透的过程中我们需要提取小程序的源码进行问题分析&#xff0c;本篇介绍如何在苹果电脑 MacOS 系统上提取微信小程序的源码。 0x01 微信小程序提取 在苹果电…

    ubuntu-24.04.1-desktop 中安装 QT6.7

    ubuntu-24.04.1-desktop 中安装 QT6.7 1 环境准备1.1 安装 GCC 和必要的开发包:1.2 Xshell 连接 Ubuntu2 安装 Qt 和 Qt Creator:2.1 下载在线安装器2.2 在虚拟机中为文件添加可执行权限2.3 配置镜像地址运行安装器2.4 错误:libxcb-xinerama.so.0: cannot open shared objec…

    从最小依赖角度谈静态库与动态库的选择及配置策略

    文章目录 1. 前言2. 静态库与动态库&#xff1a;依赖最小化的抉择2.1 静态库概述2.2 动态库概述2.3 依赖最小化角度的选择建议 3. 运行时库配置策略&#xff1a;/MT 与 /MD 的取舍3.1 /MT 与 /MD 的优劣比较3.2 配置选择的建议 4. 实际案例与配置示例4.1 静态库示例&#xff08…

    【深度学习神经网络学习笔记(二)】神经网络基础

    神经网络基础 神经网络基础前言1、Logistic 回归2、逻辑回归损失函数3、梯度下降算法4、导数5、导数计算图6、链式法则7、逻辑回归的梯度下降 神经网络基础 前言 Logistic 回归是一种广泛应用于统计学和机器学习领域的广义线性回归模型&#xff0c;主要用于解决二分类问题。尽…

    002简单MaterialApp主题和Scaffold脚手架

    002最简单的MaterialApp主题和Scaffold脚手架使用导航栏_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1RZ421p7BL?spm_id_from333.788.videopod.episodes&vd_source68aea1c1d33b45ca3285a52d4ef7365f&p1501.MaterialApp纯净的 /*MaterialApp 是主题,自带方向设…

    DeepSeek开源周Day1:FlashMLA引爆AI推理性能革命!

    项目地址&#xff1a;GitHub - deepseek-ai/FlashMLA 开源日历&#xff1a;2025-02-24起 每日9AM(北京时间)更新&#xff0c;持续五天&#xff01; ​ 一、开源周震撼启幕 继上周预告后&#xff0c;DeepSeek于北京时间今晨9点准时开源「FlashMLA」&#xff0c;打响开源周五连…

    springboot志同道合交友网站设计与实现(代码+数据库+LW)

    摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本志同道合交友网站就是在这样的大环境下诞生&#xff0c;其可以帮助使用者在短时间内处理完毕庞大的数据信…

    20250212:https通信

    1:防止DNS劫持:使用 https 进行通信。 因为是SDK授权开发,需要尽量压缩so库文件和三方依赖。所以第一想法是使用 head only 的 cpp-httplib 进行开发。 cpp-httplib 需要 SSL 版本是 3.0及以上。但本地已经在开发使用的是1.0.2a版本,不满足需求。 方案1:升级OpenSSL 将Op…

    VisionPro-PMA工具

    VisionPro-PMA工具 模板匹配的核心概念 康耐视(Cognex)的VisionPro是一款广泛应用工业自动化的机器视觉软件平台&#xff0c;其模板匹配(Pattern Matching)功能是核心工具之一&#xff0c;常用与目标定位、特征识别和质量检测等场景。 模板匹配&#xff1a;通过预先定义的参…

    2025最新最全【大模型学习路线规划】零基础入门到精通_大模型 开发 学习路线

    第一阶段&#xff1a;基础理论入门 目标&#xff1a;了解大模型的基本概念和背景。 内容&#xff1a; 人工智能演进与大模型兴起。 大模型定义及通用人工智能定义。 GPT模型的发展历程。 第二阶段&#xff1a;核心技术解析 目标&#xff1a;深入学习大模型的关键技术和工…

    使用CSS3DRenderer/CSS2DRenderer给模型上面添加html标签

    先放一下预览图 主要使用css2dRender和css3dRender&#xff0c;添加图片和标签。 思路&#xff1a;使用css3dRender添加一个图片&#xff0c;然后获取的位置坐标&#xff0c;使用css3dRender添加一个文字标签&#xff0c;也设置这个位置坐标&#xff0c;此外z轴设置一个高度&a…

    视频裂变加群推广分享引流源码

    源码介绍 视频裂变加群推广分享引流源码 最近网上很火&#xff0c;很多人都在用&#xff0c;适合引流裂变推广 测试环境&#xff1a;PHP7.4(PHP版本不限制) 第一次访问送五次观看次数&#xff0c;用户达到观看次数后需要分享给好友或者群,好友必须点击推广链接后才会增加观看次…

    python-leetcode-每日温度

    739. 每日温度 - 力扣&#xff08;LeetCode&#xff09; class Solution:def dailyTemperatures(self, temperatures: List[int]) -> List[int]:n len(temperatures)answer [0] * nstack [] # 存储索引for i, temp in enumerate(temperatures):while stack and temperat…