初识C语言2

通过上篇文章,我们可以对C语言有一个简单的认识,接下来就更详细的介绍一下C语言的有关知识。

一   C语言程序

我们将通过下面这个例子,来简单认识一下C语言。de97421ca41045999cfa362a81956a94.png

fcc7b058d0454b5eba96fa2f0ae40a73.png

C语言是由预处理命令,数据声明,一个主函数(main函数),和若干个其他函数组成,从此也可以看出,C语言程序的基本单位是函数编写C语言程序就是编写一个个的函数。

那么什么是预处理命令?

预处理命令

上面的程序中,我们用#include<stdio.h>为预处理命令(包含输入输出头文件)而这种以#开头的命令通常称为预处理命令,如包含命令#include、宏定义命令#define。而在源程序中,这些命令一般称为预处理部分。预处理是C语言的一个重要功能,由预处理程序负责完成。在C语言中有多重预处理命令。再此,简单介绍一下3种常用的预处理功能。

宏定义

宏定义有不带参数的宏定义和带参数的宏定义。

1.不带参数的宏定义

一般形式:

   第一种:#define 宏名

  第二种:#define  宏名   替换文本

宏名,是用户定义的标识符,要符合标识符的命名规则。在宏定义中,宏名一般都用大写字母。

第一种,仅说明宏名对应的标识符被定义。

第二种,用一个简单且见名知意的宏名代表替换文本,替换文本可以是常数、表达式、格式串等。

例如:“#define   PI   3.1415926”,是不带参数的宏定义中的第二种形式,其中用简单的“PI”代表“3.1415926”,在编译预处理时,对所有宏名“PI”,都用宏定义中的“3.1415926”去替换,而,此过程称为   宏替换。

2.带参数的宏定义

C语言允许宏带有参数,在宏定义中的参数称为形式参数,在宏调用中的参数称为实际参数。

带参数宏定义的一般形式:#define    宏名(形参表)   替换文本

例如:#define  S(r)   PI*(r)*(r)          是计算圆面积的带参数宏定义。

 其中,替换文本中含有形参表中的各个形参。

带参宏调用的一般形式:宏名(实参表)

其中,在宏调用时,不仅要宏展开,而且要实参去代换宏定义的形参。

需要注意的是:宏定义不是c语句,不必在行末加分号。宏定义在编译预处理时仅做简单替换,不做任何语法检查。且宏定义常写在开头,函数之前,作为本源文件的一部分,其作用域为宏定义命令起到本源文件结束。宏定义如果要终止其作用域可使用#undef 命令。

文件包含

文件包含命令行的一般形式:#include<文件名>或#include"文件名"

例如:#include<stdio.h>

文件包含的功能是在编译预处理时,将指定文件插入命令行位置取代该命令行,从而将指定文件和当前的源程序连成一个源文件。

一般来说,若要包含的是用户自己编写的文件,一般用双撇号,若包含的是库函数,则用尖括号。

需要注意的是,一个include命令只能指定一个被包含的文件,若要包含多个文件,则需要使用多个include命令。文件包含允许嵌套,即在被包含的文件中又可以包含另一个文件.

条件编译

在简单了解预处理后,我们来介绍一下数据类型吧。再讲数据类型之前我们先了解一下什么是变量。

变量

C语言中把经常变化的值称为变量,而不变的值称为常量。

变量在创建语法形式时是这样的:

       数据类型   变量名

变量的分类

变量可以分为全局变量和局部变量。

全局变量:在大括号外定义的变量。

局部变量:在大括号内定义的变量。局部变量的使用范围是比较局限的,只能在自己所在的范围内使用。

而当局部变量和全局变量同名时,优先使用局部变量。

那么,局部变量和全局变量是怎么存储的?

数据的基本类型

C语言提供了丰富的数据类型,数据类型分为内置类型和自定义类型,这次主要介绍的是内置类型的相关内容。(数据类型按不同的分法也可分为基本类型,构造类型,指针类型和空类型)

内置类型主要有:字符型,整型,浮点型,布尔型。

整型数据

1.整型常量

整型常量就是整型常数,在C语言中,整型常数有十进制、八进制、十六进制3种表达形式。

十进制:如123、-456、5等等。

八进制:大多数以0开头的数,如017表示八进制数17,   017=15(对应的十进制)。

十六进制:大多数以0x开头的数,如0x123表示十六进制数123,其对应是十进制数是291.

2.整型变量

根据数值的范围可以分为短整型,整型,长整型,更长整型、

短整型:short int(或short)

               signed short int (有符号的短整型)

               unsigned short int (无符号的短整型)

整型:int

          signed  int (有符号的整型)

          unsigned  int (无符号的整型)

长整型:long int (或long)

              signed long int (有符号的长整型)

              unsigned long int (无符号的长整型)

更长的整型: long  long int (或long long )

              signed long long int (有符号的更长整型)

              unsigned  long long int (无符号的更长整型)

数据在内存中以二进制形式存放。

字符型数据

 1.字符常量

在C语言中,字符常量是用一对单撇号括起来一个字符。如:'a','6','B'等。

2.字符变量

 字符变量是用来存放字符的,并且只能存放一个字符,而不可以存放若干个字符组成的字符串。

字符变量类型的标识符是char.

编译系统中规定一个字符变量在内存中占一个字节。将一个字符常量赋给字符变量,实际上并不是把字符放到内存单元中,而是把字符对应的ASCII码放到存储单元里。所以,字符型数据在内存中以ASCII码形式存储。

3.浮点型数据

浮点型数据主要描述的是小数。因为小数点的位置是可以浮动的,故称为浮点型。

浮点型数据类型包括float(单精度)、double(双精度)、long double(更大取值范围的浮点型)

4.布尔型

C语言原来并没有为布尔值单独设置一个类型,而是用0表示假,非零值表示真。

在C99中引入了布尔类型,是专门用来表示真假的。

布尔类型的标识:_Bool

布尔类型使用的包含头文件是<stdbool.h>

而布尔类型的取值是true或者false。

#include<stdio.h>
#include<stdbool.h>
int main()
{
    _Bool flag = true;
    if (flag)
    {
        printf("I like C\n");
    }
    return 0;
}

main函数

那么什么是main函数呢?

main函数也被称作主函数。

一个C语言程序总是是从main函数开始执行的,而不论其在整个C语言中的位置如何,main函数可以放在程序的前面、中间或后面,它是程序的入口,一个项目中可以有很多个C文件,但是只能有一个主函数,C语言中,main函数是必不可少的,不论主函数在程序中的位置如何,C语言总是从主函数开始,到主函数结束。C语言程序运营时,会执行main函数的主体部分。

今天的分享就到这里结束啦,谢谢大家的观看。

  • 17
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值