文化、時代、生活 仿佛還在昨天。
C語言嚴謹?shù)膩碚f是一門面向過程的語言,面向?qū)ο蟆⒚嫦蜻^程到底是怎樣,困擾了我一年兩年的時光。C的好處靈活性、效率高這些就不一一介紹來了,C++與C其實并不是一門語言,C++兼容C,C++面向?qū)ο?。就像起床,C就會定義怎樣睜眼,怎樣動胳膊等等,而C++簡答說把這些過程存儲了,函數(shù)調(diào)用,換句話說C++的標準庫要比C強大多的。
既然都這樣了還學(xué)啥C語言,直接學(xué)C++不就好了嗎?這也完全沒問題,直接學(xué)習(xí)C++也是沒有問題的,就像說的那樣這是兩種語言,只不過關(guān)聯(lián)程度大,但是大多數(shù)人還是會從C學(xué)起來,因為可以了解每一個過程,靈活性算是語言中很強的,可以隨心所欲寫自己想要的過程,對于優(yōu)秀的程序員對封裝下面都是很清楚,出現(xiàn)的問題調(diào)試都是在這個層面完成的,所以C基礎(chǔ)牢固的人與沒接觸過C的人一起學(xué)習(xí)C++考慮的層面,涉及到的程度是不一樣的,久而久之差距會越來越大。
說了那么多廢話就是想說,學(xué)習(xí)C++可以沒C的基礎(chǔ)一樣學(xué)習(xí),C語言可以學(xué),也可以不學(xué),但是學(xué)好了之后你會在編程上看到更多深層面知識。
學(xué)習(xí)C之后,從基礎(chǔ)學(xué)習(xí)到函數(shù)卻不知道記錄什么樣的重點與大家分享交流,留下的是一堆文本代碼,學(xué)習(xí)C這段時間大的感觸認真兩個字的確不簡單,最近也逛一些論壇一起來看幾個有意思的小故事
1、關(guān)于scanf
scanf("%f %f",&a,&b);scanf是接收用戶數(shù)據(jù)的關(guān)鍵字類似于python中raw_input函數(shù),讀取不檢查邊界的!會出現(xiàn)內(nèi)存訪問越界。而且不需要引入stdio.h(inputout)頭文件也可以使用與Printf函數(shù)是一樣的。
scanf接收格式很嚴格要求,如果中間空格,在命令行輸入時候必須也是空格,是逗號就得輸入逗號。這個地方本人就經(jīng)常犯低級的錯誤。
普及一下%d(整型1,2,3),%f(浮點型1.0,2.0,3.0),%c(字符串),%f最為有意思,也是比較靈活的double與float類型都用%f接收
sizeof()這個函數(shù)用來查看這些類型占幾個bit位,1byte=8bit 一個字節(jié)8位,**注意并不是int就一定是占4和字節(jié)32位,這是不科學(xué)的,有的書上是2個字節(jié),有的是4個字節(jié),其實占幾個字節(jié)根據(jù)根據(jù)系統(tǒng)來的**,并不是C定義好的。
再來說兩個函數(shù)pow這個函數(shù)在后面全被Double類型取代了,輸入輸出都是double,求立方的函數(shù),自己寫的源碼貼出來供大家參考,本人代碼風格是譚老師風格,因為學(xué)的他的書,所以有時候代碼不符合大家感覺
include <stdio.h>
void main()
{
double power(double a,double b);
double x,y;
scanf("%lf,%lf",&x,&y);
printf("%lf\n",power(x,y));
}
double power(double a,double b)
{
double f=1;
int i;
// printf("%f,%f",a,b);
for(i=0;i<b;i++)
{
f*=a;
}
return f;
}
僅供大家參考,那么再來個有意思的二分法與冒泡排序,其實本人挺喜歡數(shù)據(jù)姐與算法,因為好玩而且實用,畢竟是程序的靈魂如下
本人只會有序的冒泡排序,下面是自己初始化一個數(shù)組,下面是排序+循環(huán)
#include <stdio.h>
void main()
{
int i,j,l,d;
static int a[5]={5,1,3,6,2};
int b[5];
for(i=0;i<5;i++)
{
for(j=i;j<4;j++)
{
if(a[i] > a[j+1])
{
b[j] = a[j+1];
a[j+1] = a[i];
a[i] = b[j];
}
}
printf("{%d}",a[i]);
}
printf("\nPlease enter find numbers:\n");
scanf("%d",&d);
for(l=0;l<5;l++)
{
if(d == a[l])
{
printf("您查詢%d是本數(shù)組中的元素,排在數(shù)組中第%d位",d,l+1);
}
}
printf("\n");
}
下面再來個二分法查找
#define M 7
#include <stdio.h>
void main()
{
static int a[M]={-12,0,6,16,23,56,80};
int n,start,middle,finlly,found;
start = 0;
finlly = M - 1;
found = 0;
printf("請輸入:\n");
scanf("%d",&n);
while(start <= finlly)
{
middle = (start+finlly)/2;
if(n == a[middle])
{
found=1; break;
}
else if(n > a[middle])
start = middle+1;
else
finlly = middle -1;
}
if(found==1)
printf("您查找%d",middle+1);
else
printf("沒有查找到%d",n);
}
文本粘貼上來的 格式有點不好看,講解就么意思不會的可以討論 畢竟思路是一樣的 百度也有大量學(xué)習(xí)代碼
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
網(wǎng)頁題目:TimelifeC-創(chuàng)新互聯(lián)
地址分享:http://aaarwkj.com/article44/doppee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、虛擬主機、網(wǎng)站設(shè)計、網(wǎng)頁設(shè)計公司、自適應(yīng)網(wǎng)站、營銷型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)