一个学过C/C++的咸鱼,最近学起了Python,不得不说,知识还是老知识,语法也简单多了,但就是容易搞混。大致总结一下Python与C的区别,以后别张冠李戴啦,嘻嘻。

Part  1.输入与输出

输入任意类型的数据,python用的是input(),input()中无论输入什么,都会默认为字符串的形式,如果要输入数字,可以写为x=eval(input()),而对于确定类型的数字,比如要输入整型数字,可以写为x=int(input());而C语言对于整型、实型、字符(串)型数据,都可以用scanf。整型/实型scanf(“%d/f”,&x),要加引用符号“&”,而字符串不必加引用符号:scanf("%s",x)。对于(单一)字符型数据,用getchar()输入;对于字符串,除了scanf输入,还可以用gets()输入。

输出最常用的非print莫属啦(C语言为printf),但首先值得注意的是print自带换行功能,即print('xxx')等效于C语言中的printf("xxx\n"),当然,print中的单引号换成双引号也可以,但两种引号不能混搭(一边单引号,一边双引号)。Python中,不想换行怎么办?那就加上end=''关键字参数,即print('xxx',end='')等效于C语言中的printf("xxx")。对于具体的输出,与输入一样,C语言需要关键字%d、%s等等,而Python不必写这些形态符号,不同形态的输出也就更方便啦。C语言:printf("output:%d\n",x);Python:print('output:'+str(x));对于整型、实型数据的输出,如果伴随字符串,则要使用str()以字符形态输出,毕竟,字符型数据太傲娇,不愿与整型、实型数据为伍,后者不得不装扮成字符型数据呀。

Part 2.逻辑值

C++特有的bool型数据在Python当中会是怎样的呢?在绝大多数IDE中,C++的bool值是true和false,不能大写;而在Python中,True与False首字母要大写,其他逻辑含义不变,True仍代表1或非0整数,False仍为0。

在交互式环境中,“in”与“not in"语句可以判断某元素是否属于某一数组(列表),比如:列表spam=[1,2,3],我们判断3在不在里面,输入3 in spam,会返回结果:True;若是3 not in spam,则返回的判断结果为False,列表的具体内容我们会在之后讲解。

None值表示没有值,像print()这样的函数不会返回任何值,那么None就是它的返回值。

在Python中,and、or、not更加直白的表示了与、或、非,在C/C++中,它们分别是&&、||、!。如判断句:

Python版本:(2<3) and (4<5) or not (5==6)

C/C++版本:(2<3) && (4<5) || !(5==6)

其实,在基础语法中,C与Python最明显的区别还是——";"。Python的语句不用分号结尾!!!

Part 3.条件&循环语句

条件语句:

//C语言:

if(条件1){

语句内容;

}

else if(条件2){

语句内容;

}

else{

语句内容;

}

#Python语言:

if 条件1:

语句内容#要缩进

elif 条件2:

语句内容#要缩进

else:

语句内容#要缩进

while语句:

//C语言:

while(循环条件){

语句内容;

};

#Python语言:

while 循环条件:

语句内容#要缩进

for语句:

//C语言:

for(i=0;i<10;i=i+2){

语句内容;

}

#Python语言:

for i in range(0,10,2):

语句内容//要缩进

对于终止循环的continue与break,在两种语言中功能相同,不过Python中不必加上分号。

Part 4.导入与终止

导入某种功能(数学公式、排序函数等)时,C语言直接在头文件引用对应功能:#include,如果是导入自己写的头文件,

则为#include"xxx.h";Python则使用import关键字导入,如import random,也可以写为from random import*,后者在调用random模块时就不需要random.前缀了,不过为了使名称完整,最好使用前者的写法。

Python可以导入sys模块,使用sys.exit()函数终止程序运行;也可以按Ctrl+C强行终止程序。

C++中可以通过引入stdlib.h头文件,使用system("pause")实现程序的暂停;Python可以是使用input()语句实现程序的暂停。

Part 5.全局变量

在C/C++中,我们会用define或const语句进行全局定义,而在Python中,使用global语句定义。

Part 6.函数

C语言要写明函数类型int/char/void等,而形参也要标明类型。对于Python,函数定义为"def xxx():",形参也无需标明类型。

Part 7.代码实战

最后,举个栗子对上述内容做个总结吧:

Python版本:

def collatz(number):

if not(number%2):

number=number//2

return number

else:

number=number*3+1

return number

print("请输入一个整数:",end='')

num=int(input())#input默认输入字符型数据,输整数,则需用int()包含

while num !=1:

num=collatz(num)

print(num)

运行结果:

C版本:

#include

int collatz(int number){//要指明函数本身形态int以及形参的形态int

if(!(number%2)){

number/=2;//number为int型,得到结果均会转为整型,相当于整除

return number;

}

else{number=3*number+1;

return number;

}

}

int main(){

int num;

printf("请输入一个整数:");//python的print自带换行功能,如果不想换行,则要加上end=''关键字

scanf("%d",&num);//整型、实型数据用scanf输入,分别对应%d和%f/%lf

while(num!=1){

num=collatz(num);

printf("%d\n",num);//输出也要指明输出数据的形态

}

return 0;

}

运行结果:

感谢耐心观看,如有错误,欢迎指正。

c语言与python的语法区别_来自python的C语言(基本语法),从,Python,看,基础,篇相关推荐

  1. sql和python有什么区别_该用Python还是SQL?4个案例教你节省时间

    在数据分析行业,对数据提出的每一个问题都可以用多种潜在的语言和工具包来回答.每种语言都有其优势,它们之间也存在着不同的区别.不能否认的是,有些操作用Python执行起来要比SQL更加高效.这篇文章分享 ...

  2. 语言语法糖_【c#】几种常用语法糖

    语法糖(syntactic sugar)是由英国计算机科学家Peter J. Landin发明的术语,指计算机语言中添加的某种语法.这种语法不影响语言的功能,但更方便使用. 在开发中使用语法糖能够让程 ...

  3. spss与python和sql区别_数据分析中的Excel、R、Python、SPSS、SAS和SQL

    作为一直想入门数据分析的童鞋们来说,如何选定一门面向数据分析的编程语言或工具呢?注意是数据分析,而不是大数据哦,数据分析是基础了. 数据分析的工具千万种,综合起来万变不离其宗.无非是数据获取.数据存储 ...

  4. 代写python期末作业价格_代写program留学生作业、代做Python程序语言作业、代写Python课程设计作业...

    代写program留学生作业.代做Python程序语言作业.代写Python课程设计作业 日期:2019-11-29 12:55 Completing the Final Project - Pyth ...

  5. python做数学计算器_从零开始学习PYTHON3讲义(二)把Python当做计算器

    <从零开始PYTHON3>第二讲 上一讲我们说过了如何启动Python IDLE集成开发学习环境,macOS/Linux都可以在命令行执行idle3.Windows则从开始菜单中去寻找ID ...

  6. 阿里达摩院python教程真的吗_阿里达摩院推荐的最新400集python教程,据说懂中文就能上手...

    小编的内心是强大的,网友虐我千百遍,我待网友如初恋,因为今天又给大家带来了干货,Python入门教程完整版,完整版啊!完整版! 为了吸取教训,小编一定要分享一下攻略,"怎样获得小编分享的教程 ...

  7. 小学生python编程写游戏_教你如何像玩游戏一样学Python

    原标题:教你如何像玩游戏一样学Python 在编程世界,关于哪个语言是最好的争论从未停止,虽然道理谁也不服谁,但是关于编程的热度,我们可以从TIOBE 编程语言排行榜中得到结果. ▲用Python进行 ...

  8. perl语言入门第七版 电子版_百迈客带您走近生信分析【入门篇】

    年末促销倒计时:59天 百迈客推出年末活动促销,发文有礼.推广有礼以及多种产品钜惠来袭,百迈客为您倾情打造科研福利,您还在等什么?快快行动起来领取您的超级奖励吧!(详情请见"决战2020!品 ...

  9. python爬取工资_找工作如何和HR谈薪资,python教你爬取行业标准工资

    找工作不可避免的要涉及到薪酬问题,如何沟通才能最大程度达到自己的预期? 同样level的公司,有人年薪十几万,有的人插了个草标就把自己卖了,面试中被问到具体的薪资数目.常常会陷入要价太高(或者太低)的 ...

最新文章

  1. dataconnectiondialog mysql_MySQL的DataConnectionDialog
  2. JavaScript [ 转 ] —— 面向对象编程(三):非构造函数的继承
  3. 北理工计算机原理与应用实验,北理工计算机原理与应用实验三教程.docx
  4. SpringIOC容器介绍
  5. AI机器人不认同人类语言 产生自己的交流方式 Facebook关闭了他们的人工智能系统...
  6. 如何编写数据库可视化界面_编写用于数据可视化的替代文本
  7. .net性能测试和优化1 基本概念
  8. MQ java.lang.OutOfMemoryError: unable to create new native thread
  9. php安装sqlserver2008,php53 mssql2008_sqlserver2008安装环境_php mssql库
  10. 远程桌面登陆不上的解决思路
  11. 小米笔记本适合计算机专业吗,小米笔记本性价比如何?该不该买?这篇最客观了。...
  12. HUAWEI 机试题:统计射击比赛成绩
  13. 华硕路由 ac ax_【路由器】华硕网络开启802.11ax电竞生态
  14. linux下安装MySQL遇到的坑
  15. 谷歌地图api 微信小程序_使用Google的融合位置提供程序API进行实时位置跟踪
  16. IOS开发者自带弱网测试工具界面说明NETWORK LINK CONDITIONER
  17. “故宫小书包”公益活动走进四川乡村学校
  18. 如何理解拜占庭将军问题
  19. stm32单片机实现多个闹钟_STM32实现对RTC闹钟唤醒的设计
  20. 毕业设计-互联网 + 背景下基于微信小程序的农产品分销系统

热门文章

  1. 今天来介绍一下什么叫做联盟链,以及如何使用Linux系统调用微众银行主导开展的金链盟(fisco)
  2. JAVA基础要点复习(10)—个人笔记
  3. 2022年软件测试面试题分享
  4. 广东获批建设珠三角国家大数据综合试验区
  5. mongodb集群搭建详情分片+副本集
  6. 淡雅小清新绿色系感恩节介绍PPT模板
  7. 【区间dp】uva10003+ uva 1626 括号匹配问题 【有空自己记忆化写一下!!!】
  8. G003-185-8
  9. 百万用户级游戏服务器架构设计
  10. python networkx教程_python-networkx学习(1)