2013年09月30日 星期一 09时37分03秒

回顾:
    1. linux系统的知识背景
    2. vi的使用

在正常模式下使用nyy可以把光标所在行开始的连续n行拷贝到剪贴板上去
在正常模式下使用np命令可以把剪贴板上的内容在当前光标所在行的下面粘贴n次
在正常模式下使用ndd命令可以把当前光标所在行下面的连续n行剪切到剪贴板上

:set命令是设置命令
:set nu 可以让vi在显示文档内容的时候同时显示行号
:set nonu  取消行号显示

~/.vimrc 是vi的设置文件
每次vi启动后都会读这个文件并把里面的所有set命令依次执行

touch命令可以创建一个新的空文件,也可以修改一个已经存在文件的最后修改时间

rm命令可以删除一个已经存在的文件

Linux系统中使用文件的操作属性描述文件的使用方式
每个文件的操作属性分成三组,每组由三个字符构成,每组针对一种特定的账号;
三种不同的账号分别是:文件所有者(左),同组人(中),其他人(右);
每组属性有三个字母构成,分别是:r代表查看,w代表修改,x代表执行

某一组的三个属性可以用一个0到7之间的数字表示(r对应4,w对应2,x对应1,-对应0)

chmod命令可以修改一个文件的操作属性
 - chmod 664 文件路径   (664  =  rw-rw-r--)

脚本文件包含很多命令,可以直接由计算机执行

cp命令可以实现文件的拷贝功能,使用方法如下:
 - cp    文件路径1     文件路径2 
 - 路径1对应一个已经存在的文件
 - 路径2对应一个还不存在的文件
 - 命令结束后路径2所对应的文件被创建出来,其内容和路径1所对应的文件一样

mv命令可以实现文件的剪切效果,命令的使用方法和cp一样

链接文件是另外一个文件的代表
ln命令可以用来创建一个链接文件
使用方法类似于cp命令
使用-s选项可以创建软链接文件
软链接文件依赖原有文件的文件名

程序是文件系统中的一个文件,它不会随着时间而改变;
进程是程序运行过程中所包含的所有数据,它会随着时间而改变;
每个进程都是根据一个程序创建出来的;
一个程序每次运行都会创建一个新的进程;
操作系统为每个进程分配一个整数用来代表这个进程,这个整数叫做进程ID;
不同进程的ID一定不同;

ps命令可以查看当前系统中的进程
-aux 选项可以查看系统中所有进程
kill命令可以杀死一个进程,需要提供进程的ID:
 - kill 进程ID
 - 使用 -9 选项可以强制杀死一个进程
ctrl+c可以结束当前进程(占用终端窗口的进程)

输出重定向可以把命令本应该显示在终端窗口中的内容写入到文件中
 - 在命令中使用 > 可以实现输出重定向的效果
 - >实现输出重定向的时候会把文件中原有内容清除掉
 - >>实现输出重定向的时候会保留文件中原有内容,新内容追加

管道可以用来连接多个命令,使用 | 表示

通配符可以用来简化命令中路径的编写
? 是一个通配符,代表任意一个单一字符
*  也是一个通配符,可以代表任意多个字符

----------------------------------------------------------

C语言中可以使用加减乘除四则运算符号(+  -  *  /)
“ ; ” 用来分割不同的语句
每个语句必须完成一个完整的工作
任何一个程序都是由大量的语句构成的
大括号是用来对语句进行分组管理的
一组中的所有语句是相关的,不同组的语句是相互独立的
大括号之间是可以互相嵌套的,嵌套的层次没有限制
绝大多数语句都属于一个大括号
所有语句不可以跨越大括号
(不被其他大括号包含的大括号被称为 顶级大括号)
所有顶级大括号必须有名字
不同顶级大括号名字一定不同

C语言程序中必须有一个叫做main的顶级大括号
这对顶级大括号叫做主函数
程序从主函数中第一条语句开始执行,主函数的最后一条语句结束后程序结束
所有顶级大括号都可以选择遗留一个数字,需要使用return语句指定遗留数字
return是C语言中的一个关键字
return关键字的另外一个作用是立刻终止顶级大括号中所有语句的执行。

计算机中数字是严格分组的
不同组的数字在处理的时候可能差别非常大
每个分组叫做一个数据类型
整数类型的分组中包含所有不带小数点的数字
C语言中给每个数据类型规定一个名字,整数类型的名字是int
数字分组的依据不是数值,同一个数字可能属于多个分组
程序中所有不带小数点的数都被当成整数类型处理

每一对顶级大括号都必须明确说明它所遗留数字的类型

C语言程序的开发步骤:
1.vi编写以.c作为扩展名的文件
2.使用gcc工具对元文件进行编译,得到a.ou文件
3.使用命令./a.out执行程序
MinGW是Windows系统下的gcc

gcc的编译过程:
1.把所有预处理指令处理完成
2.把源文件翻译成计算机能认可的格式(编译)
3.把程序中不同部分连接起来(链接)

预处理指令是C语言程序中一种特殊的指令
所有预处理指令的作用都是把源程序中的内容变成另外的样子

预处理指令不是C语言的语句
所有预处理指令都是以#作为开头
#include是一条预处理指令
 - 这条预处理指令可以把其他文件的内容合并到当前文件中
 - 这条预处理指令使用时需要指定另外一个文件的路径
 - 使用<>把路径包含到预处理指令中则gcc会从计算机的某个固定路径中去查找对应的文件
 - 使用“”把路径包含到预处理指令中则gcc会先从当前文件所在的目录开始查找对应的文件

gcc的选项
-E   只处理所有预处理指令
-c   只完成预处理和编译工作(以.o作为扩展名的目标文件)
-o   指定得到的新文件的名字
-std=c89 / -std=c99 (两者选择一个使用,如果没有说明,计算机默认使用 -std=c89) 指定这次编译所采用的C语言规范版本

C语言程序中加入文字信息注释
gcc在对程序进行编译的时候会忽略所有的注释
单行注释以//做开头,这行中后面所有的内容都当成注释看待
多行注释以/*做开头,以*/做结尾,中间的所有内容被当成注释处理。

关键字是C语言中预先规定好的一组英文单词
每个关键字有特定的含义,可以实现特定的效果
关键字一共有几十个
所有关键字都是使用小写字母

C语言程序大量使用名字区别不同的东西
所有名字统称为标识符
标识符最好使用英文单词描述
标识符的命名规则:
1.第一个字符必须是英文字母或者下划线
2.后面的所有字符可以是英文字母,下划线和数字
3.标识符是大小写敏感的
4.不可以使用关键字作为标识符
5.标识符的长度没有限制(c89规范中截取前31个字符,c99规范中截取前63个字符)

C语言中的书写规范
1.一行中最多包含一条语句
2.不同层次的语句要用缩进区分开
3.在合适的地方使用空格和空行
4.标识符采用驼峰方式或下划线方式编写

C语言使用标准函数完成通用的功能
每个标准函数有一个名字,不同标准函数的名字不一样
程序中使用函数调用语句来使用标准函数完成功能

printf标准函数用来把程序中的信息打印在屏幕上
为了使用printf,标准函数需要包含stdio.h文件
使用占位符可以打印编写程序时还不知道的数字

Day02_VI基本操作及C基础的更多相关文章

  1. 利用python进行数据分析1_numpy的基本操作,建模基础

    import numpy as np # 生成指定维度的随机多维数据 data=np.random.rand(2,3) print(data) print(type(data)) 结果: [[0.11 ...

  2. 利用Python进行数据分析 基础系列随笔汇总

    一共 15 篇随笔,主要是为了记录数据分析过程中的一些小 demo,分享给其他需要的网友,更为了方便以后自己查看,15 篇随笔,每篇内容基本都是以一句说明加一段代码的方式, 保持简单小巧,看起来也清晰 ...

  3. Javascript基础篇小结

    转载请声明出处 博客原文 随手翻阅以前的学习笔记,顺便整理一下放在这里,方便自己复习,也希望你有也有帮助吧 第一课时 入门基础 知识点: 操作系统就是个应用程序 只要是应用程序都要占用物理内存 浏览器 ...

  4. 12. Mysql基础入门

    课程大纲 • 数据库概述 • MySQL基本操作 • MySQL索引基础 • MySQL高级特性

  5. 基于 SWTBot 进行 Eclipse GUI 自动化测试

    背景简介 在软件开发领域,持续集成和部署对于软件测试自动化提出了越来越高的要求,基于 Eclipse 应用在这一需求中仍然占据重要的组成部分.目前主流的测试自动化工具主要以录制回放的功能为主,辅助以脚 ...

  6. Flask构建微电影(一)

    第一章.项目介绍  1.1.前言    本教程我将带领大家如何使用flask框架开发微电影网站.Flask是python中最受欢迎的轻量级web框架,flask扩展丰富,冗余度小,可自由选择组合各种插 ...

  7. PHP全栈学习笔记18

    php基础知识,JavaScript,jQuery,ajax基础知识 linux基础知识,mysql数据库的基础与优化 程序设计,PHP框架基础知识,算法,逻辑思维,高并发 PHP基础知识 引用变量, ...

  8. phper必知必会(二)

    1.说说你对进程,线程以及协程的理解 进程:是系统进行资源分配和调度的基本单位,是基本操作系统结构的基础.进程是程序基本执行的实体.进程与进程之间是独立的,拥有完全独立的地址空间,进程的切换只发生在内 ...

  9. 20165233 2017-2018-2 《Java程序设计》第七周学习总结

    20165233 2017-2018-2 <Java程序设计>第七周学习总结 教材学习内容总结 ch11 下载XAMPP 基本操作:连接数据库 基础:查询操作,更新.添加与删除操作 重点: ...

随机推荐

  1. spring-junit的标注总结

    如果在测试类的类名上面添加了注解 @ContextConfiguration("meta/springConfigured.xml") 如何在标注了@Test的方法里面获取上面xm ...

  2. c 单链表反转(不添加新结点空间)

    最近复习考研,加上一直都将"算法"放在很高的位置,所以,蛮重视算法的.不多说了,其实这个问题,不难理解的. 主要代码: //反转单链表. void reverse(linklist ...

  3. 引号 shell

    在学些shell的 grep, awk, sed 中,发现<Linux 与Unix Shell 编程 指南>书中用大多都是单引号. 一开始我总在寻思,为什么用单引号,明明双引号也是行的呀. ...

  4. smokeping报错Can't locate RRDs.pm in @INC (@INC contains

    安装完smokeping,执行debug语句: ./bin/smokeping --debug-daemon ,提示如下错误: Can't locate RRDs.pm in @INC (@INC c ...

  5. Windows免密码远程桌面

    1.WinKey + R,在对话框中输入“gpedit.msc”,点“确定”:   2.展开:计算机配置--Windows设置--安全设置--本地策略--安全选项,找到“帐户:使用空白密码的本地账户只 ...

  6. C++小技巧之四舍五入与保留小数

    四舍五入:保留整数 int a = b+0.5; 保留一位小数  int a=(b+0.05)*10; double c=a/10; 保留二位小数  int a=(b+0.005)*100; doub ...

  7. animation中的steps()逐帧动画

    在我们平时做宽高确定,需要背景图片切换的效果时,我如果用的是一张大的png图片.而且恰好是所有小图都是从左向右排列的,那么 我们只需测量出某一个小图距左侧有多少像素(x),然后我们banckgroun ...

  8. 关于js闭包杂记

    闭包:一个函数oneF里return了另一个函数innerF,然后在oneF外面运行了函数innerF,如果innerF里有用到在oneF里定义的变量,则此时依然可以引用到, 但是变量值不是定义函数i ...

  9. CSS3+HTML5学习笔记(1)

    box内阴影: -moz-box-shadow:inset 30px #; -webkit-box-shadow:inset 30px #; box-shadow:inset 30px #; 多重文字 ...

  10. Pyhton 操作MySQL数据库

         MySQL数据库的接口程序下载地址:https://sourceforge.net/projects/mysql-python/ 操作数据库的大致步骤如下: 1:首先先创建一个数据库的连接对 ...