初识C语言----(一)

目录

一.什么是C语言

二.第一个C语言程序

三.数据类型

四.常量、变量

1.常量

①字面常量

②const 修饰的常变量

③#define 定义的标识符常量

④枚举常量

2.变量

2.1定义变量的方法:

2.2变量的分类:

2.3变量的作用域和生命周期


一.什么是C语言

c语言是一门通用的计算机编程语言,广泛用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级储存器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

就像人与人之间的交流语言中文、英文一样,C语言就是人和计算机进行交流的语言。有关C语言的介绍还有很多,这里就不再做一一介绍,大家可以自行查阅。

其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。我用的是Visual Studio 2019.

我们安装好,就打开来写第一个程序吧!

二.第一个C语言程序

#include 
int main()
{printf("hello heiyu\n");printf("heiyu\n");return 0; 
}

这就是我们写的第一个程序啦!我们来Ctrl+F5运行一下。

这就是运行结果了!可以看到,我们成功的打印出了想要的内容,但是很多人都跟我一开始一样,这些都是写的什么?怎么运行出来的,感觉一头雾水。下边我们来说一下这些代码都是什么作用。

第一行#include

include称为文件包含命令,意思是把<>或""内指定的文件包含到本程序中。被包含的文件通常是由系统提供的,扩展名为.h,还有一部分是自己编写的.h文件。

stdio:standard input output.意为C语言的头文件中包括了各个标准库函数的函数原型。

第二行 int main(){}

这句代码是主函数,main就代表主函数,是程序的入口,这个函数返回类型是int,一个函数中main函数有且只有一个。

标准的主函数写法

int  main()
{return 0;
}

第三、四行

printf("hello heiyu\n");
printf("heiyu\n");

这两行代码的意思是在屏幕上打印输出想要的内容,输出用printf,\n是换行的意思,如果我们把第一个后边的\n去掉,就会发现他们输出到了一行。

第五行  return 0; 

这句代码的意思就是函数返回0;上边提到int是返回类型,但是参数是空的,所以这里返回个0,就行了,大家不理解也没关系,后边我们还会提到,大家先记住就可以了。

三.数据类型

char          //字符数据类型
short         //短整型
int           //整形
long          //长整型
long long     //更长的整形
float         //单精度浮点数
double        //双精度浮点数

我们不禁要问,为什么会有这么多数据类型?

存在这么多的类型,可以给我们在使用C语言时更加准确,更加丰富的表示生活中的各种值,例如名字、体重、薪水等等。

char ch = 'heiyu';
int weight = 120;
int salary = 20000;

那么每种数据类型的大小是多少呢?

可以运行下边这段代码试试

#include 
int main()
{printf("%d\n", sizeof(char));printf("%d\n", sizeof(short));printf("%d\n", sizeof(int));printf("%d\n", sizeof(long));printf("%d\n", sizeof(long long));printf("%d\n", sizeof(float));printf("%d\n", sizeof(double));printf("%d\n", sizeof(long double));return 0; }

运行完毕,我们就可以看到各种数据类型的大小了。这里的sizeof的作用是返回一个对象或者类型所占的内存字节数,我们下边会详细提到。

四.常量、变量

常量就是不变的量,像圆周率,性别,血型等等;

变量就是会变化的量,像身高、体重等等。

1.常量

常量分为四种:

①字面常量

//字面常量演示3.14;//字面常量1000;//字面常量

②const 修饰的常变量

 //const 修饰的常变量const float pai = 3.14f;   //这里的pai是const修饰的常变量pai = 5.14;//是不能直接修改的!
上面例子上的 pai 被称为 const 修饰的常变量, const 修饰的常变量在 C 语言中只是在语法层面限制了变量 pai 不能直接被改变,但是 pai 本质上还是一个变量的,所以叫常变量。

③#define 定义的标识符常量

 //#define的标识符常量 演示#define MAX 100printf("max = %d\n", MAX);

define就是定义一个常量,即定义MAX是一个数值为100的常量.

④枚举常量

#include 
enum Sex
{MALE,FEMALE,SECRET
};
//括号中的MALE,FEMALE,SECRET是枚举常量int main()
{
//枚举常量演示printf("%d\n", MALE);printf("%d\n", FEMALE);printf("%d\n", SECRET);//注:枚举常量的默认是从0开始,依次向下递增1的
}

enum是一个关键字,枚举关键字,以后我们会学习关键字的时候学习到;

2.变量

2.1定义变量的方法:

int age = 150;
float weight = 45.5f;
char ch = 'w';

2.2变量的分类:

①局部变量

②全局变量

举个例子来说

#include 
int global = 2019;//全局变量
int main()
{int local = 2018;//局部变量//下面定义的global会不会有问题?int global = 2020;//局部变量printf("global = %d\n", global);return 0; 
}

global = 2019就是全局变量,而下边的 local = 2018;和global = 2020是局部变量,通俗一点来理解,定义在{}之外的变量就是全局变量,定义在{}之内的变量就是局部变量。此外在代码中我们也提到了一个问题,global被定义了两次,那这样子会不会有问题呢?其实这样子是没有问题的,当局部变量和全局变量名字冲突时,局部变量优先,当然黑域在这里还是不建议各位这样子写的,毕竟看起来也很容易混乱,我们还是怎么简单怎么来比较好。

下边我们来写一个代码,计算2个整数的和

#include 
//写一个代码,计算两个整数的和int main()
{int num1 = 0;int num2 = 0;  //初始化//输入两个整数scanf("%d %d", &num1, &num2);//求和int sum = num1 + num2;//输出printf("%d\n", sum);return  0;
}

对变量初始化是为了防止编译器报警告,而且如果不初始化的话,编译器会给他一个随机值,所以我们初始化一下。

printf 函数是输出函数,而我们这里要输入,就要用到另一个输入函数sacnf,scanf("%d %d", &num1, &num2);我们是要把输入的两个反馈给变量 num1和num2,所以我们对他们取地址用&,让计算器知道输入的数是对应的这两个变量。然后我们需要再创建一个变量sum去计算num1和num2的和,最后我们输出sum的值。然后我们运行这段代码会发现编译器报错了,这是为什么呢?我们可以看到错误列表是这样子说明的

 我们来看这个说明,他说scanf这个函数可能不安全,建议我们使用scanf_s来替换,如果我们还想使用scanf 要使用红线划出来的部分,方法很简单,我们将红线标出的部分复制到代码第一行,使用#define

#define _CRT_SECURE_NO_WARNINGS

也就是将此行代码添加到代码第一行就可以了。

此外如果想要一劳永逸以后再用scanf时不用再添加这一行代码的方法大家可以搜索一下,方法有很多这里就不做说明了。

2.3变量的作用域和生命周期

变量的作用域:限定这个名字的可用性代码范围,通俗来说就是在哪里作用哪里就是他的作用域。

1.局部变量的作用域是变量所在的局部范围。

2.全局变量的作用域是整个工程。

变量的生命周期:变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段。

1. 局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。 2. 全局变量的生命周期是:整个程序的生命周期。

以上就是本次分享的内容了,更多的内容我们下次继续。这些就是我对C语言的认识了,第一次写博客还不太熟练,如果有错误希望大家指正,我一定第一时间修改。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部