1 何为C语言?
C语言是一门通用的计算机编程语言,广泛用于底层开发, 是一门面向过程的计算机编程语言。
2 C语言的数据类型
char //字符数据类型 1
short //短整型 2
int //整形 4
long //长整型 4 longlong 8 //更长整形
float 4 //单精度浮点数 double 8 //双精度浮点数
(当使用scanf对 double和float输入时:
double对应的是 %lf
float对应的是 %f
注:%f与%lf不可混用
当使用printf对double和float输出时:
double,float均为 %f)
3 变量,常量(及其作用域和生命周期)
变量:常是数据类型定义可变的量。
变量的分类:分为局部变量和全局变量
#include<stdio.h>
int b = 1; // 全局变量
int main() {
int b = 2; //局部变量
printf("%d\n", b); //2
return 0;
}
可见:当局部变量和全局变量同名时,优先使用局部变量。
3.1 作用域和生命周期
作用域:
某些特定变量的可用性范围,就是这个变量的作用域
1.局部变量的作用域是变量所在的局部范围
2.全局变量的作用域是整个工程
生命周期:
指变量由创建到销毁之间的一个时间段
1.局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束
2.全局变量的生命周期是:整个程序的生命周期
4.常量
C语言中常量分为:字面常量,const修饰的常变量,#define定义的标识符常量,枚举常量。
(const修饰的常变量本质还是变量,不能用来创建数组)
5.字符串
是由双引号引起的一串字符,结束标志是\0的转义字符,不计入字符串长度。
在字符中,要打如'\0'才能结束字符
int main() {
char arr[] = { "abc" };
char arr1[] = { 'a','b','\0'}; //字符
char arr2[] = { 'a','b', };
printf("%s\n", arr); //abc
printf("%s\n", arr1); //ab
printf("%s\n", arr2); //ab烫烫烫烫烫ab (随机遇到\0结束)
return 0;
}
6.几种语句
选择语句 if
循环语句 while语句,for语句,do...while语句
(后面和代码结合所)
7.函数
函数的作用是简化代码,可以重复使用这一段代码
//构造一个函数,写下功能
int Add(int x, int y)
{
int z = x + y;
return z;
}
int main() {
int a = 5;
int b = 7;
int sum = Add(a, b); //调用函数,
printf("%d\n", sum);
return 0;
}
8.数组
存放一组相同类型数据的集合
8.1定义数组
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
//下标 0 1 2 3 4 5 6 7 8 9
数组的下标是从0开始的,可以通过下标来进行数组的访问,修改等操作。
9.操作符和关键字
9.1条件操作符
exp1?exp2:exp3
// exp1为真执行exp2,为假执行exp3;
9.2typedef关键字
typedef是类型定义,类型重命名
typedef int useint;
int main() {
int a = 2;
useint v = 1;
printf("%d\n", a); //2
printf("%d\n",v ); //1
return 0;
}
9.3 static
static 是用来修饰变量和函数的
1.修饰局部变量-称为静态局部变量
改变了局部变量的生命周期,让其除了作用域依然存在,一直到程序结束,生命周期才结束
2.修饰全局变量-称为静态全局变量
修改了全局变量的外连接性,使得这个全局变量只能在本源文件内使用,不能再被其他源文件内使用
3.修饰函数-称为静态函数
和静态全局变量一样,只能本源文件内使用
10.指针
int main() {
int a = 5;
&a; //取出a的地址
int* p = &a; //p为一个整形指针变量
*p = 666; //解引用 将地址a的值修改为666
printf("%d\n", a); //666
return 0;
}
11. 结构体
结构体是C语言中很重要的知识点,使得C语言有能力描述复杂类型,进行对多个变量的包含。
//构造结构体
struct stu {
char name[30];
int age;
double score;
};
int main() {
struct stu s = { "张三",20,80.6 }; //打印结构体信息
printf("name=%s age=%d score%.2f", s.name, s.age, s.score); //name=张三 age=20 score80.60
return 0;
}
以上是刚接触C语言小白可以大概了解C语言的一个整体,后期会慢慢更新关于每个节点结合代码进行细讲。身为初学者,希望大佬的指错及后期指点,感激不尽!!!