日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言速成指南

發布時間:2023/12/16 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言速成指南 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

說明一下吧:

這篇文章是用于c語言有目的的速成,有點基礎的看一看也可以當復習,如果想要真正學好c語言,建議看一下之前寫的詳細教程,這篇文章會有很多對于考試沒有多大幫助的東西被忽略掉。臨近期末祝大家考試順利。

我也會不斷完善這篇文章的,歡迎各路大佬指正,給我提一提建議

目錄

順序結構基礎

1.printf

2.scanf

分支結構

? ? ? ? ?1.if-else語句

2.if-else的嵌套與綴連

3.switch-case分支

循環結構

1.while循環

2.do-while循環

3.for循環

函數

1.函數的介紹

2.math里的標準函數

數組

1.一維數組

2.二維數組

指針(簡單了解即可)

字符串

1.字符串簡介

2.字符串處理函數

結構類型

結構體

順序結構基礎

????????1.printf

? ? ? ? ? ? ? ? printf就是打印,將printf里的語句在控制臺上打印出來。

#include <stdio.h>int main(){printf("Hello World!");return 0; }

? ? ? ? 這就是使用printf打印Hello World!的代碼。

?做幾點說明:1.

#include <stdio.h>int main(){//書寫自己的代碼return 0; }

?這是c語言前期學習的框架,代碼寫在有//的地方。

2.printf打印的內容要在“ ”中

3.最后別忘了語句的結尾需要;

????????2.scanf

scanf是c語言的輸入語句,可以從鍵盤上獲得數字或者是字符,然后進行后續運算。

(插曲:變量)

c語言中對于變量定義要求相當嚴格:

主要用到的就是以下幾種,其他的我們暫時不需要使用

1.int(定義整型類型的變量,最常用的變量類型)輸入輸出時:%d

2.long long int(還是整形類型,但是包含整數的范圍比int要大,一般計算階乘等數據較大的程序中使用)輸入輸出時:%lld

3.double(雙精度浮點數,精度高,用于定義小數)輸入時%lf,輸出時%f(默認為其為小數,如果有小數保留要求eg:保留兩位小數:%.2f)

4.char(用于定義字符)

5.int *p(指針類型變量)

變量的定義格式:

變量類型 自定義變量名(一般來說只用字母即可)=...(可以進行變量初始化,也可以不進行);

scanf語句可以從鍵盤上輸入變量的值(數字或者是字符)

下面是scanf的格式

//先定義一個整數a,在鍵盤上獲得a的值 int a; scanf("%d",&a);

特別注意:變量輸入之前的&一定不要拉掉!!!

練習:做一個加法計算機,計算a+b的值

input:2 3

output:2+3=5

答案

#include <stdio.h>int main(){//先定義兩個變量a和bint a,b;//從鍵盤上輸入a,b的值scanf("%d %d",&a,&b);//按要求進行輸出printf("%d+%d=%d",a,b,a+b); return 0; }

分支結構

簡單了解分支結構:

????????1.if-else語句

if(所要判斷的條件:條件判斷為真或者是假){//如果滿足條件索要執行的語句//注意:如果有多條滿足條件要執行的語句,//一定要加上大括號//如果僅有一條語句,可以不加大括號。//這里建議初學者把大括號都加上。 }else{//這里是不滿足判斷條件所執行的語句,//如果不需要,也可以省略。//大括號用法同上。 }

?(插曲:計算機運算符)

下面簡單說一下if語句里的條件判斷:

數學符號:小于號 ? ? ? ? ? ? ? ?計算機語言:<

? ? ? ? ? ? ? ? 小于等于 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?<=

? ? ? ? ? ? ? ? 大于號 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? >

? ? ? ? ? ? ? ? 大于等于 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?>=

? ? ? ? ? ? ? ? 等于 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?==

這個等于初學者經常打成“=”一定要引起注意!!!!!

(插曲:邏輯運算)

邏輯運算符我們先了解常用的:

邏輯與&&? ? ? ? 邏輯或||? ? ? ? 邏輯非?

邏輯名符號運算
&&兩側任意一側為假整個條件為假,前為假后面不再判斷
||兩側任意一側為真整個條件為真,前為真后面不再判斷
對條件進行取反,非真為假,非假為真

特別注意:邏輯運算的結果只有0和1!

如:1+1==2計算結果為1

1*2==5&&1+1==2計算結果為0

1*2==5||1+1==2計算結果為1

!(1+1==2)計算結果為0

????????2.if-else的嵌套與綴連

嵌套:嵌套就是在if中在進行若干次判斷,用分支圖加強一下理解

嵌套的優化:可以用邏輯運算代替嵌套減少代碼行數

綴連:在else后面跟上若干個if判斷句

if(條件1){}else if(條件2){} else if(條件3){} else{}

小結練習:輸入一個年份,判斷是否為閏年。

答案:

#include <stdio.h>int main(){int year;scanf("%d",&year);int shifou=0;if(year%4==0&&year%100!=0){shifou=1;}elseif(year%4==0&&year%100==0&&year%400==0){shifou=1;}if(shifou==1){printf("Yes");}if(shifou==0){printf("No");}return 0; }

? ? ? ? 3.switch-case分支

基本格式

switch(n){case 1:case 2:...default: }

其中:n為整數或者是整數表達式,n是幾,就執行case幾。

另外,沒有break的話,switch-case會一直執行至最底端,可以根據需要添加break語句?

循環結構

循環前言:循環的道理很簡單,熟練掌握循環還需要多做點練習,這一部分會多給出一點練習

????????1.while循環

基本格式:

while(循環繼續的條件){每次循環所執行的語句 }

一個比較好的入門題:

?

對于EOF現有一個了解:

通常,題目會要求多組樣例輸入。對于多組樣例輸入,一般會是讀到?EOF?結束。?EOF?的意思是?End Of File,表示讀到文件尾,結束輸入。?scanf?函數的返回值如果為?EOF?的話,就表示輸入結束了。比如題目輸入一個數,以?EOF?結束?

這個題是循環輸入多組數據,所以需要用EOF來結束,之后的相加,開一個while循環讓i從1加到n即可。

#include <stdio.h>int main(){int n;int i;while(scanf("%d",&n)!=EOF){i=1;int ret=0;while(i<=n){ret+=i;i++;}printf("%d\n",ret);}return 0; }

還不理解歡迎評論區詢問。?

????????2.do-while循環

do{每次循環所執行的條件 }while(循環繼續條件)

do-while循環與while循環的區別:

do循環是先執行一次循環然后判斷循環是否繼續,while是先判斷循環條件是否滿足,然后在進行循環,也就是說do-while循環至少進行一次,while循環可能一次也不執行。

例題:判斷一個整數是幾位數

思路:每次循環讓這個整數整除10撇掉最后一位,做一個計數器,每次循環讓計數器++,循環繼續的條件就是這個整數>0,因為考慮到這個數可能是0,所以用do-while循環。

#include <stdio.h>int main(){int n;scanf("%d",&n);int count=0;do{n/=10;count++;}while(n>0);printf("%d",count);return 0; }

????????3.for循環

for循環就是while循環的優化,每個for循環都可以寫成while循環。

格式學會之后for循環也就理解的差不多了

for(循環開始時條件;循環繼續的條件;每次循環必須做的事){每次循環執行的語句 }

一般來說會是這樣:

for(i=0;i<n;i++){ }

?上面這種形式是for循環最為常見的。

例題:

還是這個題,我們嘗試把內層循環改為for循環:?

#include <stdio.h>int main(){int n;int i;while(scanf("%d",&n)!=EOF){int ret=0;for(i=1;i<=n;i++){ret+=i;}printf("%d\n",ret);}return 0; }

經典循環嵌套:

一般來說打印行列圖形,外層循環控制的是行,內層控制的是列。

打印99乘法表:

?

#include <stdio.h>int main(){for(int i=1;i<=9;i++){for(int j=1;j<=i;j++){printf("%d*%d=%d ",j,i,j*i);}printf("\n");}return 0; }

?輾轉相除法可以參考:輾轉相除法求最大公約數,這也是循環一個很經典的題

循環嵌套還可以自己練一下這個題:

?另外許多oj上有循環的練習,這部分就是需要多練習。

上一題答案:

#include <stdio.h>int main(){int n;scanf("%d",&n);int i,j,a,b;for(i=1;i<=n;i++){for(j=1;j<=2*(n-i);j++){printf(" ");}for(a=1;a<=i;a++){printf("%d ",a);}for(b=i-1;b>0;b--){printf("%d ",b);}printf("\n");}return 0; }

函數

????????1.函數的介紹

????????2.math里的標準函數

數組

????????1.一維數組

????????2.二維數組

指針(簡單了解即可)

????????

字符串

????????1.字符串簡介

????????2.字符串處理函數

結構類型

????????結構體


總結

以上是生活随笔為你收集整理的C语言速成指南的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。