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语言可以编写系统软件。