k&r的c程序设计语言才是经典吧,怎么有人说成c语言程序设计还有其他书

k&r的c程序设计语言才是经典吧,怎么有人说成c语言程序设计还有其他书,第1张

所有初学者面临的第一个问题便是:如何选择教材。好的开始是成功的一半,选择一本优秀的教材是事半功倍的关键因素。不幸的是,学校通常会帮你指定一本很差劲的C语言课本;而幸运的是,你还可以再次选择。大名鼎鼎的谭浩强教授出了一本《C语言程序设计》,据说发行量有超过400万,据我所知,很多学校都会推荐这本书作为C语言课本。虽然本人的名字(谭浩宇)跟教授仅仅一字之差,但我是无比坚定地黑他这本书的。这本书不是写给计算机专业的学生的,而是给那些需要考计算机等级考试的其它专业学生看的。这本书的主要缺点是:例子程序非常不专业,不能教给你程序设计应该掌握的思考方式;程序风格相当地不好,会让你养成乱写代码的恶习;错误太多,曾经有人指出过这本书的上百个错误,其中不乏关键的概念性错误。好了,这本书我也不想说太多了,有兴趣大家可以百度一下:)Kernighan和Ritchie的《TheCProgrammingLanguage》(中译名《C程序设计语言》)堪称经典中的经典,不过旧版的很多内容都已过时,和现在的标准C语言相去甚远,大家一定要看最新的版本,否则不如不看。另外,即使是最经典最权威的书,也没有法面面俱到,所以手边常备一本《C语言参考手册》是十分必要的。《C语言参考手册》就是《CReferenceManual》,是C语言标准的详细描述,包括绝大多数C标准库函数的细节,算得上是最好的标准C语言的工具书。顺便提一句,最新的《C程序设计语言》是根据C89标准修订的,而《C语言参考手册》描述的是C99标准,二者可能会有些出入,建议按照C99标准学习。还有一本《C和指针》,写得也是相当地不错,英文名是《PointersonC》,特别地强调指针的重要性,算是本书的一个特点吧。不过这本书并不十分适合初学者,如果你曾经学过C语言,有那么一些C语言的基础但又不是很扎实,那么你可以尝试一下这本书。我相信,只要你理解了指针,C语言便不再神秘。如果你已经啃完了一本C语言教材,想要更进一步,那么有两本书你一定要看。首先是《CTrapsandPitfalls》(中译名《C陷井与缺陷》),很薄的一本小册子,内容非常非常地有趣。要注意一点,这本书是二十多年前写成的,里面提到的很多C语言的缺陷都已被改进,不过能够了解一些历史也不是什么坏事。然后你可以挑战一下《ExpertCProgramming》(中译名《C专家编程》),书如其名,这本书颇具难度,一旦你仔细读完并能透彻理解,你便可以放心大胆地在简历上写“精通C语言”了。切记一个原则,不要读自己目前还看不懂的书,那是浪费生命。如果你看不懂,那你一定是缺失了某些必需基础知识。此时,你要仔细分析自己需要补充哪些内容,然后再去书店寻找讲述的这些内容的书籍。把基础知识补充完毕再回头来学习,才会真正的事半功倍。初学者可以看看这文章写的不错。下面是链接。

#include "graphicsh"

#define SIZE 100

#include <conioh>

#include<stdioh>

int N;

struct student

{

int No ;

int age;

char name[10];

char sex;

int computerscore;

int Englishscore;

int Mathscore;

int Sum[10];

int aver[10];

char Dengji[10];

}stud[SIZE];

FILEfp;

int i;

int j;

int m;

int n;

int o;

void input()

{

i=1;

printf("please input student data\n");

while(i<=N)

{

printf("No :");

scanf("%d",&stud[i]No );

printf("name:");

scanf("%s",stud[i]name);

printf("age");

scanf("%d",&stud[i]age);

printf("sex");

getchar();

scanf("%c",&stud[i]sex);

printf("computerscore:");

scanf("%d",&stud[i]computerscore);

printf("Englishscore:");

scanf("%d",&stud[i]Englishscore);

printf("Mathscore:");

scanf("%d",&stud[i]Mathscore);

i++;

}

}

chuli(struct student stud[])

{

int k,m;

struct student t;

int Sum[SIZE],aver[SIZE];

for(i=1;i<=N;i++)

Sum[i]=stud[i]computerscore+stud[i]Englishscore+stud[i]Mathscore;

for(i=1;i<=N;i++)

aver[i]=Sum[i]/3;

for(i=1;i<=N;i++)

{

k=i;

{

for(j=i+1;j<=N;j++)

if(Sum[i]<Sum[j])

k=j;

if(k!=i)

{

t=stud[i];stud[i]=stud[k];stud[k]=t;

m=Sum[i];Sum[i]=Sum[k];Sum[k]=m;

n=aver[i];aver[i]=aver[k];aver[k]=n;

}

}

}

for(i=1;i<=N;i++)

{

if(aver[i]>=90)

{printf("%d\t%s\t%d\t%c\t%d\t%d\t%d\t%d\t%d\tA\n",stud[i]No ,stud[i]name,stud[i]age,stud[i]sex,stud[i]computerscore,stud[i]Englishscore,stud[i]Mathscore,Sum[i],aver[i]);

printf("\t\t\t\t\twelldone!please go on!\n");

}

else if(aver[i]>=80)

printf("%d\t%s\t%d\t%c\t%d\t%d\t%d\t%d\t%d\tB\n",stud[i]No ,stud[i]name,stud[i]age,stud[i]sex,stud[i]computerscore,stud[i]Englishscore,stud[i]Mathscore,Sum[i],aver[i]);

else if(aver[i]>=70)

printf("%d\t%s\t%d\t%c\t%d\t%d\t%d\t%d\t%d\tC\n",stud[i]No ,stud[i]name,stud[i]age,stud[i]sex,stud[i]computerscore,stud[i]Englishscore,stud[i]Mathscore,Sum[i],aver[i]);

else if(aver[i]>=60)

printf("%d\t%s\t%d\t%c\t%d\t%d\t%d\t%d\t%d\tD\n",stud[i]No ,stud[i]name,stud[i]age,stud[i]sex,stud[i]computerscore,stud[i]Englishscore,stud[i]Mathscore,Sum[i],aver[i]);

else

{

printf("%d\t%s\t%d\t%c\t%d\t%d\t%d\t%d\t%d\tE\n",stud[i]No ,stud[i]name,stud[i]age,stud[i]sex,stud[i]computerscore,stud[i]Englishscore,stud[i]Mathscore,Sum[i],aver[i]);

printf("\t\t\t\t\tYou should work hard!\n");

}

}

}

Maxcomputerscore(struct student stud[])

{

int i=0,Max;

Max=stud[i]computerscore;

m=stud[i]No ;

for(i=1;i<N;i++)

if(Max<stud[i]computerscore)

{

Max=stud[i]computerscore;

m=stud[i]No ;

}

printf("Maxcomputerscore:");

printf("Max=%d,m=%d\n",Max,m);

}

Maxenglishscore(struct student stud[])

{

int i,Max;

i=0;

Max=stud[i]Englishscore;

m=stud[i]No ;

for(i=1;i<N;i++)

if(Max<stud[i]Englishscore)

{

Max=stud[i]Englishscore;

m=stud[i]No ;

}

printf("Max Englishscore:");

printf("Max=%d,m=%d\n",Max,m);

}

MaxMathscore(struct student stud[])

{

int i=0;

int m;

int Max;

Max=stud[i]Mathscore;

m=stud[i]No ;

for(i=1;i<N;i++)

if(Max<stud[i] Mathscore)

{

Max=stud[i]Mathscore;

m=stud[i]No ;

}

printf("MaxMathscore:");

printf("Max=%d,m=%d\n",Max,m);

}

main()

{

char ch;

int i,k,driver=DETECT,mode;

initgraph(&driver,&mode,"c:\\tc");

system("cls");

printf("\t\t\n");

setbkcolor(BLUE);cleardevice();

setfillstyle(1,2);

setcolor(YELLOW);

rectangle(100,100,540,380);

floodfill(50,50,14);

setcolor(12);

settextstyle(1,0,8);

outtextxy(130,150,"welcome!");

printf("\t\t\t\t\t\n");

printf("\t\t please input the number of students!\t\t\t\t");

scanf("%d",&N);

system("cls");

printf("\t\t---------------------------------------\n");

printf("\t\tT:input the student data \n");

printf("\t\t\C:have a look at the data \n");

printf("\t\tL:get every subject the highest score \n");

printf("\t\tJ:stored information \n");

printf("\t\tX:quit the program \n");

printf("\t\t---------------------------------------\n");

printf("please input your choise:");

while((ch=getchar())!='w')

{

switch(ch)

{

case'T':input();

break;

case'C':

chuli(stud);

break;

case'L':

Maxcomputerscore(stud);

Maxenglishscore(stud);

MaxMathscore(stud);

break;

case'X':exit(o);

case'J':

fp=fopen("studenttxt","w+");/创建一个sutdentxt文本文件/

if(!fp)

{

printf("cannot open the file");

return;

}/在文件头写入包含的学生信息/

for(i=0;i<N;i++)

fprintf(fp,"%d\t%s\t%d\t%c\t%d\t%d\t%d\t%d\t%d\t\n",stud[i]No ,stud[i]name,stud[i]age,stud[i]sex,stud[i]computerscore,stud[i]Englishscore,stud[i]Mathscore);

fclose(fp);/写完后关闭文件/

break;

default: printf("\nplease input the right word:\nTCLJX\n");

}

printf("\n--------------over------------------------------\n");

}

}

以上就是关于k&r的c程序设计语言才是经典吧,怎么有人说成c语言程序设计还有其他书全部的内容,包括:k&r的c程序设计语言才是经典吧,怎么有人说成c语言程序设计还有其他书、c语言程序程序设计、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9431234.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存