十分钟如何学会C语言?掌握规律举一反三考试提50分!

前言

上周写了一篇 20 分钟学会 C 语言与Python的文章——《一万字一篇文20分钟学会C语言和Python,十四年编程经验老鸟传授经验之道》,之后见粉丝转了一个话题“十分钟如何学会C语言”,我就在想是否能够十分钟呢?答案是可以的,不过是针对于C语言的一般知识点完成语法入门。不过若你在进行考试时,若发现不会可以用这几个规律对题目进行琢磨,说不定就写出来了。

在C语言中或者很多编程语言在设计时都会遵从一定标准或者说规律,我们接下来先看看其中规律再进行 C 语言的学习吧。

你看得懂这个规律你就已经一般语法入门了

在 C 语言进行一般的语法编写时其实都是遵从了严谨的逻辑,而这些逻辑会在不同的知识点及概念中进行复用,我们就用这些规律对C语言进行学习。以下是总结出的一般语法规律如果你很理解下面的话,那么你已经掌握了大部分的C语言一般语法了:

  1. 双引号引起来的内容为字符串
  2. 函数就是某一个功能,用什么功能用什么函数
  3. 第一次遇见一个有值的内容或容器需对其进行类型的说明
  4. 类型说明放在开头
  5. 有逻辑判断时将条件添加到圆括号中
  6. 一般数学运算方式跟日常生活中的数学运算类型
  7. 一条语句叫做语句,多条语句叫做代码块,不同范围或者层级下的代码块使用花括号进行标记,在数组中用于标记数组内容
  8. 逗号用来分隔
  9. 等于号将右边内容赋值给左边变量
  10. 复杂、简单的表达式就类同于一个数学公式
  11. 一个表达式中若需要输出内容,那么肯定先将这个表达式计算后才最后输出
  12. 所有有功能性的标点符号必须是英文标点
  13. 参数就是给予函数进行运算所必备的传入数据,传入数据一般将内容填写在函数的括号内
  14. 变量就是存储一个值的容器
  15. 数组就是存储多个值的容器
  16. 代码是自上而下的,例如变量需要先创建才可以使用
  17. 占位符顾名思义就是为一个值占据一个位置,也就是帮忙排队真正使用到对应的值的时候将会换成正主
  18. 结构性代码需紧密贴合,中间不能出现其他的代码
  19. 关键字就是表示接下来说明要该关键字进行对应的事件

注:本篇查看对象最好是已经学了C语言一两节课的同学,因为在此篇中将不会讲解代码在哪编写以及用什么软件进行编写等问题。

开始计时正式开始学习

其实以上那几个点就已经包含了很多C语言语法的内容,我们接下来就举例并且适当的进行教学完成 C 语言一般语法的入门。

01 输出显示

根据以上规律中的第二点,想要输出内容那么就需要使用一个可以输出的函数,那么这个输出内容的函数在 C 语言中是 printf();我们的内容若想输出显示 HelloWorld 那么 HelloWorld 是一串字符串,那么根据以上规律的第一点我们写成 “HelloWorld”,那么在这里 “HelloWorld” 跟 printf() 怎么样结合在一起呢?此时我们再看第十三点规律“参数就是给予函数进行运算所必备的传入数据,传入数据一般将内容填写在函数的括号内”,得知,直接将内容填入 printf() 的圆括号中即可:

printf("HelloWorld");

利用以上总结的规律提升学习效率简直易如反掌。

02 变量

变量根据规律中的第十四点我们得知,变量为一个容器,并且可以存值;但是此时我们还需要查看第三点“第一次遇见一个有值的内容或容器需对其进行类型的说明”;我们在创建一个变量时,这个变量是对值进行存储的容器,那么则需要对这个变量进行类型的说明,根据第四点我们得知类型的说明一般放在开头。我们在此举例几个类型说明符:int(整数类型)、char(字符类型)、float(浮点数类型)。这几个类型说明符在第一次创建的时候给予说明,即是创建了这几个类型的变量,创建一个变量的一般格式如下:

int 变量名称=变量值

根据以上的格式我们将变量名称改为 abc则是创建了一个名为 abc 的整数类型的变量,那么里面存储的值肯定为整数;等于号可以从第九点规律中得知这就是将右边的变量值存储到左边的变量中,那么代码就可以写成:

int abc=10;

03 变量输出

变量输出意思则是将变量进行显示,显示我们使用可以用作显示的函数 printf(),假设此时我们有一个变量 abc所存储的值是10,那么显示代码是直接写成这样吗:

printf(abc);

这是不对的,那是这样吗?

printf("abc");

这样也是错的,这样直接显示了 abc 这个字符串,那么我们该怎么做呢?这个时候看规律的17点,我们需要使用占位符。不同类型使用的占位符不同,每个类型对应一种,或者你可以理解为占位符就是这些变量的男朋友,逛街累了就需要他们去排队,排完队了正式买东西女主才过来挑。在这里 abc 是 int 整数类型,整数类型的占位符为 %d,那直接输出 %d 就行:

printf("%d")

那这样对不对?当然不对了,他女朋友哪去了呢?所以在这里我们需要指定一下他的女朋友;我们看规律的第八点,用逗号进行间隔。我们也不需要隔多远,在双引号外用逗号隔开就行,双引号内就像排队的队列,双引号外就是等待的“女朋友”们。

printf("%d",abc)

为什么我刚刚说是“女朋友”们?那是因为不能让女生累这所以就一堆男性朋友都去排队去了。假如现在有3个变量,分别是 abc、a1、a3,他们都是整数类型,如何输出呢?那你就看下面的代码了:

printf("%d --- %d --- %d",abc,a1,a3)

以上代码中的 — 会照原样输出显示,因为这些都是自己去为自己去排队的,那么在 printf 中的这三个 %d 是怎么对应的呢?第一个 %d 就是对应 abc,第二个就是对应 a1 然后依次类推,最后结果如下:

这一小点完整的代码如下:

int abc=0;
int a1=10;
int a3=20;
printf("%d --- %d --- %d",abc,a1,a3);

04 逻辑判断

逻辑判断就是一个情形下条件是否成立从而执行不同的流程。例如明天天气好就去打球,天气不好就在家打游戏,天气好和天气不好就是条件,那么用 C 语言的逻辑判断语句如何表示呢?看下面这个一般的语法标准:

if(条件){错了干什么这里打代码
}else{对了干什么这里打代码
}

以上这个格式其中 if 就是表示接下来要进行逻辑判断,从第五点得知,逻辑判断条件就是放在圆括号之中的,再接着从第七点中得知,花括号内编写的则是代码块,我们可以在其中编写多条代码。

我们可以根据以上的格式编写如下代码:

int a=3;
if(a==3){printf("a 是 3 ");
}else{printf("a 不是 3 ");
}

那以上的代码我们就应该很清楚了,if 是逻辑判断,那么圆括号内的就是表示条件花括号内的就是表示条件是否正确从而执行的不同代码。在 C 语言中使用两个等于号表示判断等于号左边内容值是否与右边内容值相等。

我们也可以去掉 else 部分,这样如果条件 a==3 判断错误将不会执行别的内容,由此得知 else{} 就表示条件错误后需要执行的部分,而花括号内的代码则是条件错误后具体需要执行的内容。

在此我们还可以判断多个条件:

int a=5;
if(a==3){printf("a 是 3 ");
}else if(a==4){printf("a 是 4 ");
}else if(a==5){printf("a 是 5 ");
}else{printf("a 不是 3 ");
}

以上出现了一个 else if,这又是什么呢?其实就是判断这个变量 a 如果不等于 3 就继续下一个条件判断,判断成功就只执行其中一个流程内的代码,随后跳出整个 if 结构。

在这里插入图片描述

在此注意,根据规律十八点说明,结构之间必须紧密贴合不能够在在中间打其他的代码哟,例如下面这个就是错的:

int a=5;
if(a==3){printf("a 是 3 ");
}else if(a==4){printf("a 是 4 ");
}
int b=0;
else if(a==5){`在这里插入代码片`printf("a 是 5 ");
}else{printf("a 不是 3 ");
}

05 循环

在 C 语言中我们有 while 循环、for 循环等,在此用这两个举例。while 和 for 都是关键字,根据规律十九点我们可以得知,while 就是表示开始循环,那么在此处我可以告诉你,最简单的循环是由一个关键字、一个条件和对应代码块组成的。条件根据规律第五点知道是需要放在圆括号内,随后再看规律第七点,花括号内表示需要执行的代码块,那么查看以下示例:

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

那么就可以很清楚的知道 while 就是表示要开始循环,圆括号内的条件是 a<10,这是这个循环执行的时候需要判断的条件,若这个条件错了那么则不再进行循环,最后再看花括号内的代码,输出显示 “我在循环…” 这个字符串;在这里需要说一下 a++,a++表示a这个变量自己自增加1,意思就是a最开始是0,自增1后那就是1了,随后每次循环都执行一次,知道 a<10 这个条件不对则不再进行循环。

那还有一个 for 循环呢?for循环也很简单,不过跟 while 循环会有一定的差别。

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

以上代码中,for 表示循环,但是在圆括号后中不止有条件。圆括号中的 a=0 表示第一次循环执行一次 a=0,也就是把 0 存储到 a 变量中,a<10 肯定是条件了,随后 a ++ 则是表示每次循环 a 就会加1。

以上结果跟 for 循环的结果都一致。

06 数组

我们可以从第十五点规律中得知,数组就是存储多个值的容器,那么创建一个容器肯定要说明类型,然后给予一个数组名,最后给予一个内容,我们可以根据第七条规律得知,数组的内容是使用花括号标记的,那具体如何写呢?我们可以查看一下格式:

类型 数组名[]={1,2}

从以上格式中我们可以得知,开头就是类型,随后就是数组名,在数组名右侧是有一个方括号,表示这个是数组,随后等于号右边用花括号将其值进行了引入,并且不同值之间使用了逗号进行分隔。那我们现在看一个C语言的数组代码:

int a[]={9,6,3,2,5,8,7,4,1,0};

以上代码中创建了一个整型数组 a,里面存储了 9,6,3,2,5,8,7,4,1,0 ,他们之间使用了逗号进行分隔。

那我现在想显示这个数组内容怎么办?很简单,使用 printf() 函数呗,由于我们这个数组值的类型是整型,肯定使用 %d 作为占位符,那么这样写肯定是没错的:

printf("%d ");

那接下来怎么写呢?我们如果这个时候想显示第一个元素也就是 9,那怎么显示?这时通过一个叫做下标的知识点就可以完成了。例如 a[0]就表示9,a[1]就表示6,a[2]就表示3,从0开始依次递增:

int a[]={9,6,3,2,5,8,7,4,1,0};
printf("%d ",a[2]);

07 自定义函数

自定义函数跟变量声明一样,类型说明符要放开头,可以查看第四点规律。自定义函数的格式如下:

类型说明符 函数名(){函数体代码
}

函数是一个功能,那么自定义函数就是自己去写一个功能,在此我编写一个自定义函数,该自定义函数的功能就是返回一个值:

int r1(int a,int b){return a+b;
}

以上函数 int 表示返回值是整数类型,r1 是这个函数的名称,圆括号内是参数;int a和 int b 表示接收两个类型的函数,但是接收后需要有一个标记去引用,在这里就是对这两个函数进行命名为a和b,他们之间使用逗号进行间隔,规律符合第八点规律;随后在花括号中编写这个函数的函数代码,符合第七点规律;在花括号内 return 表示将 a+b 的结果进行返回,你若传入两个数字一个是 11 一个是 2 那么将会返回3,如下完整代码示例:

#include<stdio.h>int r1(int a,int b){return a+b;
}int main(){int a;a=r1(11,2);printf("%d ",a);
}

在函数中 return a+b 其中 a+b 就是表达式,将会先计算,最后再返回,符合第十一点规律。在使用函数时使用函数名进行调用,传入的值使用逗号进行间隔,最终将会返回出来赋值给a变量;其实 a=r1(11,2); 这一行代码也符合规律第十一点,将会先进行函数的内容最后才会返回出来。

08 结构体

结构体其实就是一种复合的数据类型,使用一个结构体,你可以为结构体内的元素进行赋值从而定义一种类型的不同属性。结构体也非常符合之前函数、变量创建的方式,我们先看一个代码:

struct human{int age;char sex;char name;
} ;
struct human xiaoming; 

以上代码 struct 就是结构体的一个关键字,human 就是这个机构体名,花括号内就是结构体的复合元素,在这里有整型变量 age、字符类型 sex以及字符类型 name,在花括号结尾再添加分号表示结束即可。

那么此时 human 就是表示一个结构体或者说是你自己创建的一种数据类型;之前我们说过直接使用数据类型修饰一个变量就可以了,不过在结构体中你还需要表示这个是个结构体变量,所以在开头加一个 struct 进行标记写成 struct human xiaoming; 。

那如何使用呢?我们看以下的示例:

#include<stdio.h>void main(){struct human{int age;char sex;char name;} ;struct human xiaoming; xiaoming.age=10;xiaoming.sex='T';xiaoming.name='M';printf(" age 为:%d\n",xiaoming.age);printf(" sex 为:%c\n",xiaoming.sex);printf(" name 为:%c\n",xiaoming.name);
}

以上代码中 %c 则表示为字符类型数据进行占位,xiaoming.age 表示xiaoming 这个使用这个结构体变量之中的 age 属性并且赋值为 10;xiaoming.sex=‘T’; 则表示给 sex 属性赋值为 T,在 C 语言中字符数据是使用单引号进行表示的。

完整入门教程

如果想进行较为完整且简单的学习可以参照以下教程。

目录

《看聊天记录都学不会C语言?太菜了吧》(22)(必懂!题解 1-100 内素数)素数原来是质数!为什么你不早说!——(必懂!题解)求素数

《看聊天记录都学不会C语言?太菜了吧》(21)(必懂!题解冒泡排序)在现实生活中,打擂台比赛争名次竟用的是冒泡排序?——(必懂!题解)冒泡必懂

《看聊天记录都学不会C语言?太菜了吧》(20)(必懂!题解指定天数)我能知道2000年后的这个月一共有几天——(必懂!题解)我能知道2000年后的这个月一共有几天

《看聊天记录都学不会C语言?太菜了吧》(19)巩固开始,数字1、2、3、4能够组成多少个 3 位数的不同的排列——巩固1

《看聊天记录都学不会C语言?太菜了吧》(18)2分钟搞结构体——结构体

看聊天记录都学不会C语言?太菜了吧》(17)5分钟搞懂指针与多重指针——指针与多重指针

《看聊天记录都学不会C语言?太菜了吧》(16)我一直以为校花很漂亮,直到我叫了她一声…——生命空间、命名规则

《看聊天记录都学不会C语言?太菜了吧》(15)你学了一节课的函数我5分钟搞定了,还很熟——自定义函数传参、返回值

《看聊天记录都学不会C语言?太菜了吧》(14)这么神奇?我写了20行代码竟然一行就可以搞定?——自定义函数

《看聊天记录都学不会C语言?太菜了吧》(13)(9*9 乘法表)寻找电脑中的盲盒彩蛋——for 循环与循环嵌套 九九乘法表

《看聊天记录都学不会C语言?太菜了吧》(12)循环有多容易?你看一眼就怀…——循环

《看聊天记录都学不会C语言?太菜了吧》(11)2分钟领悟数组——数组

《看聊天记录都学不会C语言?太菜了吧》(10)程序媛聪明绝顶了——逻辑与运算符

《看聊天记录都学不会C语言?太菜了吧》(9)老公饼真的有老公送?——字符数组

《看聊天记录都学不会C语言?太菜了吧》(8)牛郎和织女竟有一个孩子?——多条件if

《看聊天记录都学不会C语言?太菜了吧(7)下一篇文章告诉你牛郎是谁——if逻辑判断

《看聊天记录都学不会C语言?太菜了吧(6)以前跟我说编程很难的给我站出来——浮点数及变量运算

《看聊天记录都学不会C语言?太菜了吧(5)打了一把游戏我学会了一个编程知识?——变量输出及占位符

《看聊天记录都学不会C语言?太菜了吧(4)原来我早就会编程了——变量

《看聊天记录都学不会C语言?太菜了吧(3)代码都在谈恋爱难道你不知道?——头文件及标点

《看聊天记录都学不会C语言?太菜了吧(2)我说编程很容易你们不服?——Devc使用及HelloWorld

《看聊天记录都学不会C语言?太菜了吧(1)我在大佬群里问基础问题没人理?——学习建议

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/287117.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c语言在win8系统不兼容,Win8系统中存在不兼容软件如何解决?

最近有刚升级Win8系统的用户反映&#xff0c;FastStone Capture截图软件在Win7系统中可以兼容&#xff0c;正常打开&#xff0c;可是在Win8系统中就不能兼容了&#xff0c;这让用户非常烦恼。那么&#xff0c;Win8系统中存在不兼容软件如何解决呢&#xff1f;下面&#xff0c;我…

Python 3.6出现报错解决方案:No Python 3.6 installation was detected,无法卸载Python

卸载Python 3.6时错误提示&#xff0c;No Python 3.6 installation was detected。 解决办法是&#xff0c;先右键→更改→Repair。 然后再卸载&#xff0c;完成&#xff01;

MASA Auth - 权限设计

权限术语Subject&#xff1a;用户&#xff0c;用户组Action&#xff1a;对Object的操作&#xff0c;如增删改查等Object&#xff1a;权限作用的对象&#xff0c;也可以理解为资源Effect&#xff1a;规则的作用&#xff0c;如允许&#xff0c;拒绝Condition&#xff1a;生效条件…

【必懂】C语言水仙花数题解

若是大一学子或者是真心想学习刚入门的小伙伴可以私聊我&#xff0c;若你是真心学习可以送你书籍&#xff0c;指导你学习&#xff0c;给予你目标方向的学习路线&#xff0c;无套路&#xff0c;博客为证。 前言 本专栏内容将会以轻松、简单的方式完成习题的解答&#xff0c;用…

【ArcGIS风暴】ArcGIS 10.8中计算体积的方法总结

ArcGIS 10.8提供了表面体积和面体积两种计算体积的方法。 一、表面体积 用途:用于计算表面和参考平面之间区域的面积和体积。 Situation 1:参考面以上 Situation 2:参考面以下 Python脚本: import arcpy from arcpy import envarcpy.CheckOutExtension("3D")…

.NET7:更细致的时间

当年在做go时&#xff0c;很羡慕它的时间有微秒&#xff0c;纳秒&#xff0c;在做性能优化时&#xff0c;能很小颗粒度的查看引入方法执行的时间&#xff0c;当时.net的DateTime只有毫秒&#xff08;虽然也有别的办法获取&#xff09;。现在&#xff0c;在最新的.NET7 Preview4…

案例:无人测量船水库水下地形测量及库容量计算

本文讲解利用南方方洲号无人船,该系统可用于水下地形地貌测绘、水库库容测量、水文勘测、疏浚检测、水环境监测等领域。 一、无人船水深测量 1、水岸线范围的获取 水岸线有助于布设航线,获取方式有两种: (1)无人船获取 对于

小米android系统耗电量大,小米手机耗电快的解决方法,亲测有效~

原标题&#xff1a;小米手机耗电快的解决方法&#xff0c;亲测有效~各位机友大家好&#xff0c;据小安观察&#xff0c;平台故障报修的小米手机用户还会蛮多的。那么今天就来讲讲小米手机的一些问题和解决方法&#xff0c;如果你感觉手机耗电较快&#xff0c;按照以下方式排查&…

【小白必懂】C语言最大、最小公约数题解

若是大一学子或者是真心想学习刚入门的小伙伴可以私聊我&#xff0c;若你是真心学习可以送你书籍&#xff0c;指导你学习&#xff0c;给予你目标方向的学习路线&#xff0c;无套路&#xff0c;博客为证。 前言 本专栏内容将会以轻松、简单的方式完成习题的解答&#xff0c;用…

如何为微服务选择正确的消息队列

微服务及消息队列简史自从 Peter Rodgers 博士 2005 年在 Web Services Edge 会议上首次提出 Micro-Web-Services 一词后&#xff0c;IT 行业慢慢地从单体架构转向了微服务。2009 年&#xff0c;Netflix 决定把其单体架构拆分为微服务。2010 年&#xff0c;Best Buy 开始把它们…

【小白必懂】C语言回文数判断

若是大一学子或者是真心想学习刚入门的小伙伴可以私聊我&#xff0c;若你是真心学习可以送你书籍&#xff0c;指导你学习&#xff0c;给予你目标方向的学习路线&#xff0c;无套路&#xff0c;博客为证。 情景再现 &#x1f478;小媛&#xff1a;小C&#xff0c;今天可以教我…

『技术群里聊些啥』查看 dotnet 源码,用它!用它!用它!

前言有网友在交流群中询问&#xff0c;怎么找到 System.Linq 源码的库&#xff1a;其实&#xff0c;我一直使用http://source.dot.net查看 dotnet 源码&#xff0c;这可是David Fowler&#xff08;微软 .NET 架构师&#xff09;也推荐的&#xff1a;功能演示那它到底有哪些功能…

(7)3分钟搞定 C# 逻辑运算

本系列文章将会以通俗易懂的对话方式进行教学&#xff0c;对话中将涵盖了新手在学习中的一般问题。此系列将会持续更新&#xff0c;包括别的语言以及实战都将使用对话的方式进行教学&#xff0c;基础编程语言教学适用于零基础小白&#xff0c;之后实战课程也将会逐步更新。 若…

【经典回放】多种语言系列数据结构算法:二叉树(C#版)

实验任务描述 1 用C#语言完成二叉树的类、并构造出一个二叉树; 2 用递归方法完成二叉树的遍历; 3 泛型的二叉树遍历之一、用队列给出遍历结果 4 泛型的二叉树遍历之二、委托方式给出二叉树遍历结果 1 二叉树类的设计 同C语言一样,要构建一个二叉树,要用到类似struct的东西…

ThinkPHP讲解(十二)——文本编辑器和ajax传址

一、文本编辑器 1.首先&#xff0c;在网上下载ueditor文件 2.在要添加文本编辑器的页面中引用ueditor文件中的js文件 <script type"text/javascript" charset"utf-8" src"../ueditor/utf8-php/ueditor.config.js"></script> <scr…

(8)小白又如何?3分钟搞定一个 C# 知识点

本系列文章将会以通俗易懂的对话方式进行教学&#xff0c;对话中将涵盖了新手在学习中的一般问题。此系列将会持续更新&#xff0c;包括别的语言以及实战都将使用对话的方式进行教学&#xff0c;基础编程语言教学适用于零基础小白&#xff0c;之后实战课程也将会逐步更新。 若…

华为鸿蒙vogtloop30pro价格,华为Mate30系列基本确认:首发麒麟985+鸿蒙系统,价格感人!...

原标题&#xff1a;华为Mate30系列基本确认&#xff1a;首发麒麟985鸿蒙系统&#xff0c;价格感人&#xff01;转眼间即将步入6月份&#xff0c;近期关于各大厂商下半年的新机消息也是多了起来&#xff0c;就拿华为下半年的高端旗舰华为Mate30系列来说&#xff0c;在各方媒体的…

(11)python里面while到底有多少知识点

本系列文章将会以通俗易懂的对话方式进行教学&#xff0c;对话中将涵盖了新手在学习中的一般问题。此系列将会持续更新&#xff0c;包括别的语言以及实战都将使用对话的方式进行教学&#xff0c;基础编程语言教学适用于零基础小白&#xff0c;之后实战课程也将会逐步更新。 若…

【经典回放】多种语言系列数据结构算法:二叉树(JavaScript版)

1 二叉树类的设计以及二叉树遍历 要完成二叉树的类设计&#xff0c;最好把链表下的Node.js复制过来&#xff0c;相比链表的结点&#xff0c;二叉树仅仅是多了一个结点指针而已。略加修改后&#xff0c;就是&#xff1a; function TNODE(DATA) { this.DataDATA; this.lChildnu…

Fiddler之解决https链接返回数据显示乱码问题

1 、问题 我网页访问淘宝&#xff0c;然后F12查看关键链接&#xff0c;返回的数据里面有json各式的数据&#xff0c;然后我通过关键字在Fiddler里面找到链接&#xff0c;然后查看返回的内容是乱码。 2 、解决办法 然后这样设置&#xff0c;再去查看SyntaxView或者Raw都可以看到…