1樓:無法無天
1.for先執行第一個賦值語句,因為第一個賦值語句為空,不理,之後就判斷
10>5,進入迴圈i++,再執行第三個賦值語句++b=6,之後再開始判斷,再i++,再++b如此迴圈
當10>10時跳出迴圈,此時i=5
2.while(1<=x<=2)這個是死迴圈這樣的表示式為邏輯判斷,一步步的做出返回
先(1<=x)返回0或1
然後再判斷(1<=x)<=2,返回0或1
所以返回值永遠是1,所以是死迴圈
如果要寫成判斷,改為while(x>=1 &&x<=2)
2樓:夢_越
題目一:理解一下for迴圈執行的方式,三個引數,第一個是定義值,第二個執行迴圈需要滿足的條件,第三個是迴圈結束後執行的動作. 此題雖然是++b, 但是++b是在執行完迴圈之後進行的,所以首次迴圈判斷條件a>b是10>5; 這樣得出i=5就好理解了
題目二:這個要認真看下, 因為整個程式中沒有對x值進行改變,x始終為3(可以在迴圈最後一行打出來看看),故為死迴圈. y = x--; 這一行是對y賦值,x是不變的,呵呵
c語言tow函式題目一道
3樓:墨汁諾
為了中心對稱,顯然要用空格補齊前面的位置,迴圈才能做到。
#include
void tow(char c,int n)for(int k=1;k<=i;k++)printf("\n");}}
void main()
4樓:匿名使用者
為了中心對稱,顯然要用空格補齊前面的位置,想一想,怎麼才能迴圈才能做到?
5樓:匿名使用者
#include
void tow(char c,int n)for(int k=1;k<=i;k++)printf("\n");}}
void main()
6樓:
pow 函式是 double 型。是否你的編譯器引入了誤差。你只是處理4位數,你可以自己寫 my_pow(int x): int my_pow(int x) 不會引入誤差。
兩道c語言題目求解
7樓:
第一題可能是題目印錯了,如果的確是你所寫的那樣;答案是16,6#define f(x)(x*x)
main()
這樣答案就是c,
第二道題,題目可以這樣看
main()
cnum[2];
cnum[0].x=2;
cnum[0].y=4;
cnum[1].x=3;
cnum[1].y=1;
printf("%d\n",cnum[0].y/cnum[0].x*cnum[1].y);
}第三題 c1='1'對應的是字元1,對應的十進位制為49;
如果c1=49,則等同於c1='1'字元;
而c1=1對應的是ascii第二個字元,也就是這個「☺」
8樓:匿名使用者
第一題:i1=(8*8)/(4)=16 i2=(4+4*4+4)/(2+2)=6
我看原題的意思應該是
#define f(x)(x*x)
main()
結果才會選c
實踐就是最好的證明,我執行過了。結果就是16,6第二題不能執行,亂七八糟的錯誤一大堆。
第三題:include前面要加 # .
至於你問的問題??
你是不是想說char型別變數賦值如果是數字就不能用『』括起來(記住,字串的話用雙引號,單個字元都是用單引號的)?ascll碼裡面有0-9這幾個數字,他們可以是字元,也可以是數值。原題有加單引號,是字元。
9樓:匿名使用者
第一道:#define f(x)(x*x)這個巨集替換將i1=f(8)/(4)替換為:i1=(8*8)/(4*4);i2=f(4+4)/(2+2)=4;替換成:
i2=(4+4*4+4)/(2+2*2+2)=3;其實,巨集替換就好比複製,它只是機械性負責複製,而不會識別運算子的優先順序之類,所以用的時候要特別小心
第二道問題是問題,cnum[2]=結構不明,不知道是你抄錯還是什麼原因;
第三,在c語言中,是把雙引號中的資料看成字元的,而不資料,就比如"1",這樣的表示說明它只是一個字元,而不是表示大小的資料。。。
10樓:匿名使用者
1.i1=f(8)/(4);
經過巨集替換後就成了:
i1=(8*8)/(4);
所以i1=16
i2=f(4+4)/(2+2);
經過巨集替換後就成了:
i2=(4+4*4+4)/(2+2);
所以,i2=6
所以i2 2.struct cmplx cnum[2]=這個式子定義了一個struct cmplx型別的結構體陣列cnum,它有兩個該結構體型別的元素,cnum[0]和cnum[1],cnum[0]有兩個成員變數,分別是cnum[0].x和cnum[0]. y,而且在定義時分別被初始化為2和4,cnum[1]也有x和y兩個成員變數並且在定義時被初始化為3和1 3.後面的'1'和'2'都是字元,不是整數1和2 一道c語言題目 11樓:匿名使用者 #include char const des[25] = ,};int inputdate(int i)int sumup(int x) return sum; }int deduce(int x) int main() 12樓:鳳祺隨銳精 求輸出結果嗎? a=y轉化為a=x+1而下x=5; 所以a=6 再看z=? z=x+1*x/2 把x=5代入得z=7 所以,輸出為75 13樓:唐蘊鐸冰綠 前面幾個都bai 不按題目要求來編du程,題目說要用兩zhi個子函式實dao現,所以應該是這版樣. #include "stdio.h" inta(int n)return sum; }double b(int n)return nn;} intmain(int argc, char* ar**) 14樓:郭怡和拜豔 首先,你的程式應該有抄問題,變數c沒有定義,所以應該會報錯。如果把定義語句改為float a,b,c;並且把賦值語句都加上分號的話應該會輸出如下結果: a=123.450000 b=32.560000 c=123.450000 解釋:%f禁止使用指數形式來表示浮點數,但注意它的精度要求:也是小數點後6位有效數字。 15樓:福獻仉河 #include #include #include struct node* insert(struct node* head,struct node* end); struct node ;int main() printf("\n"); t=head; printf("請輸入要插入的節點值\n"); scanf("%d",&s); while(t!=null) else else }else}} t=head; while(t!=null) printf("\n"); }這串**是我之前寫的,作用是建立一個連結串列後,插入一個節點,位置在比新節點值大的節點之前,你根據我這個改一下就行了 16樓:闞壽扶經綸 樓主不要被 bai樓上忽悠了,while(y--);與while(y); y--;可不能du畫等號.就 zhiy而言,while(y--);比while(y); y--;多運算了一次dao.while(y); y--; y==0; while(y--);當y等於 內0的時候,這個迴圈實容際上已經結束了,此時y=0,但y--還有個自減1,所以0-1=-1; (y--,減號在後,執行玩之後再自減,如果是--y,則是先自減再執行以下程式,如果是--y的話輸出就是0了.) while(y); y--;則是,y=0時,如果有個printf的話,此時輸出y=0迴圈結束,而y--在迴圈之中,迴圈都結束了,自然不會再執行y--了,所以y依然等於0. 樓主懂了否? 17樓:万俟秋英謇詩 主**:bai 比如輸du入的字串存 zhi放在str中;dao if(str[i]>=65&&str[i]<=87)/*大寫字母 內*/str[i]+=3; else if(str[i]>=88&&str[i]<=90)str[i]=65+str[i]-88; else if(str[i]>=100&&str[i]<=122)/*小寫字母*/ str[i]-=3; else if(str[i]>=97&&str[i]<=99)str[i]+=23; else if(str[i]>=49&&str[i]<=58)/*數字容*/str[i]=58-str[i]; 18樓:象友鮮彬彬 我今天剛回答過bai類似的 du問題 在c/c++中,自運算(+=,-=,*=,/=)及函式zhi的引數調dao用順序是沒有標準 回規定的 所以,不同編譯答器在處理這類語句時,結果會因編寫編譯器的人對標準語法的理解不同而生成不同的**,而執行時會有不同的結果 如你上面的程式,除結果為給出的答案中的資料為,還可能為30,30,0,0(gcc 4.9.2 32位) 所以,我上一個問題就說過,出這種題目的老師根本不瞭解c/c++的s標準,也沒有實際多個編譯器使用的經驗,不配教c語言的 這類語句的執行結果只與編譯器有關 且只要符合c/c++語法,它都不會報錯的 19樓:伊禧施知慧 最後一次執行y--,取y的值等於0時就結束迴圈,然後y再自減1,所以while迴圈結束後y就等於版-1。 (後置自增權/減: i++/i--,先取i的值,然後再自加/減操作(這在下次得到這個值)。) 一般的技巧是 如果不關心迴圈結束後迴圈變數的值,可以用前置自加減和for一起比較方便 /*while(y) */for(y =10; y;++y) printf("%d\n", y);printf("最後y=%d\n",y); 20樓:豆新臺問筠 while(y--);這句會先判斷y是否為0,但不管是不是為0,都會減1,只是如果等於0了就跳出迴圈了,所以當y=0時在執行while(y--);時就相當於while(y); y--; 21樓:載孝羅嬋 我的答bai 案是c我是用這個du程式驗證zhi 的,你也可dao以自己驗證一下 #include"stdio.h" main() 輸出時答案c和答案d輸出的a值和s值都是一樣的,你可能會以為有兩個答案。只要你仔細分析就會明白答案是c 22樓:隗淑蘭司釵 我自己寫bai的,加了註釋,認為可以du就給分吧#include "stdio.h" void main() 23樓:鄧塵姚珠 答案是c stutype是結構體變數。 第一題可能是題目印錯了,如果的確是你所寫的那樣 答案是16,6 define f x x x main 這樣答案就是c,第二道題,題目可以這樣看 main cnum 2 cnum 0 x 2 cnum 0 y 4 cnum 1 x 3 cnum 1 y 1 printf d n cnum 0 y c... include include include include define eps 1e 6 用於控制商的精確度 main else printf 回答錯誤 n break case 2 for i 1 i 10 i while c 0 printf d.d d n i,a,b scanf d d... 你主函式裡m肯定還是1,func函式中的靜態變數應該是8了吧。你檢視變數值的位置是什麼樣的,如果在主函式裡檢視肯定是主函式中的m,即為1,因為發生作用域覆蓋了。你是第二次進入func後設定斷點,檢視m數值的可定為8。由程式執行結果為8 此時i 3,m 3 1 4,因此返回值為8 17 此時i 3 8...兩道c語言題目求解
誰能幫我解決一道C語言題目C語言一道題目,誰能幫我解得
求教!一道C語言題目,求教一道C語言的題目!