C#学习笔记1:C#基本文件结构与语法

现在开始我的C#学习之路吧,这也许不适合0编程基础的人看,因为我会C语言了,笔记做的可能有思维上的跳跃,如果0基础可能会觉得有些地方转折得莫名奇妙,但我的学习笔记实操还是比较多的,基本都是真实运行程序结果:

 

目录

1、基本文件结构:

2、C#基本语法:

 2.1关键字:

2.2 C#注释方式:

 2.3 变量:

2.4 常量:

2.5 基本运算:

2.6 运算符优先级:


1、基本文件结构:

         程序的第一行using System;-using关键字用于在程序中包含System命名空间。

          一个程序一般有多个using语句。
·        下一行是namespace声明。一个namespace是一系列的类。

          MyfirstConsolApp命名空间包含了类Programe
·        下一行是class声明。类Program包含了程序使用的数据和方法声明。

          类般包含多个方法。方法定义了类的 行为。在这里,Program类只有一个Main方法。
·        下一行定义了Main方法,是所有C#程序的入口点。Main方法说明当执行时类将做什么            动作。
·        Main方法通过方法体中的语句指定它的行为。

2、C#基本语法:

以下几点值得注意:
·        一个cs文件的结构大约是由以上几个部分组成,但是根据不同的需求和作用,

         会有不同的内容;
·        C#是大小写敏感的。(区分大小写)
.        所有的语句和表达式必须以分号 ( ; ) 结尾。
.        程序的执行从Main方法开始。
·        与Jva不同的,文件名可以不同于类的名称。

 

 2.1关键字:

关键字,是对编泽器有特殊意义的预定义保留标示符,它们不能在程序中用作标示符 

如图所示,大体而言,关键字都是蓝颜色的:

这里就不过多赘述关键字具体用法,就贴张盗来的图和查到的文章吧:

C#中的常用关键字及用法_c#关键字-CSDN博客

 

2.2 C#注释方式:

注释的作用:

解释:            说明代码作用
注销:           将暂时不需要的代码注销

被注释的区域是绿色的

 

块注释:

/*此处演示块注释适用于C#的多行注释*/

 

 

 单行注释:

//此处演示单行注释

 

 

文档注释:

可以在声明的方法和类上进行文档注释:只需打三条斜杠就会给你自动标注出俩行的<symmary>

    /// <summary>/// 声明的类/// </summary>

 2.3 变量:

 变量是一个供程序存储数据盒子。在C#中,每个变量都有一个特定的类型。
 不同类型的变量其内存大小也不尽相同

 

不同类型的变量赋值范围也不同,下面简单列举一些变量的范围 ,简单的初始化赋值方式:

变量必须先定义,后引用,语法格式:

  数据类型 变量名列表;
            //byte的范围  0~255byte b=255;//short的范围  -32768~32767short s=32767;//int的范围      -2147483648~2147483647int i=123;//1ong的范围   -9*10^18  ~  9*10^18long L=432;

 编写在控制台输出其值的程序:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;/*此处演示块注释适用于C#的多行注释*/namespace MyfirstConsolApp //此处演示单行注释
{/// <summary>/// 声明的类/// </summary>internal class Program  ///此处演示文档注释{static void Main(string[] args)//程序的入口方法:首先被执行的{//byte的范围  0~255byte b=255;//short的范围  -32768~32767short s=32767;//int的范围      -2147483648~2147483647int i=123;//1ong的范围   -9*10^18  ~  9*10^18long L=432;Console.WriteLine("现在正式开始学习C#开发");Console.WriteLine(b);Console.WriteLine(s);Console.WriteLine(i);Console.WriteLine(L);Console.ReadLine();}}
}

运行效果:

 

字符串类型的赋值需要有 双引号框出 " " :

            string st;st = "Hello world";Console.WriteLine(st);

 

字符类型赋值时则需要单引号框出,而且只能一个字符:

            char C;C = 'H';Console.WriteLine(C);

 

null本身即代表一个值“空”(空类型), 他不需要被定义,也不能被定义:

这段代码先给字符串st赋值了Hello world,但之后又紧接着给它赋值了null

因此最终输出结果就是null ,即空类型;

此处需要注意,数字类型 与 bool类型 不能 赋值为null

            string st;st = "Hello world";st = null;Console.WriteLine(st);

 

浮点数后的f不能省略:

(C和C++语言里可以省略,但C#这里不行)

            float F = 123.456f;Console.WriteLine(F);     

2.4 常量:

我们可以在编程时定义一些常量,其值不能被改变

除了定义外,有些特殊的转义字符也是常量,比如回车、换行等的转义符

定义常量极其注意点:

const 数据类型 符号常量名(或常量表达数据)

1、常量只有在初始化同时才能赋值

2、常量表达式赋值不能出现变量

 

以下为合法实例:

            const double R = 10;      //定义的常量const double G = 3.1415;  //定义的常量const double H = R * G;   //定义的常量等于原先定义的俩个常量的运算Console.WriteLine(H);     //打印H测试

 

 以下为非法的操作,编译会不通过:

 1、像这种明明定义的H是常量,且初始化就赋值了,在给其赋值的操作非法:

(常量就是初始化后不变了,不能再给其赋值,否则请定义为变量)

 

 2、用算数表达式初始化定义常量时,混入了变量:

(这里我们看到R被定义为变量了,因此H=R*G便不符合常量表达了)

2.5 基本运算:

 

算数运算:

 自加自减运算:

 关系运算:

逻辑运算:

条件运算:

条件运算是一种三元运算:

布尔类型表达式?表达式1:表达式2

            int a = 10, b = 20, c=0;Console.WriteLine(c);       //c的值为0c = a > b ? a + b : a - b;  //因为a<b,所以c=a-b,c = -10Console.WriteLine(c);c = a < b ? a + b : a - b;  //因为a<b,所以c=a+b,c = 30Console.WriteLine(c);

运行结果:

简单赋值运算:

变量=表达式

1、计算表达式的值,并将该值赋给左边变量

2、将表达式的值作为整个赋值表达式的值

            int a,b;a = b =10;Console.WriteLine(a);Console.WriteLine(b);

复合赋值运算:

            int a, b;a = b = 10;a += 20;  Console.WriteLine(a);   //此处相当于a=a+20,所以输出30b += a += 20;           //此处先让之前已经变为30的 a 再加20,a=50Console.WriteLine(a);   //此处a输出为50Console.WriteLine(b);   //然后b在加上a=50的值,所以b输出为60

 运行结果:

 

2.6 运算符优先级:

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

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

相关文章

docker desktop 登录不上账号

配置走代理&#xff08;系统全局&#xff09;也没用 解决方法 参考博文&#xff1a; https://blog.csdn.net/weixin_37477009/article/details/135797296 https://adoyle.me/Today-I-Learned/docker/docker-desktop.html 下载 Proxifiler 配置 Proxifiler

蓝桥杯真题:幸运数字

这道题可以用 integer.string&#xff08;&#xff09;求每个进制的数&#xff0c;但这里要每一位数相加&#xff0c;所以用这个方法会比较麻烦&#xff0c;如下 import java.util.Scanner; public class Main {public static void main(String[] args) {Scanner scan new Sc…

关系型数据库mysql(4)事务

目录 一.事务的概念 1.事务的定义 2.事务的特点 2.1原子性 2.2一致性 2.4持久性 3.事务之间的相互影响 3.1脏读 3.2不可重复读 3.3幻读 3.4丢失更新 4. 事务的隔离级别&#xff08;如何解决事务的干扰&#xff09; 4.1查询全局事务隔离级别 4.2查询全局事务 …

浩哥带你做项目,纯免费教学

浩哥带你做项目 一、YiYi-Web项目开发1. 简介2. 技术栈2.1 后端开发环境2.2 前端开发环境 3.项目截图 二、计算机游戏程序设计&#xff08;基础篇&#xff09;三、RuoYi-Cloud项目学习1.功能介绍2.项目截图 四、鸿蒙应用开发五、软考六、Linux基础知识学习 最近浩哥社区群涌进大…

Qt 写一个邮件发送程序

最近在完成一个邮箱代替的告警功能&#xff0c;写了一个邮件发送的demo 以下为代码&#xff1a; #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include<QTcpSocket> namespace Ui { class MainWindow; }class MainWindow : public QMainWin…

证明:指数函数和阶乘谁增长的更快?

先说结论&#xff0c;阶乘增长速度比指数函数快&#xff0c;也就是说&#xff1a; 可以用简单的指数函数y4^x的图形和阶乘函数图形做一个对比&#xff0c;可以发现&#xff0c;在自变量取值比较小的时候&#xff0c;指数函数&#xff08;红色&#xff09;是大于阶乘的&#xff…

华为云优惠券在哪里领取?

华为云作为华为旗下的云服务品牌&#xff0c;一直致力于为广大用户提供稳定、高效的云服务体验。为了吸引用户上云&#xff0c;华为云经常推出各种优惠活动&#xff0c;其中最常见的就是发放优惠券。那么&#xff0c;华为云优惠券在哪里领取呢&#xff1f;本文将为大家详细解答…

基于java+springboot+vue实现的宿舍管理系统(文末源码+Lw+ppt)23-597

摘 要 随着信息时代的来临&#xff0c;过去的传统管理方式缺点逐渐暴露&#xff0c;对过去的传统管理方式的缺点进行分析&#xff0c;采取计算机方式构建宿舍管理系统。本文通过课题背景、课题目的及意义相关技术&#xff0c;提出了一种楼宇信息、宿舍信息、宿舍安排、缺勤信…

二维码门楼牌管理应用平台建设:核采任务数据生产的新模式

文章目录 前言一、任务包下发与领取&#xff1a;确保外业数据核采的准确性二、基于小区面、建筑物面数据的标准化任务生成三、外业队伍联动开展核采工作四、二维码门楼牌管理应用平台的优化与发展 前言 随着城市管理的数字化进程加速&#xff0c;二维码门楼牌管理应用平台的建…

C语言整数和浮点数在内存中的存储

目录 一.整数在内存中的存储二.浮点数在内存中的存储1.浮点数存的过程2.浮点数取的过程1.E不全为0或E不全为12.E全为03.E全为1 三.浮点数的例题 一.整数在内存中的存储 整数在内存中是以二进制的补码存储的 正整数的源码 反码 补码 都一样&#xff0c;首位的符号位为0 负整数的…

计算机常见的知识点(3)

计算机系统 系统的构成 一个完整的计算机系统是由硬件和软件组成 硬件是由运算器、控制器、存储器、输入设备、输出设备五部分组成 其中&#xff1a;中央处理器(简称CPU)运算器控制器 主机中央处理器主存储器 计算机软件包括计算机本身运行所需要的系统软件和用户完成任务…

jacoco使用示例与常用配置说明

基本概念 有时候&#xff0c;对于一些重要的项目或者重点类&#xff0c;我们希望重点测试&#xff0c;但是我们怎么评估测试质量呢&#xff1f; 这个时候&#xff0c;或许就需要jacoco了。 接下来&#xff0c;我们就来了解一下jacoco的基本概念与使用。 以及在某些条件不允…