C语言入门笔记01

1.为什么使用虚拟机

1) 进行嵌入式开发,依赖的是 linux(Linux is not unix) 系统,主要以终端指令为主

2) linux也有图形化界面,由于嵌入式编程一般只将程序移植到开发板中,无需图形化界面

3) 课程前期,需要一直使用linux系统,做到从windows向linux的转换

2.Linux相关

2.1 简述linux

Linux是一种开源的、类Unix的操作系统,最初由Linus Torvalds于1991年发布。它基于Unix操作系统的设计哲学,旨在提供一个高效、稳定且安全的操作环境。

 2.2 特点

  1. 开源:Linux内核和大多数应用软件都是开源的,用户可以自由下载、修改和分发源代码。
  2. 稳定性:Linux以其稳定性著称,特别适合用于服务器和其他关键任务环境。
  3. 安全性:Linux具有强大的权限管理和用户隔离机制,有助于保护系统免受恶意攻击。
  4. 多用户多任务:Linux支持多个用户同时使用和运行多个任务,极大提高了系统的利用效率。
  5. 兼容性:Linux可以在各种硬件平台上运行,从嵌入式设备到大型服务器。

2.3基本知识

用户名:hq whoami

主机名:Ubuntu hostname

:$中间位置 当前路径 默认在家目录~

查看当前路径:pwd

绝对路径:从根目录开始逐层向下查找 /home/hq/a/b/c

相对路径:以当前位置为参照

$:普通用户

root:超级用户

补充:Linux中一切皆文件

其中有两大特殊位置:

根目录与家目录

  1. 根目录(Root Directory):文件系统的顶级目录,用/表示。所有文件和目录都位于根目录之下。
  2. 家目录(Home Directory):每个用户的默认工作目录,通常位于/home/username。用户的所有个人文件和配置文件都存储在家目录中。可以使用命令cd ~快速切换到家目录。

2.4基本命令

      文件夹:mkdir 文件夹名字

       文件:touch 文件名.后缀

  • mv:移动或重命名文件。例如,mv oldname newname 重命名文件,mv file /new/path 移动文件。
  • rm:删除文件或目录。例如,rm file 删除文件,rm -r dir 递归删除目录及其内容。
  • cp:复制文件或目录。例如,cp file /new/path 复制文件,cp -r dir /new/path 递归复制目录及其内容。
  • cd:改变当前工作目录。例如,cd /path/to/directory
  • ls:列出目录内容。例如,ls 列出当前目录内容,ls -l 以详细信息格式列出。

-rw-rw-r-- 1 hq hq 0 7月 1 10:52 file1.c

文件类型 权限 链接数 用户名 组名 大小 修改时间 文件名

第一个字符:文件类型7种 bcd-lsp

b:块设备文件 /dev

c:字符设备文件

d:目录文件 文件夹

-:普通文件 .c .h .txt

l:链接文件 <LinuxC高级>

s:套接字文件 <网络编程>

p:管道文件 <IO>

rw-rw-r-- 文件权限 三个一组 共9个

rwx:可读可写可执行 rw-:可读可写不可执行

3.编辑器

常用的C语言代码编辑器有:

3.1Vim:功能强大但需要一定学习成本的文本编辑器。简单粗暴

        插入模式,命令行模式,底行模式

3.2VS Code:由微软开发的跨平台代码编辑器,提供了丰富的扩展和插件支持。

3.3gcc 简写:

gcc test.c 编译文件,生成a.out

./a.out

gcc test.c -o test(可执行文件名)

./test

3.2 完整编译 4部

  1. 预处理
  2. 编译
  3. 汇编
  4. 链接

运行:./test

4.计算机存储单位

计算机存储单位的基本单位是比特(bit),进一步的单位包括:

  1. 字节(Byte, B):1字节 = 8比特。
  2. 千字节(Kilobyte, KB):1KB = 1024字节。
  3. 兆字节(Megabyte, MB):1MB = 1024KB。
  4. 吉字节(Gigabyte, GB):1GB = 1024MB。
  5. 太字节(Terabyte, TB):1TB = 1024GB。

5.计算机数据表示形式

二进制 0 1 2:10

八进制 0-7 8:010

十进制 0-9

十六进制 0-9 a-f 16:0x10

a

b

c

d

e

f

10

11

12

13

14

15

6.词法符号

6.1关键词

存储类型:auto static extern register

数据类型:int char float short long double signed unsigned

构造数据类型:struct enum union

分支:if else switch case default for do while go to break continue

其他:void const sizeof volatile return typedef

6.2标识符

在给变量、数组、函数等命名时, 遵循标识符的命名规则:

1)由字母、数字、下划线(_)组成

2)开头不能是数字

3)不能和关键字重名

6.3 运算符

算术运算符 逻辑运算符 位运算符 关系运算符 三目运算符 赋值运算符

作业

#include <stdio.h>

int main(int argc, char *argv[])

{

int a = 10;

int b = a--;  //b=10,a=9

int c = a + b + 2;//c=21

int d = (b--) + (++c);//d=10+22,b=9,c=22.

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

} [单选题] *B

A. d = 31

B. d = 32

C. d = 33

D.d = 34

9

D

  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值