day2 :vim的使用和变量

1.vim编辑器

1.1vim的功能

linux上的文本编辑器,可以编写代码和文本文件

用法:

vim 文件名:文件存在打开文件并能编辑,不存在则创建文件并打开

1.2vim的模式

 

1.3vim对应模式的操作

  • 命令行模式

yy:拷贝一行

nyy:拷贝n行

鼠标选中需要拷贝的行,按下键盘的y(已经拷贝了,按p粘贴)

dd:剪切一行

ndd:剪切n行

鼠标选中需要剪切的行,按下键盘的d(按p粘贴)

p:粘贴

u:撤销

crtl+r:反向撤销

gg:跳转到第一行

shift+g/G:跳到最后一行

gg=G:字符格式对齐

/string:搜索对应的字符串

​ : n向下跳转到下一个高亮的字符。​

  • 插入模式

    编辑代码用的,或者写内容

  • 底行模式

    :w:保存

    :wq /x:保存且退出

    :q:退出

    :qa:退出所有文件

    :q!:不保存退出

    :wq!:强制保存退出

    :wqa:保存且退出所有文件

    :n:跳转到文件的第n行

    :%s/str1/str2/g:全局将str1更换为str2

    :sp 文件名:打开另一个文件并水平显示

    :vsp 文件名:打开另一个文件并垂直显示

    :set nu:开启行号

    :nohl:取消高亮显示

    注:

    x进行保存的时候不能写成大写X

    X是对文件进行加密处理

    注:

    如果要拷贝ubtun的文件内容到windows。

    就取消行号sert nonu

    长按shift,选中需要copy的内容,鼠标右键点击复制

    再粘贴到windows的文本文件中。

2.c语言的第一个程序:helloworld

2.1编写helloworld程序

程序:

广义:为了实现某一功能而编写的步骤

狭义:在计算机生能够执行的有序指令(1和0二进制)的集合

用vi编写helloworld程序:

#include <stdio.h>//stdio.h头文件,可以使用printf函数
int main(int argc, const char *argv[])//main是主函数,程序执行的入口
{//(int argc, const char *argv[])main函数的参数
 //{}是函数的主体
    //printf是输出函数\n是换行符
    printf("hello World!\n");
    //碰到return,程序结束
    return 0;
}        

2.2编译并执行helloworld程序

gcc是一个编译器,能够把代码转换成机器能够执行的二进制文件

1编译:

gcc Helloworld.c -o hello

使用这条命令生成了hello文件

gcc

使用这条命令生成了a.out文件

2执行:

./hello或者是./a.out
结果是
hello world!

3.计算机的组成

1.输入

2.输出

3.控制器

4.存储器(内存)

5.运算单元

 

4.内存结构及单位

 

内存的表示单位:

比特(bit):每一个bit位只能存储一个1或者0,它是内存表示的最小单位

字节(byte):每一个字节byte包含8个bit位,它是分配内存的最小单位

千字节(kb):1kb = 1024字节

兆字节(mb):1mb = 1024kb

千兆字节(GB):1GB = 1024mb

5.进制转换

5.1 数据表现形式(进制)

二进制:逢二进一 (0和1)(前缀是0b)

八进制:逢八进一 (0~7)(前缀是0)

十进制:逢十进一(0~9)(没有前缀)

十六进制:逢十六进一(0~16,a~f)(前缀是0x)

5.2 进制之间的转换

1.十进制和二进制相互之间的转换:

  • 十进制转二进制:

    采用“除2取余,逆序排列法”

  •  

  • 对5转二进制结果为0b101

  • 二进制转十进制:

    • 二进制用数值乘以2的幂次依次相加:

      0b101 = 1x2^2+0x2^1+1x2^0 = 5
    • 8421法:

      碰到简单的二进制用8421口算,本质上与上边方法相同

      0b101 = 4+1 = 5

2.八进制与十进制以及二进制的转换:

  • 十进制转八进制:

    • 采用“除8取余,逆序排列法”

    • 先转成二进制,再转成八进制(3位二进制为一位八进制):

      5(十进制)===>0101(二进制)===>05(八进制)
      ​
      16(十进制)===>10000(二进制)===>20(八进制)
  • 八进制转十进制

    • 八进制用数值乘以8的幂次依次相加:

      032(八进制)===>0x8^2+3x8^1+2x8^0=26(十进制)
    • 先转成二进制再转为十进制:

      032(八进制)===>000 011 010===>26

3.十六进制与十进制以及二进制的转换:

  • 十进制转十六进制:

    • 采用“除16取余,逆序排列法”

    • 先转成二进制,再转成十六进制(4位二进制为一位十六进制):

      4012(十进制)===>0111 1010 1100(二进制)===>fac(十六进制)
      ​
      291(十进制)===>0000 1010 0011(二进制)===>123(十六进制)
  • 八进制转十六进制

    • 八进制用数值乘以16的幂次依次相加:

      36(十六进制)===>3x16^1+6x16^0=54(十进制)
    • 先转成二进制再转为十进制:

      36(十六进制)===>0001 1010===>54

6.源码,补码,反码

数据在内存上存储的时候都是以补码的形式来存储的

正数:

源码,补码,反码都是它本身

负数:

反码是源码符号位不变其他位取反

补码是在反码的基础上+1

-5 : 源码是0b1000 0101

反码是0b 1111 1010

补码是0b1111 1011

7.C语言中的变量类型

c语言变量类型分为基本类型,构造类型,指针类型,空类型

7.1基本类型:

字符类型:char

unsigned char,有符号,一个字节大小,范围在[-128,127]

signed char , 无符号,一个字节大小,范围在[0,256]

整形:int(无符号最高位为数据位,有符号最高位为符号位)

short(short int):短整型,两个字节,范围[-32768,32767]

unsigned short:无符号段整型,两个字节,范围0,65535]

int:整型,四个字节,范围[-2,147,483,648,2,147,483,647]

unsigned int:无符号整型,范围[0,4,294,967,295]

long(long int):长整型,8个字节

unsigned long:无符号长整型,8个字节

long long(long long int):长长整型,8个字节

unsigned long long:无符号长长整型,8个字节

实型:float double

float:单精度浮点类型,4字节

double:双精度浮点类型,8字节

构造类型

数组

结构体

共用体

枚举类型

枚举:enum

指针类型

例子:int *p

整型指针

空类型

void

8.变量定义

格式:

<变量类型> 变量名;

变量名定义注意事项:

  1. 变量名只能有数字,字母,下划线组成,不能以数字作为开头

    abc a1 1b 9W _12 t&1 u_a char

  2. 变量名不能和关键字重复 (32个)

    signed unsigned char short long int float double void struct union enum 12

    if else switch case break continue return do while goto default for 12

    auto register static extern const volatile 6

    typedef sizeof 2

  3. 变量名要做到见名知意

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值