C#与C语言:5大核心语法共性

C# 与 C 语言在语法和底层特性上存在一定的共性,主要体现在以下几个方面:

1. 基础语法结构

  • 代码块结构 :均使用大括号 {} 定义作用域。

  • 语句结束符 :以分号 ; 结束单行语句。

  • 控制语句 :if、for、while、switch 等逻辑控制结构的语法高度一致。

    csharp 复制代码
    if (x > 0) { /* ... */ } // C# 示例

2. 数据类型

  • 基本类型 :均支持整数(int)、浮点数(float、double)、字符(char)等基础数据类型。

  • 类型转换 :显式转换需使用强制类型符号(如 (int)value)。

    csharp 复制代码
    double d = 3.14;
    int i = (int)d; // C# 显式转换

3. 运算符

  • 算术与逻辑运算符 :+、-、*、/、% 及 &&、||、! 等用法相同。
  • 位运算 :&、|、<<、>> 等操作符在两种语言中功能一致。

4. 指针支持(有限)

  • unsafe 上下文 :C# 通过 unsafe 关键字支持指针操作(需启用编译选项),语法与 C 类似:

    csharp 复制代码
    unsafe {
        int* p = &x; // 指针声明与取址
    }

5. 函数定义

  • 函数结构 :均以返回类型、函数名、参数列表定义函数。

    csharp 复制代码
    int Add(int a, int b) { return a + b; } // C# 函数

差异补充说明

尽管存在共性,但二者核心设计目标不同:

  • C:面向系统编程,强调底层控制与效率。
  • C#:基于 .NET 平台,强调类型安全、内存自动管理(垃圾回收)及面向对象特性(如类、继承)。

若需深入探讨具体应用场景或差异细节,可进一步说明需求。

相关推荐
y1su5 分钟前
Leetcode 动态规划 模板
java·数据结构·算法·leetcode·动态规划
Wang's Blog20 分钟前
Java 项目实战: 交友项目 - JWT 概述:为什么要用 Token 换掉 Session
java·ui·交友
SL_staff1 小时前
低代码选型避坑指南:为什么‘能拖拽’不等于‘能交付’?——基于JVS八大引擎的四维交付能力评估框架
java·低代码·spring cloud
All for pursuit.1 小时前
【位运算-3】136.只出现一次的数字
数据结构·c++·算法·leetcode
MoRanzhi12031 小时前
106.正则问题(分治)
python·算法·正则表达式·蓝桥杯·递归·分治算法·字符串处理
李福春1 小时前
技术思考问题6:技术演讲该晒成功架构,还是交代失败与取舍?
java·开发语言·架构·computer use·深圳同盟·腾讯云架构师技术同盟·反演思维
suhan2 小时前
【数据结构】五、树:7.哈夫曼树、哈夫曼编码
数据结构·算法·排序算法
用户7771298509122 小时前
equals和==的区别
java