① c語言怎麼提高運行速度
這個程序有多組輸入,而這多組輸入的運算都是相同的,所以可以利用數組f之前計算過的信息。
在你的code里做的修改,如果有疑問,歡迎交流
#include<stdio.h>
intmain()
{
inta,b,n,c;
intpre_max_idx=2;
intf[100];
f[1]=1;
f[2]=1;
while(scanf("%d%d%d",&a,&b,&n)!=EOF)
{
if(n<=pre_max_idx){//如果之前計算過就直接返回
printf("%d ",f[n]);
continue;
}
if(n<=0)
continue;
for(c=n+1,n=pre_max_idx+1;n!=c;n++)//這里從pre_max_idx開始
f[n]=(a*f[n-1]+b*f[n-2])&7;
pre_max_idx=n-1;//修改當前的最大
printf("%d ",f[n-1]);
}
return0;
}
② C語言編程我要將輸出的內容延長2秒,或者3秒,怎麼做呢
#include <碼空windows.h>
...
printf("hello\n");
Sleep(2000); /遲笑瞎* 單位毫秒升頌 */
③ c語言如何控制文字一行一行輸出
1、使用Sleep函數即可。sleep()函數在windows系統和linux系統下是兩個不同的函數,差別較大,但功能是相同的,都是將進程掛起一段時間。
windows系統下函數名為Sleep(),其函數原型為:
#include
<windows.h>
函數使用頭文件
void
Sleep(DWORD
dwMilliseconds);
參數為毫秒
2、常式:
//運用Sleep()函數可以達到打字機效果
#include<stdio.h>
#include"windows.h"
void main()
{
int i;
char *a[]={"你","好","!","歡","迎","來","到","百","度","知","道"};
for(i=0;i<11;i++)
{
Sleep(100);
printf("%s",a[i]);
}
}
④ 提高C語言執行速度的幾條途經
分享到: 收藏推薦拍豎羨 用C語言編程,可得襲拍到緊湊的代碼和較高的速度。這是不是說:用c語言編程,就可不考慮「速度」這個因素了呢?不是的。下面提供幾條途經,供您參考:IC語言是結構化語言 在c語言中,函數是一種構件(程序塊),這使得編寫的程序很明了。但在調用函數時,為了保證順利返回,必須把返回地址和所有局部變數及參數壓入堆棧。函數返回後,又要從堆棧中刪除它們。這就要花費一定的時間。 方法l:用宏代換替代函數。宏代換在編譯時被預處理。因此,程序執行時,不需再做什麼,而節約了調用函數所需的時纖蘆間開銷。但是你必需搞清楚,在你用的編譯版本提供的函數庫中,那些是函數,那些是「宏」.你也可用自己的宏代換來代替庫函數.如函數fa恤(幻返回X的絕對值,可如下定義:#define FABs(:)(二<0)?一:,二。於是,你可用F^BS(:)代替加加(二)T。 方法2:用內嵌碼替代函數。 內嵌函數 main()main() 弋( int『;intx; for(二=1;公《l,了葉(嘗二l名二(1. ++『)pr加.f(,%『,,二++二prinrr(,%寸, 贊x),sq(二)); 》) sq(.) 如......(本文共計2頁) 如何獲取本文>>
⑤ C語言如何提高程序效率
好的代碼沒有一個統一的衡量標准,在程序員們的世界裡大家也是各自按照自己的標准衡量著自己和別人的代碼。不過有一個標准幾乎是被所有人認同的。服役時間越長、出錯率越高的代碼就是好代碼。所有的編程方法、代碼技巧甚至於設計模式都是為了達到這個目的而產生的。
如何提高程序效率
程序的效率分兩部分:時間效率和空間效率。
時間效率 : 指的是程序運行的速度
空間效率 : 指的是程序佔用內存或者外存的大小
對於這兩點的把握,我們沒有明確的方法。這里給出一些能夠達成共識的規則,大家在今後自己編碼的時候,可以通過這些規則來衡量自己的代碼是否符合要求。
規則1:不要一味地追求程序的效率
如果追求程序效率需要付出降低正確性、可靠性、健壯性、可讀性等質量代價,那麼可以放棄這部分效率的提高。
規則2:優先提高全局效率
只有整個程序的執行效率提高才有意義,把時間和精力放在某一個不常被調用的小模塊優化上得不償失。
規則3:針對瓶頸部分優化
在實際開發工作中,我們經常遇到一些程序執行時間過長,需要優化。有些人上來就開始逐行檢查代碼,把認為可能影響效率的地方都盡量修改一遍。這樣做不僅浪費時間,更重姿舉差要的是,常常修改一遍後依然看不到明顯的效果。
這種情況下,正確的方法是先找出限制效率的「瓶頸」,在這個答察部分做有針對性的優化。這么做才事半功倍。
規則4:先優化數據結構和演算法,再優化執行代碼
程序的兩大要素是演算法和數據結構,它們貫跡皮穿於程序的始終。因此,對它們的優化能夠起到意想不到的良好效果。
規則5:時間效率和空間效率的矛盾
大多數時候,時間效率和空間效率是對立的。這就是程序設計中兩個很重要的方法論,一個是「以空間換時間」,另一個是「以時間換空間」。此時應當分析那個更重要,作出適當的折中。
早間年,硬體成本比較高,人們大多都採用以時間換空間的策略,花費一些時間,減少內存開銷。如今,內存條的價格已經非常便宜了,人們注重的`是軟體的友好性,因此大部分時候都是用空間換時間。
規則6:代碼不是越短越好
很多資深程序員都會有這樣一個誤區,完成同一個功能,代碼越短越好。還經常有人說這樣的話:「就這么個功能我幾行代碼就搞定了」。其實,追求代碼精簡是一個很大的誤區。因為精簡的代碼並不一定產生高效的機器碼。同時,它還付出了可讀性這一代價。正確的做法是適當地做到代碼精簡。
注意事項
1. 書寫錯誤
經常有人把「==」誤寫成「=」。「||」、「&&」、「<=」、「>=」這類符號也很容易發生少一個的錯誤。最可怕的是編譯器根本發現不了這樣的錯誤。
2. 初始化
變數(指針、數組)被創建之後應當立刻初始化,防止把未被初始化的變數當成右值使用。
3. 數值錯誤
這也是一類非常容易忽略的錯誤。變數的初值、預設值錯誤,或精度不夠,一旦出錯不易發現。
4. 類型轉換
為了避免數據類型轉換的錯誤,我們要盡量使用顯式的數據類型轉換,避免在編譯器中執行非我們所願的隱式數據類型轉換。
5. 溢出
溢出分兩種,一種是超過數據類型取值范圍的賦值,另一種是數組下標范圍越界。這兩種都是要時刻注意的。
7. 避免編寫技巧性很高代碼
技巧性過高的代碼一定是可讀性較差的代碼,這種代碼不易維護,後期的成本較高。
8. 好代碼要復用,壞代碼要重寫
如果原有的代碼質量比較好,盡量復用它。但是不要修補很差勁的代碼。當我們遇到差勁代碼時,最好的方法是重寫新代碼替換它。
9. 盡量使用標准庫函數
對於標准庫中有的函數,我們不要再花時間自己實現。很簡單,你自己實現的一定不比庫函數效率高。
10. 把編譯器的選擇項設置為最嚴格狀態
只有最嚴格的審查自己的代碼,才能寫出優秀的軟體產品。很多人甚至連編譯過程中出現的warning都懶得處理,這種態度堅決不能有。
⑥ C語言怎麼控制文字的顯示速度
其實你可以編寫一個函數,把要輸出的字元串地址傳給它,侍塵它來負責控制循環使得每輸出一個字元就來個sleep()。這是很容易實現的。這樣也不必你鎮談埋一字一字來的輸出了....你等級那麼高,想必需要的是個思路。你試試看御螞吧....
⑦ C語言 怎麼調試程序
一、在keil中調試c語言程序
1、打開我們的程序,點擊菜單欄右側的start/stopdebug..按鈕,進入調試模式,如下圖。
⑧ 怎樣設置才可以在c語言設置中看到程序的運行速度
#include<stdio.h>
int main()
{
while(1) //設置一個死知循環,使程序重復運行道
{
system("cls"); //清屏,清除窗口上之前的輸出專
int a,b;
printf("請輸入兩個加數:");
scanf("%d%d",&a,&b);
printf("兩數之和屬為%d",a+b);
getch(); //按任意鍵從頭開始
}
}