c语言循环程序怎么编程,c语言程序(5):循环结构程序设计
#include
#include
#include
/*
循環(huán)結(jié)構(gòu):
1.基本循環(huán)語(yǔ)句
while循環(huán)
do_while循環(huán)
for循環(huán)
1.1 所有的的循環(huán),都是滿足條件循環(huán)
1.2 while循環(huán)
while(條件)
{
循環(huán)體;
}
1.3 kbhit() :監(jiān)測(cè)鍵盤是否按鍵,
1.4
do
{
循環(huán)體;
}while(count<3);
1.5 for循環(huán)
for(表達(dá)式1;表達(dá)式2;表達(dá)式3)
{
語(yǔ)句4;
}
執(zhí)行過(guò)程: 1 2 4 3 ? ? ? ?2 4 3
表達(dá)式1:寫循環(huán)變量的初始化
表達(dá)式2:循環(huán)條件
表達(dá)式3:循環(huán)條件的改變
2.跳轉(zhuǎn)語(yǔ)句
break;
continue;
goto;
3.循環(huán)的作用
3.1 處理重復(fù)或者具有規(guī)律的事情
3.2 遞推的數(shù)學(xué)問(wèn)題
3.3 控制交互的循環(huán)
*/
int main()
{
//描述一個(gè)鼓掌的過(guò)程
//次數(shù)去控制循環(huán)的次數(shù)
int count = 0;
while (count<3)
{
printf("啪啪啪!\n");
count++;//改變條件變量
}
count = 0;
while (count++<3)
printf("啪啪啪!\n");
//count++;//改變條件變量
do ? //無(wú)論條件成立與否都會(huì)執(zhí)行一次
{
printf("無(wú)論條件成立與否,都會(huì)執(zhí)行一次!\n");
} while (0);
count = 0;
do
{
printf("啪啪啪!\n");
} while (count++ < 3); ?//注意點(diǎn)后面一定要有 ?“ ; ”
printf("for循環(huán):\n");
for (int i = 0; i < 3; i++)
{
printf("啪啪啪!\n");
}
//printf("i=%d\n", i); 未定義的變量的,i作用于只在循環(huán)中有效
printf("缺省:\n");
count = 0;
for (; count < 3; ) ?//表達(dá)式可以缺省,但是 “ ; ” 必須寫
{
printf("啪啪啪!\n");
count++;
}
按鍵暫停功能的實(shí)現(xiàn)
//while (1)
//{
//printf("唱歌中!....\n");
//if (_kbhit ( )) ? ?// 包含頭文件 #include ? ;監(jiān)視鍵盤,按鍵暫停
//{
system("pause");
//int userKey = _getch();
//if (userKey == ' ')
//{
//while (_getch() != ' ');//第一次按鍵是空格,只有但第二次用戶輸入的是空格時(shí),才會(huì)暫停。
//}
//}
//}
system("pause");
return 0;
}
#include
#include
/*
break; --->跳出整條復(fù)合語(yǔ)句 ?,即跳出一條循環(huán)
conitnue;
一般都是結(jié)合選擇結(jié)構(gòu)使用 ? ,結(jié)束當(dāng)前循環(huán),開啟下次循環(huán)。
goto:一般描述邏輯盡量不適用,原來(lái)操作函數(shù)的函數(shù)的狀態(tài)可以用-->在同一個(gè)函數(shù)中跳轉(zhuǎn)
當(dāng)標(biāo)簽在上面的的時(shí)候, 需要 “ ; ”去做間隔
*/
int main()
{
//1.break跳出switch語(yǔ)句
//2.break 在循環(huán)中只跳出一層循環(huán)
CODE:
;
int count = 0;
while (1)
{
printf("我在鼓掌!\n");
count++;
if (count == 3)
break;
}
printf("我退出無(wú)限循環(huán)\n");
goto CODE;
count = 0;
while (1)
{
printf("我在鼓掌!\n");
count++;
if (count == 3)
goto NEXT;
}
NEXT:
printf("我退出無(wú)限循環(huán)\n");
//count = 0;
//while (1)
//{
//count++;
//if (count == 3)
//continue;//提高效率
//printf("第 %d 次 鼓掌!\n",count);
//
//}
system("pause");
return 0;
}
//循環(huán)的基本使用:
#define _CRT_SECURE_NO_WARNINGS
#include
#include
int main()
{
//3.1 處理重復(fù)或者具有規(guī)律的事情
//3.1.1 處理重復(fù)-->逆序操作
printf("逆序操作!\n");
int num = 1234567;
while (num)
{
printf("%d", num % 10);
num /= 10;//遞推--->循環(huán) ?遞歸--->函數(shù)里面
}
printf("\n");
//3.2 遞推的數(shù)學(xué)問(wèn)題
//求和,求階乘
int sum = 0;
for (int i = 0; i <= 100; i++)
{
sum += i;
}
printf("求和:%d\n", sum);
//求1/2+1/3+....1/n;
int x;
scanf("%d", &x);
float result = 0;
for (int i = 2; i <= x; i++) ?//++運(yùn)算符只能用在整數(shù)里面,小數(shù)里面沒(méi)有++運(yùn)算符。
{
result += 1.0 / i; ?//描述有規(guī)律的事物一定要注意類型問(wèn)題
}
printf("%.4f\n", result);
//3.3 控制交互的循環(huán)
while (1)
{
printf("0.退出\n1.xxx\n2.ooo\n");//游戲菜單
int choice = 0;
scanf("%d", &choice);
switch (choice)
{
case 0:
printf("正常退出!");
system("pause");
//exit(0)
break;
case 1:
break;
case 2:
break;
}
if (choice == 0)
{
break;
}
system("pause");
system("cls");
}
printf("循環(huán)外面!\n");
system("pause");
return 0;
}
//循環(huán)嵌套的含義:
#include
#include
/*
任何循環(huán)之間都可以嵌套
代表的是一種類似于乘法的一種規(guī)律描述
或者是一種具有表格特性的規(guī)律的描述
習(xí)慣于用外層循環(huán)描述行的變化 內(nèi)層循環(huán)描述列的變化
*/
int main()
{
int count = 10;
for (int i = 0; i < count; i++)//外循環(huán)
{
for (int j = 'A'; j < 'A'+10; j++) //內(nèi)循環(huán)
{
printf("%d%C\t", i, j);//i每是一個(gè)數(shù),j都要循環(huán)10次,所以j共循環(huán)100次。
}
printf("\n");
}
/*
行: 列
***** ? ? ? ? ? ? ? ?1 ? ? ?5個(gè)* ? ? ??6-1
**** ? ? ? ? ? ? ? ?2 ? ?4 ?6-2
***3 ? ?3 ?6-3
**4 ? ?2 ?6-4
*5 ? ?1 ?6-5
6-i
*/
for (int i = 1; i <= 5; i++)
{
for (int j = 6 - i; j >= 1; j--)
{
printf("*");
}
printf("\n");
}
/*
1111*11
111***23
11*****35
1******* 47
********* 59
2*i-1 ?//簡(jiǎn)單的方法,套公式
*/
for (int i = 1; i <= 5; i++)
{
for (int j = 5 - i; j >= 1; j--)
{
printf(" ");
}
for (int k = 1 ; k <= 2*i-1 ; k++)
{
printf("*");
}
printf("\n");
}
system("pause");
return 0;
}
#define ?_CRT_SECURE_NO_WARNINGS
#include
#include
int main()
{
//1.求最大公約數(shù)和最小公倍數(shù)
//9 6 能夠同時(shí)用兩個(gè)整數(shù)去整除的最大整數(shù)就是 :最大公約數(shù)
//最大公約數(shù):輾轉(zhuǎn)相除法
//9 6 ? 最大公約數(shù):3
//能被兩數(shù)整除最小整數(shù):最小公倍數(shù) ?:18
//數(shù)學(xué)特性:最小公倍數(shù)=兩數(shù)之積/最大公約數(shù)
int firstNum, secondNum,temp;
scanf("%d%d", &firstNum, &secondNum);
int sum = firstNum*secondNum;//準(zhǔn)備一點(diǎn)
//1.求最大值:
if (firstNum < secondNum)
{
//交換a和b的值--->杯子倒水
temp = firstNum;
firstNum = secondNum;
secondNum = temp;
}
//前提是對(duì)于歐幾里得了解(輾轉(zhuǎn)相除法)
while (firstNum%secondNum != 0)
{
/*
1997 / 615 = 3 (余 152)
615 / 152 = 4(余7)
152 / 7 = 21(余5)
7 / 5 = 1 (余2)
5 / 2 = 2 (余1)
2 / 1 = 2 (余0)
*/
temp = secondNum; ? //占用存儲(chǔ)最小的值,防止改變
secondNum = firstNum%secondNum; ?//第二次除數(shù)要是余數(shù)
firstNum = temp; ? //第二的被除數(shù)是不是第一次的最小值
}
printf("最大公約數(shù)是:%d\n", secondNum);
printf("最小公倍數(shù):%d\n", sum / secondNum);
//求素?cái)?shù): 素?cái)?shù)-->除了被1和自身整除的數(shù)
int num = 0;
scanf("%d", &num);
//標(biāo)記法
int ?flag = 0;
for (int i = 2; i < num; i++)
{
if (num%i == 0)
{
flag = 1;
break;
}
}
if (1==flag) ?//非零表示真,0表示假
{
printf("該數(shù)不是素?cái)?shù)!\n");
}
else
{
printf("該數(shù)是素?cái)?shù)!\n");
}
int flag = 0;
if ("來(lái)一個(gè)人")
{
if ("他上了女廁所")
{
flag = 1;
}
}
if (flag == 1)
{
printf("女的!\n");
}
else
{
printf("漢子!\n");
}
system("pause");
return 0;
}
總結(jié)
以上是生活随笔為你收集整理的c语言循环程序怎么编程,c语言程序(5):循环结构程序设计的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 树莓派网页服务器的网页留言板,树莓派利用
- 下一篇: html 实现格子效果,div+css实