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