求:标准C语言程序设计(中文版)电子书
【原 书 名】 A First Book of ANSI C, Fourth Edition
【原出版社】 Thomson
【作 者】(美)Gary J.Bronson [同作者作品]
【译 者】 单先余[同译者作品] 陈芳 张蓉 等
【丛 书 名】 国外计算机科学教材系列
【出 版 社】 电子工业出版社 【书 号】 7121026597
【出版日期】 2006 年9月 【开 本】 16开 【页 码】 586 【版 次】4-1
【定价】49.0
我在网上搜了一下,没有电子版的。
建议你学校图书馆借,这样的书图书馆一般有,英文中文都有。
这些C语言版本不仅实现了ANSI C标准,而且在此基础上各自作了一些扩充,使之更加方便、完美。
回答者: - 10-13 14:34
C语言是一种通用的程序设计语言,由于其功能非常强大,因此可以用来完成一些非常复杂的工作.很多操作系统都是用C语言编写的,例如:UNIX,MS-DOS,
Microsoft Windows,Linux 等.C语言具有高效,灵活,功能丰富,表达力强和移植性好等特点.
回答者: - 10-13 15:40
C语言的发展史和演变史就不多说了!
首先C语言是属于高级语言(在这之前有机器语言,汇编语言)
其次C语言的特点是面向结构
再次它执行的特点是指至顶向下逐行
执行!
#include<iostream>
using namespace std
int main()
{
double a[100]
double max=0,min=100,t
int i
for(i=0i<100i++)
{
cin>>a[i]
if(a[i]<0)
break
else
{
if(a[i]>max)
max=a[i]
if(a[i]<min)
min=a[i]
}
}
cout<<"最大值是:"<<max<<endl
cout<<"最小值是:"<<min<<endl
return 0
}
扩展资料:include用法:
#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。
插入头文件的内容
#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:
1、#include<文件名>
2、#include"文件名"
如果需要包含标准库头文件或者实现版本所提供的头文件,应该使用第一种格式。如下例所示:
#include&ltmath.h&gt//一些数学函数的原型,以及相关的类型和宏
如果需要包含针对程序所开发的源文件,则应该使用第二种格式。
采用#include命令所插入的文件,通常文件扩展名是.h,文件包括函数原型、宏定义和类型定义。只要使用#include命令,这些定义就可被任何源文件使用。
一、指代不同
1、C程序设计谭浩强版本的第四版:是2010年清华大学出版社出版的图书,作者是谭浩强。
2、C程序设计谭浩强版本的第三版:被普遍认为是学习C语言的好教材,并被全国大多数高校选用。
二、特点不同
1、C程序设计谭浩强版本的第四版:内容先进,体系合理,概念清晰,讲解详尽,降低台阶,分散难点,例题丰富,深入浅出,文字流畅,通俗易懂,是初学者学习C程序设计的理想教材,可作为高等学校各专业的正式教材。
2、C程序设计谭浩强版本的第三版:累计发行了700多万册,创同类书的全国最高记录,是学习C语言的主流用书。
三、影响不同
1、C程序设计谭浩强版本的第四版:该书被大多数高校用作C语言学习的教材,更正了第三版中的不足。
2、C程序设计谭浩强版本的第三版:曾荣获原电子工业部优秀教材一等奖、高校出版社优秀畅销书特等奖、全国高等院校计算机基础教育研究会优秀教材一等奖。
参考资料来源:百度百科-C程序设计(第三版)
参考资料来源:百度百科-C程序设计(第四版)
<fstream>
#include
<string.h>
#include
<iostream>
#include
<conio.h>//用getch()
using
namespace
std
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌Student类﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
class
Student
{
public:
char
name[20]
char
Class[20]
char
Id[20]
int
Cnum
//C课程得分
int
Mnum
//数学课程得分
int
Enum
//英语课程得分
int
Gnum
//体育
int
sum
//总分
int
ave
//平均分
Student
*
Next
void
Input()
{
cout<<"\t\t请输入学生的姓名:"
cin>>name
cout<<"\t\t请输入学生的班级:"
cin>>Class
cout<<"\t\t请输入学生的学号:"
cin>>Id
cout<<"\t\t请输入C++的成绩:"
cin>>Cnum
cout<<"\t\t请输入数学课程的成绩:"
cin>>Mnum
cout<<"\t\t请输入英语课程的成绩:"
cin>>Enum
cout<<"\t\t请输入日语的成绩:"
cin>>Gnum
sum=Cnum+Mnum+Enum+Gnum
ave=(Cnum+Mnum+Enum+Gnum)/4
}
void
ReadFile(istream
&
in)
{
in>>name>>Class>>Id>>Cnum>>Mnum>>Enum>>Gnum>>ave>>sum
}
void
Show()
{
cout<<"姓名:"<<name<<endl<<"班级:"<<Class<<endl<<"学号:"<<Id<<endl<<"C++:"<<Cnum<<endl
<<"数学:"<<Mnum<<endl<<"外语:"<<Enum<<endl<<"日语:"<<Gnum<<endl<<"平均成绩:"<<ave<<endl<<"总成绩:"<<sum<<endl<<endl<<endl
}
}
//﹌﹌﹌﹌﹌﹌﹌﹌﹌Studentmassage类﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
class
Studentmassage
{
public:
Studentmassage()
~Studentmassage()
void
ShowMenu()
void
Find()
void
Save()
void
ModifyItem()
void
RemoveItem()
void
Swap(Student
*,Student
*)
void
Sort()
int
ListCount()
void
Display()
{
for(Student
*
p=Head->Nextp!=Endp=p->Next)
p->Show()
cout<<"输入任意字符!继续……"
getch()
}
void
AddItem()
{
End->Input()
End->Next=new
Student
End=End->Next
cout<<"添加成功!"<<endl
cout<<"输入任意字符!继续……"
getch()
}
private:
Student
*
Head,*
End
ifstream
in
ofstream
out
Student
*FindItem(char
*
name)
{
for(Student
*
p=Headp->Next!=Endp=p->Next)
if(!strcmp(p->Next->name,name))return
p
return
NULL
}
Student
*FindID(char
*
Id)
{
for(Student
*
p=Headp->Next!=Endp=p->Next)
if(!strcmp(p->Next->Id,Id))return
p
return
NULL
}
Student
*FindCLASS(char
*
Class)
{
for(Student
*
p=Headp->Next!=Endp=p->Next)
if(!strcmp(p->Next->Class,Class))return
p
return
NULL
}
}Grade
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌构造函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
Studentmassage::Studentmassage()
{
Head=new
Student
Head->Next=new
Student
End=Head->Next
in.open("sort.txt")
if(!in)
cout<<"这是一个新系统,无学生信息。请先输入。"<<endl
else
{
while(!in.eof())
{
End->ReadFile(in)
if(End->name[0]=='\0')break
End->Next=new
Student
End=End->Next
}
in.close()
cout<<"\t\t读取学生信息成功!"<<endl
}
}
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌析构函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
Studentmassage::~Studentmassage()
{
Save()
for(Student
*
tempHead->Next!=End)
{
temp=Head->Next
Head->Next=Head->Next->Next
delete
temp
}
delete
Head,End
}
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌菜单﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
void
Studentmassage::ShowMenu()
{
cout<<"〓〓〓〓〓〓〓〓〓〓
☆
学
生
成
绩
管
理
系
统
☆
〓〓〓〓〓〓〓〓〓〓"<<endl
cout<<"〓〓〓〓〓〓〓★★★★★
★★★★★★★
★★★★★〓〓〓〓〓〓〓"<<endl
cout<<"〓〓〓〓〓〓〓〓〓★
☆
1.增加学生成绩
☆
★〓〓〓〓〓〓〓〓〓"<<endl
cout<<"〓〓〓〓〓〓〓〓〓★
☆
2.显示学生成绩
☆
★〓〓〓〓〓〓〓〓〓"<<endl
cout<<"〓〓〓〓〓〓〓〓〓★
☆
3.排序统计成绩
☆
★〓〓〓〓〓〓〓〓〓"<<endl
cout<<"〓〓〓〓〓〓〓〓〓★
☆
4.查找学生成绩
☆
★〓〓〓〓〓〓〓〓〓"<<endl
cout<<"〓〓〓〓〓〓〓〓〓★
☆
5.删除学生成绩
☆
★〓〓〓〓〓〓〓〓〓"<<endl
cout<<"〓〓〓〓〓〓〓〓〓★
☆
6.修改学生信息
☆
★〓〓〓〓〓〓〓〓〓"<<endl
cout<<"〓〓〓〓〓〓〓〓〓★
☆
0.安全退出系统
☆
★〓〓〓〓〓〓〓〓〓"<<endl
cout<<"\n\t\t\n\t\t请选择:"
}
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌查找函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
void
Studentmassage::Find()
{
char
name[20]
,Id[10],Class[20]
int
x
Student
*
p=NULL
cout<<"\n\t\t*********************************\n"
cout<<"\t\t※
1.按学生的姓名查找\n\t\t※
2.按学生学号查找\n\t\t※
3.按学生班级查找"
cout<<"\n\t\t*********************************\n请选择:"
cin>>x
switch(x)
{
case
1:{cout<<"\t\t请输入要查找的学生的姓名:"cin>>name
if(p=FindItem(name))
{
p->Next->Show()
cout<<"输入任意字符!继续……"
getch()
}
else
{
cout<<"\t\t没有找到该姓名的学生!"<<'\n'<<endl
cout<<"输入任意字符!继续……"
getch()
}
}break
case
2:
{
cout<<"\t\t请输入要查找的学生的学号:"cin>>Id
if(p=FindID(Id))
{
p->Next->Show()
cout<<"输入任意字符!继续……"
getch()
}
else
{
cout<<"\t\t没有找到该学号的学生!"<<'\n'<<endl
cout<<"输入任意字符!继续……"
getch()
}
}break
case
3:{cout<<"\t\t请输入要查找的学生的班级:"cin>>Class
if(p=FindCLASS(Class))
{
p->Next->Show()
cout<<"输入任意字符!继续……"
getch()
}
else
{
cout<<"\t\t没有找到该班级的学生!"<<'\n'<<endl
cout<<"输入任意字符!继续……"
getch()
}
}break
}
}
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌修改信息﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
void
Studentmassage::ModifyItem()
//修改信息
{
char
ID[20]
Student
*
p=NULL
cout<<"\t\t请输入要修改的人的学号:"cin>>ID
if(p=FindID(ID))
{
cout<<"\t\t已找到学生的信息,请输入新的信息!"<<endl
p->Next->Input()
cout<<"修改成功!"<<endl
cout<<"输入任意字符!继续……"
getch()
}
else
{
cout<<"\t\t没有找到!"<<endl
cout<<"输入任意字符!继续……"
getch()
}
}
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌删除信息﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
void
Studentmassage::RemoveItem()
//
删除信息
{
char
ID[20]
Student
*
p=NULL,*temp=NULL
cout<<"\t\t请输入要删除的学生的学号:"cin>>ID
if(p=FindID(ID))
{
temp=p->Next
p->Next=p->Next->Next
delete
temp
cout<<"\t\t删除成功!"<<endl
cout<<"输入任意字符!继续……"
getch()
}
else
{
cout<<"\t\t没有找到!"<<endl
cout<<"输入任意字符!继续……"
getch()
}
}
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
void
Studentmassage::Swap(Student
*p1,
Student
*p2)
{
Student
*temp=new
Student
strcpy(temp->name,p1->name)
strcpy(temp->Id,p1->Id)
temp->Cnum=p1->Cnum
temp->Mnum=p1->Mnum
temp->Enum=p1->Enum
temp->sum=p1->sum
strcpy(p1->name,p2->name)
strcpy(p1->Id,p2->Id)
p1->Cnum=p2->Cnum
p1->Mnum=p2->Mnum
p1->Enum=p2->Enum
p1->sum=p2->sum
strcpy(p2->name,temp->name)
strcpy(p2->Id,temp->Id)
p2->Cnum=temp->Cnum
p2->Mnum=temp->Mnum
p2->Enum=temp->Enum
p2->sum=temp->sum
}
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
int
Studentmassage::ListCount()//统计当前的记录总数
{
if(!
Head)
return
0
int
n=0
for(Student
*
p=Head->Nextp!=Endp=p->Next)
{
n++
}
return
n
}
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
void
Studentmassage::Sort()//对当前学生进行排序
{
cout
<<"Sorting..."<<endl
Student
*p=NULL,*p1=NULL,*k=NULL
int
n=Studentmassage::ListCount()
if(n<2)
return
for(p=Head->Nextp!=Endp=p->Next)
for(k=p->Nextk!=Endk=k->Next)
{
if(p->sum>k->sum)
{
Studentmassage::Swap(p,k)
}
}
cout
<<"排序完成!"<<endl
getch()
return
}
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌保存函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
void
Studentmassage::Save()
{
out.open("sort.txt")
for(Student
*p=Head->Nextp!=Endp=p->Next)
out<<p->name<<"\t"<<p->Class<<"\t"<<p->Id<<"\t"
<<p->Cnum<<"\t"<<p->Mnum<<"\t"<<p->Enum<<"\t"<<p->Gnum<<"\t"<<p->ave<<"\t"<<p->sum<<'\n'
out.close()
}
void
code()
//密码
{
char
s1[20]="123",s2[20]
cout<<"请输入密码:"
while(cin>>s2)
{
if(!strcmp(s1,s2))
{
Grade.ModifyItem()break
}
else
cout<<"你输入的密码不正确,请重新输入:"
}
}
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌主函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
int
main()
{
int
x,i=0
bool
quit=false
cout<<"\t\t§§§§§§§§§§§§§§§§§§§§§§§§§§"<<endl
for(i=0i<3i++)
cout<<"\t\t◎\t\t\t\t\t\t
◎"<<endl
cout<<"\t\t◎★★★★【
欢迎进入学生成绩管理系统
】★★★★◎"<<endl
for(i=0i<3i++)
cout<<"\t\t◎\t\t\t\t\t\t
◎"<<endl
cout<<"\t\t§§§§§§§§§§§§§§§§§§§§§§§§§§\n"<<endl
cout<<"请按任意键开始……"
getch()
while(!quit)
{
system("cls")
Grade.ShowMenu()
cin>>x
switch(x)
{
case
0:cout<<"★★★★感谢您的使用★★★★"<<endlquit=truebreak
case
1:Grade.AddItem()break
case
2:Grade.Display()break
case
3:Grade.Sort()break
case
4:Grade.Find()break
case
5:Grade.RemoveItem()break
case
6:code()break
}
}
return
0
}
我稍微改了下,应该可以用~
额~~你们一定要C编吗~C++不可以嘛?
《C语言程序设计现代方法第二版》百度网盘pdf最新全集下载:
链接:https://pan.baidu.com/s/1ZxPIF7PSVBGWtDl8h_kjNA
?pwd=hcut 提取码:hcut简介:时至今日,C语言仍然是计算机领域的通用语言之一,但今天的C语言已经和初的时候大不相同了。本书主要的一个目的就是通过一种“现代方法”来介绍C语言,书中强调标准C,强调软件工程,不再强调“手工优化”。这一版中紧密结合了C99标准,并与C89标准进行对照,补充了C99中的全新特性。本书分为C语言的基础特性、C语言的高级特性、C语言标准库和参考资料4个部分。每章末尾都有一个“问与答”小节给出一系列与该章内容相关的问题及答案,此外还包含适量的习题。
《C语言程序设计:现代方法(第2版)》是为大学本科阶段的C语言课程编写的教材,同时也非常适合作为其他课程的辅助用书。