c#语言 订阅
C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。 [1] 展开全文
C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。 [1]
信息
类    别
程序设计语言
影响语言
C++、C#、D、Java、JavaScript、ObjectPHP等
创始时间
1972年
主要编译器
Visual C++、Clang、GCC、Turbo C等
中文名
C语言
创始人
Dennis MacAlistair Ritchie
发    源
BCPL语言
外文名
C Programming Language
c语言简介
C语言是一门面向过程的计算机编程语言,与C++、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言描述问题比汇编语言迅速、工作量小、可读性好、易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编语言代码生成的目标程序效率低10%~20%。因此,C语言可以编写系统软件。 [2]  当前阶段,在编程领域中,C语言的运用非常之多,它兼顾了高级语言和汇编语言的优点,相较于其它编程语言具有较大优势。计算机系统设计以及应用程序编写是C语言应用的两大领域。同时,C语言的普适较强,在许多计算机操作系统中都能够得到适用,且效率显著。 [3]  冯.诺依曼在1945年提出了现代计算机的若干思想,被后人称为冯.诺依曼思想,这是计算机发展史上的里程碑。自1945 年至今大多采用其结构,因此冯.诺依曼被称为计算机之父。他的体系结构计算机由运算器、控制器、存储器、输入设备、输出设备五大部件构成。 C语言拥有一套完整的理论体系经过了漫长的发展历史,在编程语言中具有举足轻重的地位。 [4] 
收起全文
精华内容
下载资源
问答
  • C#代码语言定义文档官方中文版,其中提供了多种语言定义要求等基础知识以及示例代码,是初学者查阅必备,为代码的定义提供参考
  • C语言转C#语言工具

    2020-09-02 09:22:19
    可以把C代码转成C#代码参考使用,双击打开EXE并复制代码进去点转换就可以,非常简单,亲测可用,但是代码库引用那些无法处理,只是单纯转换写法
  • C#语言定义文档 中文版(微软官网)
  • C#语言规范5.0中文版,微软的官方文档,高清版有目录。
  • C#语言规范第五版中文版(c#-language-specification-5.0)
  • C#语言规范(5.0版),作为学习或使用C#重要参考资料,程序员人手一本,标准word文档,打印或修改都没问题,全书共498页
  • 数据结构(C#语言版)

    2018-04-04 01:20:05
    数据结构(C#语言版),有参考价值,内容清晰,大家可以把它当作入门学习资料
  • C#语言规范5.0中文版

    2017-07-21 13:57:17
    C#语言规范5.0中文版WORD档和PDF档
  • 这本书是基于C#高级编程语言来编写的数据结构,内容十分详细,通俗易懂,适合初学者。再者,PDF是高清版的,大家有需要的可以看看。
  • 微软官方 C#语言规范5.0PDF中文版
  • 本程序基于C#语言实现的三种打印爱心的方法,由简单到稍显复杂,代码可以直接运行。
  • 数据结构与算法C#语言描述 数据结构与算法C#语言描述
  • C#语言基础

    2018-11-24 22:36:16
    C#语言的基础入门学习材料,基本阐述了C#语言的基础入门知识
  • C#语言参考

    2018-03-02 14:16:55
    C#语言参考.pdf,C#语言参考.pdf,C#语言参考.pdf,C#语言参考.pdf
  • C#语言

    千次阅读 2019-11-08 10:54:13
    C#语言 (一)第一个C#程序 (1).NET与C# 1、.NTE的含义:.NET是Micorsoft.NET的简称,基于Windows平台的一种技术,它包含了能在.NET Framework平台运行的所有编程语言。它同时也是C#的运行环境,.NET是属于微软...

    C#语言

    (一)第一个C#程序

    (1).NET与C#

    1、.NTE的含义:.NET是Micorsoft.NET的简称,基于Windows平台的一种技术,它包含了能在.NET Framework平台运行的所有编程语言。它同时也是C#的运行环境,.NET是属于微软公司所有。

    2、C#的含义C#是一种全新的语言,它是专为.NET开发而设计的编程语言。同时也是微软为奠定其下一代互联网霸主地位而打造的,是Microsoft.NET平台运行的主流语言。

    (2)第一个C#程序的创建

    1、C#程序的创建

    ​ 启动Visual Studio 2019 ——> 新建项目——> 生成可执行文件 ——> 开始运行

    2、认识C#程序

    (1)C#中的关键字

    ​ namespace 关键字:namespace是C#的命名空间,也是C#中组织代码的方式,作用类似于Java中的package(包)。

    ​ using关键字:在Java中,如果导入其他包,应该使用import关键字。而在C#中,使用using关键字来引用其他命名空间,它的作用和Java中的import类似。

    ​ class关键字:C#和Java一样是面向对象的一种语言,在C#中class关键字也表示类。

    注:C#中不要求类名必须与源文件的名称一致。

    ​ Main()方法:在C#中的Main()方法和Java中的main()方法的作用是一样的,是程序运行的入口,应用程序从这里开始运行。

    ​ 在C#中的Main()方法有如下四种形式:

    static void Main(string[] args){}
    static void Main(){}
    static int Main(string[] args){}
    static int Main(){}
    

    ​ 关键代码:Main()方法中添加的两行代码就是这个小程序的关键代码,是用来输出和输入的。

    ​ 代码如下:

    Console.WriteLine("Hello World");		//从控制台输出内容
    Console.ReadLine();					   //从控制台输入
    

    (3)C#中的变量和常量

    1、C#中的数据类型

    ​ 如下表所示:

    常用数据类型JavaC#举例
    整型intint年龄
    浮点型floatfloat成绩
    双精度型doubledouble圆周率
    字符串型Stringstring姓名
    布尔型booleanbool是否为少数民族

    注:在为浮点型变量赋值时,C#语言要求赋值数据必须以字母f或F结束。

    2、C#中的变量

    ​ C#中的变量声明方式与Java是相同的。 语法:数据类型 变量名称;

    ​ C#的变量命名规则与Java也基本相同,只是"$"符号在C#中是不能使用的,因此变量的命名规则可以简单总结为以下三条:

    ​ 组成:52个英文字母(AZ,az)、10个数字(0~9)、下划线(_),除此之外不能含有其他的字符。

    ​ 开头:只能以字母或下划线开头。

    ​ 不能使用的:不能是C#中的关键字。

    3、C#中的常量

    ​ 常量的定义:常量就是在程序运行过程中保持不变的值。

    ​ 语法:

    const 数据类型常量名称  = 值;
    

    ​ 例如:

    	public const int dayMax = 7 ;  //定义常量dayMax
    

    ​ 常量的命名规范如下:

    ​ 1、常量名称必须具有一定的实际意义;

    ​ 2、常量名最好是以 大写字来命名,中间可根据意义的连接性用下划线做连接;

    ​ 3、常量名称长度最好不要超过25个字符;

    (4)Console类

    1、C#向控制台输出

    ​ 利用Console.WriteLine()方法输出有三种方式:

    ​ 方法一:

    Console.WriteLine();
    

    ​ 方法二:

    Console.WriteLine(要输出的值);
    

    ​ 方法三:

    Console.WriteLine("格式字符串",变量列表);
    //这是C#中的新语法,先举个例子:
    string couruse = "C#";
    Console.WriteLine("我的课程名称是:{0}",couruse);
    //在这里{}里面的值,我们称之为占位符,占位符从0开始。
    

    2、C#从控制台读入

    ​ 与Console.WriteLine()对应,从控制台输入可以使用Console.ReadLine()方法。Write是写的意思,Read是读的意思。

    语法:Console.ReadLine();

    ​ 例如:

    //输入名字
    
    string name = Console.ReadLine();
    
    //输入年龄
    //类型的转换
    int age = int.Parse(Consloe.ReadLine());
    

    注:数据类型.Parse()方法的作用是把字符串转换为该数组类型。

    (5)类和对象

    1、自定义方法

    ​ 除了使用.NET提供的类的方法,也可以在类中添加自定义的方法。在C#中定义方法的语法与Java语法类似。语法如下:

    [访问修饰符] 返回值类型 方法名(参数列表)
    {
    	//方法的主体
    }
    

    访问修饰符: 在C#中将会使用两个访问修饰符,一个是public(公有的),另一个是private(私有的)。

    方法的返回值类型: 我们编写的方法是实现特定功能的模块,可供他人调用,在调用后可以返回一个值,这个返回值的数据类型就是方法的返回值类型,可以是int、float、double、bool、string等。如果方法不返回任何值,需要使用void关键字。

    方法名: 每个自定义的方法都要有一个名称,方法的名称应该有明确的含义,这样别人在使用的时候就能清楚地知道这个方法能实现什么功能。

    参数列表:可以向方法中传递参数,这些参数构成了参数列表。如果没有参数就不用参数列表。参数列表中的每个参数都是通过"类型参数名"形式进行声明的,各个参数之间用逗号分开。

    方法的主体:方法的主体部分就是这个方法实现某一特定功能的代码。自定义方法时,应该先写方法的声明,包括访问修饰符、返回值类型、方法名、参数列表、然后写方法的主体。

    2、理解类和对象

    类是创建对象的模板,对象是类的一个具体实例。

    ​ C#语言中,定义类的语法:

    [访问修饰符] class 类名
    {
        //类的主体
    }
    

    ​ C#在类中可以包含字段、属性和方法,每个类可以使用访问修饰符来设置该类的访问权限。

    3、注释

    ​ 在C#中有四种注解:分别是:

    ​ 单行注释:// 文档注释:///

    ​ 块注释:/* */ 折叠注释:以#region 开头 ,以#endregion结尾

    (二)C#语法快速热身

    (1)选择结构

    1、if选择结构

    ​ C#中if结构也分为四种结构:简单if结构、if…else结构、多重if结构、if嵌套结构;语法和Java中的语法一致,如下所示:

    ​ (1)简单if结构语法:

    if(条件表达式)
    {
        //代码块
    }
    

    ​ (2)if…else结构语法:

    if(条件表达式){
    //代码块1
    }
    else
    {
    //代码块2
    }
    

    ​ (3)多重if结构语法:

    if(条件表达式1)
    {
    //代码块1
    }
    else if(条件表达式2)
    {
    //代码块2
    }
    else
    {
    //代码块3
    }
    

    ​ (4)if嵌套语法:

    if(条件表达式1)
    {
    if(条件表达式2)
    {
    //代码块1
    }
    else
    {
    //代码块2
    }
    }
    else
    {
    //代码块3
    }   
    

    2、switch选择结构

    ​ C#switch选择结构语法:

    表达方式一:

    switch(表达式 )
    {
        case 常量表达式 1:
                //语句1
                break;  //必须有
        case 常量表达式 2:
                //语句2
                break;  //必须有
            ......
                defaull:
            //语句n;
            	break;  //必须有
    }
    

    表达式二:

    switch(表达式 )
    {
        case 常量表达式 1:
        case 常量表达式 2:
                //语句1
                break;  //必须有
            ......
                defaull:
            //语句n;
            	break;  //必须有
    }
    

    注:在C#中的switch结构中的break是必须有的,但是如果case后面没有语句的话就不需要break。

    (2)数组和循环

    1、一维数组

    (1)声明的数组

    ​ 在Java中声明数组的两种方式:

    ​ Java中的数组语法

    //方式一
    数据类型[] 数组名;
    //方式二
    数据类型 数组名[];
    

    ​ 但是在C#中只有一种声明方式

    ​ C#中的数组声明语法

    数据类型[] 数组名;
    例如:
    int[] array;
    

    (2)数组长度和数组下标

    数组名.Length//数组长度
    数组名[下标]//数组下标
    

    2、对象数组

    ​ C#的对象数组与Java的对象数组并无差异。

    ​ 举例如下:

    class Program
        {
            static void Main(string[] args)
            {
                Student[] stus = new Student[3];
                stus[0] = new Student();
                stus[0].name = "张浩";
                stus[0].score = 100;
                stus[1] = new Student();
                stus[1].name = "李成";
                stus[1].score = 99;
                stus[2] = new Student();
                stus[2].name = "江亦";
                stus[2].score = 95;
                Console.WriteLine("前三名学员的信息为:");
                foreach (Student stu in stus)
                {
                    stu.showInfo();
                }
                Console.ReadLine();
            }
        }
    

    3、循环数组

    ​ 在C#中有三种循环和Java中的循环是一样的,但是在C#中的foreach循环结构和Java中的不太一样。

    (1)while循环

    while(循环条件){
        //循环操作
    }
    

    (2)do-while循环

    do{
        //循环操作
    }while(循环条件);
    

    (3)for循环

    for(表达式1;表达式2;表达式3){
        //循环体
    }
    

    (4)foreach循环

    foreach(元素类型 元素变量名 in 数组){
        //代码块
    }
    

    循环应用的区别如下:

    ​ while循环:是先判断条件表达式是否成立。若条件成立,则执行循环体;否则结束循环。

    ​ do-while循环:先执行依次循环再判断条件表达式是否成立。若条件成立,则继续循环;否则结束循环。

    ​ for循环:必须使用整型变量做循环计算器,通过条件表达式限定计数器变量值来控制循环。

    ​ foreach循环:用于遍历给定数组的所有值。

    4、跳转语句

    (1)break语句

    ​ break语句用于终止某个循环,使程序跳转到循环体外的下一条语句。在循环中位于break后的语句将不再执行,循环也停止执行。

    (2)continue语句

    ​ 在for循环结构中,continue语句使程序先跳转到迭代部分,然后判定循环条件。如果为true,则继续下一次循环;否则,终止循环。在while循环结构中,continue语句执行完毕后,程序将直接判断循环条件。continue语句只能用在循环结构中。

    (3)冒泡排序

    ​ 冒泡排序:冒泡排序的过程就像它的名称一样,如果把较小的数比作气泡,排序的过程就是气泡不断向上冒的过程,越小的数越高。冒泡排序算法是两两相邻比较;不满足条件就进行交换。

    int[] array = {30,80,54,98,66,100};
    int temp; //临时变量
    //开始排序————使用冒泡排序进行升序排序
    for(int i = 0;i<array.Length-1;i++)
    {
        for(int j = 0; j < array.Length-1-i; j++)
        {
            if(array[j] > array[j+1])  //在这里大于符号(>)表示升序,小于符号(<)表示降序 
            {
                //交换元素
                temp = array[j];
                array[j] = array[j+1];
                array[j+1] = temp;
            }
        }
    }
    

    注:冒泡排序速记口诀(升序):

    (1)N个数字来排队,两两相比小靠前。

    (2)外层循环N-1,内层循环N-1-i。

    (3)如果要降序排序,只要把程序中的大于号换成小于号就行了。

    (三)使用属性升级MyBank

    (1)private访问修饰符

    private访问修饰符

    访问修饰符访问权限访问级别
    public不受任何限制最高
    private只有类的内部可以使用最低

    举例:

    class Student
        {
            private string _name;//姓名
            public int _age = 19;//年龄
            public string _cardID = "110882199410252476";//身份证
            public void SetName(string name)
            {
                _name = name;
            }
            public void Say()
            {
                Console.WriteLine("大家好!我叫{0},今年{1}。",_name,_age);
            }
        }
    
    

    (2)this关键字

    ​ this关键字:是指当前对象本身。通过this可以引用当前类的成员变量和方法,但是this不能在静态(static)成员中使用。

    (3)C#属性

    (1)C#属性

    ​ 在C#中,字段通常是私有的。如果要访问类中的字段,需要通过get和set访问器实现,这种结合了字段和方法的实现方式我们称之为属性(property)。

    语法:

    private string _name;
    public string Name
    {
    get{return _name;}
    set{_name = value;}
    }
    

    ​ 在这里get表示返回值,也是只读形式;set表示赋值,也是只写形式;如果要在封装里表示读写模式,就要get和set一起使用,只读就只用get方法,只写就只用set方法。

    (2)属性的数据类型

    ​ 定义类中的一个属性时,属性的数据类型必须与它所访问的字段类型一致。

    (3)属性的访问类型

    ​ 属性除了可以约束数据访问外,还可以设置读、写属性来限定它的访问类型。属性的访问类型分为以下三种:

    ​ 只读属性:只包含get访问器。

    ​ 只写属性:只包含set访问器。

    ​ 读写属性:包含get和set访问器。

    (4)值传递和引用传递

    1、值传递

    ​ 值传递分为基本数据传递和引用型数据传递。

    ​ 基本数据类型:形参所做修改不会影响实。
    ​ 引用数据类型:形参对具体值的修改会影响实参。

    2、地址传递

    ​ 地址传递也分为基本数据类型传递和引用型数据类型传递,但是地址传递无论是基本数据类型还是引用型数据类型,都会改变的实参。

    ​ 形参所做修改一定会影响实参实现方式:在形参和实参前面加ref。

    (四)深入C#的String类

    (1)C#中的String类

    1、常用的字符串处理方法

    方法说明
    bool Equals (string value)比较一个字符串与另一个字符串value的值是否相等,返回值为bool(布尔)值
    int Compare(string strA,string strB)比较两个字符串的大小关系,返回一个整数
    int IndexOf(string value)获取指定的value字符串在当前字符串中的第一个匹配项的位置
    int LastIndexOf(string value)获取指定的value字符串在当前字符串中的最后一个匹配项的位置
    string Join(string separator,string[] value)把字符串数组value中的每个字符串用来指定的分隔符separator连接,返回连接后的字符串
    string[]Split(char separator)用指定的分隔符separator分割字符串,返回分割后的字符串数组
    string Substring(int startIndex,int length)从指定的 位置startIndex开始检索长度为length的子字符串
    string ToLower()获得字符串的小写形式
    string ToUpper()获得字符串的大写形式
    string Trim()去掉字符串前后两端多余的空格

    2、连接分割字符串

    ​ 在C#中的字符串中的连接和分割有专门的方法;连接是Join()方法,分割是Split()方法。

    splitStrings = inputString.Split(' ')//以空格作为分隔符分割字符串
    joinString = string.Join("_",splitStrings)//将分割的字符串使用下划线连接起来
    

    3、Format格式化

    ​ Format()方法允许把字符串、数字或布尔型的变量插入到格式字符串当中,它的语法和WriteLine()方法相似。语法如下:

    String MyString = String.Format("格式字符串",参数列表);
    //其中,格式字符串中包含固定文本和格式项,语法如下:
    {索引[,对齐][:格式字符串]} //在这里[]中的内容可有可无
    
    字符说明示例输出结果
    C货币格式String.Format("{0:C3}",2000)¥2 000.000
    D十进制格式String.Format("{0:D3}",2000)2000
    F小数点后的位数固定String.Format("{0:F3}",2000)2000.000
    N用逗号隔开的数字String.Format("{0:N}",250000)250,000
    P百分比计数法String.Format("{0:P3}",0.29768)29.768
    X十六进制格式String.Format("{0:X000}",12)C

    (2)类型转换

    1、简单的类型转换

    ​ (1)隐式类型转换

    ​ 对于任何数值类型A,只要其取值范围完全包含类型B的取值范围,就可以隐式转换为类型B。也就是说,int型可以隐式转换为float型或double型,float型可以隐式转换为double型。

    ​ (2)显式类型转换

    ​ 与隐式类型转换相反,当要把取值范围大的类型转换为取值范围小的类型时,就需要执行显示转换。

    double score = 58.5;//原始分数
    int bonus=5;//加分
    int sum;//总分
    sum=score+bonus;//计算总分		
    

    2、数值类型与字符串之间的转换

    (1)字符串转换为数值型

    ​ 当要把字符串转换为数值类型时,可以调用不同的数值类型的Parse()方法。例如:

    int.Parse(string);		//字符串转换为整型
    float.Parse(string);	//字符串转换为单精度浮点型
    double.Parse(string);	//字符串转换为双精度浮点型
    

    (2)数值型转化为字符串

    ​ 我们知道Parse()方法可以将字符串类型转换为数值型,其实C#中还有一个更全能的类——Convert类,它可以在各种基本类型之间执行数据类型的互相转换。Convert类为各种类型转换都提供了一个对应的方法,常用的方法如下表所示。

    ​ 1.字符串转换为数值型

    int.Parse(Console.ReadLine());  //从控制台接收整数
    int.Parse(string);   //将字符串转换成整型
    float.Parse(string);   //将字符串转换成单精度浮点型
    double.Parse(string);  //将字符串转换成双精度浮点型
    

    ​ 2.数值型转换为字符串

    int age = 18;
    string myage = age.ToString();
    

    3、使用Convert类进行转换

    方法说明
    Convert.ToInt32()转换为整型(int)
    Console.ToSingle()转换成单精度浮点型(float)
    Console.ToDouble()转换成双精度浮点型(double)
    Console.ToSting()转换成字符串类型(String)
    展开全文
  • 北大青鸟最新版本ACCP8.0S1课程C#语言和SQL Server课后上机代码,有注释~~~
  • 使用c#语言的数据机构,可以有助于深入里理解c#的语言特性。带电子书目录,高清版本
  • c#语言编程详解

    2019-03-29 10:33:53
    c#编程语言详解》这本书,主要是讲解c#设计规范,很基础
  • C#语言标准

    2018-05-10 22:41:07
    C#语言标准文档,可以通过该文档查看C#语言的相关基础知识。本文档主要是关于语言基础特性的描述,不涉及C#的语言库以及用户库文件。
  • 本书围绕unity进行讲解,语言通俗易懂。可帮助新手更快的了解unity基本运行原理。 如若喜欢次数,但却因资源分数望而却步的朋友,可添加我wx:Li18252138600 免费私发。另外还可以一起探讨探讨unity 共同进步
  • C#语言的优点

    2014-03-25 00:09:47
    C#是一种精确、简单、类型安全、面向对象的语言。说到C#,就不得不先简单介绍一下.net。到底什么是.net呢,按照微软总裁兼首席执行官Steve Ballrner把它定义为:.Net代表一个集合,一个环境,它可以作为平台支持下...
  • 《基于C#语言的ArcGIS Engine开发基础与技巧》pdf电子书
  • 微软C#语言规范5 0版CSharp Language Specification【原保存在Visual Studio 12 0 VS2013 的2052文件夹中】 原格式为Word的docx文档 现完美转换为pdf文件 带三级书签 并修复了原docx文档的页眉Heading 1错误 其他未...
  • 采用C#语言,实现通过FTP协议获取服务器的文件列表和下载文件-Using C# language, to achieve access to the server via FTP protocol file list and download files
  • 该资源包含的PDF主要是介绍C# 6.0 语言规范,并且也详细描述了基本的词法结构、以及在C#里面常见的概念解说(如类型、类、命名空间等),对于新手而言是蛮不错的资源,帮助理解。
  • C#语言切换Demo

    2019-10-26 17:04:31
    这是一个C#WinForm的一个多语言切换Demo。此实例通过XML来实现,将需要切换的语言预先存储在.lng文件中
  • C#语言PPT讲义.zip

    2019-12-26 15:02:23
    C#语言PPT讲义,可以用于自学,可以用于课堂教学。C#语言PPT讲义,可以用于自学,可以用于课堂教学。C#语言PPT讲义,可以用于自学,可以用于课堂教学。C#语言PPT讲义,可以用于自学,可以用于课堂教学。
  • C#语言将数据写入数据库例子 过编程方式实现短信息的发送对很多人来说是一件比较烦杂的事情,目前一般的解决
  • 本PDF文档是2.77MB的中文版,排版清晰,不同于百度文库等的1.31MB版,希望对大家有用

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 362,783
精华内容 145,113
关键字:

c#语言

c# 订阅