網站首頁 編程語言 正文
選擇語句
什么是選擇語句呢?只要是你學過編程語言的,就知道選擇語句是程序的靈魂之一,差不多大多是的程序都需要用到這個語句。
一般來說,C語言的選擇語句的結構是,if 、else if、 else
每一個條件后面都需要按照標準的語法格式進行書寫,其次除了else后面不需要加括號條件之后,其他的都需要加入條件。
看一下下面的嚴格語法,在書寫的過程中,我們需要按照嚴格標準繼續編碼,不要隨心所欲的寫代碼,注意格式!
#include <stdio.h>
int main()
{
int coding = 0;
printf("你會去敲代碼嗎?(選擇1 or 0):>");
scanf("%d", &coding);
if (coding == 1)
{
printf("堅持,你的夢想就會成功!\n");
}
else if (coding == 0) {
printf("你的夢想可能不會實現!\n");
}
else
{
printf("輸入錯誤?。n");
}
return 0;
}
循環語句
在計算機中,除了選擇語句比較的比較經典,其次就是循環語句
C語言中如何實現循環呢?
while語句
#include <stdio.h>
int main()
{
int i = 0; //定義一個初識變量
while (i < 1000)//這里給一個循環范圍
{
i++;//每次遞增,改變條件!
if (i == 50)
{
printf("今天是%d,休息一天!\n", i);
continue;//不執行后面的代碼!
}
else if (i == 100)
{
printf("今天是第%d天,我已經完成了C語言的全部知識!\n", i);
break;//滿足該條件就跳出循環!
}
printf("我已經完成了第%d天的代碼編寫!\n", i);
}
return 0;
}
對于循環而言,跳出條件是比較重要的一個,continue遇到之后,代碼是不執行后面的,但是不退出循環,break遇到之后就會跳出循環!
看到上面的例子,相信你可以清楚的了解到,這些語法的用處和作用了。
for循環
通過for 循環我們一樣可以完成上述的工作,我們特別需要記住的是,在寫for循環的時候,需要注意第一個參數是:定義條件,第二個參數是:判斷條件,第三個參數是:執行條件增長(一般需要改變條件)
那么對于while條件來時,括號里面只有一個簡單的條件判斷,參數條件在循環體內部的!
#include <stdio.h>
int main()
{
int i = 0;;
for (int i = 0; i < 1000; i++ )
{
if (i == 50)
{
printf("今天是%d,休息一天!\n", i);
continue;//不執行后面的代碼!
}
else if (i == 100)
{
printf("今天是第%d天,我已經完成了C語言的全部知識!\n", i);
break;//滿足該條件就跳出循環!
}
printf("我已經完成了第%d天的代碼編寫!\n", i);
}
return 0;
}
do while
do while 語句創建一個循環,在expression為假或0之前重復執行循環體中的內容。do while語句是一種出口條件循環,即在執行完循環體后才根據測試條件決定是否再次執行循環。因此,該循環至少必須執行一次。
循環體可是一條簡單語句或復合語句。
形式: do
{ ? ? ? ??
? ?statement
}While( expression );
在expression為假或0之前,重復執行statement部分。
大致流程如下:
參考代碼:
#include <stdio.h>
int main()
{
int i = 0;
do {
i++;
printf("我必須要執行一次循環!\n");
}while(i < 1);
return 0;
}
函數
函數有什么用呢?函數可以簡化我們主函數的代碼,可以幫助我們編碼更加的機構化,使得我們的代碼比較的有邏輯結構,一方面可以幫助我們的代碼更有層次感,另一個面也是可以簡化我們的代碼量的!
一般而言,主函數的代碼量不要超過500行,那么我們可以利用函數進行封裝
函數又可以分為:有返回參數的函數和沒有返回參數的函數(void)
輸入一個數字,返回0-該數字里面有多少個奇數!并打印出來!
#include <stdio.h>
int main()
{
int i = 0;
int num = 0;//定義輸入參數
int total = 0;//定義計數器
printf("請輸入一個數字:");
scanf("%d", &num);
for (int i = 0; i <= num; i++) {
if (i % 2 == 0) {
total+=1;
}
else {
printf("奇數:%d\n", i);
}
}
printf("一共有%d個奇數",total);
return 0;
}
在我運行的時候,我發現這個代碼的運行了較長的時間,這說明時間復雜度比較高,而且代碼的寫的比較的冗余,所以導致了代碼的長時間運行!后面我們可以采用遞歸,指針地址等方法進行優化!
利用函數進行封裝
//定義函數
int sum_num(int num, int total) {
for (int i = 0; i <= num; i++) {
if (i % 2 == 0) {
total += 1;
}
else {
printf("奇數:%d\n", i);
}
}
return total;
}
#include <stdio.h>
int main()
{
int num = 0;//定義輸入參數
int total = 0;//定義計數器
printf("請輸入一個數字:");
scanf("%d", &num);
printf("一共有%d個奇數", sum_num(num, total));
return 0;
}
注意在定義函數的時候要分清楚,是否有返回參數,其次參數需要定義類型,之間是用逗號隔開的,每一個參數都需要定義類型
如果,在函數內部定義一些變量,那么在調用之后就會被銷毀,如果需要在函數外部定義,就需要考慮到變量的生命周期
后續的指針和遞歸,包括數組,在函數的應用比較多,所以尤其需要注意!
原文鏈接:https://wxw-123.blog.csdn.net/article/details/124332055
相關推薦
- 2022-08-03 goFrame的隊列gqueue對比channel使用詳解_Golang
- 2021-12-07 Android證書安裝過程介紹_Android
- 2022-07-20 C語言開發中的常見錯誤詳解_C 語言
- 2022-06-19 mybatis-plus的sql語句打印問題小結_MsSql
- 2023-02-12 Android畫中畫窗口開啟方法_Android
- 2022-12-27 刪除Helm使用時關于kubernetes文件的警告問題_云其它
- 2024-04-07 springboot后端接收前端傳數組參數方法
- 2022-09-08 Pandas如何將Timestamp轉為datetime類型_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支