news 2026/7/10 22:27:06

Ubuntu基本使用与C语言基础

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Ubuntu基本使用与C语言基础

1.环境配置

VMvare Workstation Pro(虚拟化软件)--虚拟出计算机需要的硬件

Ubuntu18(虚拟机)--安装一个操作系统(Linux)

2.Linux操作界面

图形界面和命令行,切换到命令终端(ctrl+alt+t)
切换到终端后会出现如下所示图片

2.1基本使用

ctrl+shift+ + 终端字体放大;ctrl+shift+ - 终端字体缩小;ctrl+shift+c 终端复制文本;ctrl+shift +v 终端粘贴文本;cat /etc/issue 查看操作系统的版本;tab键--自动补齐键 ,可以补齐命令或文件名
光标上下键,可以执行历史命令。

3.Linux常用shell命令

linux@ubuntu:~$ 此为命令提示符。其分别代表用户名 @ 主机名,~ 会发生变化,其表示的是一个目录。$ 表示当前用户是普通用户,#表示当前用户是系统管理员。

(https://www.runoob.com/linux/linux-command-manual.html此处推荐一个网站,此网站含有较为全面的shell命令)

3.1ls命令查看当前目录(文件夹) 下的文件名

ls -a 查看当前目录(文件夹) 下的所有文件 ,包含隐藏文件(通常是.开头的文件,或目录)。

ls -l 查看当前目录(文件夹) 下的文件 详细信息 ls -l == ll(别名,写法)。

3.2man命令的帮助 manual 手册

man 命令名,主要用于查看命令的帮助。
man ls 查看ls命令的帮助,查看命令有那些选项。

3.3创建目录与删除

3.3.1创建目录

创建目录使用的命令为:mkdir 如下图所示即为创建一个目录名为20260422的目录。

此时运用ls命令即可查看创建成功的目录

3.3.2删除目录

删除目录使用的命令为:rmdir 此时需注意目录必须为空才可删除成功。

3.4cd命令目录切换

进入目录:cd后直接跟进入的目录名,此时也可用tab健补齐目录名。

例如:cd 20260422即可进入目录20260422

返回上一层目录:cd .. //.. 代表上一层目录

cd / 进入根目录, 最高路径

3.5touch命令创建一个空白文件

创建文件:touch后直接跟文件名,创建一个空白文件,如果文件存在,则会更新时间戳。

3.6rm命令删除文件

删除文件:rm后直接跟要删除的文件名。例如rm 123表示的就是删除123这个文件。


此外,rm -fr表示删除目录,其中-f 直接删除,不询问y/n,-r 删除目录。

3.7pwd命令显示当前路径

pwd --打印当前所在的绝对路径 -printf where directory

3.8cp命令文件的复制

复制上层目录的main.c文件到本层并命名为main.c 。 需要注意的是,上层文件main.c 必须存在。


复制单个文件
cp 源文件(必须存在) 目标文件(如果不存在,创建,如果存在,覆盖)

3.9mv命令移动文件或剪切文件

把指定文件或目录,移动到指定目录下。如下图所示即为把20260422目录下的1.c文件移动至20260423目录下。

3.10cat命令查看文件的内容

cat 1.txt即为查看1.txt文件的内容。需注意的是只能查看文本文件。

4.vim的使用

1.vim filename.c

2.i键进入插入模式编写C语言代码

3.编写代码

4.esc键退回底行模式

5.底行模式命令:wq!

w:保存 q:退出 !:强制执行

5.gcc 编译器

1.gcc filename.c 编译代码生成 a.out

gcc filename.c -o filename 编译代码生成filename

2../a.out ./filename 运行代码

3.语法错误

从第一个提示错误开始修改

4.逻辑错误

gdb调试代码

5.编译流程

①预处理:处理和#相关的代码

#include<stdio.h> 展开头文件中的代码

#define MODE 0 将宏替换

#if #elif #else #endif 条件编译

gcc -E filename.c -o filename.i

②编译:将C语言代码编译成汇编代码

gcc -S filename.c -o filename.s

③汇编:将汇编代码编译成二进制代码,不可执行

gcc -c filename.c -o filename.o

④链接:把需要使用的外部库函数(别人提供的功能函数),与a.out 内部发生关联关系。
当a.out 运行起来后,直到在系统的那个位置,找到对应函数的实现。

gcc filename.c -o filename

6.C语言基础

6.1代码在计算机中的运行

1. 可执行程序(a.out)在计算机的外存(ssd, flash)中存储
2. 执行./a.out后 计算机会把a.out 中的内容(代码+数据) 加载到内存中
3. cpu从内存中读出代码+数据,对数据进行相关操作。

6.2数据单位

bit 比特位 0/1
byte 字节 1 byte = 8bit 可以表示一个英文字母
kB 千字节 1024 byte
MB 兆字节 1024*1024 byte 10^6 byte
GB 吉字节 1024*1024*1024 byte 10^9 byte
TB 太字节 1024*1024*1024*1024 byte 10^12

6.3进制转换

二进制、八进制、十六进制 转换为 十进制:

求对应位的权值再求和

十进制转换为二进制,八进制,十六进制

十进制转换为二进制
对10进制数 一直除2 ,直到商为0 。并且记录余数,逆序组成的序列就是 对应的二进制数
十进制转换为八进制
对10进制数 一直除8 ,直到商为0 。并且记录余数,逆序组成的序列就是 对应的八进制数
十进制转换为十六进制
对10进制数 一直除16 ,直到商为0 。并且记录余数,逆序组成的序列就是 对应的十六进制数

7.数据类型

7.1分类

基本类型:整型、字符型、浮点型、缺省型、泊尔型

构造类型:数组类型、结构体类型、共用体类型

指针类型

空类型

7.2整型

整数类型分为有符号类型和无符号类型(signed、unsigned),默认为有符号 (signed)类型

有符号数在内存中存放数字对应的二进制补码形式,无符号数在内存中存放数字对应的二进制形式

根据存储空间大小分为短整型short、整形int、长整型long

1.整型可以分为有符号 和无符号。
2. 整数数据在内存都是以补码形式存储的。如果是正整数的话,补码就是原码本身。如果是负数的话需要计算补码,先获得原码(先绝对值,转二进制) ,再对原码取反操作(原码中的0变1,1变0) 获得反码,最后对反码 +1 操作 。

3. sizeof 是一个关键字 , sizeof(a) , sizeof(10),sizeof(int) .获得对应类型的数据在,内存中占用的
空间是多少个字节。

short 2字节(16位) -32768 - 32767((-2^15) - (2^15 - 1))

unsigned short 2字节(16位) 0 ~ 65,535(2^16 - 1)

int 4字节(32位) -2,147,483,648 ~ 2,147,483,647

unsigned int 4字节(32位) 0 ~ 4,294,967,295

long 8字节(64位) -9,22亿亿 ~ 9,22亿亿

unsigned long 8字节(64位) 1800亿亿

7.3字符型

1.字符型变量

字符类型用char表示,本质上也是一种整数类型

char类型标识单个字符,能够从键盘中输入的都是字符(大小写英文字母、符号、数字字符)

虚拟机中可使用指令man ascii 查看ASCII码表,规定了字符和各进制数字之间的转换关系

char 1字节(8位) -128 - 127

unsigned char 1字节(8位) 0 - 255

2.字符型常量

用' '扩起来:'a' , 'A' , '!'

转义字符:'\n' , '\t' , '\\' , '\ddd'(1 - 3位八进制数) , '\xhh'(1 - 2位十六进制数)

3.字符串 常量

用" "括起来:"ABC" , "hello" , "a"

字符串末尾有一个用来标识结尾的\0字符

"hi\0" 占4字节:h i \0 \0

"hi\123bc" 占6字节:h i \123 b c \0

"hi\\\x32h" 占6字节:h i \\ \x32 h \0

7.4浮点型

1.浮点型变量

浮点数所有均为有符号类型,没有无符号类型

浮点数类型分为单精度浮点数类型(float)、双精度浮点数类型(double )

float类型存储(32位) == 符号位(1位)+ 指数位(8位)+尾数位(23位)

double类型存储(64位) == 符号位(1位)+ 指数位(11位)+尾数位(52位)

float 4字节(32位) -3.4 * 10^38 - 3.4 * 10^38

double 4字节(32位) -1.7 * 10^308 - 1.7 * 10^308

2.浮点型常量

十进制小数:123.0 , 0.123

指数形式:123e3 , 123E3

7.5常量和变量

常量:程序运行过程中值不会发生改变的量,可以直接使用

变量:在程序运行过程中值可以发生改变的量

变量名要求: 只能由字母、数字、下划线构成,不能以数字开头,变量名不要与关键字、库函数重名

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/10 22:26:30

SAP常用abap语法,t-code,数据库表

For 自己&#xff0c; 这个是用来给自己看的&#xff0c;顺便分享一下~一、常用abap语法数据类型转换&#xff1a;BAPI_CURRENCY_CONV_TO_EXTERNAL直接输出内表&#xff1a;CL_DEMO_OUTPUT>DISPLAY( LTD_LPAD ).不同单位转换&#xff1a;MATERIAL_UNIT_CONVERSION各种情况的…

作者头像 李华
网站建设 2026/7/10 22:24:44

RabbitMQ消息中间件极速入门与实战

第一章&#xff1a;RabbitMQ起步1-1 课程导航课程导航RabbitMQ简介及AMQP协议RabbitMQ安装与使用RabbitMQ核心概念与SpringBoot整合保障100%的消息可靠性投递方案落地实现1-2 RabbitMQ简介初识RabbitMQRabbitMQ是一个开源的消息代理和队列服务器用来通过普通协议在完全不同的应…

作者头像 李华
网站建设 2026/7/10 22:24:10

暖风机性能如何?参数全解读

暖风机主打大风量强力制热&#xff0c;风量≥10500m/h、制热量≥55.25KW&#xff0c;采用 PTC 加热器联动控制与顶吹送风方式&#xff0c;噪音≤60dB&#xff0c;兼顾高效采暖与安全静音&#xff0c;是大空间快速升温的优选设备。This heater features high air volume and pow…

作者头像 李华
网站建设 2026/7/10 22:24:07

elasticsearch学习笔记(三十一)——Elasticsearch doc value正排索引

在我们搜索的时候&#xff0c;要依靠倒排索引&#xff0c;但是当我们排序的时候&#xff0c;需要依靠正排索引。通过倒排索引锁定文档document之后&#xff0c;看到每个document的每个field&#xff0c;然后进行排序&#xff0c;所谓的正排索引就是doc values。对于ES而言&…

作者头像 李华
网站建设 2026/7/10 22:20:16

基于MATLAB卷积神经网络的口罩佩戴检测系统

摘要&#xff1a;随着公共卫生安全意识的不断提高&#xff0c;口罩佩戴检测在疫情防控、公共场所管理等领域具有重要的应用价值。本文设计并实现了一个基于卷积神经网络&#xff08;CNN&#xff09;的口罩佩戴检测系统。该系统采用深度学习技术&#xff0c;通过训练CNN模型自动…

作者头像 李华