Ⅰ 幫忙設計個檢測電器可靠性的程序【c語言程序設計】
第一個,因為沒有看到你裡面具體A代表的含義,假設A為這批試品的不合格率
A = (r/n)/(n/N)
if(A<=Ac)
{
printf("Proct PASS! \n");
}
else
{
printf("Proct Reject! \n");
}
第二個,假設不大不小的工作時間(應該是一個時間段吧)為T_OK_LOW 至 T_OK_HIGH,其中T_OK_LOW <T_OK_HIGH」,其中t[n-1]=tn,即 t[0]=t1,
UINT i,t[n]={0},t=0;
for(i=0;i<n;i++)
{
printf("Please input the work time of %d sample \n",i+1); //界面輸入單個產品的檢測時間,第i+1個
scanf("%d",&t[i]);
t=t+t[i];
if(t<(T_OK_LOW*(i+1)))
{
printf("Low-grade sample,Reject! \n");
return;
}
else if(t>(T_OK_HIGH)*(i+1))
{
printf("high-grade sample,Accept! \n");
return;
}
}
if(i==n)
{
printf("All samples work in suitable time. \n");
}
Ⅱ C語言的主要特點是什麼
有大量的算術和邏輯運算符,如+ , += , ++(自增),--(自減), & 等。
聲明 語法模擬使用環境。 C有沒有「定義」關鍵字,而不是被當作一個聲明,聲明類型的名稱開始。 沒有「function」這樣的關鍵字,而是一個函數的參數列表的括弧表示。
枚舉類型中enum是關鍵字。沒有標簽並自由地相互轉換的整數。
C語言一共只有32個關鍵字,9種控制語句,程序書寫自由,主要用小寫字母表示。它把高級語言的基本結構和語句與低級語言的實用性結合起來。 C 語言可以象匯編語言一樣對位、位元組和地址進行操作, 而這三者是計算機最基本的工作單元。
結構式語言的顯著特點是代碼及數據的分隔化,即程序的各個部分除了必要的信息交流外彼此獨立。這種結構化方式可使程序層次清晰, 便於使用、維護以及調試。C語言是以函數形式提供給用戶的,這些函數可方便的調用,並具有多種循環、條件語句控製程序流向,從而使程序完全結構化。
Ⅲ 關於c語言的一個小問題
const是一個C語言的關鍵字,它限定一個變數不允許被改變。也就是說定義了兩個float變數MIN,MAX,值分別為0.0,100.0,在之後的代碼中不允許修改MIN,MAX的值。
注意:
100.0後面f的作用是小數默認是double類型的,f的作用是將double類型強制轉換為float類型。
Ⅳ C語言的特點有哪些
C語言是中級語言
C語言通常稱為中級計算機語言。中級語言並沒有貶義,不意味著它功能差、難以使用、或者比B A S I C、P a s c a l那樣的高級語言原始,也不意味著它與匯編語言相似,會給使用者帶來類似的麻煩。C語言之所以被稱為中級語言,是因為它把高級語言的成分同匯編語言的功能結合起來了。表1 - 1表明了C語言在計算機語言中所處的地位。
作為中級語言,C允許對位、位元組和地址這些計算機功能中的基本成分進行操作。C語言程序非常容易移植。可移植性表示為某種計算機寫的軟體可以用到另一種機器上去。舉例來說,如果為蘋果機寫的一個程序能夠方便地改為可以在IBM PC 上運行的程序,則稱為是可移植的。
所有的高級語言都支持數據類型的概念。一個數據類型定義了一個變數的取值范圍和可在其上操作的一組運算。常見的數據類型是整型、字元型和實數型。雖然C語言有五種基本數據類型,但與P a s c a l或A d a相比,它卻不是強類型語言。C程序允許幾乎所有的類型轉換。例如,字元型和整型數據能夠自由地混合在大多數表達式中進行運算。這在強類型高級語言中是不允許的。
C語言的另一個重要特點是它僅有3 2個關鍵字,這些關鍵字就是構成C語言的命令。和IBM PC的B A S I C相比,後者包含的關鍵字達1 5 9個之多。
C語言是結構化語言
雖然從嚴格的學術觀點上看,C語言是塊結構(b l o c k - s t r u c t u r e d)語言,但是它還是常被稱為結構化語言。這是因為它在結構上類似於A L G O L、P a s c a l和M o d u l a - 2(從技術上講,塊結構語言允許在過程和函數中定義過程或函數。用這種方法,全局和局部的概念可以通過「作用域」規則加以擴展,「作用域」管理變數和過程的「可見性」。因為C語言不允許在函數中定義函數,所以不能稱之為通常意義上的塊結構語言)。
結構化語言的顯著特徵是代碼和數據的分離。這種語言能夠把執行某個特殊任務的指令和數據從程序的其餘部分分離出去、隱藏起來。獲得隔離的一個方法是調用使用局部(臨時)變數的子程序。通過使用局部變數,我們能夠寫出對程序其它部分沒有副作用的子程序。這使得編寫共享代碼段的程序變得十分簡單。如果開發了一些分離很好的函數,在引用時我們僅需要知道函數做什麼,不必知道它如何做。切記:過度使用全局變數(可以被全部程序訪問的變數)會由於意外的副作用而在程序中引入錯誤。
結構化語言比非結構化語言更易於程序設計,用結構化語言編寫的程序的清晰性使得它們更易於維護。這已是人們普遍接受的觀點了。C語言的主要結構成分是函數C的獨立子程序。
在C語言中,函數是一種構件(程序塊),是完成程序功能的基本構件。函數允許一個程序的諸任務被分別定義和編碼,使程序模塊化。可以確信,一個好的函數不僅能正確工作且不會對程序的其它部分產生副作用。
1.2.3 C語言是程序員的語言
也許你會問「所有的計算機語言不都是程序員使用的嗎?」,回答是斷然的「否」。我們考慮典型的非程序員的語言C O B O L和B A S I C。C O B O L的設計使程序員難以改變所編寫代碼的可靠性,甚至不能提高代碼的編寫速度。
然而C O B O L設計者的本意卻是打算使非程序員能讀程序(這是不大可能的事)。注意,這並不是攻擊C O B O L的優點,而是想指出,它沒有被設計成為程序員的理想語言。BASIC 的主要目的是允許非專業程序員在計算機上編程解決比較簡單的問題。與其形成鮮明對照的是C 語言,由於程序生成、修改和現場測試自始至終均由真正的程序員進行,因而它實現了程序員的期望:很少限制、很少強求、塊結構、獨立的函數以及緊湊的關鍵字集合。用C語言編程,程序員可以獲得高效機器代碼,其效率幾乎接近匯編語言代碼。
C語言被程序員廣泛使用的另一個原因是可以用它代替 rget="_blank" class="keylink">匯編語言。匯編語言使用的匯編指令,是能夠在計算機上直接執行的二進制機器碼的符號表示。匯編語言的每個操作都對應為計算機執行的單一指令。雖然匯編語言給予程序員達到最大靈活性和最高效率的潛力,但開發和調試匯編語言程序的困難是難以忍受的。非結構性使得匯編語言程序難於閱讀、改進和維護。也許更重要的是,匯編語言程序不能在使用不同C P U的機器間移植。
最初,C語言被用於系統程序設計。一個「系統程序」是一大類程序的一部分,這一大類構成了計算機操作系統及實用程序。通常被稱為系統程序的有:
�6�1 操作系統。
�6�1 翻譯程序。
�6�1 編輯程序。
�6�1 匯編程序。
�6�1 編譯程序。
�6�1 資料庫管理程序。
隨著C語言的普及,加之其可移植性和高效率,許多程序員用它設計各類程序。幾乎所有的計算機上都有C語言編譯程序,這使我們可以很少改動甚至不加改動地將為一種機器寫的C 語言源程序在另一種機器上編譯執行。可移植性節省了時間和財力。
C語言不僅在速度和結構上有它的優勢,而且每個C語言系統都提供了專門的函數庫,程序員可以根據不同需要對其進行剪裁,以適應各種程序的設計。由於它允許(更准確地說是鼓勵)分別編譯,所以C語言可使程序員方便地管理大型項目,最大限度地減少重復勞動。
Ⅳ c語言是計算機的什麼語言是高級還是低級
c語言是計算機的高級語言。
高級語言相對於機器語言(machine language,是一種指令集的體系。這種指令集,稱機器碼(machine code),是電腦的CPU可直接解讀的數據)而言。
是高度封裝了的編程語言,與低級語言相對。它是以人類的日常語言為基礎的一種編程語言,使用一般人易於接受的文字來表示(例如漢字、不規則英文或其他外語),從而使程序編寫員編寫更容易,亦有較高的可讀性,以方便對電腦認知較淺的人亦可以大概明白其內容。
(5)c語言可靠性擴展閱讀:
高級語言的好處:
1、高級語言接近演算法語言,易學、易掌握,一般工程技術人員只要幾周時間的培訓就可以勝任程序員的工作;
2、高級語言為程序員提供了結構化程序設計的環境和工具,使得設計出來的程序可讀性好,可維護性強,可靠性高;
3、高級語言遠離機器語言,與具體的計算機硬體關系不大,因而所寫出來的程序可移植性好,重用率高.
C語言的特點:
1、C語言是一門面向過程的計算機編程語言,與C++、Java等面向對象編程語言有所不同。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、僅產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
2、C語言描述問題比匯編語言迅速,工作量小、可讀性好,易於調試、修改和移植,而代碼質量與匯編語言相當。C語言一般只比匯編語言代碼生成的目標程序效率低10%~20%。因此,C語言可以編寫系統軟體。
Ⅵ C語言如何提高程序效率
好的代碼沒有一個統一的衡量標准,在程序員們的世界裡大家也是各自按照自己的標准衡量著自己和別人的代碼。不過有一個標准幾乎是被所有人認同的。服役時間越長、出錯率越高的代碼就是好代碼。所有的編程方法、代碼技巧甚至於設計模式都是為了達到這個目的而產生的。
如何提高程序效率
程序的效率分兩部分:時間效率和空間效率。
時間效率 : 指的是程序運行的速度
空間效率 : 指的是程序佔用內存或者外存的大小
對於這兩點的把握,我們沒有明確的方法。這里給出一些能夠達成共識的規則,大家在今後自己編碼的時候,可以通過這些規則來衡量自己的代碼是否符合要求。
規則1:不要一味地追求程序的效率
如果追求程序效率需要付出降低正確性、可靠性、健壯性、可讀性等質量代價,那麼可以放棄這部分效率的提高。
規則2:優先提高全局效率
只有整個程序的執行效率提高才有意義,把時間和精力放在某一個不常被調用的小模塊優化上得不償失。
規則3:針對瓶頸部分優化
在實際開發工作中,我們經常遇到一些程序執行時間過長,需要優化。有些人上來就開始逐行檢查代碼,把認為可能影響效率的地方都盡量修改一遍。這樣做不僅浪費時間,更重姿舉差要的是,常常修改一遍後依然看不到明顯的效果。
這種情況下,正確的方法是先找出限制效率的「瓶頸」,在這個答察部分做有針對性的優化。這么做才事半功倍。
規則4:先優化數據結構和演算法,再優化執行代碼
程序的兩大要素是演算法和數據結構,它們貫跡皮穿於程序的始終。因此,對它們的優化能夠起到意想不到的良好效果。
規則5:時間效率和空間效率的矛盾
大多數時候,時間效率和空間效率是對立的。這就是程序設計中兩個很重要的方法論,一個是「以空間換時間」,另一個是「以時間換空間」。此時應當分析那個更重要,作出適當的折中。
早間年,硬體成本比較高,人們大多都採用以時間換空間的策略,花費一些時間,減少內存開銷。如今,內存條的價格已經非常便宜了,人們注重的`是軟體的友好性,因此大部分時候都是用空間換時間。
規則6:代碼不是越短越好
很多資深程序員都會有這樣一個誤區,完成同一個功能,代碼越短越好。還經常有人說這樣的話:「就這么個功能我幾行代碼就搞定了」。其實,追求代碼精簡是一個很大的誤區。因為精簡的代碼並不一定產生高效的機器碼。同時,它還付出了可讀性這一代價。正確的做法是適當地做到代碼精簡。
注意事項
1. 書寫錯誤
經常有人把「==」誤寫成「=」。「||」、「&&」、「<=」、「>=」這類符號也很容易發生少一個的錯誤。最可怕的是編譯器根本發現不了這樣的錯誤。
2. 初始化
變數(指針、數組)被創建之後應當立刻初始化,防止把未被初始化的變數當成右值使用。
3. 數值錯誤
這也是一類非常容易忽略的錯誤。變數的初值、預設值錯誤,或精度不夠,一旦出錯不易發現。
4. 類型轉換
為了避免數據類型轉換的錯誤,我們要盡量使用顯式的數據類型轉換,避免在編譯器中執行非我們所願的隱式數據類型轉換。
5. 溢出
溢出分兩種,一種是超過數據類型取值范圍的賦值,另一種是數組下標范圍越界。這兩種都是要時刻注意的。
7. 避免編寫技巧性很高代碼
技巧性過高的代碼一定是可讀性較差的代碼,這種代碼不易維護,後期的成本較高。
8. 好代碼要復用,壞代碼要重寫
如果原有的代碼質量比較好,盡量復用它。但是不要修補很差勁的代碼。當我們遇到差勁代碼時,最好的方法是重寫新代碼替換它。
9. 盡量使用標准庫函數
對於標准庫中有的函數,我們不要再花時間自己實現。很簡單,你自己實現的一定不比庫函數效率高。
10. 把編譯器的選擇項設置為最嚴格狀態
只有最嚴格的審查自己的代碼,才能寫出優秀的軟體產品。很多人甚至連編譯過程中出現的warning都懶得處理,這種態度堅決不能有。
Ⅶ const在C語言中有哪些用法
const是一個C語言的關鍵字,它限定一個變數不允許被改變。使用const在一定程度上可以提高程序的安全性和可靠性。另外,在觀看別人代碼的時候,清晰理解const所起的作用,對理解對方的程序也有一些幫助。另外CONST在其他編程語言中也有出現,如C++、PHP5、C#.net、HC08 C。
(1)可以定義const常量,具有不可變性。
例如:const int Max=100; Max++會產生錯誤;
(2)便於進行類型檢查,使編譯器對處理內容有更多了解,消除了一些隱患。
例如: void f(const int i) { .........} 編譯器就會知道i是一個常量,不允許修改;
(3)可以避免意義模糊的數字出現,同樣可以很方便地進行參數的調整和修改。 同宏定義一樣,可以做到不變則已,一變都變!
如(1)中,如果想修改Max的內容,只需要:const int Max=you want;即可!
(4)可以保護被修飾的東西,防止意外的修改,增強程序的健壯性。 還是上面的例子,如果在函數體內修改了i,編譯器就會報錯;
例如: void f(const int i) { i=10;//error! }