Linux下标准C编程第一章
一.简单介绍
在Ubuntu中vim的配置文件存放在/etc/vim目录中,配置文件名为vimrc
在Fedora中vim的配置文件存放在/etc目录中,配置文件名为vimrc
在Red Hat Linux 中vim的配置文件存放在/etc目录中,配置文件名为vimrc
1.set nocompatible去掉有关vi一致性模式,避免以前版本的bug和局限
2.set nu!显示行号
3.set guifont=Luxi/ Mono/ 9 设置字体,字体名称和字号
4.filetype on检测文件的类型
5.set history=1000:记录历史的行数
6.set background=dark:背景使用黑色
7.syntax on:语法高亮度显示
8.set autoindent:vim使用自动对齐,也就是把当前行的对齐格式应用到下一行(自动缩进)
9.set cindent(cindent是特别针对 C语言语法自动缩进)
10.set smartindent依据上面的对齐格式,智能的选择对齐方式,对于 类似C语言编写上有用
11.set tabstop=4设置tab键为4个空格,
12.set shiftwidth =4设置当行之间交错时使用4个空格
13.set ai设置自动缩进
14.set showmatch设置匹配模式,类似当输入一个左括号时会匹配相应的右括号
15.set guioptions-=T去除vim的GUI版本中得toolbar
16.set vb t_vb=当vim进行编辑时,如果命令错误,会发出警报,该设置去掉警报
17.set ruler在编辑过程中,在右下角显示光标位置的状态行
18.set nohls默认情况下,寻找匹配是高亮度显示,该设置关闭高亮显示
19.set incsearch在程序中查询一单词,自动匹配单词的位置;如查询desk单词,当输到/d时,会自动找到第一个d开头的单词,当输入到/de时,会自动找到第一个以ds开头的单词,以此类推,进行查找;当找到要匹配的单词时,别忘记回车
20.set backspace=2设置退格键可用
21.修改一个文件后,自动进行备份,备份的文件名为原文件名加“~”后缀
if has("vms")
set nobackup
else
set backup
endif
如果设置完成后,发现功能没有起作用,检查一下系统下是否安装了vim-enhanced包,查询命令为:
$rpm -q vim-enhanced
注意:如果设置好以上设置后,VIM没有作出相应的动作,那么请你把你的VIM升级到最新版,一般只要在终端输入以下命令即可:sudo apt-get install vim
二.标准C编程:
vi xxx.c:编写c程序(xxx.c为c语言源程序)
按照标准c语言编写,不是可执行的,可移植
gcc xxx.c:编译c程序,生成机器指令(a.out)存放在当前目录下(编译compile,连接link)
gcc -c xxx.c:只编译,不连接,产生xxx.o(目标文件)
gcc xxx.o:连接目标文件
gcc xxx.o -oxxx
a.out或./a.out:执行生成的机器指令(可执行文件,不可移植)
#编译预处理语句,将后面包含的头文件插入到include,标准c语言的头文件放在/usr/
插入标准C语言头文件用“<>”;插入不是自带的文件要用“”;
source ~/.bashrc或者. ~/.bashrc初始化bashrc;
return 0;内核要求程序返回一个值,表示返回0值,一切正常;如果返回1,则表示程序运行 过程中出了一点问题。
单个字符(char)用‘’表示;字符串则用""表示。
数据类型:
float(精确到7位有效数字);double(精确到15位有效数字);long double(有些编译 器不支持),
float的存储方式:一个符号位(1bite)+阶码(8byte)+尾数(23byte),一 共四个字节;
double的存储方式:一个符号位(1bite)+阶码(11byte)+尾数(52byte),一共八个字节;
short int(2byte);int(4byte);long int(4byte);long long int(8byte);
unsigned:没有符号位
char(0~127):ASCII码(7bite)表示范围,实际保存的是数字,而不是图案;
‘a’-‘z’:97-122
‘A’-‘Z’:65-90
‘0’-‘9’:48-57(数字的字符要注意)
所以字符数字要与实际意义数值相比,在用字符进行转换是,只需减去‘0’(48);
二进制数:
扩展ASCII码;
8位(1byte)二进制数原码,取权重位为符号位,0表示非负数,1表示负数;
补码:正数的补码是自己本身;负数的补码是相对应正数先取反加一;
对负数的补码而言,对它再取反加一就是它所对应的正数。10000000表示-128;
printf:
%i、%d:int , %hd:short int , %ld:long int;
%u:unsigned int;
%f:float , %lf:double;
%c:char
%s:"string";
%p:address;
%x:十六进制 , %o:八进制;
%g:float/double去掉了尾随的0;