亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

C語言 百文網手機站

c語言大括號怎么用

時間:2022-09-06 10:05:59 C語言 我要投稿

c語言大括號怎么用

  大括號出現(xiàn)在腳本的各個角落,其用法也各有不同。同音多義字在漢語中最容易讓人混淆,而大括號也正是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是由自己在當前目錄創(chuàng)建的文件

  {

  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修改其執(zhí)行權限。

  2./bin目錄、/sbin目錄、/usr/local/bin/目錄、/usr/local/sbin目錄、/usr/bin目錄、/usr/sbin目錄的區(qū)別與聯(lián)系

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

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

  不同之處:

  /bin:基本命令

  /sbin:基本系統(tǒng)命令

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

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

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

  /usr/local/sbin:同上

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

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

  1、單小括號 ()

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

 、诿钐鎿Q。等同于`cmd`,shell掃描一遍命令行,發(fā)現(xiàn)了$(cmd)結構,便將$(cmd)中的cmd執(zhí)行一次,得到其標準輸出,再將此輸出放到原來命令。有些shell不支持,如tcsh。

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

  2、雙小括號 (( ))

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

 、谥灰ㄌ栔械倪\算符、表達式符合C語言運算規(guī)則,都可用在$((exp))中,甚至是三目運算符。作不同進位(如二進制、八進制、十六進制)運算時,輸出結果全都自動轉化成了十進制。如:echo $((16#5f)) 結果為95 (16進位轉十進制)

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

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

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

  [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語言大括號的用法04-02

c語言中fprintf怎么用10-06

c語言中%s怎么用10-04

c語言中邏輯或怎么用04-10

c語言問號冒號怎么用09-27

怎么學習C語言09-04

怎么自學C語言09-11

c語言中怎么畫圖10-07

怎么學習C語言編程09-23