c语言总结(基础)

打印 上一主题 下一主题

主题 1774|帖子 1774|积分 5322

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1.C语言基础
1.1 数据范例
C语言中的基本数据范例包括:

int:整型
float:单精度浮点型
double:双精度浮点型
char:字符型

#include <stdio.h>

int main() {

int a = 10;

float b = 3.14;

double f = 1.234567891;

char c = 'A';

printf("a = %d, b = %.2f, c = %c f=%.9f\n", a, b, c, f);

return 0;

}
1.2 变量与常量
变量:用于存储数据,值可以改变。

常量:值不可改变,使用const关键字界说。

#include <stdio.h>
int main() {
    int num = 100; // 变量
    const int MAX = 1000; // 常量
    printf("num = %d, MAX = %d\n", num, MAX);
    return 0;
}
1.3 运算符
算术运算符:+, -, *, /, %
关系运算符:==, !=, >, <, >=, <=
逻辑运算符:&&, ||, !

#include <stdio.h>

int main()

{

    int a = 10, b = 20;

    printf("a + b = %d\n", a + b);

    printf("a > b? %d\n", a > b);

    if(a != b)

        printf("a != b\n");

    else

        printf("a == b\n");

    if(a == b && a > 0)

        printf("a == b && a > 0");

    return 0;

}
1.4 输入输出
printf():格式化输出
scanf():格式化输入
#include <stdio.h>
int main() {
    int age;
    printf("请输入你的年龄:");
    scanf("%d", &age);
    printf("你的年龄是:%d\n", age);
    return 0;
}
2. 控制结构
2.1 条件语句
if语句

if-else语句

switch语句

#include <stdio.h>
int main() {
    int score = 85;
    if (score >= 90) {
        printf("良好!\n");
    } else if (score >= 60) {
        printf("合格!\n");
    } else {
        printf("不合格!\n");
    }
    return 0;
}
#include<stdio.h>

int main()

{

    double score;

    printf("请输入分数:\n");

    scanf("%lf", &score);

    switch((int)(score / 10))

    {

        case 10:

        case 9:

            printf("A(最好)\n");

            break;

        case 8:

            printf("B(良好)\n");

            break;

        case 7:

            printf("C(良好)\n");

            break;

        case 6:

            printf("D(合格)\n");

            break;

        case 5:

        case 4:

        case 3:

        case 2:

        case 1:

        case 0:

            printf("E(不合格)\n");

            break;

        default:

            printf("Error!\n");

    }

}
2.2 循环语句
for循环

while循环

do-while循环

#include <stdio.h>

int main()

{

    printf("for loop\n");

    for(int i = 0; i < 5; i++)

    {

        printf("i = %d\n", i);

    }

    printf("while loop\n");

    int i = 0;

    while(i < 10)

    {

        i++;

        printf("i = %d\n", i);

    }

    printf("do-while loop\n");

    i = 0;

    do

    {

        i++;

        printf("i = %d\n", i);

    }

    while(i < 10);

    return 0;

}
3. 函数
3.1 函数界说与调用
函数是C语言的基本模块,用于封装代码逻辑。

#include <stdio.h>

// 函数界说

int add(int a, int b)

{

    return a + b;

}


int main()

{

    int result = add(10, 20); // 函数调用

    printf("10 + 20 = %d\n", result);

    return 0;

}
3.2 递归函数
递归函数是调用自身的函数。

#include <stdio.h>

int factorial(int n)

{

    if(n == 0) return 1;

    return n * factorial(n - 1);

}


int main()

{

    int result = factorial(5);

    printf("5! = %d\n", result);

    return 0;

}
4. 数组与指针
4.1 数组
数组是存储相同范例数据的集合。

#include <stdio.h>

int main()

{

    int arr[5] = { 1, 2, 3, 4, 5 };

    for(int i = 0; i < 5; i++)

    {

        printf("%d\n", arr);

    }

    return 0;

}

多维数组

对于更复杂的数据集合需求,可以接纳多维数组形式存储信息。比方二维数组用于模仿表格或者矩阵运算非常方便。界说时需留意其分列顺序遵循先行后列原则;当初始化全部元素时可省略首维度声明但次维度不可缺省
    // 界说并初始化一个 2 行 3 列的二维数组
    int array[2][3] =
    {
        {1, 2, 3},
        {4, 5, 6}
    };
    // 打印二维数组
    for(int i = 0; i < 2; ++i)
    {
        for(int j = 0; j < 3; ++j)
        {
            printf("%d ", array[j]);
        }
        printf("\n");
    }
[code][/code] 4.2 指针
指针是存储变量地点的变量。

#include <stdio.h>

int main()

{

    int a = 10;

    int* p = &a; // 指针p指向a的地点

    printf("a的值:%d,a的地点:%p\n", *p, p);

    return 0;

}
5. 字符串与字符处理
5.1 字符串界说与操作
字符串是以\0末端的字符数组。

#include <stdio.h>

int main()

{

    char str[] = "Hello, World!";

    printf("%s\n", str);

    return 0;

}
5.2 常用字符串函数
strlen():获取字符串长度
strcpy():复制字符串
strcat():连接字符串

#include <stdio.h>

#include <string.h>

int main()

{

    char str1[] = "Hello";

    char str2[] = "World";

    char result[20];

    strcpy(result, str1);

    strcat(result, str2);

    printf("结果:%s 长度:%d\n", result,strlen(result));

    return 0;

}
6. 结构体与连合体
6.1 结构体
结构体是用户自界说的数据范例,可以包含多个不同范例的成员。
#include <stdio.h>

struct Student

{

    char name[50];

    int age;

};


int main()

{

    struct Student stu = { "Alice", 18 };

    printf("姓名:%s,年龄:%d\n", stu.name, stu.age);

    return 0;

}
7. 动态内存管理
7.1 malloc与free
malloc用于动态分配内存,free用于释放内存。
#include <stdio.h>
#include <stdlib.h>

int main()

{

    int* arr = (int*)malloc(5 * sizeof(int));

    for(int i = 0; i < 5; i++)

    {

        arr = i + 1;

        printf("a[%d]=%d\n", i, arr);

    }

    free(arr); // 释放内存

    return 0;

}
8. 文件操作
8.1 文件的打开与关闭
fopen():打开文件
fclose():关闭文件

#include <stdio.h>

int main()

{

    FILE* fp = fopen("test.txt", "w");

    if(fp == NULL)

    {

        printf("文件打开失败!\n");

        return 1;

    }

    fprintf(fp, "abc123");

    fclose(fp);

    return 0;

}

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

数据人与超自然意识

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表