目录
前言
简单了解一下C语言的的基础知识 。
一、什么是C语言
C语言是一门通用计算机编程语言,广泛应用于底层开发。
二、第一个C语言程序
大多数C语言入门的第一个代码都是打印"Hello World",这里我们也以此为例:
#include<stdio.h>
int main()
{
printf("Hello World!");
return 0;
}
三、数据类型
为了描述各种数据,C语言提供了多种数据类型
char //字符数据类型
short //短整型
int //整形
long //长整型
long long //更长的整形
float //单精度浮点数
double //双精度浮点数
四、变量、常量
1、变量
变量分为全局变量和局部变量,它们有不同的作用域和生命周期:
- 作用域
- 局部变量的作用域是变量所在的局部范围
- 全局变量的作用域是整个工程。
- 生命周期
- 局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。
- 全局变量的生命周期是:整个程序的生命周期。
#include<stdio.h>
int a = 1;//全局变量
int main()
{
int b = 2;//局部变量
int a = 3;//局部变量,当局部变量和全局变量同名时,在作用域内优先使用局部变量
printf("%d\n", a);
return 0;
}
2、常量
常量分为以下几种:
- 字面常量
- const修饰的常变量
- #define定义的标识符常量
- 枚举常量
#include<stdio.h>
#define M 100//#define的标识符常量
enum Sex
{
RED,
GREEN,
BLUE
};
//括号中的RED,GREEN,BLUE是枚举常量
int main()
{
3.14;//字面常量
const float pai = 3.14f; //const修饰的常变量
enum color c = BLUE;//枚举常量
}
五、操作符
这里简单的罗列一下
//单目: ! - + & sizeof ~ ++ -- * (类型)
//关系: > < >= <= != ==
//逻辑: && ||
//条件: exp1?exp2:exp3
// , [] () . ->
六、三大结构
1、顺序结构
顾名思义,所有的语句执行的时候都是按顺序执行的,如
#include<stdio.h>
int main()
{
int a = 2;
int b = 5;
printf("%d\n", a);
printf("%d\n", b);
return 0;
}
2、选择结构
也称分支结构,不同的选择就会有不同的结果,其中有if-else语句和switch-case语句,这里我们用if-esle语句举例
#include<stdio.h>
int main()
{
int a = 2;
if (a > 1) {
printf("Yes");
}
else
{
printf("No");
}
return 0;
}
3、循环语句
一直重复执行,直到满足条件为至,其中有while语句、do-while语句和for语句,这里我们用while语句举例,打印10个6
#include<stdio.h>
int main()
{
int i = 0;
while (i < 10)
{
printf("6");
i++;
}
return 0;
}
七、数组
定义:一组相同类型元素的集合
#include<stdio.h>
int main()
{
int arr[5] = { 1,2,3,4,5 };//数组的定义
int i;
for (i = 0; i < 5; i++)//数组的使用
{
printf("%d ", arr[i]);
}
return 0;
}
八、函数
“函数” 是将实现了某一功能,并需要反复使用的代码包装起来形成一个功能模块,那么当程序中需要使用该项功能时,不需要把这段代码重新再写一遍,只需写一条语句,调用实现该功能的 “函数”即可 ,即函数可以简化代码
#include<stdio.h>
int add(int x, int y)//函数的定义
{
return x + y;
}
int main()
{
int a = 2, b = 3;
int sum = add(a, b);//函数的调用
printf("%d", sum);
return 0;
}
九、指针
指针的理解:
- 内存单元的编号 = 地址 = 指针
- 指针变量是用来存放地址(指针),口头语中说的指针一般是指针变量
#include<stdio.h>
int main()
{
int a = 0x11223344;
//& 取地址操作符
//&a拿出的是a所占内存的4个字节中地址较小的字节的地址
int* pa = &a;//指针变量pa
//int说明pa指向的对象的类型是int类型,* 在说明pa是指针变量,跟下面的解引用操作符不一样
printf("%p\n", &a);//%p 以16进制的形式打印地址(不省略最前面的0)
//printf("%x\n", &a);//%x 是16进制的形式打印
//变量创建的本质是向内存申请空间
//为了存放10这个数值,我们向内存申请4个字节的空间
return 0;
}
十、结构体
结构体使C语言有能力描述复杂类型,比如我们要描述一个学生,他又有名字,又有年龄,普通的数据类型无法描述,就只能用结构体了
#include<stdio.h>
struct Student
{
char name[11];
int age;
};
int main()
{
struct Student s1 = { "张三", 20 };
struct Student* ps = &s1;
// . -> 结构成员访问操作符
//结构体变量.成员名
//结构体指针->成员名
printf("%s %d\n", s1.name, s1.age);
printf("%s %d\n", (*ps).name, (*ps).age);
printf("%s %d\n", ps->name, ps->age);
return 0;
}
总结
本文仅仅简单的介绍了一些有关C语言的知识,对想要入门C语言的人提供一些帮助