C系列(1)----C语言基本概念

经过几个月对C语言的学习,施律.打算对c语言的内容通过博客的形式作一个较为详细的讲述。本系列的博客有20余篇(暂定)。2-3天更新一篇。篇与篇之间的联系还是比较大的,会出现前后穿插的现象。希望正在学c的小伙伴或者已经进攻其他技术的大佬能给予施律.多多的支持!本篇博客的难度系数较低,但不用担心后续的内容将会更加充实更加精彩!话不多说,这就开始今天的讲解----C语言基本概念

目录

简单的C程序

编译和链接

注释

变量和赋值

易错但极易掌握的标识符

关键字


简单的C程序

world.c

#include <stdio.h>


int main(void)
{    
    printf("Hello world!");
    return 0;
}

这是一个简单的C程序,看似简单实则其中蕴含的内容却并不简单(编译和链接)。

#include <stdio.h>是必不可少的,它包含了C语言标准输入/输出库的相关信息。main函数中的第一行代码是你想表达的内容。printf函数来自标准输入/输出库(不是这篇的主要内容将会在后续内容中介绍),可以产生格式化输出。代码\n是一个转义字符,告诉printf函数执行完消息显示后要进行换行操作。第二行代码return 0;表明程序终止时会向操作系统返回0。(return 0也可以写成exit(0)哦,这两种是完全等价的)

有的程序猿心中或许有这样的疑惑:我在平常打代码的过程中忽略了return 0;程序依旧能运行,那return 0;应该不是必需的吧。   确实,return语句并不是必需的;如果没有return语句,程序一样会终止。在c89中,返回给操作系统的值是未定义的。在c99中,如果main函数声明中的返回类型是int,程序会向操作系统返回0;否则程序会返回一个不确定的值

编译和链接

上述说到简单的C程序并不简单,实际上是因为编译和链接。初级程序猿在敲代码的过程中可能不会去思考机器是如何运行的。首先,需要生成一个含有程序world.c的文件。当然,文件的名字是无关紧要的,但是编译器通常要求带上文件的扩展名.c

对于C程序来说,其转化为机器可执行的形式通常包含三个步骤,即预处理、编译、链接

预处理:首先程序会被送交给预处理器。预处理器执行以#开头的命令。预处理器有点类似于编译i,它可以给程序添加内容,也可以对程序进行修改。

编译:类似于人类中的翻译官,这只不过是讲程序中的转化为机器语言。
链接:把由编译器产生的目标代码和所需的其他附加代码(主要是库函数)整合在一起,这样才最终产生了完全可执行的程序。

注释

先来说下C89的风格/*   */。符号/*标记注释的开始,而符号*/则标记注释的结束。例如:

/* I am iron man. */

注释能出现在程序中的任何位置上。当然,注释并不只有消除代码的作用,它还能对你所写的代码作个讲解,这类注释也被称为"翼型注释"

C89的注释风格还是由潜在危险的,如果忘记终止注释可能会导致编译器忽略重要的一部分,请观看以下代码:

printf("I ");  /* balabala.....
printf("am ");
printf("iron "); /* balabala */
printf("man.");

该段代码最终显示结果是I man.。因为在第一条注释中遗漏了结束标语,所以编译器忽略掉了中间的两条语句。

C99提供了另一种注释,也是现在各种编译器所使用的,以//开始:

//I am iron man.

这种风格的注释会在行末自动终止。如果要取消任意行的注释,只需要在该代码行前加上//。这类注释很好地避免了C89中出现的情况。

变量和赋值

大多数程序在产生输出之前往往需要执行一系列计算,因此需要在程序执行过程中有一种临时存储数据的方法,这些存储单元被称为变量。本篇博客只讲述int类型变量和float类型变量。

int型变量可以存储整数,如0、、44、-2555。但是存储的数是受限制的,最大的整数通常是2147483647。

float型变量可以存储比int型变量大很多的数值。而且,float型变量可以存储带小数位数,如66.666f.(当讲一个常数赋值给float型变量)但float型变量在进行算数运算时会比int型慢;更重要的是float型变量所存储的数值往往知识实际数值的一个近似值。

变量通过赋值的方式获得值。例如:

a = 2;
b = 3;
c = 4;

把2 3 4分别赋值给a b c。

变量在赋值或以其他方式使用之前必须先声明。也就是说下面的例子是不行的哦。

a = 2;
int a;

易错但极易掌握的标识符

在编写程序时,需要对变量、函数、宏和其他实体进行命名,这些名字就叫做标识符。很多新手程序猿在看书的过程中并没有注重书中的细节或者听课没听到重点,就会在平常练习标识符类题目中屡次碰壁。

在c语言中,标识符可以含有字母、数字和下划线(但关键字不能作为标识符来使用,比如int short inline这些关键字),但是必须要以字母或者下划线开头哦。看下面例子:

 A、B选项都是以字母开头,D选项是以下划线开头,然而C选项是以数字开头的,故C错。这类题目其实很简单的,只要掌握方法就是来一题灭一题。

但C语言是区分大小写的,也就是说,在标识符中C语言区别大写字母和小写字母。例如,下列标识符是不同的:

shilv_
Shilv_
shIlv_

大小写不同,其所含的意义也不同。

有的程序猿心中或许有这样的疑惑:标识符的长度有没有限制呢?答案是有,但不完全有!这跟编译器有关,在这里并不细讨。

关键字

本篇博客主要介绍了int类型和float类型,剩下的关键字将在以后的博客中一一分享给大家。

感谢能阅读到这的你,如果觉得这篇博客对你有帮助的话,请留下你的点赞与收藏哦!未来的几个月里施律.将会陪你们一起翻越C语言这座大山!
 

猜你喜欢

转载自blog.csdn.net/qq_64263760/article/details/122728667