㈠ c語言怎麼算
C語言怎麼計算一個數有多少位的方法:
輸入待計算的數x
定義一個數位的變數int n=0;
循環,x每次縮小10倍,n=n+1; 最終x會變成0,循環結束
輸出n值
代碼:
#include <stdio.h>
void main()
{
int x,m,n=0;
printf("input x: ");scanf("%d", &x );
m=x; //備份原數,供輸出用
do {
n++;
x /= 10 ;
} while( x>0 );
printf("%d 是%d位數\n", m, n );
}
㈡ C語言計算。
n的值不變,還是2
&&運算的特點如下:
1. 運算是左結合的,先計算左表達式,再計算右表達式
2. 注意一下,如果&&的左表達式為假,則整個&&表達式返回假,不會再計算右表達式!!
所以:
表達式(m=a>b)&&(n=c>d)
先計算(m=a>b),由於a=5,b=6,所以a>b為假,返回0
m=a>b也就變為m=0,所以左表達式為假
表達式(m=a>b)&&(n=c>d)直接返回假,不再計算右表達式
所以n的值不會發生變化
㈢ c語言計算
首先不同的編程環境結果是不同的,這取決於執行的順序,和優先順序
你的這個編程環境中,應該是這樣的
計算順序按照由右至左進行:
先計算 i--=8,(先使用後自加,表達式值為8,計算後i值變為7)
再計算 i++=7,(先使用後自減,表達式值為7,計算後i值變為8)
再計算 --i=7,(先自減再使用,表達式值為7,i值為7)
再計算 ++i=8,(先自加再使用,表達式值為8,i值為8)
所以最後結果就是 8 7 7 8
㈣ C語言中有 ^ 這個運算符嗎
有,但不太常見。
按位異或運算符「^」是雙目運算符。其功能是參與運算的兩數各對應的二進位相異或,當兩對應的二進位相異時,結果為1。還比如 m=9(二進制1001),n=12(二進制1100),那麼 m ^ n的結果是5(二進制0101)。
整數在計算機中用二進制的位來表示,C語言提供一些運算符可以直接操作整數中的位,稱為位運算,這些運算符的操作數都必須是整型的。按位異或運算符「^」是雙目運算符。 其功能是參與運算的兩數各對應的二進位相異或,當兩對應的二進位相異時,結果為1。
分類和級別
C語言的運算符主要用於構成表達式,同一個符號在不同的表達式中,其作用並不一致。下面按計算的優先順序,分別說明不同作用的表達式。需要特別指出,在C語言標准中,並沒有結合性的說法。
相同優先順序運算符,從左至右依次運算。注意後綴運算優先順序高於前綴。因此++i++應解釋為++(i++)。
而與或非的運算優先順序都不一樣,因此a && b || b && c解釋為(a && b) || (b && c)
合理使用優先順序可以極大簡化表達式。
以上內容參考:網路-C語言運算符
㈤ c語言計算
這個就是考察運算符優先順序,也就是先計算誰,後計算誰, 可以看我下面的截圖,優先順序從上到下從高變低, 高優先順序的優先運算。
1+3>3&&5%2==1 可以等價這個((1+3)> 3)&& ((5%2)== 1)
這個上面加括弧是因為括弧的優先順序最高, 這樣不知你能理解不。
㈥ C語言運算符!
%是除法取余運算。用於整數與整數運算。否則,不同的編譯器會得不同結果。'%'為取余運算符,用於把它前面的整數值或表達式除以其後面的整數值或表達式,結果為不能被後面的整數或表達式整除的最小整數,它後面的數值應該為大於1的正整數。
如"13%7",就表示13
除以7餘6。
作為雙目運算符,左右操作數可以是數值,也可以是表達式。但'%'運算符的左右操作數必須是整數。負數取余運算MS
VC++
編譯器:
-4
%
6
=
-4
6
%
-4
=
2
(6)c語言的計算擴展閱讀:
在整數的除法中,只有能整除與不能整除兩種情況。當不能整除時,就產生余數,所以余數問題在小學數學中非常重要。
取余數運算:
a
mod
b
=
c
表示
整數a除以整數b所得余數為c。
余數的計算公式:c
=
a
-⌊
a/b⌋
*
b
其中,⌊
⌋為向下取整運算符,向下取整運算稱為Floor,用數學符號⌊
⌋表示
例:⌊
3.476
⌋=3,⌊6.7546⌋=6,⌊-3.14159⌋=
-4
如
7
mod
3
=
7-⌊7/3⌋*3=7-2*3=1
參考資料:余數_搜狗網路
㈦ c語言 計算公式
兄的 題目說清楚點把 如果遲到45分鍾 是全部按2元/分鍾算還是只是從31分鍾開始按2元/分鍾算呢
還有你是要完整的程序還是只要個計算公式
我有時間就幫你寫
㈧ C語言 怎麼計算出來的
這是我修改後的代碼,可以執行,確實等於一,至於為什麼一句話兩句話解釋不清楚,你在case語句前面加斷點,單步調試就可以啦。記住一點,一旦滿足case語句,而不break的話,會繼續執行下一個case語句。
int k=1;
char c='A';
do {
switch(c++)
{
case 'A': k=2;break;
case 'B': k=k+2;continue;
case 'C': k%=3;
default: k++;
case 'D': k=k/3;
}
k++;
}while(c<'F');
printf("k=%d",k);
大致過程如下
第1次循環進caseA後 k=2 自加後=3
第2次循環case B後 k=5 因為是continue 不進行k++操作 直接判斷
第3次循環case c後 k=2;然後進default k=3;然後進case D k=1;last the k =2
第4次循環case D後 k=0 and then k++,k=1
第5次循環 default:k = 2 and then case D: k = 0; the last k++,k =1
output k=1