本专栏主要基于北大的数据结构与算法教程(Python版)进行整理,包括课程笔记和OJ作业。 课程链接 相信大多数同学接触到第一门程序设计语言都是C语言,本篇博客用四个简单的例子,从C到Python进行过渡,对C和Python的区别有一个直观的认识。 1. Hello Word C语言(编译型语言)程序的执行包括三步:1)编译:把程序代码编译为机器码 2)链接:链接程序中引入的各种库 3)执行:执行目标程序;Python(解释型语言)语言程序的执行只有一步:逐行执行代码 C语言中main函数比较特殊,是程序主入口函数,必不可少且只能有一个,其返回类型为int;Python中不存在主入口函数这 数据结构与算法是计算机科学的基础,它们涉及到如何有效地组织和处理数据,以及设计高效的问题解决方案。在编程领域,了解不同的编程语言特性和它们处理数据结构与算法的方式是至关重要的。本文将从C语言过渡到Python,通过四个示例对比两者的差异。 1. **Hello World** C语言是编译型语言,程序执行分为编译、链接和执行三个阶段,而Python作为解释型语言,直接逐行执行代码。在C中,`main()`函数是程序的入口,必须且只能有一个,返回类型为`int`。相反,Python中没有特定的入口函数,`main`函数仅作为普通函数存在,可任意命名,无返回类型。C语言使用`printf`来输出,需要引入`stdio.h`库,而Python的`print`是内置函数,无需额外引入。 2. **1-100求和** C语言需要声明变量类型,且语句结尾需分号,例如`for`循环结构更为复杂。Python则无需声明变量类型,代码更简洁,没有语句结束符,单行注释使用`#`。Python的`for`循环使用`range()`函数迭代,更直观易懂。 3. **检验素数** 在C语言中,`scanf`用于接收用户输入,确保输入是整数类型。而在Python中,`input`接收字符串,需用`int()`转换。Python的`for-else`结构使得不需要额外的标志变量来判断是否找到素数,循环完整执行后,else块才会被执行。 4. **打印朴素三角形** C语言打印三角形需要嵌套循环,控制行和列。Python则只需一次循环,利用字符串的累加和自动换行功能简化了代码。 从这些例子可以看出,Python的语法更加简洁,更注重代码的可读性和便利性。Python作为动态类型语言,对数据类型的检查是在运行时进行的,而C语言作为静态类型语言,在编译阶段就需要确定所有变量的类型。Python的这些特性使得它在数据结构和算法实现上通常有更高的代码效率和可读性,特别适合教学和快速开发。然而,C语言由于其底层操作和性能优化的优势,更适合系统级编程和对性能要求极高的应用。理解这两种语言的差异,有助于选择合适的工具来解决问题。
![](https://csdnimg.cn/release/download_crawler_static/13745558/bg1.jpg)
![xlsx](https://img-home.csdnimg.cn/images/20210720083732.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![xlsx](https://img-home.csdnimg.cn/images/20210720083732.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![m](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![avatar](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 8
- 资源: 965
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)
评论0