linux C 笔记

Makefile 编译工程

vim makefile:  

hello:hello.o

(tab)gcc hello.c- o hello

隐藏规则:(不用打自己会执行)

hello.o:hello.c

gcc -c hello.c -o hello.o


Target=hello

Object=hello.o(变量表示的好处,可使多个文件同时赋予变量)

$(Target):$(Object)

(按tab)gcc $(Object) -o $(Target)

hello.o:hello.c


GDB调试

gcc 文件名 -g

gdb 文件名

l(列出)    b(break 断点 b+行号,运行到这里停止)    info b(查看断点)   n(按步运行    run 程序跑一遍(设置断点,停住之后才能n 一步一步运行))     s(进入函数)return(r 退出函数) 

基本步骤: 如gcc 5.c -o 5 -g

                       gdb

shell:命令解析器(脚本)

新建文件:vim shell.sh

#!/bin/bash    "路径解析下面的语句"

Tmp = "hello"

echo "hello world !"

echo $Tmp

echo $0 "参数"

echo $"first        $1"

echo $"second  $2 "

echo $"third       $3 "

echo $"all           $*"     "几个参数"

echo "sum           $#"

(保存退出  运行:./shell.sh)

循环

for dir in $1 $2 $3 $4 $5

do

     mkdir  $dir

     cd       $dir

     touch  $dir 

     echo  "hello  $dir" > $dir   ">覆盖"  ">>追加"(如 echo "world">a)

      cd ..

done

判断

1.

#!/bin/bash

PATH="/home/suqian/shell/PATH.sh"  (输入地址判断该地址存放的是文件还是目录)

if [ - d $PATH ]; then "注意中括号两端要空一格"

  echo "DIR"

elif [ -f $PATH ]; then

  echo "FILE"

fi

2.

#!/bin/bash

read key   (变量key,判断输入的是字母大小写还是数字还是符号)

case "$ {key}" in

[A-Z])  echo "UpperLetter";;

[a-z])   echo "LowerLetter";;

[0-9])  echo "Number";;

*)        echo "ERROR";;

esac



C语言

整型 int

整型 占4个字节

float 占4个字节

double 占8个字节

char 占一格字节

查头文件函数  :man 3 strlen

          无符号型长度(%u)>有符号型长度

const volatile  修饰变量的时候表示什么意思?

答:const修饰只读变量,不能通过变量修改对应内存中的命令。

       volatile防止编译时被优化。

\t :空出一格tab的距离;\n:换行

        char a (int) a[i]   由字符强制转化为整型

逗号隔开执行后一个式子:3+5,6+8   =14

  ++i,--i  在执行i的语句前,先使i的值加/减1

  i++,i--  在执行i的语句后,使i得值加/减1

   a=4 求:自加减优先级更高:

   a+ =a++(9)   a+=++a(10) ++a+=a(10)  ++a+=a++(11)  ++a+=++a(12)

a==0优于0==a 如果少打一个=第二种会报错,第一种可能执行出错误答案

控制结构

if :   if  (  )

         if (  )    语句1

       else                                      内嵌if

         if (  )     语句2

       else        语句3

switch:

 switch (表达式)

{

case  常量表达式 1:  语句1;  break;

        case  常量表达式 2:  语句2;  break;

         

        case  常量表达式 n:  语句n;  break;

        default :                     语句n+1;

 

return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值