《C和指针》和<C primer plus>我应该选哪本

《C和指针》和<C primer plus>我应该选哪本,第1张

都应该阅读。重点推荐C语言四大圣经:《C语言程序设计》、《C和指针》、《C陷阱与缺陷》、《C作家编程》。其中C语言的发明者K&R的《C程序设计语言》更是重中之重,此书是C语言的第一秘典。所有优秀程序员的必经之路。

四大圣经及其他优秀书籍的信息:

1《C语言程序设计》

K&R

清华大学出版社

2《C和指针》

POINTERS ON C Kenneth AReek、

徐波 人民邮电出版社

3《C陷阱与缺陷》

Andrew Koenig、 高巍

人民邮电出版社

4《C专家编程》

Expert C Programming Deep C Secrets Peter Van

Der Linden 人民邮电出版社 (2008-02出版)

5《清华大学计算机系列教材•数据结构(C语言版)(附光盘1张)》

吴伟民、 严蔚敏

清华大学出版社

6《计算机算法设计与分析(第3版)》

王晓东

电子工业出版社

7《算法艺术与信息学竞赛•算法竞赛入门经典》

刘汝佳

清华大学出版社

8《算法导论(原书第2版)》

科曼(Cormen TH)、等、 潘金贵

机械工业出版社 (2006-09出版)

9《编程之美:微软技术面试心得 》

《编程之美》小组

电子工业出版社

10《编程珠玑(第2版)》

Jon Bentley、黄倩、 钱丽艳

人民邮电出版社

11《算法艺术与信息学竞赛》

刘汝佳

清华大学出版社

12《程序员面试宝典(第3版)》

欧立奇、刘洋、 段韬

电子工业出版社

13《数学之美》

(《浪潮之巅》作者吴军最新力作,李开复作序推荐,Google黑板报百万点击)

1看《ThinkingInC》;

2看《TheCProgrammingLanguage》和《InsideTheCObjectModel》,不要因为他们很难而我们自己是初学者所以就不看;

3请阅读《TheStandardCBible》(中文版:标准C宝典),掌握C标准;

4请看《EffectiveC》和《MoreEffectiveC》以及《ExceptionalC》;

5请看《程序设计实践》,并严格的按照其要求去做;

6读完了《InsideTheCObjectModel》以后再来认定自己是不是已经学会了C;

7请留意下列书籍:《C面向对象高效编程(CEffectiveObject-OrientedSoftware)》《面向对象软件构造(Object-OrientedSoftware)》《设计模式(DesignPatterns)》《TheArtofComputerProgramming》;

8建议你买本书,书比网上的电子版教程好的多,如计算机届超级权威教授谭浩强老先生写的《C语言程序设计(第三版)》,全国发行了700万册,可以说是学C语言的人必看的书,我们大学就用这本书,很适合自学,通俗易懂。

因为我本科专业不是计算机,只是对计算机很有兴趣,想跨专业考计算机系的研究生,这是决定跨考之后看的

第一本计算机专业书。看完之后收获颇大。

以前写程序基本上没有数据结构的概念,记得当初学C语言的时候,觉得链表好难理解,心想怎么会有这么复

杂的东西。再加上写的程序都比较水,上不得台面,所以对数据结构方面的知识水得跟渣一样。第一个比较像

样的程序是大二下做的学生管理系统,那是当时的C语言课程设计题目,当初觉得这玩意好复杂啊,为此还又

把谭浩强的《C语言程序设计》看了一遍,把C语言基础巩固了一下,记得写这个程序的时候数据结构用的还是

数组,没有用链表,因为老师不要求用链表,我也觉得链表太复杂,还是数组简单。就这样,我用最原始的C语

言基础知识码了3天把这个小程序码完,而同学都是抄学长的,或者搞不定的,当时那个成就感啊,觉得自己的

C语言水平已经到家了,感觉自己编程水平很牛了,各种飘飘然现在想想当初真是好像,其实这东西没一点

技术含量,没有高级点的数据结构 (用的是数组),没有好的算法(当时排序用的还是选择排序),代码风格

也比较挫。

我想着要根据你的目的和学习计划来安排。如果你是自己想学来玩一下,我建议你可以从“黑客”学起,网上有很多关于黑客的教程,你可以用迅雷找。理由是他们很注重实践,即入门快。

如果你想学来找工作,那么就要从头学起。一般可以从C语言学起。c语言的教材可以参考《C语言程序设计——现代方法》这本书,人民邮电出版社。

另外有一本书要看看的:《代码大全》。这本书的名气很大,不用我多说。我就是从这本书开始学习编程的。

我这是源代码已经调试过了,在VC++上运行成功了。

#include "stdioh" /I/O函数/

#include "stdlibh" /其它说明/

#include "stringh" /字符串函数/

#include "conioh" /屏幕 *** 作函数/

#include "memh" /内存 *** 作函数/

#include "ctypeh" /字符 *** 作函数/

#include "alloch" /动态地址分配函数/

struct score

{

int mingci;

char xuehao[8];

char mingzi[20];

float score[6];

}data,info[1000];

int i,j,k=0;

char temp[20],ch;

FILE fp,fp1;

void shuru()

{

if((fp=fopen("s_scoretxt","ab+"))==NULL)

{

printf("cannot open this file\n");

getch();exit(0);

}

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

{

printf("\nPlease shuru xuehao:");

gets(dataxuehao);

printf("Please shuru mingzi:");

gets(datamingzi);

printf("Please shuru yuwen score:");

gets(temp);datascore[0]=atof(temp);

printf("Please shuru shuxue score:");

gets(temp);datascore[1]=atof(temp);

printf("Please input yingyu score:");

gets(temp);datascore[2]=atof(temp);

printf("Please shuru wuli score:");

gets(temp);datascore[3]=atof(temp);

printf("Please shur huaxue score:");

gets(temp);datascore[4]=atof(temp);

datascore[5]=datascore[0]+datascore[1]+datascore[2]+datascore[3]+datascore[4];

fwrite(&data,sizeof(data),1,fp);

printf("anothery/n");

ch=getch();

if(ch=='n'||ch=='N')

break;

} fclose(fp);

}

void xianshi()

{

float s;int n;

if((fp=fopen("s_scoretxt","rb+"))==NULL)

{

printf("Cannot reading this file\n");

exit(0);

}

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

{

if((fread(&info[i],sizeof(info[i]),1,fp))!=1)

break;

}

printf("\nxuehao mingzi yuwen shuxue yingyu wuli huauxue zhongfen\n");

for(j=0,k=1;j<i;j++,k++)

{

info[j]mingci=k;

printf("%6s %8s %31f %31f %31f %31f %31f %31f\n",info[j]xuehao,info[j]mingzi,info[j]score[0],info[j]score[1],info[j]score[2],info[j]score[3],info[j]score[4],

info[j]score[5]);

}

getch();

fclose(fp);

}

void xiugai()

{

if((fp=fopen("s_scoretxt","rb+"))==NULL||(fp1=fopen("temptxt","wb+"))==NULL)

{

printf("Cannot open this file\n");

exit(0);

}

printf("\nPLease shuru xiugai xuehao:");

scanf("%d",&i); getchar();

while((fread(&data,sizeof(data),1,fp))==1)

{

j=atoi(dataxuehao);

if(j==i)

{

printf("xuehao:%s\nmingzi:%s\n",dataxuehao,datamingzi);

printf("Please shuru mingzi:");

gets(datamingzi);

printf("Please shuru yuwen score:");

gets(temp);datascore[0]=atof(temp);

printf("Please shuru shuxue score:");

gets(temp);datascore[1]=atof(temp);

printf("Please input yingyu score:");

gets(temp);datascore[2]=atof(temp);

printf("Please input wuli score:");

gets(temp);datascore[3]=atof(temp);

printf("Please input huaxue score:");

gets(temp);datascore[4]=atof(temp);

datascore[5]=datascore[0]+datascore[1]+datascore[2]+datascore[3]+datascore[4];

} fwrite(&data,sizeof(data),1,fp1);

}

fseek(fp,0L,0);

fseek(fp1,0L,0);

while((fread(&data,sizeof(data),1,fp1))==1)

{

fwrite(&data,sizeof(data),1,fp);

}

fclose(fp);

fclose(fp1);

}

void chazhao()

{

if((fp=fopen("s_scoretxt","rb"))==NULL)

{

printf("\nCannot open this file\n");

exit(0);

}

printf("\nPLease shuru xuehao chakan:");

scanf("%d",&i);

while(fread(&data,sizeof(data),1,fp)==1)

{

j=atoi(dataxuehao);

if(i==j)

{

printf("xuehao:%s mingzi:%s\nyuwen:%f\n shuxue:%f\n yingyu:%f\n wuli:%f\n huaxue:%f\n ",dataxuehao,datamingzi,datascore[0],datascore[1],datascore[2],datascore[3],datascore[4],datascore[5]);

}getch();

}

}

void shanchu()

{

if((fp=fopen("s_scoretxt","rb+"))==NULL||(fp1=fopen("temptxt","wb+"))==NULL)

{

printf("\nopen scoretxt was failed!");

getch();

exit(0);

}

printf("\nPlease input ID which you want to del:");

scanf("%d",&i);getchar();

while((fread(&data,sizeof(data),1,fp))==1)

{

j=atoi(dataxuehao);

if(j==i)

{

printf("Anykey will delet it\n");

getch();

continue;

}

fwrite(&data,sizeof(data),1,fp1);

}

fclose(fp);

fclose(fp1);

remove("s_scoretxt");

rename("temptxt","s_scoretxt");

printf("Data delet was succesful!\n");

printf("Anykey will return to main");

getch();

}

main()

{

while(1)

{

clrscr(); /清屏幕/

gotoxy(1,1); /移动光标/

textcolor(YELLOW); /设置文本显示颜色为**/

textbackground(BLUE); /设置背景颜色为蓝色/

window(1,1,99,99); / 制作显示菜单的窗口,大小根据菜单条数设计/

clrscr();

printf("welcome to use student manage\n");

printf("menu\n");

printf(" ========================================================= \n");

printf(" 1>shuru 2>xiugai \n");

printf(" 3>shanchu 4>chazhao \n");

printf(" 5>xianshi 6>exit \n");

printf(" \n");

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

printf(" Please input which you want(1-6):");

ch=getch();

switch(ch)

{

case '1':shuru();break;

case '2':xiugai(); break;

case '3':shanchu(); break;

case '4':chazhao(); break;

case '5':xianshi(); break;

case '6':exit(0);

default: continue;

}

}

首先,你需要学会c语言的基础语法,那么你就可以写一些简单的程序了。想要进阶就要进一步深入学习算法等。其次,学习编程语言必须要有兴趣,兴趣不够很容易半途而废。

格式的话,养成良好的缩进习惯有助于别人和自己更容易看懂代码。

推荐一本书<<c primer plus>>写的很不错。

你还需要安装ide,推荐安装vs2012。

C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

以上就是关于《C和指针》和<C primer plus>我应该选哪本全部的内容,包括:《C和指针》和<C primer plus>我应该选哪本、学习C语言必看的书籍、数据结构严蔚敏版,里面的算法怎么感觉那么别扭,和C语言的语法结构不一样啊等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/zz/9310677.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存