『壹』 c語言當中的 *和** 表示什麼

*有兩個操作數的話,一般是 代表算術運算乘法;只有一個操作數的話,一般是指針運算符,要求操作數是一個指針
**的話,操作數可以是二級指針,也就是指向指針的指針

『貳』 C語言中%怎麼當字元輸出

printf("%c", '\%');
printf("\%");

『叄』 C語言中%的作用

%有兩種示意
1、%是求余符號 經常會用到判斷一個數是不是能被另一專個整除
如:7%3=1(7除以屬3 餘下1,) 1%3=1(1除以3除不盡 餘下1)
如判斷一個m是奇數還是偶數 if(m%2==0) printf("偶數");
2、引導符,用於引導輸入輸出項表列的格式
例如:printf("%d%c%f",a,b,c);意思就是a以整型輸出 b以字元型 輸出 c以實型輸出

『肆』 c語言中的「!」

c語言中的「!」是邏輯運算中的非運算。

「!」是C語言中的非運算符版,在變權量前面使用它,會構建非運算表達式,表達式的返回結果是個布爾值(也就是只有true或false)。對變數使用時,如果變數不是布爾數據類型,將會強制轉化為布爾類型再使用,如整形變數123將被轉化為true,整形變數0將被轉化為false。

(4)c語言中當擴展閱讀:

C語言所有運算符列表:

1、算術運算符

用於各類數值運算,包括加(+)、減(-)、乘(*)、除(/)、求余(或稱模運算,%)、自增(++)、自減(--)共七種。

2、關系運算符

用於比較運算,包括大於(>)、小於(<)、等於(==)、 大於等於(>=)。

、小於等於(<=)和不等於(!=)六種。

3、邏輯運算符

用於邏輯運算,包括與(&&)、或(||)、非(!)三種。

4、位操作運算符

參與運算的量,按二進制位進行運算。包括位與(&)、位或(|)、位非(~)、位異或(^)、左移(<<)、右移(>>)六種。

5、賦值運算符

用於賦值運算,分為簡單賦值(=)、復合算術賦值(+=,-=,*=,/=,%=)和復合位運算賦值(&=,|=,^=,>>=,<<=)三類共十一種。

『伍』 在C語言中<<是什麼意思

先說左移,左移就是把一個數的所有位都向左移動若干位,在C中用<<運算符.例如:

int i = 1;
i = i << 2; //把i里的值左移2位

也就是說,1的2進制是000...0001(這里1前面0的個數和int的位數有關,32位機器,gcc里有31個0),左移2位之後變成000...0100,也就是10進制的4,所以說左移1位相當於乘以2,那麼左移n位就是乘以2的n次方了(有符號數不完全適用,因為左移有可能導致符號變化,下面解釋原因)

需要注意的一個問題是int類型最左端的符號位和移位移出去的情況.我們知道,int是有符號的整形數,最左端的1位是符號位,即0正1負,那麼移位的時候就會出現溢出,例如:

int i = 0x40000000; //16進制的40000000,為2進制的01000000...0000
i = i << 1;

那麼,i在左移1位之後就會變成0x80000000,也就是2進制的100000...0000,符號位被置1,其他位全是0,變成了int類型所能表示的最小值,32位的int這個值是-2147483648,溢出.如果再接著把i左移1位會出現什麼情況呢?在C語言中採用了丟棄最高位的處理方法,丟棄了1之後,i的值變成了0.

左移里一個比較特殊的情況是當左移的位數超過該數值類型的最大位數時,編譯器會用左移的位數去模類型的最大位數,然後按余數進行移位,如:

int i = 1, j = 0x80000000; //設int為32位
i = i << 33; // 33 % 32 = 1 左移1位,i變成2
j = j << 33; // 33 % 32 = 1 左移1位,j變成0,最高位被丟棄

在用gcc編譯這段程序的時候編譯器會給出一個warning,說左移位數>=類型長度.那麼實際上i,j移動的就是1位,也就是33%32後的余數.在gcc下是這個規則,別的編譯器是不是都一樣現在還不清楚.

總之左移就是: 丟棄最高位,0補最低位

再說右移,明白了左移的道理,那麼右移就比較好理解了.

右移的概念和左移相反,就是往右邊挪動若干位,運算符是>>.

右移對符號位的處理和左移不同,對於有符號整數來說,比如int類型,右移會保持符號位不變,例如:

int i = 0x80000000;
i = i >> 1; //i的值不會變成0x40000000,而會變成0xc0000000

就是說,符號位向右移動後,正數的話補0,負數補1,也就是匯編語言中的算術右移.同樣當移動的位數超過類型的長度時,會取余數,然後移動余數個位.

負數10100110 >>5(假設字長為8位),則得到的是 11111101

總之,在C中,左移是邏輯/算術左移(兩者完全相同),右移是算術右移,會保持符號位不變.實際應用中可以根據情況用左/右移做快速的乘/除運算,這樣會比循環效率高很多.

例:C語言中左移<<表示乘以2,右移>>表示除以2,這是由計算機工作原理導致的!但是要是7,二進制數為0111,右移一位得3.5,但是右移之後二進制數變成0011,是3。不一樣啊,怎模解釋呢??

答:移位操作符的兩個操作數必須是整型的。整個移位表達式的值的類型也是整型的,而且,左移位操作符與右移位操作符的運算並不對稱。0111右移一位是把最後一位的1去掉,左邊補個0,得0011,轉換為十進制是3,這是正確的。並不等同於除以2 。

『陸』 c語言中!是什麼意思

C語言的發展過程
C語言是在70年代初問世的。一九七八年由美國電話電報公司(AT&T)貝爾實驗室正式發表了C語言。同時由B.W.Kernighan和D.M.Ritchit合著了著名的「THE
C
PROGRAMMING
LANGUAGE」一書。通常簡稱為《K&R》,也有人稱之為《K&R》標准。但是,在《K&R》中並沒有定義一個完整的標准C語言,後來由美國國家標准學會在此基礎上制定了一個C
語言標准,於一九八三年發表。通常稱之為ANSI
C。
當代最優秀的程序設計語言
早期的C語言主要是用於UNIX系統。由於C語言的強大功能和各方面的優點逐漸為人們認識,到了八十年代,C開始進入其它操作系統,並很快在各類大、中、小和微型計算機上得到了廣泛的使用。成為當代最優秀的程序設計語言之一。
C語言的特點
C語言是一種結構化語言。它層次清晰,便於按模塊化方式組織程序,易於調試和維護。C語言的表現能力和處理能力極強。它不僅具有豐富的運算符和數據類型,便於實現各類復雜的數據結構。它還可以直接訪問內存的物理地址,進行位(bit)一級的操作。由於C語言實現了對硬體的編程操作,因此C語言集高級語言和低級語言的功能於一體。既可用於系統軟體開發,也適合於應用軟體的開發。此外,C語言還具有效率高,可移植性強等特點。因此廣泛地移植到了各類各型計算機上,從而形成了多種版本的C語言。
C語言版本
目前最流行的C語言有以下幾種:
·Microsoft
C
或稱
MS
C
·Borland
Turbo
C
或稱
Turbo
C
·AT&T
C
這些C語言版本不僅實現了ANSI
C標准,而且在此基礎上各自作了一些擴充,使之更加方便、完美。
面向對象的程序設計語言
在C的基礎上,一九八三年又由貝爾實驗室的Bjarne
Strou-strup推出了C++。
C++進一步擴充和完善了C語言,成為一種面向
對象的程序設計語言。C++目前流行的最新版本是Borland
C++4.5,Symantec
C++6.1,和Microsoft
VisualC++
2.0。C++提出了一些更為深入的概念,它所支持的這些面向對象的概念容易將問題空間直接地映射到程序空間,為程序員提供了一種與傳統結構程序設計不同的思維方式和編程方法。因而也增加了整個語言的復雜性,掌握起來有一定難度。
C和C++
但是,C是C++的基礎,C++語言和C語言在很多方面是兼容的。因此,掌握了C語言,再進一步學習C++就能以一種熟悉的語法來學習面向對象的語言,從而達到事半功倍的目的。

『柒』 ! 在c語言當中是什麼意思

單獨的!表示邏輯非運算,單目。 !a當a為真時,結果為假。否則結果為真。
與=連用,表示不等於運算,雙目。
a!=b 當a與b值不相等時,結果為真。

『捌』 C語言當中的模運算

C語言怎中取模運算符是「%」,作用是求兩個數相除的余數。
例如回,請看下面這段代答碼:
x=15/7;

如果x是一個整數,x的值將為2。然而,如果用取模運算符代替除法運算符"/",得到的結果就不同了:
X=15%7;

這個表達式的結果為15除以7的余數,等於1,這就是說,15除以7得2餘1。

取模運算符通常用來判斷一個數是否被另一個數整除。例如,如果要列印字母表中序號為3的倍數的字母,可以使用下面這段代碼
int x;
for(x=1; x<=26; x++)
if((x%3)==0)
printf("%c"; x+64);
上例將輸出字元串"cfilorux",即字母表中序號為3的倍數的所有字母。

『玖』 C語言中i++;當循環

#include<stdio.h>
intmain()
{
inti=2;
intj=0;
while(i<=100)
{
if(i%3==0)
{
printf("%4d",i);
j++;//這里為什麼用j++是為了統計輸出了幾個數,每輸出一個數,j就+1
}
if(j%11==0)//當計數到輸出了11個數時,就換行
{
printf(" ");
}
i++;//這里為什麼要有一個i++;不是循環結束,而是換下一個i,繼續循環
}
printf(" ");//這里這個換行是輸出結束後換一行(非常有可能未滿11個)
return0;
}