如何理解C,C++和C#程序的结构?为什么C#程序是一组类型声明?

yumo6663个月前 (07-01)技术文章32

C程序是一组函数和数据类型,C++程序是一组函数和类,C#程序是一组类型声明。

这三个编程语言—C、C++和C#—分别代表了不同的编程范式和设计思想,这也体现在它们的基本组成元素上。

C 程序

C语言主要是一种过程式编程语言。在C语言中,程序主要由函数和数据类型组成。函数用于执行操作,数据类型(包括结构体)用于定义数据的结构。

#include <stdio.h>
struct Point {
  int x;
  int y;
};
void printPoint(struct Point p) {
  printf("Point: (%d, %d)\n", p.x, p.y);
}
int main() {
  struct Point p = {1, 2};
  printPoint(p);
  return 0;
}

C++ 程序

C++是C语言的一个超集,它加入了面向对象编程的概念。因此,C++程序是由函数和类组成的。类不仅封装了数据,还封装了操作这些数据的方法。

#include <iostream>
class Point {
  public:
  int x;
  int y;
  void printPoint() {
     std::cout << "Point: (" << x << ", " << y << ")" << std::endl;
  }
};
int main() {
   Point p;
   p.x = 1;
   p.y = 2;
   p.printPoint();
  return 0;
}

C# 程序

C#进一步发展了这些概念,将程序看作是一组类型声明。这些类型包括了值类型(如整型、枚举、结构体)和引用类型(如类、接口、委托、数组等),并且它们都是一等公民(First-Class Citizen)。

using System;
struct Point {
  public int X;
  public int Y;
}
enum Direction {
   North,
   South,
   East,
   West
}
interface IRunnable {
	void Run();
}
class Person : IRunnable {
  public string Name { get; set; }
  public int Age { get; set; }
  public void Run() {
   Console.WriteLine(#34;{Name} is running.");
  }
}
delegate void Notify(string message);
class Program {
  static void Main(string[] args) {
    Point p = new Point { X = 1, Y = 2 };
    Direction d = Direction.North;
    Person person = new Person { Name = "Alice", Age = 30 };
     person.Run();
    Notify notify = message => Console.WriteLine(message);
    notify("Program started.");
  }
}

在C#中,类型是一种用于封装数据和行为的全面方式。与C和C++相比,C#的类型系统更加一致和全面。这就是为什么说C#程序是一组类型声明的原因。这些类型声明不仅定义了数据的结构,还定义了数据的行为和数据之间的交互方式。这样的设计使得C#程序更加模块化和易于维护。

相关文章

C 语言和 C++ 有什么区别?老程序员居然这样理解,不怕你不懂

差不多是win98跟winXP的关系。C++是在C的基础上增加了新的理论,玩出了新的花样。所以叫C加加。C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入...

C++和C语言已经不是一种语言了,现代C++与C不一样了

C++和 C 完全不一样。学 C++前可以不用学 C,它和 C 的相似度都比不过 Java。在 C++11 之前,C++可以说是包含类的...

C/C++基础语法复习(一):C++与C语言的区别,主要有这些

和C的区别1.概念:C++ 是一种静态类型的、编译式的、通用的、大小写敏感的、不规则的编程语言,支持过程化编程、面向对象编程和泛型编程。C++ 被认为是一种中级语言,它综合了高级语言和低级语言的特点。...

C语言 vs C++:谁才是编程界的“全能王者”?

C++和C语言作为两种广泛使用的编程语言,在设计理念、功能特性和适用场景上有显著差异。以下是它们的主要区别:1. 编程范式o C语言:过程式编程,强调函数和步骤化执行。o C++:多范式语言,支持过程...

C#和C++什么关系呢

C++和C#两个不同的语言,它们有什么关系呢?C++用术语叫做非托管语言,C#叫做托管语言。谁托管谁呢?毫无疑问,C++托管了C#。没有了C++,C#就残废了,无法运行。没了C#,C++可以运行吗?当...

为什么有这么多以字母 “C” 为开头的编程语言?

在Reddit上有个提问:为什么有这么多以字母 “C” 为开头的编程语言?题主从4个月前开始学习编程,对编程语言的数量印象深刻,但后来他意识到有很多字母为“C”的编程语言,例如:C、C++、CSS、O...