① c語言 名詞解釋
語言是在70年代初問世的。一九七八年由美國電話電報公司(AT&T)貝爾實驗室正式發表了C語言。同時由B.W.Kernighan和D.M.Ritchit合著了著名的「THE C PROGRAMMING LANGUAGE」一書。通常簡稱為《K&R》,也有人稱之為《K&R》標准。但是,在《K&R》中並沒有定義一個完整的標准C語言,後來由美國國家標准學會在此基礎上制定了一個C 語言標准,於一九八三年發表。通常稱之為ANSI C。
當代最優秀的程序設計語言
早期的C語言主要是用於UNIX系統。由於C語言的強大功能和各方面的優點逐漸為人們認識,到了八十年代,C開始進入其它操作系統,並很快在各類大、中、小和微型計算機上得到了廣泛的使用。成為當代最優秀的程序設計語言之一。
C語言的特點
C語言是一種結構化語言。它層次清晰,便於按模塊化方式組織程序,易於調試和維護。C語言的表現能力和處理能力極強。它不僅具有豐富的運算符和數據類型,便於實現各類復雜的數據結構。它還可以直接訪問內存的物理地址,進行位(bit)一級的操作。由於C語言實現了對硬體的編程操作,因此C語言集高級語言和低級語言的功能於一體。既可用於系統軟體的開發,也適合於應用軟體的開發。此外,C語言還具有效率高,可移植性強等特點。因此廣泛地移植到了各類各型計算機上,從而形成了多種版本的C語言。
C語言版本
目前最流行的C語言有以下幾種:
·Microsoft C 或稱 MS C
·Borland Turbo C 或稱 Turbo C
·AT&T C
這些C語言版本不僅實現了ANSI C標准,而且在此基礎上各自作了一些擴充,使之更加方便、完美。
面向對象的程序設計語言
在C的基礎上,一九八三年又由貝爾實驗室的Bjarne Strou-strup推出了C++。 C++進一步擴充和完善了C語言,成為一種面向 對象的程序設計語言。C++目前流行的最新版本是Borland C++4.5,Symantec C++6.1,和Microsoft VisualC++ 2.0。C++提出了一些更為深入的概念,它所支持的這些面向對象的概念容易將問題空間直接地映射到程序空間,為程序員提供了一種與傳統結構程序設計不同的思維方式和編程方法。因而也增加了整個語言的復雜性,掌握起來有一定難度。
C和C++
但是,C是C++的基礎,C++語言和C語言在很多方面是兼容的。因此,掌握了C語言,再進一步學習C++就能以一種熟悉的語法來學習面向對象的語言,從而達到事半功倍的目的。
C源程序的結構特點
為了說明C語言源程序結構的特點,先看以下幾個程序。這幾個程 序由簡到難,表現了C語言源程序在組成結構上的特點。雖然有關內容還未介紹,但可從這些例子中了解到組成一個C源程序的基本部分和書寫格式。main()
{
printf("c語言世界www.vcok.com,您好!\n");
}
main是主函數的函數名,表示這是一個主函數。每一個C源程序都必須有,且只能有一個主函數(main函數)。函數調用語句,printf函數的功能是把要輸出的內容送到顯示器去顯示。printf函數是一個由系統定義的標准函數,可在程序中直接調用。
#include
#include
main()
{
double x,s;
printf("input number:\n");
scanf("%lf",&x);
s=sin(x);
printf("sine of %lf is %lf\n",x,s);
}
每行注釋
include稱為文件包含命令擴展名為.h的文件也稱為頭文件或首部文件
定義兩個實數變數,以被後面程序使用
顯示提示信息
從鍵盤獲得一個實數x
求x的正弦,並把它賦給變數s
顯示程序運算結果
main函數結束
程序的功能是從鍵盤輸入一個數x,求x的正弦值,然後輸出結果。在main()之前的兩行稱為預處理命令(詳見後面)。預處理命令還有其它幾種,這里的include 稱為文件包含命令,其意義是把尖括弧""或引號<>內指定的文件包含到本程序來,成為本程序的一部分。被包含的文件通常是由系統提供的,其擴展名為.h。因此也稱為頭文件或首部文件。C語言的頭文件中包括了各個標准庫函數的函數原型。因此,凡是在程序中調用一個庫函數時,都必須包含該函數原型所在的頭文件。在本例中,使用了三個庫函數:輸入函數scanf,正弦函數sin,輸出函數printf。sin函數是數學函數,其頭文件為math.h文件,因此在程序的主函數前用include命令包含了math.h。scanf和printf是標准輸入輸出函數,其頭文件為stdio.h,在主函數前也用include命令包含了stdio.h文件。
需要說明的是,C語言規定對scanf和printf這兩個函數可以省去對其頭文件的包含命令。所以在本例中也可以刪去第二行的包含命令#include。同樣,在例1.1中使用了printf函數,也省略了包含命令。
在例題中的主函數體中又分為兩部分,一部分為說明部分,另一部分執行部分。說明是指變數的類型說明。例題中未使用任何變數,因此無說明部分。C語言規定,源程序中所有用到的變數都必須先說明,後使用,否則將會出錯。這一點是編譯型高級程序設計語言的一個特點,與解釋型的BASIC語言是不同的。說明部分是C源程序結構中很重要的組成部分。本例中使用了兩個變數x,s,用來表示輸入的自變數和sin函數值。由於sin函數要求這兩個量必須是雙精度浮點型,故用類型說明符double來說明這兩個變數。說明部分後的四行為執行部分或稱為執行語句部分,用以完成程序的功能。執行部分的第一行是輸出語句,調用printf函數在顯示器上輸出提示字元串,請操作人員輸入自變數x的值。第二行為輸入語句,調用scanf函數,接受鍵盤上輸入的數並存入變數x中。第三行是調用sin函數並把函數值送到變數s中。第四行是用printf 函數輸出變數s的值,即x的正弦值。程序結束。
printf("input number:\n");
scanf("%lf",'C10F10&x);
s=sin(x);
printf("sine of %lf is %lf\n",'C10F10x,s);
運行本程序時,首先在顯示器屏幕上給出提示串input number,這是由執行部分的第一行完成的。用戶在提示下從鍵盤上鍵入某一數,如5,按下回車鍵,接著在屏幕上給出計算結果。
輸入和輸出函數
在前兩個例子中用到了輸入和輸出函數scanf和 printf,在第三章中我們要詳細介紹。這里我們先簡單介紹一下它們的格式,以便下面使用。scanf和 printf這兩個函數分別稱為格式輸入函數和格式輸出函數。其意義是按指定的格式輸入輸出值。因此,這兩個函數在括弧中的參數表都由以下兩部分組成: 「格式控制串」,參數表 格式控制串是一個字元串,必須用雙引號括起來,它表示了輸入輸出量的數據類型。各種類型的格式表示法可參閱第三章。在printf函數中還可以在格式控制串內出現非格式控制字元,這時在顯示屏幕上將原文照印。參數表中給出了輸入或輸出的量。當有多個量時,用逗號間隔。例如:
printf("sine of %lf is %lf\n",x,s);
其中%lf為格式字元,表示按雙精度浮點數處理。它在格式串中兩次現,對應了x和s兩個變數。其餘字元為非格式字元則照原樣輸出在屏幕上
int max(int a,int b);
main(){
int x,y,z;
printf("input two numbers:\n");scanf("%d%d",&x,&y);
z=max(x,y);
printf("maxmum=%d",z);
}
int max(int a,int b){
if(a>b)return a;else return b;
}
此函數的功能是輸入兩個整數,輸出其中的大數。
/*函數說明*/
/*主函數*/
/*變數說明*/
/*輸入x,y值*/
/*調用max函數*/
/*輸出*/
/*定義max函數*/
/*把結果返回主調函數*/
上面例中程序的功能是由用戶輸入兩個整數,程序執行後輸出其中較大的數。本程序由兩個函數組成,主函數和max 函數。函數之間是並列關系。可從主函數中調用其它函數。max 函數的功能是比較兩個數,然後把較大的數返回給主函數。max 函數是一個用戶自定義函數。因此在主函數中要給出說明(程序第三行)。可見,在程序的說明部分中,不僅可以有變數說明,還可以有函數說明。關於函數的詳細內容將在第五章介紹。在程序的每行後用/*和*/括起來的內容為注釋部分,程序不執行注釋部分。
上例中程序的執行過程是,首先在屏幕上顯示提示串,請用戶輸入兩個數,回車後由scanf函數語句接收這兩個數送入變數x,y中,然後調用max函數,並把x,y 的值傳送給max函數的參數a,b。在max函數中比較a,b的大小,把大者返回給主函數的變數z,最後在屏幕上輸出z的值。
C源程序的結構特點
1.一個C語言源程序可以由一個或多個源文件組成。
2.每個源文件可由一個或多個函數組成。
3.一個源程序不論由多少個文件組成,都有一個且只能有一個main函數,即主函數。
4.源程序中可以有預處理命令(include 命令僅為其中的一種),預處理命令通常應放在源文件或源程序的最前面。
5.每一個說明,每一個語句都必須以分號結尾。但預處理命令,函數頭和花括弧「}」之後不能加分號。
6.標識符,關鍵字之間必須至少加一個空格以示間隔。若已有明顯的間隔符,也可不再加空格來間隔。
書寫程序時應遵循的規則
從書寫清晰,便於閱讀,理解,維護的角度出發,在書寫程序時 應遵循以下規則:
1.一個說明或一個語句佔一行。
2.用{} 括起來的部分,通常表示了程序的某一層次結構。{}一般與該結構語句的第一個字母對齊,並單獨佔一行。
3.低一層次的語句或說明可比高一層次的語句或說明縮進若干格後書寫。以便看起來更加清晰,增加程序的可讀性。在編程時應力求遵循這些規則,以養成良好的編程風格。
C語言的字元集
字元是組成語言的最基本的元素。C語言字元集由字母,數字,空格,標點和特殊字元組成。在字元常量,字元串常量和注釋中還可以使用漢字或其它可表示的圖形符號。
1.字母 小寫字母a~z共26個,大寫字母A~Z共26個
2.數字 0~9共10個
3.空白符 空格符、製表符、換行符等統稱為空白符。空白符只在字元常量和字元串常量中起作用。在其它地方出現時,只起間隔作用, 編譯程序對它們忽略。因此在程序中使用空白符與否,對程序的編譯不發生影響,但在程序中適當的地方使用空白符將增加程序的清晰性和可讀性。
4.標點和特殊字元
C語言詞彙
在C語言中使用的詞彙分為六類:標識符,關鍵字,運算符,分隔符,常量,注釋符等。
1.標識符
在程序中使用的變數名、函數名、標號等統稱為標識符。除庫函數的函數名由系統定義外,其餘都由用戶自定義。C 規定,標識符只能是字母(A~Z,a~z)、數字(0~9)、下劃線()組成的字元串,並且其第一個字元必須是字母或下劃線。
以下標識符是合法的:
a,x, 3x,BOOK 1,sum5
以下標識符是非法的:
3s 以數字開頭
s*T 出現非法字元*
-3x 以減號開頭
bowy-1 出現非法字元-(減號)
在使用標識符時還必須注意以下幾點:
(1)標准C不限制標識符的長度,但它受各種版本的C 語言編譯系統限制,同時也受到具體機器的限制。例如在某版本C 中規定標識符前八位有效,當兩個標識符前八位相同時,則被認為是同一個標識符。
(2)在標識符中,大小寫是有區別的。例如BOOK和book 是兩個不同的標識符。
(3)標識符雖然可由程序員隨意定義,但標識符是用於標識某個量的符號。因此,命名應盡量有相應的意義,以便閱讀理解,作到「顧名思義」。
2.關鍵字
關鍵字是由C語言規定的具有特定意義的字元串,通常也稱為保留字。用戶定義的標識符不應與關鍵字相同。C語言的關鍵字分為以下幾類:
(1)類型說明符
用於定義、說明變數、函數或其它數據結構的類型。如前面例題中用到的int,double等
(2)語句定義符
用於表示一個語句的功能。如例1.3中用到的if else就是條件語句的語句定義符。
(3)預處理命令字
用於表示一個預處理命令。如前面各例中用到的include。
3.運算符
C語言中含有相當豐富的運算符。運算符與變數,函數一起組成表達式,表示各種運算功能。運算符由一個或多個字元組成。
4.分隔符
在C語言中採用的分隔符有逗號和空格兩種。逗號主要用在類型說明和函數參數表中,分隔各個變數。空格多用於語句各單詞之間,作間隔符。在關鍵字,標識符之間必須要有一個以上的空格符作間隔, 否則將會出現語法錯誤,例如把int a;寫成 inta;C編譯器會把inta當成一個標識符處理,其結果必然出錯。
5.常量
C語言中使用的常量可分為數字常量、字元常量、字元串常量、符號常量、轉義字元等多種。在第二章中將專門給予介紹。
6.注釋符
C 語言的注釋符是以「/*」開頭並以「*/」結尾的串。在「/*」和「*/」之間的即為注釋。程序編譯時,不對注釋作任何處理。注釋可出現在程序中的任何位置。注釋用來向用戶提示或解釋程序的意義。在調試程序中對暫不使用的語句也可用注釋符括起來,使翻譯跳過不作處理,待調試結束後再去掉注釋符。
② 大一第一學期c語言名詞解釋
double :聲明雙精度變數或函數
int: 聲明整型變數或函數
struct:聲明結構體變數或函數
break:跳出當前循環
else :條件語句否定分支(與 if 連用)
long :聲明長整型變數或函數
switch :用於開關語句
case:開關語句分支
enum :聲明枚舉類型
register:聲明積存器變數
typedef:用以給數據類型取別名(當然還有其他作用)
char :聲明字元型變數或函數
extern:聲明變數是在其他文件正聲明(也可以看做是引用變數)
return :子程序返回語句(可以帶參數,也看不帶參數)
union:聲明聯合數據類型
const :聲明只讀變數
float:聲明浮點型變數或函數
short :聲明短整型變數或函數
unsigned:聲明無符號類型變數或函數
continue:結束當前循環,開始下一輪循環
for:一種循環語句(可意會不可言傳)
signed:生命有符號類型變數或函數
void :聲明函數無返回值或無參數,聲明無類型指針(基本上就這三個作用)
default:開關語句中的「其他」分支
goto:無條件跳轉語句
sizeof:計算數據類型長度
volatile:說明變數在程序執行中可被隱含地改變
do :循環語句的循環體
while :循環語句的循環條件
static :聲明靜態變數
③ c語言的名詞解釋
C語言關鍵字共30個:
1. 數據類型關鍵字(12個):
(1). char :聲明字元型變數或函數
(2). double :聲明雙精度變數或函數
(3). enum :聲明枚舉類型
(4). float:聲明浮點型變數或函數
(5). int: 聲明整型變數或函數
(6). long :聲明長整型變數或函數
(7). short :聲明短整型變數或函數
(8). signed:聲明有符號類型變數或函數
(9). struct:聲明結構體變數或函數
(10). union:聲明聯合數據類型
(11). unsigned:聲明無符號類型變數或函數
(12). void :聲明函數無返回值或無參數,聲明無類型指針(基本上就這三個作用)
(2)控制語句關鍵字(12個):
A.循環語句
(1). for: 一種循環語句(可意會不可言傳)
(2). do : 循環語句的循環體
(3). while :循環語句的循環條件
(4). break:跳出當前循環
(5). continue:結束當前循環,開始下一輪循環
B.條件語句
(1).if: 條件語句
(2).else :條件語句否定分支(與 if 連用)
(3).goto:無條件跳轉語句
C.開關語句
(1).switch :用於開關語句
(2).case:開關語句分支
(3).default:開關語句中的「其他」分支
D.
return :子程序返回語句(可以帶參數,也看不帶參數)
3. 存儲類型關鍵字(4個):
(1).auto :聲明自動變數 一般不使用
(2).extern:聲明變數是在其他文件正聲明(也可以看做是引用變數)
(3).register:聲明積存器變數
(4). static :聲明靜態變數
4. 其它關鍵字(4個):
(1).const :聲明只讀變數
(2).sizeof:計算數據類型長度
(3).typedef:用以給數據類型取別名(當然還有其他作用)
(4).volatile:說明變數在程序執行中可被隱含地改變
④ C語言名詞解釋
C語言關鍵字共30個:
1. 數據類型關鍵字(12個):
(1). char :聲明字元型變數或函數
(2). double :聲明雙精度變數或函數
(3). enum :聲明枚舉類型
(4). float:聲明浮點型變數或函數
(5). int: 聲明整型變數或函數
(6). long :聲明長整型變數或函數
(7). short :聲明短整型變數或函數
(8). signed:聲明有符號類型變數或函數
(9). struct:聲明結構體變數或函數
(10). union:聲明聯合數據類型
(11). unsigned:聲明無符號類型變數或函數
(12). void :聲明函數無返回值或無參數,聲明無類型指針(基本上就這三個作用)
(2)控制語句關鍵字(12個):
A.循環語句
(1). for: 一種循環語句(可意會不可言傳)
(2). do : 循環語句的循環體
(3). while :循環語句的循環條件
(4). break:跳出當前循環
(5). continue:結束當前循環,開始下一輪循環
B.條件語句
(1).if: 條件語句
(2).else :條件語句否定分支(與 if 連用)
(3).goto:無條件跳轉語句
C.開關語句
(1).switch :用於開關語句
(2).case:開關語句分支
(3).default:開關語句中的「其他」分支
D.
return :子程序返回語句(可以帶參數,也看不帶參數)
3. 存儲類型關鍵字(4個):
(1).auto :聲明自動變數 一般不使用
(2).extern:聲明變數是在其他文件正聲明(也可以看做是引用變數)
(3).register:聲明積存器變數
(4). static :聲明靜態變數
4. 其它關鍵字(4個):
(1).const :聲明只讀變數
(2).sizeof:計算數據類型長度
(3).typedef:用以給數據類型取別名(當然還有其他作用)
(4).volatile:說明變數在程序執行中可被隱含地改變
⑤ C語言中的正碼,反碼,和補碼作何解釋(名詞解釋)
補碼,是在計算機內部,正負數的存放格式。
在計算機內部,並沒有「正碼」、「反碼」。
C 語言是高級語言。
用高級語言編程,是不用關心計算機內部的事的。
如果非要涉及計算機內部的細節,那就不是高級語言了。
很多教材書籍的作者,都沒有弄明白:什麼是高級語言。
計算機內部的碼,有很多種了,要是討論起來,C 語言就學不完了。
⑥ C語言名詞解釋
我想你可能是遇到一些 關鍵字吧,現列出一些auto :聲明自動變數 一般不使用
double :聲明雙精度變數或函數
int: 聲明整型變數或函數
struct:聲明結構體變數或函數
break:跳出當前循環
else :條件語句否定分支(與 if 連用)
long :聲明長整型變數或函數
switch :用於開關語句
case:開關語句分支
enum :聲明枚舉類型
register:聲明積存器變數
typedef:用以給數據類型取別名(當然還有其他作用)
char :聲明字元型變數或函數
extern:聲明變數是在其他文件正聲明(也可以看做是引用變數)
return :子程序返回語句(可以帶參數,也看不帶參數)
union:聲明聯合數據類型
const :聲明只讀變數
float:聲明浮點型變數或函數
short :聲明短整型變數或函數
unsigned:聲明無符號類型變數或函數
continue:結束當前循環,開始下一輪循環
for:一種循環語句(可意會不可言傳)
signed:生命有符號類型變數或函數
void :聲明函數無返回值或無參數,聲明無類型指針(基本上就這三個作用)
default:開關語句中的「其他」分支
goto:無條件跳轉語句
sizeof:計算數據類型長度
volatile:說明變數在程序執行中可被隱含地改變
do :循環語句的循環體
while :循環語句的循環條件
static :聲明靜態變數
⑦ C語言名詞解釋
auto (動態存儲變數) break(退出循環) case(案例) char(定義字元型) const
continue(結束本次循環,執行下一次循環) default(失敗) do(循環語語句) double(雙精度型) else(與如果相反)
enum extern float(單精度型) for(循環語句) goto(將程序執行流程轉向(一般不推薦用))
if(條件語句) int(整型) long(長整型) register return(返回)
short signed sizeof static(靜態存儲變數) struct(定義結構體)
switch(選擇語句) typedef(與struct連用) unsigned(不明確類型) union void(無值類)
volatile while(循環語句)
其實你想學C語言的話,建議還是買一本書看一下,這些都有的。
⑧ c語言中什麼是演算法有哪些描述演算法的例子
1、有窮性(有限性)。任何一種提出的解題方法都是在有限的操作步驟內可以完成的。
如果在有限的操作步驟內完不成,得不到結果,這樣的演算法將無限的執行下去,永遠不會停止。除非手動停止。例如操作系統就不具有有窮性,它可以一直運行。
2、一個演算法應該具有以下七個重要的特徵:
1)有窮性(finiteness)
演算法的有窮性是指演算法必須能在執行有限個步驟之後終止
2)確切性(definiteness)
演算法的每一步驟必須有確切的定義;
3)輸入項(input)
一個演算法有0個或多個輸入,以刻畫運算對象的初始情況,所謂0個輸入是指演算法本身定出了初始條件;
4)輸出項(output)
一個演算法有一個或多個輸出,以反映對輸入數據加工後的結果.沒有輸出的演算法是毫無意義的;
5)可行性(effectiveness)
演算法中執行的任何計算步都是可以被分解為基本的可執行的操作步,即每個計算步都可以在有限時間內完成;
6)
高效性(high
efficiency)
執行速度快,佔用資源少;
7)
健壯性(robustness)
健壯性又稱魯棒性,是指軟體對於規范要求以外的輸入情況的處理能力。所謂健壯的系統是指對於規范要求以外的輸入能夠判斷出這個輸入不符合規范要求,並能有合理的處理方式。
⑨ C語言中的名詞解釋
要知道變數的值,就必須明白什麼是變數。
變數就是一個內存空間的名稱,說白了就是這個空間的地址的別名。
那麼變數的值就不難理解了,變數的值就是存儲在這個內存空間中的數據。
例如int a = 1;表示a這個空間之內存放的數據是1.