<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. C語言

    c語言大括號怎么用

    時間:2025-03-23 10:40:56 C語言 我要投稿
    • 相關推薦

    c語言大括號怎么用

      大括號出現在腳本的各個角落,其用法也各有不同。同音多義字在漢語中最容易讓人混淆,而大括號也正是bash語言中的“同音多義字”。下面小編就為大家介紹c語言大括號怎么用。

      第一種用法,符號擴展

      #!/bin/bash

      echo "{hello,world}"

      #######################

      # 輸出為:"hello" "world"

      #######################

      echo {a..c} #只能是..

      ######################

      # 輸出為: a b c

      ######################

      第二種用法,代碼塊表示法

      與c語言中的作用相似,c語言中,有了{}的代碼塊,其變量作用域就改變了;bash中,卻不存在這個功能,在{}中的內容,仍然與外部變量名相通。此外,{}代碼塊表示法還有一個作用,就是將代碼塊內所有的輸入輸出信息重定向。

      #腳本1

      #!/bin/bash

      a=123

      { a=321; } #大括號兩邊內部變量與大括號之間一定要用空格隔開

      echo "a = $a " #輸出 a=321

      #腳本2

      #!/bin/bash

      File="`pwd`/fas" #fas是由自己在當前目錄創建的文件

      {

      read line1

      read line2

      } < $File #此處進行重定向,將fas文件的內容讀入到line1和line2

      echo "First line in $File is: "

      echo "$line1"

      echo

      echo "second line in $File is :"

      echo "$line2"

      exit 0

      與大括號{}有些相似的符號是圓括號()。但圓括號()內的代碼將啟動一個子shell來運行,{}不會這樣。

      #!/bin/bash

      a=123

      ( a=321; )

      echo "a = $a" #a=123

      附注

      1.如果想讓你的腳本像ls等命令一樣通用,那么需要將命令復制到/usr/local/bin,并使用chmod 777 filename修改其執行權限。

      2./bin目錄、/sbin目錄、/usr/local/bin/目錄、/usr/local/sbin目錄、/usr/bin目錄、/usr/sbin目錄的區別與聯系

      最需要注意的一點,usr不是user的意思,而是unix system resource的簡稱,也就是unix系統資源。在/usr這個目錄下,放了一些系統

      相同之處:都是一些命令;

      不同之處:

      /bin:基本命令

      /sbin:基本系統命令

      /usr/bin:與/bin類似,包括此后安裝軟件的命令

      /usr/sbin:與/sbin類似,包括此后增加的系統管理的一些命令

      /usr/local/bin:與/bin,/usr/bin類似,但是局部(local)范圍,linux是多用戶系統,有分級的權限,有些軟件內容必須添加在/usr/local/bin,而不是/usr

      /usr/local/sbin:同上

      3.好腳本需要珍藏,以備不時之需。

      拓展:c語言小括號的用法

      1、單小括號 ()

      ①命令組。括號中的命令將會新開一個子shell順序執行,所以括號中的變量不能夠被腳本余下的部分使用。括號中多個命令之間用分號隔開,最后一個命令可以沒有分號,各命令和括號之間不必有空格。

      ②命令替換。等同于`cmd`,shell掃描一遍命令行,發現了$(cmd)結構,便將$(cmd)中的cmd執行一次,得到其標準輸出,再將此輸出放到原來命令。有些shell不支持,如tcsh。

      ③用于初始化數組。如:array=(a b c d)

      2、雙小括號 (( ))

      ①整數擴展。這種擴展計算是整數型的計算,不支持浮點型。((exp))結構擴展并計算一個算術表達式的值,如果表達式的結果為0,那么返回的退出狀態碼為1,或者 是"假",而一個非零值的表達式所返回的退出狀態碼將為0,或者是"true"。若是邏輯判斷,表達式exp為真則為1,假則為0。

      ②只要括號中的運算符、表達式符合C語言運算規則,都可用在$((exp))中,甚至是三目運算符。作不同進位(如二進制、八進制、十六進制)運算時,輸出結果全都自動轉化成了十進制。如:echo $((16#5f)) 結果為95 (16進位轉十進制)

      ③單純用 (( )) 也可重定義變量值,比如 a=5; ((a++)) 可將 $a 重定義為6

      ④常用于算術運算比較,雙括號中的變量可以不使用$符號前綴。括號內支持多個表達式用逗號分開。 只要括號中的表達式符合C語言運算規則,比如可以直接使用for((i=0;i<5;i++)), 如果不使用雙括號, 則為for i in `seq 0 4`或者for i in {0..4}。再如可以直接使用if (($i<5)), 如果不使用雙括號, 則為if [ $i -lt 5 ]。

      下面的程序給多維數組初始化,注意初始化時花括號和小括號的區別

      [cpp] view plain

      #include

      intmain()

      {

      inta[2][2]={(1,2),(3,4),};//如果把小括號換成花括號,結果就不一樣了,小括號(1,2)返回2(3,4)返回4,另外兩個元素默認是0

      inti,j;

      for(i=0;i<2;i++)

      {

      for(j=0;j<2;j++)

      printf("%d",a[i][j]);

      printf(" ");

      }

      int*p=a[0];

      printf("%d ",p[0]);

      return0;

      }

      /*

      運行結果:

      24

      00

      2

      */

    【c語言大括號怎么用】相關文章:

    c語言大括號的用法05-24

    c語言問號冒號怎么用05-15

    c語言中邏輯或怎么用07-05

    c語言中fprintf怎么用05-03

    c語言中%s怎么用05-20

    怎么學習C語言02-23

    怎么自學C語言08-05

    怎么學習C語言編程07-30

    c語言中怎么畫圖02-15

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人