c语言的大概梳理

       嘿,各位小伙伴们!好多人都来跟我倒苦水呢,说从一开始懵懵懂懂地接触 C 语言,一路学到现在,结果悲催地发现,自己竟然没好好做笔记。这就导致学过的那些内容啊,乱得就像一锅大杂烩,根本分不清东南西北,也找不到一个清晰明了的大纲。别愁眉苦脸啦!本博主闪亮登场,来拯救你们于“混乱之海”。接下来,我要给大家分享一份超厉害的 C 语言学习大纲哦!有用的宝子们赶紧麻溜地收藏起来,不然错过可就亏大喽!😎

  1. 起源与发展
    • C 语言是一种通用的、高级程序设计语言。它最初是由丹尼斯・里奇(Dennis Ritchie)在 20 世纪 70 年代初,为了在贝尔实验室开发 UNIX 操作系统而设计的。它的前身是 BCPL(Basic Combined Programming Language)和 B 语言。C 语言的设计目标是提供一种能够高效地访问计算机硬件,同时又具有高级语言的编程便利性的语言。
    • 随着时间的推移,C 语言不断发展和完善。1989 年,美国国家标准协会(ANSI)发布了第一个 C 语言标准,通常称为 ANSI C 或 C89。1999 年,ISO(国际标准化组织)发布了 C99 标准,引入了一些新的特性,如可变长度数组、内联函数等。之后还有 C11、C17 等标准,对 C 语言进行进一步的规范和改进。
  2. 基本语法结构
    • 程序框架:一个简单的 C 语言程序通常由一个或多个函数组成。其中,main函数是程序的入口点。例如:
#include <stdio.h>
int main() {
    printf("Hello, World!");
    return 0;
}

上述代码中,#include <stdio.h>是一个预处理指令,它告诉编译器包含标准输入输出头文件(stdio.h),这个头文件提供了像printf这样的函数的声明。main函数中的printf函数用于在控制台输出字符串,return 0表示程序正常结束。

  • 数据类型:C 语言有基本数据类型,如int(整数型)、float(单精度浮点型)、double(双精度浮点型)、char(字符型)等。例如:
int num = 10;
float f_num = 3.14f;
double d_num = 3.1415926;
char ch = 'A';
  • 这里分别定义了一个整数变量num,一个单精度浮点数变量f_num,一个双精度浮点数变量d_num和一个字符变量ch。注意单精度浮点数常量后面要加f后缀,以区别于双精度浮点数。
  • 变量和常量
    • 变量是程序运行过程中可以改变的值,而常量是固定不变的值。除了上面提到的基本数据类型常量外,还有符号常量,通常使用#define预处理指令来定义。例如:
#define PI 3.14159

  • 这样,在程序中就可以使用PI来代表圆周率的值,方便修改和维护代码。
  • 运算符和表达式
    • C 语言有丰富的运算符,包括算术运算符(+-*/%)、关系运算符(><==>=<=!=)、逻辑运算符(&&||!)等。例如:
int a = 5, b = 3;
int sum = a + b;
int is_greater = a > b;
int logical_result = (a > 1) && (b < 5);
  • 这里分别展示了算术运算(求和)、关系运算(比较大小)和逻辑运算(逻辑与)。
  1. 控制结构
    • 顺序结构
      • 程序按照语句的先后顺序依次执行。例如,上面的简单main函数中的printf语句和return语句就是顺序执行的。
    • 选择结构
      • 主要有if - else语句和switch - case语句。if - else语句用于根据条件执行不同的代码块。例如:
int num = 10;
if (num > 5) {
    printf("The number is greater than 5.");
} else {
    printf("The number is less than or equal to 5.");
}
  • 对于switch - case语句,它用于多分支选择。例如:
int day = 3;
switch (day) {
    case 1:
        printf("Monday");
        break;
    case 2:
        printf("Tuesday");
        break;
    case 3:
        printf("Wednesday");
        break;
    default:
        printf("Other day");
        break;
}
  • 循环结构
    • C 语言有while循环、do - while循环和for循环。while循环在条件为真时重复执行代码块。例如:
int i = 0;
while (i < 5) {
    printf("%d ", i);
    i++;
}
  • do - while循环与while循环类似,但是它先执行一次代码块,再判断条件。例如:
int j = 0;
do {
    printf("%d ", j);
    j++;
} while (j < 5);
  • for循环是一种更紧凑的循环结构,通常用于已知循环次数的情况。例如:
for (int k = 0; k < 5; k++) {
    printf("%d ", k);
}
  1. 函数
    • 函数是 C 语言的基本模块,可以将一段代码封装起来,方便重复使用。函数包括函数声明、函数定义和函数调用。例如:
// 函数声明
int add(int a, int b);
// 函数定义
int add(int a, int b) {
    return a + b;
}
// 函数调用
int result = add(3, 4);

函数可以有参数,用于传递数据给函数,也可以有返回值,用于将函数的计算结果返回给调用者。

  1. 数组和指针
    • 数组
      • 数组是一组相同类型的数据的集合。例如,定义一个整数数组
int arr[5] = {1, 2, 3, 4, 5};
  • 可以通过下标访问数组元素,如arr[0]表示数组的第一个元素。数组在内存中是连续存储的。
  • 指针
    • 指针是一种变量,它存储的是另一个变量的地址。例如:
int num = 10;
int *p = &num;
  • 这里p是一个指针变量,它指向变量num&num是取num的地址。可以通过指针来访问和修改它所指向的变量的值,如*p = 20就将num的值修改为 20。指针在 C 语言中有很多重要的应用,如动态内存分配、函数参数传递等。
  • 结构体:结构体允许将不同类型的数据组合在一起。例如:
struct student {
    char name[20];
    int age;
    float score;
};
struct student stu = {"Tom", 20, 85.5};

这里定义了一个student结构体,包含姓名、年龄和成绩三个成员,然后创建了一个student结构体变量stu并初始化。

       当然博主只是做了一个简单分享,还需各位宝子们自行整理,加油哦!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值