⑴ c語言中表達式~10的值是
-11
~10表示10對應的二進制按位取反,取反後剛好是-11的補碼。
⑵ 在c語言中,10!是什麼意思
10!是一種數學上的表示方法。
10!=1×2×3×...×10=3628800
階乘是基斯頓·卡曼(Christian Kramp,1760~1826)於 1808 年發明的運算符號,是數學術語。
一個正整數的階乘(factorial)是所有小於及等於該數的正整數的積,並且0的階乘為1。自然數n的階乘寫作n!。1808年,基斯頓·卡曼引進這個表示法。
亦即n!=1×2×3×...×n。階乘亦可以遞歸方式定義:0!=1,n!=(n-1)!×n。
⑶ C語言表達式 10&20 的值是什麼
1、數據類型、運算符與表達式,2.1 預備知識; 2.2 C語言的數據類型; 2.3 常量和變數; 2.4 整型數據; 2.5 實型數據; 2.6 字元型數據; 2.7 算術運算與算術表達式; 2.8 賦值運算與賦值表達式; 2.9 逗號運算符和逗號表達式;,2.1 預備知識,計算機中數的表示及進制轉換 二進制、八進制、十進制、十六進制 各種進制之間的轉換,各種進制之間的轉換(整數) 二進制、八進制、十六進制轉換成十進制 方法:按權相加,十進制轉換成二進制、八進制、十六進制 原理:,方法:連續除以基,從低到高記錄余數,直至商為0,二進制與八進制之間的轉換 二進制轉換成八進制:從右向左,每3。
2、位一組(不足3位左補0),轉換成八進制 八進制轉換成二進制:用3位二進制數代替每一位八進制數,例 (1101001)2=(001,101,001)2=(151)8,例 (246)8=(010,100,110)2=(10100110)2,000 0 001 1 010 2 011 3 100 4 101 5 110 6 111 7,二進制與十六進制之間的轉換 二進制轉換成十六進制:從右向左,每4位一組(不足4位左補0),轉換成十六進制 十六進制轉換成二進制:用4位二進制數代替每一位十六進制數,例 (11010101111101)2=(0011,0101,0111,1101)2=(357D)16,。
3、例 (4B9E)16=(0100,1011,1001,1110)2=(100101110011110)2,0000 0 0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 1000 8 1001 9 1010 A 1011 B 1100 C 1101 D 1110 E 1111 F,位元組和位 內存以位元組為單元組成 每個位元組有一個地址 一個位元組一般由8個二進制位組成 每個二進位的值是0或1,數值的表示方法原碼、反碼和補碼 原碼:最高位為符號位,其餘各位為數值本身的絕對值 反碼: 正數:反碼與原碼相同 負數:符號位為1,其餘位對原碼取反 補碼: 正數:。
4、原碼、反碼、補碼相同 負數:最高位為1,其餘位為原碼取反,再對整個數加1,負數補碼轉換成十進制數:最高位不動,其餘位取反加1,例 補碼:11111001 取反:10000110 加1: 10000111=-7,2.2 數據類型 數據類型總表,數據類型決定: 1. 數據占內存位元組數 2. 數據取值范圍 3. 其上可進行的操作,2.3 常量和變數,2.3.1 常量 1.常量的概念 在程序運行過程中,其值不能被改變的量稱為常量。 2.常量的分類 (1)整型常量 例:123 (2)實型常量 例:4.56 (3)字元常量 例:a (4)符號常量 例:PI,2.3.2 變數 1.變數的概念 在程序運行過程。
5、中,其值可以被改變的量稱為變數。 2.變數的兩個要素 (1)變數名。每個變數都必須有一個名字變數名,變數命名遵循標識符命名規則。 (2)變數值。在程序運行過程中,變數值存儲在內存中。在程序中,通過變數名來引用變數的值。,.標識符命名規則 有效字元:只能由字母、數字和下劃線組成,且以字母或下劃線開頭。 有效長度:隨系統而異,但至少前個字元有效。如果超長,則超長部分被舍棄。 例如:由於student_name和student_number的前個字元相同,有的系統認為這兩個變數,是一回事而不加區別。 在TC V2.0中,變數名(標識符)的有效長度為個字元,預設值為。,C語言的關鍵字不能用作變數名。 。
6、注意:C語言對英文字母的大小敏感,即同一字母的大小寫,被認為是兩個不同的字元。 習慣上,變數名和函數名中的英文字母用小寫,以增加可讀性。 例:在C語言中,變數名total與變數名TOTAL、ToTaL、tOtAl等是同一個變數嗎?,標識符命名的良好習慣見名知意: 所謂「見名知意」是指,通過變數名就知道變數值的含義。通常應選擇能表示數據含義的英文單詞(或縮寫)作變數名,或漢語拼音字頭作變數名。 例如,name/xm(姓名)、sex/xb(性別)、age/nl(年齡)、salary/gz(工資)。,4.變數的定義與初始化 在語言中,要求對所有用到的變數,必須先定義、後使用;且稱在定義變數的同時進行。
7、賦初值的操作為變數初始化。,2.4 整型數據,2.4.1 整型常量 整型常量即整常數,在語言中可用三種形式表示: (1)十進制。例如10、36。 (2)八進制(以數字開頭)。例如012。 (3)十六進制(以數字+小寫字母x開頭)。例如0 x36。,2.4.2 整型變數 1.分類 根據佔用內存位元組數的不同,整型變數又分為類: (1)基本整型(類型關鍵字為int)。 (2)短整型(類型關鍵字為short int)。 (3)長整型(類型關鍵字為long int)。 (4)無符號整型。無符號型又分為無符號基本整型(unsigned int)、無符號短整型(unsigned short)和無符號長整型(。
8、unsigned long)三種,只能用來存儲無符號整數。,2.佔用內存位元組數與值域 上述各類型整型變數佔用的內存位元組數,隨系統而異。在16位操作系統中,一般用位元組表示一個int型變數,且long型(位元組)int型(位元組)short型(位元組)。 顯然,不同類型的整型變數,其值域不同。 例:PC機中的一個int型變數,其值域為-215(215-1),即-3276832767;一個unsigned型變數的值域為:0(216-1),即065535。 可用sizeof(類型標識符)測量。,如何定義整型變數? int i;/*定義為整型變數*/ i10; /*給i賦以整數10*/ int a10; sh。
9、ort b30; long c 20; unsigned int number20;,例:,#define PRICE 30 main() int num,total; num=10; total=num*PRICE; printf(total=%d,total); ,2.5 實型數據,2.5.1 實型變數 語言的實型變數,分為兩種: (1)單精度型。類型關鍵字為float,一般佔位元組(位)、提供位有效數字。 (2)雙精度型。類型關鍵字為double,一般占個位元組、提供1516位有效數字。,例 float a; a=111111.111; /* a=111111.1*/ double b; b。
10、=111111.111; /* b=111111.111*/,2.5.2 實型常量 實型常量即實數,在語言中又稱浮點數,其值有兩種表達形式: (1)十進制形式。例如3.14、9.8。 (2)指數形式: (e或E之前必須有數字;指數必須為整數)如12.3e3 ,123E2, 1.23e4 , e-5 , 1.2E-3.5,例:,#define PRICE 30.52 main() float num,total; num=10.89; total=num*PRICE; printf(「total=%f」, total); ,2.6 字元型數據,2.6.1 字元常量 字元常量的定義 用一對單引號括。
11、起來的單個字元,稱為字元常量。 例如,如 a A ? n 101 字元常量的值:該字元的ASCII碼值 如 A65, a97, 048 , n10 轉義字元 反斜線後面跟一個字元或一個代碼值表示 如 101 -A 012 -n 376 - x61 -a 60 -0 483 -(),例: main() printf(「 ab ct derftgn」); printf(「htibbj k」); ,例 轉義字元舉例 main() printf(101 x42 Cn); printf(I say:How are you?n); printf(C Programn); printf(Turbo C); 。
12、,2.6.2 字元變數 字元變數的類型關鍵字為char,一般佔用1位元組內存單元。 變數值的存儲字元變數用來存儲字元常量。將一個字元常量存儲到一個字元變數中,實際上是將該字元的ASCII碼值(無符號整數)存儲到內存單元中。 例如, char ch1, ch2; /*定義兩個字元變數:ch1,ch2*/ ch1=a; ch2=b; /*給字元變數賦值*/,一個字元型數據,既可以字元形式輸出,也可以整數形式輸出。,main() char ch1,ch2; ch1=a; ch2=b; printf(「ch1=%c,ch2=%cn」,ch1,ch2); printf(「ch1=%d,ch2=%dn」,c。
13、h1,ch2); ,main() char ch1,ch2; ch1=a; ch2=B; /*字母的大小寫轉換*/ printf(「ch1=%c,ch2=%cn」,ch1-32,ch2+32); /*用字元形式輸出一個大於256的數值*/ printf(ch1+200=%dn, ch1+200); printf(ch1+200=%cn, ch1+200); printf(ch1+256=%dn, ch1+256); printf(ch1+256=%cn, ch1+256); ,字元常量與字元串常量不同,字元串常量 定義:用雙引號(「」)括起來的字元序列 存儲:每個字元串尾自動加一個 0 作為字。
14、符串結束標志,例: char ch; ch=「A」;,不同類型數據間的轉換,除上面講的自動轉換外,還有強制轉換。 例如, (double)a (等價於(double)(a) /*將變數a的值轉換成double型*/ (int)(x + y) /*將x+y的結果轉換成int型*/ (float)5 / 2(等價於(float)(5)/2) /*將5轉換成實型,再除以2(=2.5)*/ (float)(5 / 2) /*將5整除2的結果(2)轉換成實型(2.0)*/,2.7 算術運算與算術表達式,1.五種基本算術運算符 +、-、*、/、% (1)關於除法運算/ C語言規定:兩個整數相除,其商為整數。
15、,小數部分被舍棄。例如,5 / 2 = 2。 (2)關於求余數運算 要求兩側的操作數均為整型數據,否則出錯。,2.運算符的優先順序與結合性 1)按運算符的優先順序高低次序執行。例如,先乘除後加減。 2)如果在一個運算對象(或稱操作數)兩側的運算符的優先順序相同,則按語言規定的結合方向(結合性)進行。 例如,算術運算符的結合方向是「自左至右」,即:在執行「a b + c」時,變數b先與減號結合,執行「a - b」;然後再執行加c的運算。,3.自增、自減運算符+ - 作用:使變數值加1或減1 種類: 前置 +i, -i (先執行i+1或i-1,再使用i值) 後置 i+,i- (先使用i值,再執行i+1或。
16、i-1),例 j=3; k=+j; j=3; k=j+; j=3; printf(「%d」,+j); j=3; printf(「%d」,j+); a=3;b=5;c=(+a)*b; a=3;b=5;c=(a+)*b;,/k=4,j=4,/k=3,j=4,/4,/3,/c=20,a=4,/c=15,a=4,說明: + - 不能用於常量和表達式,如5+,(a+b)+ 優先順序: + - -* / % -+ -,2.8 賦值運算與賦值表達式,1.賦值運算 賦值符號「=」就是賦值運算符,它的作用是將一個表達式的值賦給一個變數。,例 a=3; d=func(); c=d+2; y = (float)5 /。
17、 2;,2.復合賦值運算 C語言規定的10種復合賦值運算符如下: +=,-=,*=,/=,%=; a+b=3;,例 float f; int i; i=10; f=i; 則 f=10.0,例 int i; i=2.56; /結果i=2;,例: a=b=c=5 a=(b=5) a=5+(c=6) a=(b=4)+(c=6) a=(b=10)/(c=2),/表達式值為5,a,b,c值為5,/ b=5;a=5,/表達式值11,c=6,a=11,/表達式值10,a=10,b=4,c=6,/表達式值5,a=5,b=10,c=2,2.9 逗號運算符和逗號表達式,形式:表達式1,表達式2,表達式n 結合性:從左向右 逗號表達式的值:等於表達式n的值 用途:常用於循環for語句中,例 a=3*5,a*4 a=3*5,a*4,a+5 例 x=(a=3,6*3) x=a=3,6*a 例 a=1;b=2;c=3; printf(「%d,%d,%d」,a,b,c); printf(「%d,%d,%d」,(a,b,c),b,c);,/a=15,表達式值60,/a=15,表達式值20,/賦值表達式,表達式值18,x=18,/逗號表達式,表達式值18,x=3,/1,2,3,/3,2,3。
⑷ C語言中難道10%20 和20%10 結果一樣
不一樣的,這個中取余操作
10/20=0餘10
20/10=2餘0
所以
10%20 =10
20%10=0
⑸ c語言中 !10! = 1 這個是什麼意思
,對於!10! = 1的理解可以藉助()來更好的表達,(!10)(! =)1,「!代表的是非」!,
參與運算的表達式為真時,結果為假;參與運算的表達式為假時,結果為真。
例如:
!0
0 為假,非運算的結果為真,也就是 1。
!(5>0)
5>0 的結果是1,為真,非運算的結果為假,也就是 0。
10不為0,!10就是0
原式化為:0!=1
!=不等於號
意思就是0不等於1,結果為真。
(5)c語言10擴展閱讀
&&、|| 和 !的優先順序為:
! > && > ||
! 運算符比許多 C++ 運算符具有更高的優先順序。因此,為了避免錯誤,應始終將其操作數括在括弧中,除非打算將其應用於沒有其他操作符的變數或簡單表達式。例如,來看以下表達式:
! (x > 2)
! x > 2
第一個表達式將 !運算符應用於表達式 x>2,它是在問「x 是否不大於 2」,然而,第二個表達式是將 !運算符應用於到 x。它是在問「x 的邏輯是否大於 2」。
假設 x 被設置為 5,由於 5 是非零值,所以被認為是 true,而 !運算符會將其反轉為 false,即為 0,然後,> 運算符將確定 0 是否大於 2。為了避免這種錯誤,始終使用括弧是明智的。
⑹ 為什麼C語言里10%10是0
%在c語言里的意思是「取余」,10除以10等於1餘0,所以是0
c語言的書可以到你們學校的培訓班買,有個叫「未來教育」的計算機等級考試書不錯,買一本教程、一本上機、一本公共基礎,還要有歷年真題。
⑺ 在C語言中,表達式10/3 = , 10.0/3 = , 10%
10/3在C語言里是整除的意思,結果是3
10%3是求余,結果是余數1
10.0/3會轉換為兩個ble型的數相除,答案是3.3333
x=a%10;
就是把a對10求余賦值給x
其實就是得到a的個位賦值給x
%是取余操作符,就是取余數的,比如7%2==1,就是7除以2,上3餘1。
x=a%10,其結果就是a的個位上的數值賦值給x。
(7)c語言10擴展閱讀:
C語言的運算符主要用於構成表達式,同一個符號在不同的表達式中,其作用並不一致。下面按計算的優先順序,分別說明不同作用的表達式。需要特別指出,在C語言標准中,並沒有結合性的說法。
相同優先順序運算符,從左至右依次運算。注意後綴運算優先順序高於前綴。因此++i++應解釋為++(i++)。
而與或非的運算優先順序都不一樣,因此a && b || b && c解釋為(a && b) || (b && c)
合理使用優先順序可以極大簡化表達式。
⑻ c語言int a[10] 10是什麼意思
inta表示a這個變數是整型,只能存放整數。
inta【10】【10】
指的是代表a的二維數組,是指向一個有十個元素的數組的指針,或者說a是具有十個元素的數組的首元素的地址,這十個元素,每個元素都是一個數組。
(8)c語言10擴展閱讀
在C語言的定義中,二維數組可以看作一個一維數組,每個元素還是一個一維數組。
inta[m][n];
表示一個包含m個元素的一維數組,每個元素是一個包含n個整型數據的一維數組。(參考K&R C 第二版 5.7 Multi-dimensional Arrays)
2.在C語言中,指針和數組有相似之處,但是兩者本質不同。兩者相似的地方有兩點:
讀取數組元素
函數傳遞
就二維數組來說,「相似」的指針應該指向和二維數組的子數組相同的數據類型,如
int(*p)[n]=a;
此時可以用a[i][j]或p[i][j]或*(p+i)[j]或*(a+i)[j]來獲取相同的數據。
在聲明一個接受一個二維數組的函數原型時,會忽略第一層數組的長度,等效的是上述指針類型的參數。即下面兩種函數原型的聲明都可以成功接受a做參數:
⑼ c語言表達式10!=9的值是多少
表達式:10!=9的值是1。
10!=9,即「10不等於9」,10確實不等於9,所以是真。真即1,假即0,所以是1。
如果一個變數名後面跟著一個有數字的中括弧,這個聲明就是數組聲明。字元串也是一種數組。它們以ASCII的NULL作為數組的結束。要特別注意的是,中括弧內的索引值是從0算起的。
C語言的字元串其實就是以'