Linux C学习第三天

1.创建并打开文件

例:vim Hello.c
vim三种模式:
(1)命令模式:vim一打开文件就是命令模式,此时不可写代码。
(2)插入模式:在命令模式下按下a或者i进入插入模式,可编写代码,按esc回到命令模式。
(3)底行模式:按shift和;进入底行模式,输入wq保存退出,w保存,q退出,若命令后加!则表示强制  执行。
    x:删除一个字符,n(n=1,2,3,4……)x删除n个字符
    dd:删除(剪切)一行字符
    p:粘贴
    ndd:删除(剪切)n行
    nyy;复制n行
    shift+g;跳到最后一行
    gg:回到第一行
    *:查找光标所在字符串,n查找下一个
    u:撤销操作
    shift+zz:保存并退出
    +n:直接跳到第n行
    sp Hello.c:可以打开Hello.c
    ctrl+ww:可以上下移动光标(两文件之间)
    /进入底行模式,输入字符串查找字符,n查找下一个,shift+n查找上一个
    %s/old/new/g:替换操作
    set nonu:关闭行号(set nu:打开行号)
    更改写代码的相关设置:
    打开 /etc/vimrc,其中syntax on为膏亮打开,关键字有颜色,set autoindent为自动缩进首行。
    c语言中函数的实现在c库中实现
    c文件必须以 .c 结尾。
    库文件以lib开头,以 .so 结尾
    用相对路径执行文件时要加./

2.编程的过程

1.预处理    
gcc -E hello.c -o hello.i           处理所有以“#”开头的代码((1)头文件(展开)(2)宏定义(替换)          (3)条件编译)
2.编译
gcc -S hello.i -o hello.s           把c代码翻译成汇编代码
3.汇编
gcc -c hello.s -o hello.o           把汇编代码翻译成二进制文件
4.链接
gcc 所有 .o 文件  -o hello           链接程序需用到的其他文件
gcc -I                              指定头文件路径 
gcc -static                         静态链接

3.Makefile 工程管理器

(1)需要生成的目标文件(target file) 
(2)生成目标文件需要的依赖文件(dependency file)
(3)生成目标文件的编译规则命令行(command)
例:Target=Hello
   Object=Hello.o print.o
   $(Target):$(Object)
   		gcc $(Object) -o $(Target)
   .PHONY :clean                                #把clean声明成伪目标文件
   clean:
   		rm *.o Hello                            #删除中间文件

4.gdb调试工具

gcc test.c -o -g               -g为编译后可调式
gdb test                       调试test
(gdb)l 5                      显示1-10行代码,5为中间行
r                              运行程序                    
b                              设置断点
b 14                           在14行处设置断点
b main                         在main函数处设置断点
info b                         查看断点
n                              执行下一行代码(定义变量不算在内,且不进入函数)
s                              执行下一行代码(遇到函数进入)
c                              继续执行
p                              打印变量值
q                              退出调试

5.脚本语言shell

脚本的后缀   .sh
例    
#!/bin/bash
echo "混沌决"                   #打印混沌决
echo "混沌决" > hd.txt          #将混沌决写入hd.txt
cat /home/chuixue/HELLO/Hello.c >> hd.txt          #将源文件内容写入hd.txt

TMP="一重山是一重关,一重关处道仙缠"                     #定义变量
echo ${TMP}                                        #打印变量
echo $TMP                                          #同上
echo "第一个参数是: $1"
echo "第二个参数是: $2"
echo $*                                            #打印所有参数
echo $#                                            #打印参数的个数

for((i=0;i<5;i++))
do
echo "我在人间彷徨"
done                                               #打印5遍我在人间彷徨

for i in $1 $2 $3 $4
do
mkdir $i
cd $i
echo >$i.c"
#include<stdio.h>
int main()
{
    printf(\"helloword!\\n\");
    return 0;
}"
cd ..
done    #创建以1,2,3,4为名字的文件夹,每个文件夹各创建一个与其名字相同的 .c 文件并写入规定的内容

if [ $1 -eq 0 ]; then
echo "恭喜您是0号"
fi
if [ $2 -gt 0 ]; then 
echo "恭喜您比0大"
elif [ $2 -lt 0 ]; then 
echo "恭喜您比0小"
else 
echo "恭喜您是0"
fi
if [-d $3 ]; then
echo "这是目录"
elif [ -f $3 ]; then 
echo "这是文件"
fi                                   #判断参数是否比零大,判断是否为目录或文件,打印相应的结果
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值