在c語言
A. &在c語言中什麼意思
主要有兩個意思:
取地址符,用在指針表達式或輸出變數地址時 例如 int a; &a就是表示變數a在內存中地址
二進制位與位運算符 1&1=1 0&0=0
拓展資料:
C語言主要特點:
C語言是高級語言。它把高級語言的基本結構和語句與低級語言的實用性結合起來。C 語言可以像匯編語言一樣對位、位元組和地址進行操作,而這三者是計算機最基本的工作單元。
C語言是結構式語言。結構式語言的顯著特點是代碼及數據的分隔化,即程序的各個部分除了必要的信息交流外彼此獨立。這種結構化方式可使程序層次清晰,便於使用、維護以及調試。C 語言是以函數形式提供給用戶的,這些函數可方便的調用,並具有多種循環、條件語句控製程序流向,從而使程序完全結構化。
C語言功能齊全。具有各種各樣的數據類型,並引入了指針概念,可使程序效率更高。而且計算功能、邏輯判斷功能也比較強大。
C語言適用范圍大。適合於多種操作系統,如Windows、DOS、UNIX、LINUX等等;也適用於多種機型。 C語言對編寫需要硬體進行操作的場合,明顯優於其它高級語言,有一些大型應用軟體也是用C語言編寫的。
B. 在C語言中
我這程序執行匯報運行時錯誤,printf("%c\n",(*str)++);printf("%c\n",++*str);這兩句答案得不到,因為這個字元串是"abcde"在靜態儲存區,是無法修改的
修改一下代碼
char p[6]={'a','b','c','d','e'};
char *str=p;
printf("%c\n",*str);//str指向的是p的首地址,*str就是a
printf("%c\n",*str++);//str做的是後自加,那麼就是當前語句是無效的,str還是首地址,所以是還a,但是這個語句執行後,由於str做了自加,那麼str的地址偏移了指向了b
printf("%c\n",*++str);//str地址先偏移指向了c,那麼在*的話 打出來的就是c了,自加是在當前語句執行的
printf("%c\n",(*str)++);//括弧優先順序高,先做括弧的*str,也就是得到了字元c,因為是對*str做的後自加,所以當前語句是無效的,但是語句執行後,*str也就是c這個字元做了自加,那麼c就變成了d,但是指針不偏移,因為後自加是對*str的操作而不是str
printf("%c\n",++*str)//按照結合律,*先與str結合,那麼*str也就成了字元d,在與前自加結合。前自加是在當前語句執行,所以也即是字元的做了自加,變成了e,但是str地址沒偏移
所以最後結果是aacce
C. 「&」在C語言中是什麼意思
「&」在C語言中是指「異」「或」的意思。
D. &在c語言中是什麼意思
兩個運算符擺放在一起。
「=」是賦值運算符,「!」邏輯非運算符,邏輯操作符一般將其操作數視為條件表達式,返回結果為Bool類型:首先對其操作數求值,若結果為0,則條件為假(false),否則為真(true)
優先順序上「!」先於「=」,int i;i=!5;
1.根據運算符優先順序,!先於=
2.首先5作為!的操作數,求值!5的結果是bool型的false
3.然後false隱士轉換成int型,即0
4.所以i裡面的值是整形0
通常我們說話是加&表示「與」,比如Jake & Tom,C語言里&較為基礎的一個使用就是「按位與」,它用在數據與數據之間進行運算(注意,它與【邏輯與】「&&」不同),比如十六進制a=0x10&0x01=0x00,而邏輯與的結果則是a=0x10&&0x01=1(TRUE);
第二個就是作為取地址符,這時候他用於數據的前面,比如int a=&b;
C++里還使用&作為引用符,如果你確認程序是標準的C而非C++的話,那麼可以排除是引用了。引用也用於數據前面,它只在定義和聲明時使用,如int &othername=name;
int &a=b; //定義時使用在等號左側,是引用
int *a=&b; //在等號右側,並單獨在數據之前,是取地址
int a=(&b) & 0xffff; //第一個&是用於取b的內存中的地址,第二個&是按位與,即保留b地址值的低16位,高16位數值被清零(32位處理器下)。
E. &在c語言中是什麼意思
&在C語言中可能表示兩種運算符。
1、如果運算對象只有一個,且為右操作數,那麼&為取地址運算符,結果為操作對象的地址。例如&a(假設a是一個左值,即具有具體的可訪問的地址)結果為a的地址。
2、如果運算對象有兩個,那麼&表示位與運算。結果中的每一個二進制位等於兩個運算數的對應位置的二進制位按位與。每一個位的位與運演算法則是,當且僅當運算數都為1時結果為1,即:1 & 1 == 1,1 & 0 == 0 & 1 == 0 & 0 == 0。
c語言運算符號種類:
1、算術運算符
用於各類數值運算。包括加(+)、減(-)、乘(*)、除(/)、求余(或稱模運算,%)、自增(++)、自減(--)共七種。
2、關系運算符
用於比較運算。包括大於(>)、小於(<)、等於(==)、 大於等於(>=)、小於等於(<=)和不等於(!=)六種。
3、邏輯運算符
用於邏輯運算。包括與(&&)、或(||)、非(!)三種。
4、位操作運算符
參與運算的量,按二進制位進行運算。包括位與(&)、位或(|)、位非(~)、位異或(^)、左移(<<)、右移(>>)六種。
5、賦值運算符
用於賦值運算,分為簡單賦值(=)、復合算術賦值(+=,-=,*=,/=,%=)和復合位運算賦值(&=,|=,^=,>>=,<<=)三類共十一種。
6、條件運算符
這是一個三目運算符,用於條件求值(?:)。
7、逗號運算符
用於把若干表達式組合成一個表達式(,)。
8、指針運算符
用於取內容(*)和取地址(&)二種運算。
9、求位元組數運算符
用於計算數據類型所佔的位元組數(sizeof)。
10、特殊運算符
有括弧(),下標[],成員(→,.)等幾種。
以上內容參考 網路-c語言運算符號
F. 「~」在c語言中是什麼意思
如下圖所示:
G. %在c語言中是什麼意思
C語言中%有兩種意思,第一表示求余符號 經常會用到判斷一個數是不是能被另一個整除。
如:7%3=1(7除以3,餘下1,) 1%3=1(1除以3除不盡,餘下1);如判斷一個m是奇數還是偶數?代碼如下:if(m%2==0) print f("偶數")。引導符,用於引導輸入輸出項表列的格式。
例如:print f("%d%c%f",a,b,c);意思就是a以整型輸出,b以字元型輸出,c以實型輸出。
C語言運算優先順序
優先順序:C語言中,運算符的運算優先順序共分為15 級。1 級最高,15 級最低。 在表達式中,優先順序較高的先於優先順序較低的進行運算。而在一個運算量兩側的運算符 優先順序相同時,則按運算符的結合性所規定的結合方向處理。
結合性:C語言中各運算符的結合性分為兩種,即左結合性(自左至右)和右結合性(自右至左)。例如算術運算符的結合性是自左至右,即先左後右。如有表達式x-y+z 則y 應先與「-」號結合,執行x-y 運算,然後再執行+z 的運算。這種自左至右的結合 方向就稱為「左結合性」。而自右至左的結合方向稱為「右結合性」。
H. %在c語言中是什麼意思
1、運算符:取余運算符。
2、格式:
%d是整型,%c是字元型,%%是輸出%,%ld是輸出長整型。
%f是輸出浮點型(小數形式),%e是輸出浮點型(指數形式)。
%lf/%le用於輸出double型,%g選%e/%f長度小的一種,且不輸出多餘的零。
%o輸出八進制,不會輸出負的,%x輸出十六進制。
%hd用於輸出短整型。
%s用於字元串