C语言学习之路
第一章 初始C语言
文章目录
前言
这一系列的文章将以通俗易懂的语言讲解C语言,便于学习者对C语言有更加清晰地理解和认知。希望学习者能够跟随Turing_Sheep开始C语言的学习之路。
一、C语言的发展
1、机器语言:
在生活中,为了传达自己内心的想法或需求,我们会使用语言来表述自己的想法,从而完成人与人之间的互动。借此,我们便可以理解,生活中的人类语言是实现人与人之间交流的工具。推而广之,我们便能够理解,机器语言就是为了实现人与机器之间的交流互动而开发出的工具。
但是,我们要如何实现机器与人之间的交流呢?什么样的交流方式,机器才能听的懂呢?我们不妨从机器的硬件角度出发思考这个问题,我们会发现,在中学时代,我们一直在学习的知识就是电路。电路的连通,就是电脑运行的关键。所以,我们 便可以发现,电信号就是机器能够听得懂的语言,而电信号分为两种,一种是正电,一种是负电。因而,科学家就用数字1代表正电,数字0就代表负电。最终就出现了以数字0,1组成的机器语言。机器语言也是最底层的语言。
2、汇编语言:
随着时间的推广,我们会发现,机器语言是非常复杂的、难以理解的。因此,科学家们为了解决这个问题,就发明了汇编语言。汇编语言会将实现不同功能的机器语言进行封装,并取名,从而帮助人们记忆,书写程序。而所取的名字,也称为助记符。
3、B语言和C语言:
虽然汇编语言在代码的书写和理解上进行了大幅的优化,但是编程的难度依旧较高,编程时并不是相当顺手。为了解决这一难题,许多科学家又进行了大幅的优化,发明了B语言和C语言,但是C语言更为热门与顺畅,因此C语言便流行了起来。
二、第一个C语言程序
1、代码展示
#include<stdio.h>
int main()
{
printf("hello,world\n");
return 0;
}
2.代码的解读
(1)头文件的包含
#include<stdio.h>//stdio==>standerd input output
在刚才的代码演示中,我们会发现在中括号内有一个:printf(" ");
而这个printf()称为一个函数,这个函数的作用就是打印括号内的内容,而这个函数也成为库函数,也就是说这个函数并来源于一个库,倘若我们不包含这个库,那么编译器就不认识这个库中的库函数,因此就无法对其编译。所以包含这个头文件的作用就是,让编译器认识我们在函数主题中调用的函数。
(2)主函数
注意:主函数有且仅有一个。
int main()//返回值类型 函数名称 (形参列表)
{
printf("hello,world\n");//函数主体
return 0;//返回值
}
a、返回值类型:
返回值类型的是指,当一个函数体内部的代码执行完毕后,该函数会给外界一个反馈。比如,在这段代码中,当函数主体中的打印工作完成后,会返回一个整型数据 0。那么这个0的作用起始就是告诉程序员,这段代码执行成功了。我想大家会困惑,什么是整型,整型其实就是我们在高中数学中学到的整数,在编程中,整型是一种数据类型,大家不必担心,在后续的博客中会进行讲解。
其实在不同的函数中,返回值的类型是不同的,返回值的功能也是不同的。那么也存在着这样的一种函数,这类函数并不需要一个返回值,也就是说不存在返回值,那么此时的返回值类型要写为void
。
b、函数名称:
函数名称是区别不同函数的重要标志,同时,函数名称还起到了提示程序员该函数的功能的作用。除了起到区分不同函数功能的作用外,我们还能够通过函数名称调用该函数,那么如何调用呢?在后续的博客中会讲到。
c、形参列表:
在理解形参列表之前,我们不妨先回忆一下高中时代的函数,例如:我们最常见的一次函数 y=2x。在这样一个简单的函数中,x为参数,那么我们随机输入一个值,记为a。那么a经过×2运算后,得到一个y值2a。在这个过程中,a就是参数,传入参数后,执行的x2运算就是函数体,而最终得到的2a就是一个返回值,即执行函数体后给外界的反馈。
回到这里,我们在理解一下什么是形参列表,简而言之,形参列表内填写的是参数,而这个参数就是刚才例子中的x。这个x在填入具体值之前,我们是不知道其具体数据的,因此他只是一个形式上的参数。因此称为形参,而这个括号,就称为形参列表。当我们的函数体内不需要传入参数进行运算时,该列表可以为空。
形参列表内的形参作用,也有很多,例如对特定的变量进行运算,发生函数重载等等。这些在后续的博客中会更新。
d、函数主体:
函数主体就是实现函数功能的地方,就像刚才提到的例子中的x2操作,这一操作就是该函数主体内执行的代码。函数主体是实现函数功能的关键。
e、返回值:
首先,在语法上,一个返回值的前面必须包含关键字:return
。在讲解函数的返回值类型时,我们了解到有些函数可以不需要返回值,那么在这些函数中,我们便不需要写返回值。
返回值的功能有很多,最容易理解的就是对某个参数运算后,得出一个结果反馈给外界,例如刚才例子中提到的2a。除此以外,返回值还有很多其他的功能,在后续的学习中,将有所体会。
三、总结:
在今天的学习中,我们主要了解到了C语言的发展以及第一个C语言程序的书写与剖析。今天,我们也迈出了程序员的第一步。最后送大家一首诗:
《十四行集》(节选)
————冯至
我们准备着
深深地领受
那些意想不到的奇迹,
在漫长的岁月里
忽然有彗星的出现,
狂风乍起: