c語言系統的定義
A. c語言的系統定義標識符有哪些
分類: 電腦/網路 >> 程序設計 >> 其他編程語言
問題描述:
它拍雀們都各自有什麼用?希望能詳細作答,答得好的追加懸賞分!
解析:
所謂標識符,就是你起的一個名字。c/c++中,是你用兆拆來標識變數名、符號常量名、函數名、數組名、文件名、類名、對象名等的。(就好像族賀棗你父母有了你以後給你起的名字)~~ c/c++有效標識符的構成規則如下
(1)第一個字元必須是字母(不分大小寫)或下劃線(_);
(2)後跟字母(不分大小寫)、下劃線(_)或數字組成;
(3)標識符中的大小寫字母有區別。如,變數sum,sum,sum代表三個不同的變數;
(4)不能與c編譯系統已經預定義的、具有特殊用途的保留標識符(即關鍵字)同名。比如,不能將標識符命名為float,auto,break,case,this,try,for,while,int,char,short, unsigned,等等;
B. C語言的定義是什麼
,g);
g=add(e。
首先說個例子:
int
add(int
a,int
b)
{
int
c;%d",&e&f),後面就是運算了,由這個我來說明定義的方法
定義的時候;
return
c;
}
調用的方法,最後是返回值,return後面你需要得到的結果,然後是函數名(這個自己取)能不能說清楚:
int
mian()
{
int
e,f,g;
scanf("%d%d",f);
printf(",然後是括弧里的是輸入的數據的類型和形參變數名(定義多少個,用的時候也是輸入多少個)??如果是這樣的話,我可以告訴你,首先是函數返回值的數據類型例子上的是int。
希望對你能有所幫助;
c=a+b。你是想在主函數中調用一個函數,然後不知道這個被調用的函數怎麼定義嗎,我不知道你是什麼意思啊;
}
這定義的是一個加法運算的簡單函數
C. c語言編譯系統有哪些及其特點
C 語言特點
C語言是一種成功的系統描述語言,用C語言開發的UNIX操作系統就是一個成功的範例;同時C語言又是一種通用的程序設計語言,在國際上廣泛流行。世界上很多著名的計算公司都成功的開發了不同版本的C語言,很多優秀的應用程序也都使用C語言開發的,它是一種很有發展前途的高級程序設計語言。 1. C是中級語言。它把高級語言的基本結構和語句與低級語言的實用性結合起來。C 語言可以像匯編語言一樣對位、位元組和地址進行操作, 而這三者是計算機最基本的工作單元。 2.C是結構式語言。結構式語言的顯著特點是代碼及數據的分隔化,即程序的各個部分除了必要的信息交流外彼此獨立。這種結構化方式可使程序層次清晰,便於使用、維護以及調試。C 語言是以函數形式提供給用戶的,這些函數可方便的調用,並具有多種循環、條件語句控製程序流向,從而使程序完全結構化。 3.C語言功能齊全。具有各種各樣的數據類型,並引入了指針概念,可使程序效率更高。而且計算功能、邏輯判斷功能也比較強大,可以實現決策目的的游戲。 c語言
4. C語言適用范圍大。適合於多種操作系統,如Windows、DOS、UNIX等等;也適用於多種機型。 C語言對編寫需要硬體進行操作的場合,明顯優於其它解釋型高級語言,有一些大型應用軟體也是用C語言編寫的。 C語言具有較好的可移植性,並具備很強的數據處理能力,因此適於編寫系統軟體,三維,二維圖形和動畫。它是數值計算的高級語言。 常用的C語言IDE(集成開發環境)有Microsoft Visual C++,Dev-C++,Code::Blocks,Borland C++,Watcom C++,Borland C++ Builder,GNU DJGPP C++,Lccwin32 C Compiler 3.1,High C,Turbo C,C-Free,win-tc 等等…… c語言的學習 對於一個初學者,Microsoft Visual C++是一個比較好的軟體。界面友好,功能強大,調試也很方便。這是微軟出的一個C語言集成開發環境(IDE),主要有:VC++6.0、VS2005、VS2008、VS2010等,分為企業版和學生版等。對於初學者VC++6.0是比較容易上手的,但由於其對標准支持的不好可能使人養成不良編程習慣,因此論壇上也有人主張舍棄VC++6.0。 在unix/linux操作系統上,學習c語言一般使用vim/emacx來編輯源文件,使用gcc/cc來編譯源文件,使用make程序來管理編譯過程。
編輯本段發展歷史
c語言
C語言的祖先是BCPL語言。 1967年,劍橋大學的Martin Richards 對CPL語言進行了簡化,於是產生了BCPL(Basic Combined Pogramming Language)語言。 1970年,美國貝爾實驗室的Ken Thompson。以BCPL語言為基礎,設計出很簡單且很接近硬體的B語言(取BCPL的首字母)。並且他用B語言寫了第一個UNIX操作系統。 在1972年,美國貝爾實驗室的D.M.Ritchie在B語言的基礎上最終設計出了一種新的語言,他取了BCPL的第二個字母作為這種語言的名字,這就是C語言。 為了使UNIX操作系統推廣,1977年Dennis M.Ritchie 發表了不依賴於具體機器系統的C語言編譯文本《可移植的C語言編譯程序》。 1978年由美國電話電報公司(AT&T)貝爾實驗室正式發表了C語言。同時由B.W.Kernighan和D.M.Ritchie合著 c語言程序設計
了著名的《The C Programming Language》一書。通常簡稱為《K&R》,也有人稱之為《K&R》標准。但是,在《K&R》中並沒有定義一個完整的標准C語言,後來由美國國家標准化協會(American National Standards Institute)在此基礎上制定了一個C語言標准,於一九八三年發表。通常稱之為ANSI C。 K&R第一版在很多語言細節上也不夠精確,對於pcc這個「參照編譯器」來說,它日益顯得不切實際;K&R甚至沒有很好表達它所要描述的語言,把後續擴展扔到了一邊。最後,C在早期項目中的使用受商業和政府合同支配,它意味著一個認可的正式標準是重要的。因此(在M. D. McIlroy的催促下),ANSI於1983年夏天,在CBEMA的領導下建立了X3J11委員會,目的是產生一個C標准。X3J11在1989年末提出了一個他們的報告[ANSI 89],後來這個標准被ISO接受為ISO/IEC 9899-1990。 1990年,國際標准化組織ISO(International Organization for Standards)接受了89 ANSI C 為I SO C 的標准(ISO9899-1990)。1994年,ISO修訂了C語言的標准。 1995年,ISO對C90做了一些修訂,即「1995基準增補1(ISO/IEC/9899/AMD1:1995)」。1999年,ISO有對C語言標准進行修訂,在基本保留原來C語言特徵的基礎上,針對應該的需要,增加了一些功能,尤其是對C++中的一些功能,命名為ISO/IEC9899:1999。 2001年和2004年先後進行了兩次技術修正。 目前流行的C語言編譯系統大多是以ANSI C為基礎進行開發的,但不同版本的C編譯系統所實現的語言功能和語法規則有略有差別。
D. 用C語言編寫一個車票管理系統
#include<stdio.h> ///宏定義函數
#include<string.h> //串操作及內存操作函數
#include<stdlib.h> /////調用系統函數
#include<time.h> ///時間庫函數
#include<conio.h> ///輸入輸出函數
#define N 1000 //宏定義多條記錄
typedef struct TICKET ////定義新結構體TICKET
{
char num[10]; //車次編號
char hour[3]; //時間,,小時
char min[3]; //分鍾
char from[10]; //起始站
char to[10]; //終點站
float hours; //車程實際時間
int max; //最大車載容量
int now; //已售票數
}CLASS;
int class_num=0; ///初始班次總數為0
CLASS records[N]; // 多條記錄
int system_time(); //系統時間
void NewMessage(); //新紀錄*錄入函數******
void ShowTable1(); //線框調用1,,,不用沒次輸
void ShowTable2(int i); //線框調用2,,,不用沒次輸
void Display(); //顯示所有函數
void add(); //增加記錄
void save(); // 保存函數
void load(); // 按班次查詢函數
void search(); //查詢函數
void change(); //修改函數**
void quit(); ////////// //退出函數******
void Ticketorder(); // //*售票函數***
void Ticketdelete(); //刪除函數*
int menu_select(); //菜單函數*
int whether(int); ////判斷時間是否超出函數***
void find(char s1[],char s2[]); //查詢函數★//s1為班次//s2為終點站
void deletemessage(); //刪除函數
int findnum(char s1[]); //班次查詢函數
void get(int,int); //修改及增加班次*
char *menu[]={"*****************歡迎使用車票查詢系統*****************",
"\n*******************MENU功能菜單***********************",
"\n◤ ★ 1. 錄入班次 ◥",
"\n◆ ★ 2. 顯示所有班次 ◆",
"\n◆ ★ 3. 查詢班次 ◆",
"\n◆ ★ 4. 增加班次 ◆",
"\n◆ ★ 5. 售票 ◆",
"\n◆ ★ 6. 退票 ◆",
"\n◆ ★ 7. 修改班次 ◆",
"\n◆ ★ 8. 刪除班次 ◆",
"\n◣ ★ 9. 退出 ◢"};
/**************************主函數***************************/
void main()
{
system("cls"); //刷屏
while(1) //菜單函數循環
{
switch(menu_select()) //菜單函數*
{
case 1: NewMessage();break; ////新紀錄*錄入函數******
case 2: Display();break; // //顯示
case 3: search();break; //查找函數**
case 4: add();break; // //增加記錄
case 5: Ticketorder();break; ////*售票函數***
case 6: Ticketdelete();break; //刪除函數*
case 7: change();break; //修改函數**
case 8: deletemessage();break; //////選擇調用刪除函數
case 9: quit();break; //////退出函數******
}
}
}
/***********************菜單函數**************************/
int menu_select() /////////菜單函數*
{
char s[5]; ///定義要輸入的數字功能
int c,i;
system("cls"); //刷屏
system("color 09");//改變顏色
for(i=0;i<11;i++)
{
printf("%s",menu[i]); //輸出菜單各項)
}
i=0;
while(c<0||c>9) //判斷是否是1到9的命令
{
printf("\n"); ///輸出換行
printf("******************************************************");
printf("\n請選擇(1-9):▁▂▃▄▆▇");
scanf("%s",s);
c=atoi(s); //atoi將字元串轉換成一個整數值
} ///輸出菜單面
return c; ////返回請求
}
/*******************************錄入函數************************************/
void NewMessage() //*錄入函數******
{
int i=0,j=5,h; ////
char s[5];
FILE *fp; ////定義文件型指針變數
system("cls"); //刷屏
if((fp=fopen("d:車票管理系統0.dat","rb"))!=NULL) //fopen打開文件
{
printf("車票信息已經存在請選擇增加功能!\n");
printf("任意輸入則返回菜單\n");
scanf("%s",s);
i=1; //通過是1
}
if(i==0)
{
system("cls"); //刷屏
printf("請輸入要錄入班次總數:\n");
scanf("%d",&class_num); //指向班次指針
system("cls"); //刷屏
for(i=0;i<class_num;i++)
{
system("cls"); //刷屏
printf("請輸入第%d個班次信息:\n",i+1);
h=-1;
for(;h!=i;) ///循環輸出
{
printf("請輸入班次:\n");
scanf("%s",records[i].num);
for(h=0;h<i;h++)
if(strcmp(records[h].num,records[i].num)==0)
//判斷字元串比較是否相等,, 待比較的字元串
{
printf("輸入錯誤!該班次已存在!\n");
break; ///返回
}
}
get(i,j); ////修改及增加班次*
j=5;
}
save(); //調用保存函數
}
}
/*******************************顯示所有函數********************************/
void Display() //顯示所有函數
{
int i,j;
system("cls"); //刷屏
load(); // 調用按班次查詢函數
ShowTable1(); //線框調用1,,,不用沒次輸
for(i=0,j=0;i<class_num;i++,j+=2) /////按班次順序輸出
{
printf("\n|----------|----------|----------|----------|--------|--------|--------|\n");
if(whether(i)) //判斷時間是否超出函數***
printf("|%10s|%5s:%-4s|%10s|%10s|%8.1f|%8d|%8d|",records[i].num,records[i].hour,
records[i].min, records[i].from,records[i].to,records[i].hours,
records[i].max,records[i].now);
else
printf("|%10s| 已發車 |%10s|%10s|%8.1f|%8d|%8d|",records[i].num,
records[i].from,records[i].to,records[i].hours,records[i].max,records[i].now);
}
ShowTable2(j); //線框調用2
printf("\n按任意鍵繼續....\n");
getch(); /////從控制台讀取一個字元,但不顯示在屏幕上
}
/**********************************列印表頭***********************************************/
void ShowTable1() //線框調用1,,,不用沒次輸
{
int i=2;
system("cls"); //刷屏
printf("**************************MESSAGE車程信息**********************************\n");
printf("\n|----------|----------|----------|----------|--------|--------|--------|\n");
printf("\n| 班次 | 發車時間 | 起點站 | 終點站 |行車時間|額定載量| 已售票 |\n");
}
/***************************************列印表尾************************************************/
void ShowTable2(int i) //線框調用2。不用沒次輸。
{
printf("\n|----------|----------|----------|----------|--------|--------|--------|\n");
}
/**************************查找函數11**************************/
void search() ////查詢調用
{
int i;
char s1[10]={'\0'},s2[10]={'\0'};
system("cls"); //刷屏
printf("1. 按班次查詢\n");
printf("2. 按終點站查詢\n");
printf("3. 退出\n");
printf("請選擇(1-3):\n");
scanf("%d",&i);
load(); // 調用按班次查詢函數
switch(i) //多分枝選擇語句
{
case 1: printf("請輸入要查詢的班次:\n"); //////s1為班次
scanf("%s",s1);
find(s1,s2); /////調用查找函數222 2
break;
case 2: printf("請輸入要查詢終點站:\n"); /////s2為終點站
scanf("%s",s2);
find(s1,s2); /////調用查找函數222 2
break;
case 3: break;
default : printf("輸入錯誤!\n");
break;
}
printf("按任意鍵繼續....\n");
getch(); ///從控制台讀取一個字元,但不顯示在屏幕上
}
/********************************查詢函數22*********************************/
void find(char s1[],char s2[])
{
int i,h=0,m;
ShowTable1(); ////調用線框1
if(s2[0]=='\0')
m=1; ///1為無條件執行
else m=0;
for(i=0;i<class_num;i++)
if(strcmp(s1,records[i].num)==0||strcmp(s2,records[i].to)==0)
////判斷字元串比較是否相等,, 待比較的字元串
{
printf("\n|----------|----------|----------|----------|--------|--------|--------|\n");
printf("|%10s|%5s:%-4s|%10s|%10s|%8.1f|%8d|%8d|",records[i].num,records[i].hour,records[i].min,
records[i].from,records[i].to,records[i].hours,records[i].max,records[i].now);
h+=2;
if(m==1)
break;
}
ShowTable2(h); ////調用線框2
if(h==0)
printf("要查找的班次不存在!\n");
}
/***********************增加函數****************************/
void add() // //增加記錄
{
int i,j=5;
load(); // 調用按班次查詢函數
system("cls"); //刷屏
printf("1. 增加班次\n");
printf("2. 返回\n");
printf("請選擇(1-2)\n");
scanf("%d",&i);
if(i==1)
{
system("cls"); //刷屏
printf("1. 請輸入要增加的班次:\n");
scanf("%s",records[class_num].num);
for(i=0;i<class_num;i++)
if(strcmp(records[class_num].num,records[i].num)==0)
//判斷字元串比較是否相等,, 待比較的字元串 判斷車次沒重復
{
printf("輸入錯誤!\n");
getch(); /////從控制台讀取一個字元,但不顯示在屏幕上
break;
}
if(i==class_num)
{
get(i,j); ////修改及增加班次*
class_num++; ///使班次數加1
save(); //調用保存函數
}
}
}
/********************************售票函數*****************************/
void Ticketorder() //*售票函數***
{
int i;
char num[10];
system("cls"); //刷屏
printf("1. 售票\n");
printf("2. 返回\n");
printf("請選擇(1-2):\n");
scanf("%d",&i);
if(i==1)
{
load(); // 調用按班次查詢函數
search(); //查找函數**
printf("請輸入要訂票的班次(若無請輸入0):\n");
scanf("%s",num);
for(i=0;i<class_num;i++)
if(strcmp(num,records[i].num)==0)//判斷字元串比較是否相等,, 待比較的字元串
if(records[i].max>records[i].now&&whether(i)==1)
//判斷時間是否超出函數***並且***沒超出最大客量
{
records[i].now++; ///使已售的暑假1
printf("通向%s班次為%s的票訂票成功!\n",records[i].to,records[i].num);
save(); //調用保存函數
getch(); /////從控制台讀取一個字元,但不顯示在屏幕上
break;
}
else
{
printf("該班次已滿或已發出!\n");
getch(); /////從控制台讀取一個字元,但不顯示在屏幕上
}
}
}
/****************************退票刪除函數***************************************/
void Ticketdelete() //刪除函數*
{
int i;
char num[10];
system("cls"); //刷屏
printf("1. 退票\n");
printf("2. 返回\n");
printf("請選擇(1-2)\n:");
scanf("%d",&i);
if(i==1)
{
system("cls"); //刷屏
load(); // 調用按班次查詢函數
printf("請輸入要退票的班次:\n");
scanf("%s",num);
i=findnum(num); //調用班次查詢函數
if(strcmp(num,records[i].num)==0) //判斷字元串比較是否相等 待比較的字元串
if(whether(i)) //判斷時間是否超出函數***
{
printf("確定(Y/N)?");
scanf("%s",num);
if(num[0]=='y'||num[0]=='Y')
{
records[i].now--; //使已售票加1
printf("退票成功!\n");
save(); //調用保存函數
getch(); //從控制台讀取一個字元,但不顯示在屏幕上
}
}
else
{
printf("該班車已發出,無法退票!\n");
getch(); /////從控制台讀取一個字元,但不顯示在屏幕上
}
if(i==class_num)
{ printf("輸入錯誤!\n");
getch(); /////從控制台讀取一個字元,但不顯示在屏幕上
}
}
}
/********************************修改函數*********************************/
void change() //修改函數**
{
char num[10],s[10];
int h=0,j=13,i;
load(); // 調用按班次查詢函數
system("cls"); //刷屏
printf("請輸入要修改的班次:\n");
scanf("%s",num);
i=findnum(num); //調用班次查詢函數
if(i==class_num)
{
printf("輸入錯誤,無此班次!\n");
getch(); ///從控制台讀取一個字元,但不顯示在屏幕上
}
else
{
printf("確定修改(Y/N)?\n");
scanf("%s",s);
if(s[0]=='y'||s[0]=='Y')
{
get(i,j); ////修改及增加班次*
save(); //調用保存函數
}
}
}
/*******************************刪除函數**********************************/
void deletemessage() //刪除班次信息
{
int i,h=0;
char num[10];
system("cls"); //刷屏
printf("1. 刪除班次\n");
printf("2. 返回\n");
printf("請選擇(1-2):\n");
scanf("%d",&i);
if(i==1)
{
system("cls"); //刷屏
printf("請輸入要刪除的班次:\n");
scanf("%s",num);
i=findnum(num); //調用班次查詢函數
if(i==class_num)
{
printf("輸入錯誤,無此班次!\n");
getch(); ///從控制台讀取一個字元,但不顯示在屏幕上
}
else
{
printf("確定?(y/n)\n");
scanf("%s",num);
if(num[0]=='y'||num[0]=='Y')
{
for(;i<class_num-1;i++)
records[i]=records[i+1];
class_num--; ////班次總數減1
save(); //調用保存函數
printf("刪除成功!\n");
getch();
}
}
}
}
/****************************按班次查詢函數****************************/
int findnum(char s1[]) //查找班次
{
int i,h=0;
ShowTable1(); //線框調用1,,,不用沒次輸
for(i=0;i<class_num;i++)
{
if(strcmp(s1,records[i].num)==0) //判斷字元串比較是否相等,如果符合則輸出車次等信息
{
printf("|----------|----------|----------|----------|--------|--------|--------|\n");
printf("|%10s|%5s:%-4s|%10s|%10s|%8.1f|%8d|%8d|",records[i].num,records[i].hour,
records[i].min,records[i].from,records[i].to,records[i].hours,records[i].max,records[i].now);
h+=2; ///加2使輸出的框架合適
break;
}
}
ShowTable2(h); ///調用框架2
return i;
}
/**************************************保存函數*******************************/
void save() //////保存函數
{
FILE *fp1,*fp2; //文件行指針
if((fp1=fopen("d:車票管理系統.dat","wb"))==NULL) //打開文件、為輸出打開一個二進制文件
{
printf("文件打開錯誤!\n");
exit(0);
}
if((fp2=fopen("d:車票管理系統0.dat","wb"))==NULL) //打開文件、為輸出打開一個二進制文件
{
printf("文件打開錯誤!\n");
exit(0);
}
fwrite(&class_num,sizeof(int),1,fp2); //寫入文件信息
fwrite(records,sizeof(CLASS),class_num,fp1);
fclose(fp1);fclose(fp2); ///關閉文件
}
/*******************************按班次查詢函數*******************************/
void load() //按班次查詢函數
{
FILE *fp1,*fp2;
if((fp1=fopen("d:車票管理系統.dat","rb"))==NULL)
{
system("cls"); //刷屏
printf("文件打開錯誤!\n");
getch(); ///從控制台讀取一個字元,但不顯示在屏幕上
exit(0);
}
if((fp2=fopen("d:車票管理系統0.dat","rb"))==NULL)
{
system("cls"); //刷屏
printf("文件打開錯誤!\n");
getch(); ///從控制台讀取一個字元,但不顯示在屏幕上
exit(0); //退出
}
fread(&class_num,sizeof(int),1,fp2); ///讀入信息
fread(records,sizeof(CLASS),class_num,fp1);/////讀入信息
fclose(fp1);fclose(fp2); ///文件關閉
}
/******************************退出函數***************************/
void quit() //退出函數******
{
char s[5];
printf("確認退出?(Y/N)\n");
scanf("%s",s);
if(s[0]=='y'||s[0]=='Y')
exit(0); //程序中止執行,返回調用過程..state 0-正常中止非0-非正常
}
/*************************修改及增加班次*******************************/
void get(int i,int j) // 修改及增加班次*
{
for(;;)
{
printf("請輸入發車時間(xx xx)");scanf("%s%s",records[i].hour,records[i].min);
if((atoi(records[i].hour)<24&&atoi(records[i].hour)>=0)&&(atoi(records[i].min)<60&&atoi(records[i].min)>=0))
break;
else
{
printf("輸入錯誤!\n");
getch(); /////從控制台讀取一個字元,但不顯示在屏幕上
}
}
printf("請輸入起點站:\n");
scanf("%s",records[i].from);
printf("請輸入終點站:\n");
scanf("%s",records[i].to);
printf("請輸入行車時間:\n");
scanf("%f",&records[i].hours);
printf("請輸入額定載量:\n");
scanf("%d",&records[i].max);
for(;;)
{
printf("請輸入已售票數:\n");
scanf("%d",&records[i].now);
if(records[i].now<=records[i].max)
break;
else
{
printf("輸入錯誤!\n");
getch(); /////從控制台讀取一個字元,但不顯示在屏幕上
}
}
}
/********************************判斷時間是否超出函數**********************************/
int whether(int i) //判斷時間是否超出函數***
{
struct tm *local; //時間結構體
time_t t; //把當前時間給t
t=time(NULL); //NULL在stdio.h中定義為0
local=localtime(&t); /////獲取當前系統時間
if(local->tm_hour<atoi(records[i].hour)||local->tm_hour==atoi(records[i].hour)&&local->tm_min<atoi(records[i].min))
//atoi將字元串轉換成一個整數值
return 1;
else
return 0;
}
我也是拷貝別人的 我用過了這個程序可行
E. c語言是計算機的什麼語言是高級還是低級
c語言是計算機的高級語言。
高級語言相對於機器語言(machine language,是一種指令集的體系。這種指令集,稱機器碼(machine code),是電腦的CPU可直接解讀的數據)而言。
是高度封裝了的編程語言,與低級語言相對。它是以人類的日常語言為基礎的一種編程語言,使用一般人易於接受的文字來表示(例如漢字、不規則英文或其他外語),從而使程序編寫員編寫更容易,亦有較高的可讀性,以方便對電腦認知較淺的人亦可以大概明白其內容。
(5)c語言系統的定義擴展閱讀:
高級語言的好處:
1、高級語言接近演算法語言,易學、易掌握,一般工程技術人員只要幾周時間的培訓就可以勝任程序員的工作;
2、高級語言為程序員提供了結構化程序設計的環境和工具,使得設計出來的程序可讀性好,可維護性強,可靠性高;
3、高級語言遠離機器語言,與具體的計算機硬體關系不大,因而所寫出來的程序可移植性好,重用率高.
C語言的特點:
1、C語言是一門面向過程的計算機編程語言,與C++、Java等面向對象編程語言有所不同。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、僅產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
2、C語言描述問題比匯編語言迅速,工作量小、可讀性好,易於調試、修改和移植,而代碼質量與匯編語言相當。C語言一般只比匯編語言代碼生成的目標程序效率低10%~20%。因此,C語言可以編寫系統軟體。