0%

01test_02day

==================================
2022-7-1
==================================

一.温故知新

    1.演示了一遍安装虚拟操作系统的步骤
        1)虚拟机软件->VMWare
        2)Ubuntu的镜像->网易镜像 清华镜像
        3)需要手动分区
        4)安装软件之前需要切换软件源
    2.终端
        1)修改了终端的字体字号
        2)终端的配色方案
        3)分析终端提示符
        4)命令
            cd
            ls
            pwd
            touch
            mkdir
            rm
            cp
            mv
            cat
            tar

二.编辑器与编译器

    编辑器是用来编写程序的
    编译器是用来编译程序的
    在Linux环境中编辑器有很多种 : gedit vi vim emacs
    在Linux环境中编译器有很多种 : gcc cc arm-linux-gcc
    主要讲 vim 和 gcc 的使用
    1.编辑器vim的使用
        vim之所以被称之为强大的编辑器是因为本身支持很多的模式
        命令模式 命令行模式(底行模式) 编辑模式(插入模式) 可视 可视块 可视行
        注意 : 不要使用vim打开目录文件
        注意 : 用vim编写完成的文件内容要用正常的保存退出方式,不要直接关闭终端
                否则会生成交换文件(交换文件是隐藏文件)
                    vim hello.c
                        |
        按iIoOaA			V		按:
    编辑模式<----------命令模式---------->命令行模式
            --------->		<---------	
        按esc					按esc或者删掉:

    命令行模式的操作
        w		保存
        q		退出
        wq		保存并且退出

    大家在终端中,执行 vim ~/.vimrc
    先进入到编辑模式
    set ai
    set si
    set ts=4
    set sw=4
    set nu
    保存退出

    2.编译器gcc
        注意 : gcc编译器不检查段错误(操作内存不当引起的)
    gcc hello.c
        1)编译之后终端什么提示都没有,代表程序没有语法错误,会生成可执行文件
        2)编译之后终端报出警告,代表程序有些问题,但不是致命的,会生成可执行文件
        3)编译之后终端报出错误,代表程序100%有问题,并且是致命的,
                不会生成可执行文件
    默认的可执行文件的名字是a.out
    
    指定可执行文件的名字
        gcc -o 可执行文件名 .c文件

    要求大家在编译程序时加入-Wall选项,可以把所有警告列出
    gcc -Wall hello.c

    3.执行可执行文件
        ./a.out

三.man手册(帮助手册)

    有困难,找男人
    man 你要查找的东西
    在man手册界面中键盘上下按键可以翻阅
    按 q 键可以退出man手册

=====================================
作业
1.修改自己的vim配置文件
=====================================

#include <stdio.h>
/*
#include
面试题
1.在C语言中以#开头的内容都是预处理
2.从.c文件编译成可执行程序,需要经历哪些阶段?
    预处理->编译->汇编->链接
3.在C语言中预处理都包含哪些操作?
    文件包含 宏定义 条件编译
4.在包含头文件时可以使用双引号或者尖括号,有啥区别?
    尖括号 : 默认会从指定的目录(/usr/include)中查找头文件,
            如果找不到会报错
    双引号 : 默认会从当前目录中查找头文件,
            如果找不到再从指定目录中查找头文件,
            如果再找不到报错
stdio.h		标准输入输出的头文件
*/
int main(void)
/*
    main函数(也叫做主函数)
    main函数是程序的入口
    当执行可执行文件时,会从main函数进入,按照从上往下的顺序
    逐行逐行执行代码,最后从main函数退出
*/
{
    printf("Hello World!");
    /*
    printf是一个函数(功能)
    是用来打印输出的(可以把双引号引起来的内容打印到终端中)
    由于printf函数是别人实现的功能,所以需要包含人家的头文件
    */
}

/*
1.在C语言中有字符串,有没有字符串类型?
    没有字符串类型
printf("Hello World!");
    在C语言中双引号引起来的内容叫做字符串
    字符串都是由一个一个单一的字符组成的
    在C语言中单引号引起来的内容叫做字符
    字符串最后都有一个结束标志'\0'(尾0)
例子:
    "a" 和 'a'
    不一样,"a"是字符串,'a'是字符
    "a"是由'a' + '\0'组成
======================================	
    "0" 和 '0' 和 0
    不一样."0"是字符串,'0'是字符,0是整数
    "0"是由'0' + '\0'组成
练习:
在终端中打印出一个 %
*/
1
2
3
4
5
6
7
8
#include <stdio.h>

int main(void)
{
printf("%");
//printf("Hello World!");
//printf('Hello World!');
}
/* printf打印输出的特殊内容->转义字符 转义字符也是字符 转义字符是由一个 \ + 某一个东西组成的 转义字符除了有ASCII值以外还有另外的一层含义 ASCII(描述的就是字符和数字的对应关系) 常用的ASCII表一共有128个字符(对应数字0 - 127) 记住特殊的ASCII值 字符 ASCII值 '\0' 0 '\n' 10 '0' 48 'A' 65 'a' 97 转义字符 字符 ASCII值 含义 '\0' 0 字符串的结束标志 '\n' 10 换行符 会把光标换到下一行行首的位置 '\r' 13 回车符 会让光标回到当前行行首的位置 '\t' 9 水平制表符 会补一个tab '\v' 11 垂直制表符 光标会换到下一行当前列的位置 */
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>

int main(void)
{
printf("123\v456\v789\v");
printf("123\t456\t789\t");
//printf("sdlpmdaspmdpasmdpasmoHello World!\r");
//printf("Hello World!\n");
//printf("Hello\0World!");
//printf("%");
//printf("Hello World!");
//printf('Hello World!');
}
/* printf打印输出的特殊内容->标准化输出格式 标准化输出格式只是一种输出格式,并不是字符 是由一个 % + 某一个东西组成的 %叫做占位符 %d 十进制整数输出 %o 八进制输出 %x 十六进制输出 %f 小数输出(默认打印输出小数点后六位) %.2f 默认输出小数点后2位 %c 单一字符输出 %s 字符串输出 %p 输出地址 %% 打印一个百分号 */
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>

int main(void)
{
//printf("%d", 9527);
//printf("%x\n", 100);
//printf("%o\n", 100);
//printf("%f\n", 3.14);
//printf("%.2f\n", 3.14);
//printf("%c\n", '%');
//printf("%%\n");
//printf("%s\n", "Hello");
//printf("%f\n", 100);
//printf("%d\n", 3.14);
printf("%c-%d\n", 100, 'A');
}