哈喽,大家好,我是冰淇淋加点糖。本篇文章我来串一下C语言的基础知识,帮助需要快速了解C语言的同学,做一个对C语言的简单了解。
什么是C语言?
C语言是一门通用的计算机编程语言。我们平常说的中文是用来进行人与人之间的对话,而C语言相当于程序员与计算机的对话。C语言是一种面向过程的语言,具有良好的跨平台特性。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。常用的编译器有gcc,msvc等。
第一个C语言程序
#include<stdio.h>
int main()
{
printf("hello world");
return 0;
}
运行结果如下图:
上述代码中,#表示预处理;include导入一个头文件。头文件stdio.h中包含printf函数,所以能供调用这个函数在控制台中输出“hello world”的字符串。然后main函数是C语言程序的程序入口,可执行的C语言程序,必须有且只有一个main函数。C语言中也必须有return 0;当程序正常运行之后,正常退出,返回代码0.
C语言中的数据类型
C语言中有多种数据类型,也是为了适应更加丰富的使用场景。C语言钟的数据类型有char、int、long、short、long long、float、double。各种数据类型所占用的字节数也如下。
#include<stdio.h>
int main()
{
//sizeof是运算符,不是函数!!!!用来计算某个类型占据多少字节
printf("char 类型的大小为 %d 字节\n",sizeof(char));
printf("int 类型的大小为 %d 字节\n", sizeof(int));
printf("long 类型的大小为 %d 字节\n", sizeof(long));
printf("short 类型的大小为 %d 字节\n", sizeof(short));
printf("long long 类型的大小为 %d 字节\n", sizeof(long long));
printf("float 类型的大小为 %d 字节\n", sizeof(float));
printf("double 类型的大小为 %d 字节\n", sizeof(double));
return 0;
}
数据类型的使用也很简单,类型+空格+变量名 = 值。就可以声明一个变量。例如:
#include<stdio.h>
int main()
{
char last_name = 'L';
char first_name = 'X';
int age = 18;
printf("%c%c,age=%d\n",last_name,first_name,age);
return 0;
}
变量的使用
变量分为两种类型,全局变量和局部变量。下面我将介绍这两种变量的使用及其作用域。
#include<stdio.h>
int global = 6666;
void print_global()
{
printf("global = %d\n", global);
}
int main()
{
int local = 9999;
printf("global = %d\n",global);
printf("local = %d\n", local);
print_global();
return 0;
}
上述代码定义了一个全局变量global和一个局部变量local。并且写了一个新的函数打印global全局变量。代码执行结果如下,可见,在main函数的内部,全局变量和局部变量都能被输出。 重新定义的函数也能输出全局变量。、
如果此时,我定义一个函数,能不能在这个新函数中,打印出局部变量local的值呢?我们来试试。结果如下图。visual studio非常聪明,它说发生了错误,可见,局部变量只能在定义该局部变量的函数中使用。
#include<stdio.h>
int global = 6666;
void print_local()
{
printf("local = %d\n", local);
}
int main()
{
int local = 9999;
printf("global = %d\n",global);
printf("local = %d\n", local);
print_local();
return 0;
}
如果我们在main函数内部,定义一个同名的global变量又会发生什么呢?
#include<stdio.h>
int global = 6666;
int main()
{
int local = 9999;
int global = 8888;
printf("global = %d\n",global);
printf("local = %d\n", local);
return 0;
}
上述代码运行结果,可见当局部变量和全局变量同名的时候,局部变量优先使用。
变量的作用域和生命周期
(1)作用域就是限定一个变量的可用代码范围。
1.局部变量的作用域是变量所在的局部范围。
2.全局变量的作用域是整个工程。
(2)变量的生命周期是指变量的创建到变量的销毁之间的一个时间段。
1.局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。
2.全局变量的生命周期是:整个程序的生命周期。
常量
C语言中常量和变量的定义有缩差异,常量分为以下四种:字面常量、const修饰的常变量、#define定义的标识符常量、枚举常量。
#include <stdio.h>
#define PI 3.14
const int n = 10;
enum {
MALE = 8,
FEMALE,
SECRET
};
int main()
{
printf("n的值是%d\n", n);
printf("PI的值是%f\n", PI);
printf("MALE = %d\n", MALE);
printf("FEMALE = %d\n", FEMALE);
printf("SECRET = %d\n", SECRET);
return 0;
}
const修饰的变量具有常属性,但仍然是一个变量,只不过用这个关键字修饰之后,n的值后面不能再改变了。enum是一个枚举型,默认从0开始枚举,如果给第一个加了枚举的数字,那么后面的依次枚举。#define定义的是一个符号常量。遇到PI都会换成3.14。
本篇文章就讲上述内容吧,后面呢我也会定期更新。下片文章会围绕字符串、转义字符、注释、选择语句、循环语句、函数等内容进行串讲。然后这个系列主要是对C语言有个初步的了解,后面会针对相关内容进行更详细的说明!
最后的最后,码字不易,劳烦看官点个小赞!有问题欢迎留言探讨!我是冰淇淋加点糖,我们下篇文章见!!!!