while循環編譯四則運算c
1. c語言while 循環的問題。
第一次進入程序 a=1,b=2,c=2
循環條件計算:
a<b true; true==1; 1 < c true; 條件真
循環體計算:
交換 a,b。 c 自減1 得 a=2,b=1,c=1
-----------------------
循環條件計算:
a<b 假,假是0 , 0 < c true, 條件真
循環體計算:
交換 a,b。c 自減1 得 a=1,b=2,c=0
------------------------
循環條件計算:
a<b 真,真是1. 1<c false,條件假。循環結束
輸出 a=1,b=2,c=0
1,2,0
2. c語言while循環用法
C語言中while的用法解析如下:
1表示true,在bool類型取值false和true,0為false,非0為true(例如-1和2都是true)。程序中,這里1就表示永真,直到循環體內遇到break。
bool表示布爾型變數,也就是邏輯型變數的定義符,以英國數學家、布爾代數的奠基人喬治·布爾(George Boole)命名。布爾型變數的值只有 真 (true) 和假 (false),0為false,非0為true(例如-1和2都是true)。
(2)while循環編譯四則運算c擴展閱讀:
while循環在其他語言中的用法
Pascal
while <條件> do <語句>
意為當條件符合時,接著做下面的語句;不符合時,退出循環。
C++
while(<條件>) <語句>;
do <語句> while(<條件>);
Java
while(<條件>) {<語句;>}
do {<語句;>} while(<條件>);
二者的區別是do-while最少會被執行一次。
循環中可以使用continue結束當前循環,回到循環開始處開始下一次循環。也可以用break跳出整個循環。
3. c語言while循環的表達式
你看到扽結果是對的。while(!(--x));表示x不能為負,這是1。其次while()括弧里的是結果表達,不能是算式,因此不能是x=1,而x==1是正確的。
4. C語言中while的用法
C語言中while的用法解析如下:
一、1表示true,在bool類型取值false和true,0為false,非0為true(例如-1和2都是true)。程序中,這里1就表示永真,直到循環體內遇到break。
二、while用法演示解析:
1、含義:While 循環會在指定條件為真時循環執行代碼塊。
2、語法如下:(如果忘記增加條件中所用變數的值,該循環永遠不會結束。該可能導致程序崩潰。)
(4)while循環編譯四則運算c擴展閱讀:
比較 for 和 while循環:
for循環控制變數的初始化和修改都放在語句頭部分,書寫形式較簡潔,且適用於循環次數已知的情況。在循環語句中定義一個局部變數,循環結束後,局部變數就被釋放了。
而while循環控制變數的初始化一般放在while語句之前,循環控制變數的修改一般放在循環體中,形式上不如for語句簡潔,但它比較適用於循環次數不易預知的情況(用某一條件控制循環)。
兩種形式各有優點,但它們是等價的,可以相互轉換。
5. c語言中用while語句循環做數學運算
這段代碼的問題在於chengji變數所選用的數據類型不合適,應該選用double。
這個你可能沒有意識到這個的乘積有多大,不到20都超過int能表示的數據范圍了,double可以用指數表示,應該是可以包括這個范圍的。
另外循環還可以優化
int n = 2;
double chengji = 1;
while(n <= 100)
{
chengji *= n;
n += 2;
}
printf("計算結果是%lf ", chengji);
6. C語言用WHILE循環編九九乘法表
x表示第幾行從
1
到
9循環while
(x
<=
9)
在這裡面又有一個循環while
(y
<=
x)
就是說列數不能超過行
也就是說第幾行就有幾列,第5行就有5列了,從1列到X列
當while
(y
<=
x)結束後
,就printf("\n");換行了
x++;
回到while
(x
<=
9)這里Y又變成1,進入到while
(y
<=
x)
下面就和上面的一樣了
7. c語言中while的用法
#include<stdio.h>
intmain()
{
intm,n,j;
printf("請輸入兩個數:");
while(scanf("%d%d",&m,&n),m>0&&n>0)
{
printf("%d%d ",m,n);
}
}
while()語句接收輸入,並且輸入的值m,n均大於0則執行列印,否則程序結束。
這里有一個逗號運算符,是把scanf()和m>0&&n>0一起作為了一個語句執行。
8. c語言while問題
首先說一下while:
括弧裡面表示while語句執行的條件,並且在C和C++中有這樣的規定:邏輯類型和整數類型可以互換。舉個例子:如果括弧中表示的是0(注意是整數0),則條件等價於false;反之,如果括弧中表示的是非0的整數,則條件等價於true。
其次是後面的a++*2的運算:
根據C語言的運算符先後次序可知,此式應該先算a++,然後將所得結果*2即可得到最後答案。
舉個例子吧:
假如你輸入的n是4,則程序運行的結果:
第一次while循環:此時n=4,a=0,則a++*2=2;
第二次while循環:此時n=3,a=1,則a++*2=4;
第三次while循環:此時n=2,a=2,則a++*2=6;
第四次while循環:此時n=1,a=3,則a++*2=8;
第五次while循環:此時由於n=0,while括弧中的條件為false,故程序不執行while語句中的內容,故最後的結果就是:2,4,6,8
9. 用簡單的c語言編寫四則運算題
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int add(int num1,int num2)//加法
{
return num1+num2;
}
int subtraction(int num1,int num2)//減法
{
return num1-num2;
}
int mul(int num1,int num2)//乘法
{
return num1*num2;
}
float divis(int num1,int num2)//除法
{
return ((int)(((float)num1/num2)*100+0.5))/100.0;
}
int main()
{
int type = -1;
int data = -1;
int choice,num1,num2,results;
float div_result;
int right = 0;
int wrong = 0;
char ch;
printf("歡迎進入四則運算題,現在開始爆發你的小宇宙吧!\n");
srand((unsigned int)time(NULL));
while(1)
{
printf("請選擇運算類型:1.加法 2.減法 3.乘法 4.除法(保留兩位小數)\n");
scanf("%d",&choice);
printf("請選擇位數:1.一位數 2.兩位數\n");
scanf("%d",&data);
switch (choice)
{
case 1:
if(data == 1)
{
num1 = rand()%10;
num2 = rand()%10;
printf("%d + %d=__?__\n",num1,num2);
scanf("%d",&results);
if(results == add(num1,num2))
{
printf("回答正確!\n");
right++;
}
else
{
printf("回答錯誤!\n");
wrong++;
}
printf("是否繼續?y/n\n");
getchar();
scanf("%c",&ch);
if(ch == 'y')
break;
else if(ch == 'n')
goto end;
}
else if (data == 2)
{
num1 = rand()%100;
num2 = rand()%100;
printf("%d + %d=__?__\n",num1,num2);
scanf("%d",&results);
if(results == add(num1,num2))
{
printf("回答正確!\n");
right++;
}
else
{
printf("回答錯誤!\n");
wrong++;
}
printf("是否繼續?y/n\n");
getchar();
scanf("%c",&ch);
if(ch == 'y')
break;
else if(ch == 'n')
goto end;
}
break;
case 2:
if(data == 1)
{
num1 = rand()%10;
num2 = rand()%10;
printf("%d - %d=__?__\n",num1,num2);
scanf("%d",&results);
if(results == subtraction(num1,num2))
{
printf("回答正確!\n");
right++;
}
else
{
printf("回答錯誤!\n");
wrong++;
}
printf("是否繼續?y/n\n");
getchar();
scanf("%c",&ch);
if(ch == 'y')
break;
else if(ch == 'n')
goto end;
}
else if (data == 2)
{
num1 = rand()%100;
num2 = rand()%100;
printf("%d - %d=__?__\n",num1,num2);
scanf("%d",&results);
if(results == subtraction(num1,num2))
{
printf("回答正確!\n");
right++;
}
else
{
printf("回答錯誤!\n");
wrong++;
}
printf("是否繼續?y/n\n");
getchar();
scanf("%c",&ch);
if(ch == 'y')
break;
else if(ch == 'n')
goto end;
}
break;
case 3:
if(data == 1)
{
num1 = rand()%10;
num2 = rand()%10;
printf("%d * %d=__?__\n",num1,num2);
scanf("%d",&results);
if(results == mul(num1,num2))
{
printf("回答正確!\n");
right++;
}
else
{
printf("回答錯誤!\n");
wrong++;
}
printf("是否繼續?y/n\n");
getchar();
scanf("%c",&ch);
if(ch == 'y')
break;
else if(ch == 'n')
goto end;
}
else if (data == 2)
{
num1 = rand()%100;
num2 = rand()%100;
printf("%d * %d=__?__\n",num1,num2);
scanf("%d",&results);
if(results == mul(num1,num2))
{
printf("回答正確!\n");
right++;
}
else
{
printf("回答錯誤!\n");
wrong++;
}
printf("是否繼續?y/n\n");
getchar();
scanf("%c",&ch);
if(ch == 'y')
break;
else if(ch == 'n')
goto end;
}
break;
case 4:
if(data == 1)
{
num1 = rand()%10;
num2 = rand()%10+1;
printf("%d / %d=__?__\n",num1,num2);
scanf("%f",&div_result);
if(div_result == divis(num1,num2))
{
printf("回答正確!\n");
right++;
}
else
{
printf("回答錯誤!\n");
wrong++;
}
printf("是否繼續?y/n\n");
getchar();
scanf("%c",&ch);
if(ch == 'y')
break;
else if(ch == 'n')
goto end;
}
else if (data == 2)
{
num1 = rand()%100;
num2 = rand()%100+1;
printf("%d / %d=__?__\n",num1,num2);
scanf("%f",&div_result);
if(div_result == divis(num1,num2))
{
printf("回答正確!\n");
right++;
}
else
{
printf("回答錯誤!\n");
wrong++;
}
printf("是否繼續?y/n\n");
getchar();
scanf("%c",&ch);
if(ch == 'y')
break;
else if(ch == 'n')
goto end;
}
break;
default :
printf("輸入錯誤!\n");
break;
}
}
end:
printf("回答正確%d題,回答錯誤%d題\n",right,wrong);
printf("\n====================謝謝光臨====================!\n");
system("pause");
return 0;
}
//注意除法是採用四捨五入的,有什麼不明白的再問吧,望採納!
10. c語言中while的用法
語句a;
while(n==1);
語句B;
當n==1時,程序while(1)成立,不斷循環,因為後面while()後面直接是分號「;」所以這里n==1直接就是死循環,
當n與等於1時,程序同樣是while(1)成立,和上面的情況一樣,所以兩個都是死循環。
(10)while循環編譯四則運算c擴展閱讀:
while
while是計算機的一種基本循環模式。當滿足條件時進入循環,進入循環後,當條件不滿足時,執行完循環體內全部語句後再跳出(而不是立即跳出循環)。while語句的一般表達式為:while(表達式){循環體}。
典型循環
WHILE <條件>
<語句體>
end while
do while <條件>
<語句體>
loop
語法
Pascal
while <條件> do <語句>
意為當條件符合時,接著做下面的語句;不符合時,退出循環。
C
do <語句> while(<條件>);
while(<條件>) <語句>;
C++
while(<條件>) <語句>;
do <語句> while(<條件>).
資料來源:網路-while