Linux vi/vim及C基础实例
所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。
但是目前我们使用比较多的是 vim 编辑器。
vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。
vi/vim 的使用
基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。 这三种模式的作用分别是:
命令模式:
用户刚刚启动 vi/vim,便进入了命令模式。
此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。
以下是常用的几个命令:
i 切换到输入模式,以输入字符。
x 删除当前光标所在处的字符。
: 切换到底线命令模式,以在最底一行输入命令。
若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。
命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。
输入模式
在命令模式下按下i就进入了输入模式。
在输入模式中,可以使用以下按键:
字符按键以及Shift组合,输入字符
ENTER,回车键,换行
BACK SPACE,退格键,删除光标前一个字符
DEL,删除键,删除光标后一个字符
方向键,在文本中移动光标
HOME/END,移动光标到行首/行尾
Page Up/Page Down,上/下翻页
Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
ESC,退出输入模式,切换到命令模式
底线命令模式
在命令模式下按下:(英文冒号)就进入了底线命令模式。
底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
在底线命令模式中,基本的命令有(已经省略了冒号):
q 退出程序
w 保存文件
按ESC键可随时退出底线命令模式。
例一
C语言入门必备第一个程序
hello.c
例二
sizeod.c主要了解各种类型所占系统空间长度大小
#include <stdio.h>
int main(int argc, const char *argv[])
{
char a;
short b ;
int c ;
long d ;
float e;
double f;
printf("sizeof(a)=%lu\n",sizeof(a));
printf("sizeof(b)=%lu\n",sizeof(b));
printf("sizeof(c)=%lu\n",sizeof(c));
printf("sizeof(d)=%lu\n",sizeof(d));
printf("sizeof(e)=%lu\n",sizeof(e));
printf("sizeof(f)=%lu\n",sizeof(f));
printf("sizeof(char)=%lu\n",sizeof(char));
printf("sizeof(short)=%lu\n",sizeof(short));
printf("sizeof(int )=%lu\n",sizeof(int));
printf("sizeof(long)=%lu\n",sizeof(long));
printf("sizeof(float)=%lu\n",sizeof(float));
printf("sizeof(double)=%lu\n",sizeof(double));
printf("sizeof(long double)=%lu\n",sizeof(long double));
return 0;
}
打完代码后保存退出,然后gcc编译文件,它会生成一个./a.out的可执行文件,也可以gcc -o 编译成自己设置的名字
例三
计算:加,减,乘,除,取余
sum.c
#include<stdio.h>
int main(int argc, const char *argv[])
{
int i,j,sum;
printf("Please enter two numbers:");
scanf("%d%d",&i,&j);
printf("j+i=%d\n",i+j);
printf("j-i=%d\n",j-i);
printf("j*i=%d\n",j*i);
printf("j/i=%d\n",j/i);
printf("j%%i=%d\n",j%i);
return 0;
}
例四
比较两个数的关系(<>=)
bijiao.c
#include <stdio.h>
int main(int argc, const char *argv[])
{
int a,b;
printf("请输入2个数:>");
scanf("%d%d",&a,&b);
printf("a=%d,b=%d\n",a,b);
if(a>b)
{
printf("a>b\n");
}
else if(a<b)
{
printf("a<b\n");
}
else
{
printf("a==b\n");
}
return 0;
}
例五
案例 : 一个水分子的质量约为3.0*10-23g,1夸脱水大约有 950g,编写一个程序,要求输入水的夸脱数,然 后显示这么多水中包含说少水分子。
#include <stdio.h>
int main(int argc, const char *argv[])
{
int a;
printf("请输入水的夸脱数:>");
scanf("%d",&a);
printf("输入的夸脱数为:%d\n",a);
double num = 950/(3.0e-23)*a;
printf("%e\n",num);
return 0;
}