【简单地过一遍C语言基础部分】所有知识点,点到为止!(仅一万多字)(二)

简介: 就在前几天,C语言入门到进阶部分的专栏——《维生素C语言》终于完成了。全文共计十八个章节并附带三张笔试练习篇,美中不足的是,第一章和第二章是以截图形式展现的。由于本人一开始是在有道云笔记上写的初稿,当时想方便省事(有道云排版个人感觉确实比较美观)就直接以截图的形式完成了第一章和第二章。本人考虑到因为是截图,不能复制文中出现的代码,不方便读者进行复制粘贴,所以我打算重新写一下第一章和第一章的内容,并且重新进行了排版。

四、字符串&转义字符&注释


0x00 字符串

📚 定义:


"hello world."


这种由双引号(Double Quote)引起来的一串字符称为字符串字面值(String Literal)


📚 关于斜杠零:


字符串的结束标志是一个 \0 转义字符。


在计算字符串长度的时候 \0 是结束标志,不算字符串的内容!


💬 下面代码,打印的结果是什么?为什么?


int main()
{
    char arr1[] = "abc"; //数组
    // "abc" -- 'a' 'b' 'c' '\0' 
    // 这里面,'\0' 字符串的结束标志
    char arr2[] = {'a', 'b', 'c'};
    char arr3[] = {'a', 'b', 'c', '\0'};
    printf("%s\n", arr1);
    printf("%s\n", arr2);
    printf("%s\n", arr3);
    return 0;
}

🚩 打印结果如下:

45c3c26a31e49929698b175867241d19_20210924133505820.png


0x01 计算字符串长度

📚 strlen 函数:返回字符串的长度


📜 使用时需引入头文件 <string.h>

4ee38fb2ccf7785199872b8014cd3ac3_20210924133622672.png


💬 代码演示:


#include <stdio.h>
#include <string.h>
int main()
{
    char arr1[] = "abc";
    char arr2[] = {'a', 'b', 'c'};
    printf("%d\n", strlen(arr1));
    printf("%d\n", strlen(arr2));
    return 0;
}

🚩 运行结果如下:  3   随机值



0x02 ASCII 码值

📚 ASCII (American Standard Code for Information Interchange)


“是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是最通用的信息交换标准,并等同于国际标准ISO/IEC 646。ASCII第一次以规范标准的类型发表是在1967年,最后一次更新则是在1986年,到目前为止共定义了128个字符”

42c2e27d00dbd1c5e15fdea97f4c4fad_20210924133718836.png


0x03 转义字符

📚 转意字符顾名思义就是转变字符的意思。

9ce4f2d1865bd323ab083608c627f3a2_20210924134142769.png


💬 让斜杠就是斜杠:


int main()
{
    printf("c:\\test\\32\\test.c"); //再加一个斜杠,规避转义字符检测
    return 0;
}

🚩 运行结果:  c:\test\32\test.c


💬 三字母词、输出单引号、ddd、xdd:


int main()
{
    printf("(are you ok?\?)\n"); // ??) -- ] - 三字母词
    printf("%c\n", '\''); //输出一个单引号
    printf("%s\n", "\""); //输出一个双引号 
    printf("%c\n", '\130');//8进制的130是10进制的多少呢?
    //X - ASCII码值是88
    printf("%c\n", '\101'); // A- 65 - 8进制是:101
    printf("%c\n", '\x30'); //48 - '0'
    return 0;
}

🚩 运行结果:  (are you ok??) ' " X A 0


❓ 下列代码打印的结果是什么?


int main()
{
    printf("%d\n", strlen("c:\test\328\test.c"));
    return 0;
}

💡 答案:14

19fa6bf71c2490f478462ae3311801e3_20210924134305142.png


0x04 注释

📚 代码中有不需要的代码可以直接删除,也可以注释掉


代码中有些代码比较难懂,可以加一下注释文字


有两种风格:


① C语言风格的注释   /* xxxxxx */


缺陷:不能嵌套注释


② C++风格的注释    //xxxxxxxxx


优点:可以注释一行也可以注释多行


快捷键:Ctrl + /?


💬 演示:


/*  C语言风格注释
int Add(int x, int y) {
    int z = 0;
    z = x + y;
    return z;
}
*/
int Add(int x, int y) {
    return x + y;
}
int main()
{
    // C++注释风格
    // int a = 10;
    printf("%d\n", Add(1,2)); //调用Add函数
    return 0;
}


五、分支和循环


0x00 if 语句

📚 定义:if 语句是指编程语言(包括c语言、C#、VB、java、汇编语言等)中用来判定所给定的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一。

d860aa73ac4cfff866e5cbc7afdf6188_20210924134544362.png

💬 选择语句代码演示:


int main()
{
    int a = 10;
    int b = 20;
    if(a>b) {
        printf("a比b大\n") ;
    } else {
        printf("b比a大\n");
    }
    return 0;
}

🚩 运行结果:  b比a大


❓  C语言中如何实现循环呢?


1. while 语句


2. for 语句


3. do ... while 语句


这里我们着重先了解下 while 语句。


📚 while 循环的基本概念:while是计算机的一种基本循环模式。当满足条件时进入循环,进入循环后,当条件不满足时,跳出循环。

23a4c1dc35d890f6d8a3d1a70383a8e5_20210924134850782.png

💬 演示代码:敲三万行代码


#include <stdio.h>
int main()
{
    int line = 0;
    while(line < 30000) {
        printf("敲代码: %d\n", line);
        line++;
    }
    if(line == 30000) {
        printf("恭喜你敲满30000行代码!\n");
    }
    return 0;
}

六、函数


❓ 什么是函数?


数学中的函数 f(x) = 2×x+5,C语言中的函数也是一样的。


📚 函数的特点就是:简化代码,代码复用。

36f2cb265f8b4a3b407eb44bf224ca30_20210924135011705.png

💬 代码演示:


int Add (int x, int y) {
    int z = 0;
    z = x + y;
    return z;
}
int main()
{
    int num1 = 0;
    int num2 = 0;
    scanf("%d%d", &num1, &num2);
    // int sum = num1 + num2;
    // 函数的方式解决
    int sum = Add(num1, num2);
    printf("%d\n", sum);
    return 0;
}

七、数组


📚 要存储1-10的数字,怎么存储?


“C语言给了数组的定义:一组相同类型元素的集合”


定义一个整型数组,最多放十个元素:

6ab58912723c05507a96629dae3705c6_20210924135150219.png

💬 代码演示:


int main()
{
    int a = 0;
    int b = 0;
    int c = 0;
    int d = 0;
    //...
    // 10个整型1-10存起来
    int arr[10] = {1,2,3,4,5,6,7,8,9,10};
    char ch[5] = {'a', 'b', 'c'}; // 不完全初始化,剩余的默认为0
    // 用下标就可以访问元素
    printf("%d\n", arr[0]);
    // 打印整个数组
    int i = 0;
    while(i<10) {
        printf("%d ", arr[i]);
        i++;
    }
    return 0;
}
相关文章
|
6月前
|
C语言
C语言初阶⑧(结构体)知识点和笔试题
C语言初阶⑧(结构体)知识点和笔试题
63 0
|
1月前
|
C语言
C语言学习笔记-知识点总结上
C语言学习笔记-知识点总结上
81 1
|
6月前
|
编译器 C语言
C语言进阶⑪(指针上)(知识点和对应练习)回调函数模拟实现qsort。(下)
C语言进阶⑪(指针上)(知识点和对应练习)回调函数模拟实现qsort。
42 0
|
6月前
|
存储 编译器 C语言
C语言初阶⑦(指针初阶)知识点+笔试题(上)
C语言初阶⑦(指针初阶)知识点+笔试题
42 0
|
6月前
|
算法 程序员 编译器
C语言初阶③(函数)知识点+编程作业(递归模拟strlen,pow)
C语言初阶③(函数)知识点+编程作业(递归模拟strlen,pow)
49 0
|
4月前
|
存储 编译器 C语言
|
5月前
|
编译器 C语言
C语言学习记录——操作符详解知识点选记(算术操作符、单目操作符、移位操作符、关系操作符、逻辑操作符、条件操作符......)二
C语言学习记录——操作符详解知识点选记(算术操作符、单目操作符、移位操作符、关系操作符、逻辑操作符、条件操作符......)二
49 3
|
5月前
|
存储 编译器 C语言
C语言学习记录——操作符详解知识点选记(算术操作符、单目操作符、移位操作符、关系操作符、逻辑操作符、条件操作符......)一
C语言学习记录——操作符详解知识点选记(算术操作符、单目操作符、移位操作符、关系操作符、逻辑操作符、条件操作符......)一
41 1
|
4月前
|
前端开发 C语言
C语言08----注释扩展知识点,注释快捷键:ctrl+k,ctrl + C,取消快捷键 ctrl + K,ctrl + U
C语言08----注释扩展知识点,注释快捷键:ctrl+k,ctrl + C,取消快捷键 ctrl + K,ctrl + U
|
5月前
|
C语言
C语言----关于二维数组传参的本质相关的知识点(数组指针、指针数组)
C语言----关于二维数组传参的本质相关的知识点(数组指针、指针数组)