当前位置 博文首页 > 1_bit 的博客:一万字一篇文20分钟学会C语言和Python,十四年编

    1_bit 的博客:一万字一篇文20分钟学会C语言和Python,十四年编

    作者:[db:作者] 时间:2021-08-12 12:07

    前言

    昨天在直播中有粉丝问我如何快速的对编程语言入门,我想这个问题是有必要让大家知道的,相必也有很多新手对于如何快速完成编程语言的入门学习很感兴趣,本篇文将会使用 C 语言以及 Python 为例,做出对比,让大家对编程语言的共同基础知识点得以了解,方便大家的学习。

    在此我做了一张图,红色标注为 Python 与 C 语言之间的知识点细微差异(指使用上),蓝色标注为较大差异。

    从上图中我们可以发现,Python 与 C 语言两者差异并不明显,80% 内容较为类似;我们接下来将会同时学习这些有共同点的知识点,不过由于篇幅以及本文重心为快速的完成编程语言知识点的学习,所以不再过多的进行深入讲解,若想系统性且轻松的学习可以阅读我对话模式的 Python 教程以及 C 语言教程,分别是《大话系列之C语言》与《大话系列之Python到游戏实战》,同时也有C#教程正在更新《看聊天记录都学不会C#?》,并且C++教程也在计划中。

    欢迎关注我哟~4/14日我还准备开播解答新手问题哟。有问题可以私聊我,我是一个热心博主。

    作者简介

    作者名:1_bit

    简介:CSDN博客专家,2020年博客之星TOP5,蓝桥签约作者。15-16年曾在网上直播,带领一批程序小白走上程序员之路。欢迎各位小白加我咨询我相关信息,迷茫的你会找到答案。

    博客地址:https://i1bit.blog.csdn.net


    一 输出

    此小点系统学习点击《看聊天记录都学不会C语言?太菜了吧(2)我说编程很容易你们不服?跳转
    此小点系统学习点击《看聊天记录都学不会Python到游戏实战?太菜了吧》(1)装载Python神器!亮剑!跳转

    在 Python 与 C 语言中,大多数基础概念相同、用法极其类似,我们先以输出作为例子。python 中使用 print 函数进行输出,而 C 语言使用 printf 函数进行输出,下面贴出两者的使用方式:

    C:

    printf("HelloWorld");
    

    Python:

    print("HelloWorld")
    

    我们从以上的使用方法中肯出,两者极其类似。在编程语言中,或者说在 C 和 Python 中进行基础编程所使用的 printf() 与 print() 其实都是 C 与 Python 所内置的函数,而函数我们可以理解为功能;print 与 printf 都是用于显示,则我们可以理解成 print 与 printf 的功能都是用于显示指定的字符串。字符串在 C 与 Python 之中都可以使用双引号标记,例如“HelloWorld”、“123a31”、“123”、“@!!!!!¥!”等。只要使用了双引号进行标识我们都可以看做是字符串,包括“123”。

    C 与 Python 之中的输出显示分别使用 printf 与 print,其实较为完整的写法应该是在 printf 或 print 后添加一堆圆括号(在编程中所有有功能作用的标点都必须使用英文),printf 与 print 我们称为函数名,我们使用这个函数就直接使用函数名加圆括号即可,圆括号中的内容我们可以称为参数,参数可以理解为做饭时使用拥有做饭功能的电饭锅所加入的米,因为有米才能做饭,在这里有需要显示内容则有指定内容才能显示。在使用 printf 与 print 时,我们在这两个函数的圆括号中传入了我们需要显示的内容,在程序运行时将会显示其内容。

    两者运行后都会在控制台中显示出 HelloWorld:

    在此还要注意一点,在 C 语言中每一句代码结束都需要使用分号进行说明,就像编写文章有标点符号一样,我们需要标点表示一句话的结束;在 Python 中则是使用换行表示这一句代码结束。

    二 变量

    此小点系统学习点击《看聊天记录都学不会C语言?太菜了吧(4)原来我早就会编程了跳转
    此小点系统学习点击《看聊天记录都学不会Python到游戏实战?太菜了吧》(2)在python中加号竟然如此善变跳转

    变量值在程序中用于存储值的容器,例如在一个游戏中使用一个变量存储了当前角色的血量。变量是可以创建多个的,用游戏作为举例,我们可以创建一个变量存储血量、一个变量存储魔法值、一个变量存储怒气值等。C 语言中创建变量需要指定这个变量的存储类型,例如如下代码:

    int a=0;
    

    以上代码表示创建一个变量 a,这个变量 a 是 int 类型的;int 是一个类型修饰符,表示这个变量用于存储整型数据;等于号表示赋值,将等于号右边的值(此处是0),存储至左边的变量 a 中。在此需要注意,a 是变量名称,你可以随意起名(起名也有规则,不过一般情况下不会触发),我们可以创建多个变量。

    在 Python 中创建一个变量不需要指定类型,也不需要添加分号,那么在这里你是否懂的如何在 Python 中创建一个变量了吗?是的,你答对了,例如如下代码:

    a=0
    

    以上则是 python 中创建一个名为 a 的变量,里面所存储的数为 0。

    变量在 C 语言中可以使用 printf进行输出显示其所存储的内容,在 python 语言中可以使用 print 进行变量所存储内容的输出。

    变量输出

    C语言使用 printf 进行变量的内容输出对比 python 较为繁琐,示例如下:

    int a=0;
    printf("%d",a);
    

    以上代码使用了 printf 输出变量 a 中所存储的内容。我们在之前说过,在 printf的圆括号中为指定要输出的内容,在这里使用双引号标识的是 %d,难道会输出 %d 吗?当然不是,在这里 %d 是一个占位符号,表示此处在输出时将会替换成一个值,这个值在双引号后使用逗号进行隔开的第一个值,在这里是变量 a;此时变量 a 表示的是里面所存储的值 0,a 只是这个变量的一个名称,最终将会输出变量 a 所存储的内容。

    我们的变量可以创建多个,在此处我们可以输出多个变量的值,代码如下:

    int a=0;
    int b=10;
    printf("%d %d ",a,b);
    

    此时 printf 中出现了两个 %d,到底这两个 %d 该如何进行输出呢?此时第一个 %d 对应的是双引号后使用逗号所间隔的第一个变量 a 的值,第二个 %d 则会输出双引号后使用逗号间隔的第二个变量 b 的值,如果有多个将会以此类推。

    那 python 是如何对变量进行显示的呢?python 相对于 C 语言来说简单多了,当然也是使用 print,直接使用 print在其圆括号中放入变量即可,示例如下:

    a=10
    b=0
    print(a,b)
    

    如果在 python 中只需要显示一个变量值,那么就填写一个变量就行,多个变量则使用逗号进行间隔。

    C语言变量类型

    在 C 语言中还有多种数据类型,在此以字符类型 char、浮点类型 float 为例:

    int a=0;
    char b='A';
    float tt=3.33;
    printf("%d %c %f ",a,b,tt);
    

    以上代码中,char 为字符类型变量的修饰符,此时变量 b 中存储的是字符数据 A;在 C 语言中字符类型需要 使用单引号标识;之后使用了 float 创建了一个变量 tt,存储的值是 3.33,我们可以理解 float 为小数。

    在输出语句中我们发现了几个不同,出现了 %c 与 %f,其实 %d、%c、%f 我们都称为占位符,%d 表示整数类型占位、%c 表示为字符char 类型占位、%f 表示为浮点进行占位;在此处进行输出显示时不同类型需要对应不同类型的占位符。

    三 输入

    此小点系统学习点击《看聊天记录都学不会C语言?太菜了吧(4)原来我早就会编程了跳转
    此小点系统学习点击《看聊天记录都学不会Python到游戏实战?太菜了吧》(3)都说123是字符不是数字跳转

    输入指从键盘上输入值到计算机中,在此处我们可以理解成从键盘上输入内容至程序之中接收。在 C 语言中使用 scanf 函数用于接收用户从键盘上输入的值,在 Python 中使用 input 接收用户输入的值,并且都可以将用户输入的值存储至某一个变量之中。

    在 C 语言中使用 scanf 示例如下:

    int a=0;
    scanf("%d",&a);
    

    以上代码使用了 scanf 接收用户输入的值,其中 %d 表示将会输入一个整数,这个整数将会存到变量 a 之中。在scanf 中 &a 表示获取变量 a 的地址,& 称为取地址符号;其实这一句代码也很好理解,也就是接收一个值,这个值将会放在变量 a 地址之中,就像送外卖,需要填写地址外卖员才能够将你所买的东西送到家。

    在 python 中接收用户所输入的值依旧非常简单,如下代码:

    b=0
    b=input()
    

    input 是 python 语言中接收用户输入的函数,直接将 input 函数赋值到一个变量即可;此时运行到这一句代码时,input 函数发生作用,等待用户输入一个值确认后存储至 b 变量之中。

    四 判断

    此小点系统学习点击《看聊天记录都学不会C语言?太菜了吧(7)下一篇文章告诉你牛郎是谁跳转
    此小点系统学习点击《看聊天记录都学不会Python到游戏实战?太菜了吧》(4)小白不知道这个知识点将会错漏百出跳转

    在 C 语言与 Python 语言中,判断极为类似,最大的不同在于 C 语言使用花括号表示层级,而 Python 语言使用空格表示层级。

    在 C 语言中 if 语句表示判断一个条件是否成立,例如用户输入一个数,判断这个数是否为指定的一个数:

    int a=0;
    scanf("%d",&a);
    if(a==3){
    	printf("用户输入的是 3 ");
    }
    

    以上代码首先创建了一个变量 a 存储的值是0,随后使用 scanf 接收用户输入的值存储至变量 a中,最后使用 if 语句判断用户输入的值是否为3。

    if 是关键字,我们可以理解关键字为有特殊功能的字符,在这里 if 就是表示接下来需要进行判断了。在 if 关键字后的圆括号中,a==3 表示判断 a 是否等于3.在 C 语言中,使用两个等于号表示判断等于号左右两边的值是否相等;此处,如果该条件成立,那么将会执行圆括号后的花括号内的代码,也就是显示 用户输入的是 3 ,如果条件错误,用户输入的值不是 3 将会什么都不显示。

    在 Python 语言中,同样功能的代码如下:

    a=int(input())
    if a==3:
        print("用户输入的是 3 ")
    

    我们发现以上代码在使用 input 函数时使用了 int() 将 input() 放在其中,这是因为在 python 中 input输入的所有值都将为字符串类型,之前说过“123” 也是字符串,在 Python 中使用了双引号进行标识的值都为字符串类型,此时使用字符串类型与数字 3 进行判断肯定是不对的,所以在此使用 int() 将输入的内容强制转换为整数类型。

    将输入的内容转为数字后,使用 if 进行判断,但是我们可以看到,在 Python 中并没有使用圆括号将条件 a==3 进行包含,这是因为在 Python 中条件都不需要使用圆括号进行包含,使用空格间隔即可;那如何在 Python 中表示条件正确后需要执行的代码呢?此时我们可以使用冒号代替花括号,在条件后使用冒号,随后换一行,在代码语句前加上空格即可,这样便代表了这个语句的层级是属于 if 语句条件执行正确后需要执行的代码。在此处若你想要执行多行代码,只需要使用相同的空格间隔出语句即可,如下:

    a=int(input())
    if a==3:
        print("用户输入的是 3 ")
        print("用户输入的是 3 ")
        print("用户输入的是 3 ")
    

    if else

    在 C 语言与 Python 语言中,还支持当条件判断错误后执行的固定语句,使用esle 关键字即可。

    C语言例:

    int a=0;
    scanf("%d",&a);
    if(a==3){
    	printf("用户输入的是 3 ");
    }else{
    	printf("用户输入的不是 3");
    } 
    

    以上代码当用户输入的值不是 3 时将会执行else 语句后花括号内的代码。

    Python 语言例:

    a=int(input())
    if a==3:
        print("用户输入的是 3 ")
    else:
        print("用户输入的不是 3 ")
    

    以上代码与 C 语言类似,使用 else 表示条件错误后执行的代码,在 Python 中使用冒号替代花括号,使用空格表示了层级。

    if else if

    若当我想判断用户输入的数是 11 还是 3 还是 5时该如何做呢?不用担心,C 语言与 Python 都有提供支持,例如如下代码:

    int a=0;
    scanf("%d",&a);
    if(a==3){
    	printf("用户输入的是 3 ");
    }else if(a==11){
    	printf("用户输入的不是 11");
    }else if(a==5){
    	printf("用户输入的不是 5");
    }else{
    	printf("用户输入是其他数");
    }
    

    以上使用了 else if 判断多个条件,若 a==3 条件不满足则判断 a 是否等于 11,若满足则不执行之后的代码,若a 不等于3、a不等于11并且 a不等于5则会执行 else 语句。以下截图展示了这几种情况:



    那么 Python 也类似,只是将 else if 改成了 elif,其它编写方式同 Python 的 if 语句编写方式一致:

    a=int(input())
    if a==3:
        print("用户输入的是 3 ")
    elif a==11:
        print("用户输入的是 11")
    elif a==5:
        print("用户输入的是 5")
    else:
        print("用户输入是其他数")
    

    五 循环

    此小点系统学习点击《看聊天记录都学不会C语言?太菜了吧》(11)2分钟领悟数组跳转

    循环用于重复执行一个代码块,循环有一个关键字、一个条件、一个循环的代码块。在 C 语言循环中条件使用圆括号、代码块使用花括号包含;在 Python 中循环条件不需要使用圆括号、使用冒号表示代码块的开始。

    while 循环

    C 语言的 while 循环:

    int a=0;
    while(a<10){
    	printf("我在循环...");
    	a++;
    }
    

    以上代码创建了一个变量 a 存储值 0,while 是循环的关键字,那么圆括号括起来的 a<10 则是这个循环执行时所具备的条件,若 a 不小于 10 则不会再进行循环。我们可以查看花括号中的内容,printf 显示 我在循环…,a++ 表示自增1,也就是a 这个变量执行到这个代码将会从原有的值进行加 1计算,由于是在循环中,所以每次循环 a 变量都会加 1,那么总有一次是会大于 10,条件则不会成立,循环不再执行,那么将会显示 10 次 我在循环…,结果如下:

    在 Python 中我们根据其刚述说的规律,可以写出以下代码:

    a=0
    while a<10:
        print("我在循环...")
        a+=1
    

    以上代码着重查看 a+=1,在 Python 中不允许使用 a++这种写法,此处的 a+=1 与 a++ 最终结果一致,那么此时也就完成了 Python 语言的 while 循环编写。

    for 循环

    for 循环在 C 语言与 Python 语言中有一些区别,不过大体一致,首先我们查看 C 语言的 for 循环代码:

    int a;
    for(a=0;a<10;a++){
    	printf("我在循环...");
    }
    

    以上代码 for 为关键字,圆括号中不止条件;a=0为a 变量的定义,也就是可以在for 循环的圆括号中定义参与循环控制变量的值,然后分号结束后第二个内容则为条件,第三个内容为 a++表示每次循环都会加 1;之后的花括号内的代码则为循环内容。

    Python 语言的 for 循环代码如下:

    for i in range(10):
        print("我在循环")
    

    以上代码中 for 为关键字,i in range(10) 这一行代码中 range将会生成一个 0-9 这几个数字,i 是一个变量,这个变量将会自动的去找 range 生成的这几个数字,每次循环找一个,最终找到 range 生成的最后一个数字时循环就结束了。

    break 与 continue

    break 与 continue 均是用于循环控制,若我想循环到第五次时就不再循环可以使用 break。

    C语言示例:

    int a;
    for(a=0;a<10;a++){
    	if(a==5){
    		break;
    	} 
    	printf("我在循环...");
    }
    

    以上代码在循环的代码块中添加了一个 if 判断,如果 a此时的值等于 5,则使用 break,此时将不会再进行循环。结果如下:

    Python 中此功能实现也是使用break,代码如下:

    for i in range