lesson1: 二次学习C——解读C语言的基本结构

        大学接触过C语言,当时写过一些代码,但是都是为了考试,学得云里雾里,主要是因为学习的角度和思维不对,因为习惯用自己的语言思维去学习理解C语言,所以怎么都学不通。

       后来,基础了C#编程语言,然后才开始明白面向过程和面向对象的思维方式的差异。而C语言偏向底层,特别是指针那块是比较难学的,如果一开始学习C的话,会很没有意思。建议大家先学习C#,Java这种应用型的高级语言,制作一些Demo, 会发现特别好玩有趣,这样可以激发我们对计算机编程的兴趣,这样可以方便我们更好地入门。

      现在,我是因为求职需要,所以重新学习C语言。经过前期的学习,我才明白一点: 学习计算机语言,必须把自己的思维当作是一台计算机编译器 ,而不是一个人通常的自然语言。我一直觉得,编写编译器的那些人是很厉害的,因为它是将我们编写的代码转化成计算机底层的代码,然后再执行一些操作。

       跟以前一样,编写的第一个简单程序如下:  
   
#include<stdio.h> //使用printf库函数之前,必须include<stdio.h> 
int main()  //函数名 
{
	printf("我要重新自学C语言!");  //打印这么一行文字 	
	return 0;  //返回值 
}

     现在,我们加入自己是一台扫描机,一行一行地扫描代码,以计算机的角度理解代码的含义。

     第一行:
#include<stdio.h>
    
       这句话是以#开头,#号肯定告诉我们这句话是想表达后面的语句是特殊语句。include英文是包含的意思,就相当于它像仓库,可以包含容纳很多的东西,所以stdio.h肯定是仓库的东西,这个东西肯定可以干很多的事情,有很多功能。其实,计算机里的功能其实就是数学里面的函数。 

    那么问题来了,如何去掉它行不行呢?答案是肯定行不通,因为没有库,对于编译器来说,根本就是空的,除非你接下来编写的代码是可以直接编译的,所以对库的了解是非常重要的,所以学习需要了解库stdio.h里面的代码和函数,这些应该是一些大牛和前辈们编写后,统一通用的东西。不得不说,懂编译器和库函数的人还是很有水平的,特别是里面代码的规范,扯远了...

     所以说,include头文件:

        include是要告诉编译器,包含一个头文件,

       在C语言当中,任何库函数调用都需要提前包含头文件

     <头文件>,代表让C语言编译器去系统目录下寻找相关的头文件

      “头文件”,代表让C语言编译器去用户当前目录下寻找相关头文件

       如果是使用了一个C语言库函数需要的头文件,那么一定是#include <>    //这是C的规范,在C++里面,形式上好像不一样

       如果使用了一个自定义的h文件,那么一定是#include “”

       

        第二行:

int main()  //函数名 

       int其实是整数英文单词的缩写,是告诉这个main函数的类型。那为何需要这个呢?

        我个人理解是:int其实是让计算机预定好一部分存储空间,用来存储下面的函数信息;

       main函数其实是代码运行的入口标志,就是运行时,编译器立即寻找到关键字“main”这个标志,然后从这个标志往下运行,这也启示我们写程序的时候,逻辑一定是从main函数的。

       括号里面的内容就是函数的内容。


       第四行:

	printf("我要重新自学C语言!");  //打印这么一行文字 	
       这个就是调用库函数中的printf函数,执行它的功能,就是在屏幕中显示:我要重新自学C语言!

      第五行:

return 0;  //返回值 
     这行的return,大家都知道是返回的意思,为何需要这个东西,其实有点像终止的标志,就是告诉这函数运行结束的意思。如果函数是空类型,就不需要这个返回操作了。

     有一句话是这么说的:函数遇到return就表示终止的意思。如果回复-1,就代表是失败的。

      而0只是整数的代表,也可以替换成100。

      其实这与函数的类型是一一对应的。


       这个就构成了C语言程序的基本结构。

 

       以上均为个人的理解,可能存在偏差或错误,希望各位多多指教,我是老和山下的小学童。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值