c语言复习一

一,shell脚本的作用 举例

一种c语言编写的应用程序。

是用户在没有图形界面下的访问系统内核服务的唯一途径,

是记录指令合集的脚本文件,

提高了编程效率,

可以不依靠集成开发环境实现功能编码,

可以将计算机的资源拼接在一起使用。

二,makefile文件

目标:依赖文件合集

   命令1.....

  命令2.....

main : a.o b.o c.o

        gcc - o main a.o b.o c.o

a.o : a.c

        gcc -c a.c       //编译为.o文件    可以理解为gcc  减c  就是把.c文件的c减掉

b.o :b.c

        gcc -c b.c 

c.o : c.c

        gcc -c c.c

.PHONY:clean             //伪目标  作用是防止此目录有clean文件时干扰下面的删除命令

clean :

        rm *.o       //删除所有.o文件

        rm main       //删除main

在终端中用make clean 即为clean中命令

命令列表中的每条命令必须以 TAB 键开始,不能使用空格! 

name = abc
curname = $(name)        //此时curname为abc
name = AAA               //此时curname 为AAA

printf:
    @echo curname : $(curname)    //不加@ 输出结果会显示为echo curname : ..... 
name = abc
curname := $(name)        //此时curname为abc
name = AAA               //此时curname 为abc     :=不会引用后面赋值
name ?=BBB              //此时name 为AAA  ?=表示前面有赋值就用前面  没有就用BBB
print:
    @echo curname : $(curname)    //不加@ 输出结果会显示为echo curname : ....
name = a.c
name += b.c
//此时name里有a.c b.c
1 objects = main.o input.o calcu.o
2 main: $(objects)
3     gcc -o main $(objects)
4 
5 %.o : %.c          //表示目标为所有.o  依赖文件为所有.c
6     gcc -c $<           //表示编译所有  .c文件($< 和%.c 配合 $<作用是取依赖文件中第一个文件, 
                         而 %.c 为所有.c文件  所以第一个依赖文件表示为所有.c文件
ifeq (<参数 1>, <参数 2>)
    参数1,2相同时执行此处命令
.else
    不同时执行此处
endif

ifneq(<参数 1>, <参数 2>)  //与上面相反


ifdef<参数>
    参数非空执行
ifndef<参数>     //与上面相反

三,linux常见命令

tar -cvf  -xvf  -tvf   创建 解压  查看 压缩文件

cd   切换目录 cd ..  cd ./  cd ../xx   上一个目录   本目录  上一个目录的xx目录

grep 在文件中查找 grep -i "the" xxxx 

grep -a 3 -i  "the"  xxx     查找the 并输出后面三行

find  找文件   find -iname "xxx" 

vim    用vim编辑器进入

cp  复制粘贴文件   cp a.c  ../    把a.c 复制到上个目录

rm  删除文件     rm a.c   删除a.c     rm -r  a  删除目录a

mv  移动文件 给文件改名    mv a.c  b.c  把a.c改名为b.c     mv  a.c  ../  把a.c移动到上个目录 

ps  查看进程  ps -aux  查看系统所有进程

kill  向某个进程传送某个信息   kill -SIGHUP PID  重新启动进程 SIGINT 中断  SIGKILL强制中断

file  查看文件基本数据

cat  查看文本内容

chmod  给文件授权   chmod 777 file 

gcc   编译

time   加在命令前面  查看预测此命令执行需要多久

 四,ls -l

文件类型  文件权限  文件硬链接数文件子目录数  文件拥有者及所在组  文件日期 文件大小 文件名

 d目录       2-4所有者权限

-普通         5-7 用户组权限

c字符设备  8-10 其他用户组权限

五,static  const 

static  局部变量       延长生命周期   函数结束它不结束

          全局变量     不让本目录其他文件用extern调用

const

const int len = 100;       让len 从变量变为常量  并且后面不能用len =100修改

修饰变量 

        const int a = 1 和int const a = 1 为一样的  初始化需要先赋值 否则后面不能赋值

修饰指针

              const int *n = &a    指针符号*在后 为常量指针   指向“常量”的指针

                                             指向的方向可以改变  但是不能通过改指针改变值的大小(有其他方式

             int  *const n =&a   指针常量      本身是一个常量   指针类型的常量

                                          指向的方向不可改变  但是不能通过改指针改变值的大小(有其他方式

             const int *const n        指向常量的常指针     

                                            指向的值不可改变  但是不能通过改指针改变方向(有其他方式

修饰函数              

                void func (const char * p)        防止修改指针指向的内容

                                           指向的内容p不可改变(此函数中不能改变p的内容

                void func(int *const a)               防止修改指针指向的地址

                                           指向的方向不能改变

修饰全局变量                和局部变量一样

  

                                              

                 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值