1. 《C语言程序设计现代方法》 电子文本 或者称 非扫描版
首先不了解汇编语言就等于没学编程语言。得了解汇编语言,推荐王爽《汇编语言》前两章;如果想更进一步了解计算机,推荐《穿越计算机的迷雾》下本电子书,两天看完就行。这是历史性的东西。然后买本或者复印本国外的着名教材,比如《C语言程序设计现代方法》,看书的时候多写程序,思考怎么用计算机编程解决一些问题,然后具体去写一些程序。写程序的时候要思维活跃一些,不是说书上不让做的就一定不去做,越是书上不让做的,越要试一试,有着自由的精神。然后呢,如果你不满足于现状,可以去了解一些面向对象的知识,算法的知识,还有数理逻辑的一些玩意。国内C语言,做题仅仅是为了复习基本的语法知识,做一点就行,重要的是得多思考问题。
2. 《C程序设计语言第2版·新版》pdf下载在线阅读全文,求百度网盘云资源
《C程序设计语言(第2版·新版)》([美] Brian W. Kernighan)电子书网盘下载免费在线阅读
链接:
书名:C程序设计语言(第2版·新版)
作者:[美] Brian W. Kernighan
译者:徐宝文
豆瓣评分:9.4
出版社:机械工业出版社
出版年份:2004-1
页数:258
内容简介:
在计算机发展的历史上,没有哪一种程序设计语言像C语言这样应用广泛。本书作者是C语言的设计者之一Dennis M. Ritchie和着名计算机科学家Brian W. Kernighan合着的一本介绍C语言的权威经典着作。我们现在见到的大量论述C语言程序设计的教材和专着均以此书为蓝本。
原着第1版中介绍的C语言成为后来广泛使用的C语言版本——标准C的基础。人们熟知的“hello,World"程序就是由本书首次引入的,现在,这一程序已经成为众多程序设计语言入门的第一课。原着第2版根据1987年制定的ANSIC标准做了适当的修订.引入了最新的语言形式,并增加了新的示例,通过简洁的描述、典型的示例,作者全面、系统、准确地讲述了C语言的各个特性以及程序设计的基本方法。
对于计算机从业人员来说,本书是一本必读的程序设计语言方面的参考书。
作者简介:
Brian W. Kernighan,贝尔实验室计算科学研究中心高级研究人员,着名的计算机科学家。参加了UNIX系统、C语言、AWK语言和许多其他系统的开发,同时出版了许多在计算机领域具有影响的着作,如《The Elements of Programming Style》《The Practice of Programming》《The UNIX Programming Environment》《The AWK Language》《Software Tools》等。
Dennis M. Ritchie,1967年加入贝尔实验室。他和 Ken L. Thompson 两人共同设计并实现的C语言改变了程序设计语言发展的轨迹,是程序设计语言发展过程中的一个重要里程碑。与此同时,他们还设计并实现了UNIX操作系统。正是由于这两项巨大贡献,Dennis M. Ritchie 于1983年获得了计算机界的最高奖——图灵奖。此外,他还获得了ACM、IEEE、贝尔实验室等授予的多种奖项.。
3. 《C语言程序设计现代方法第二版》pdf下载在线阅读全文,求百度网盘云资源
《C语言程序设计现代方法第二版》网络网盘pdf最新全集下载:
链接:https://pan..com/s/1ZxPIF7PSVBGWtDl8h_kjNA
4. c语言程序设计现代方法第二版和修订版有啥区别电子版
修订版部分内容有所改动,强调标准C,强调软件工程,不再强调“手工优化”。
?
_敝两袢眨_语言仍然是计算机领域的通用语言之一,但今天的C语言已经和初的时候大不相同了。
_臼橹饕康木褪峭ü恢帧跋执椒ā崩唇樯_语言,书中强调标准C,强调软件工程,不再强调“手工优化”。
?
_?2版修订版中不仅有C99中的新特性,还与时俱地增加了C11和C18中的内容。本书分为C语言的基础特性、
_语言的高级特性、C语言标准库和参考资料4个部分。
?
_空履┪驳摹拔视氪稹辈糠指鲆幌盗杏敫谜履谌菹喙氐奈侍饧按鸢福送饣拱柿康南疤狻?
_臼槭_发人员的理想参考书,在国外也被众多大学作为C语言课程的教材。
?
_. N. King 世界知名的计算机程序设计教育家,现为佐治亚州立大学数学与计算机科学系副教授。他拥有耶鲁大
_Ъ扑慊蒲_妒垦_唬又荽笱Р死中<扑慊蒲Р┦垦_唬谓逃谧糁窝抢砉ぱг骸?
?
_臼橥猓棺戳斯闶芑队闹_ola-2: A Complete Guide 和Java Programming: From the Beginning,
_⒃_r.Dobb's Journal等权威杂志上发表了许多文章。
?
_涤嗍奔洌_ing教授还在多部电影中扮演过角色。吕秀锋 亚洲理工大学( AIT )计算机软件硕士,现为北京理工
_笱_砑г航淌Α?
5. 求《C语言程序设计》第2版(何钦铭颜晖主编)PDF 及 答案
求《C语言程序设计》第2版(何钦铭颜晖主编)PDF 及 答案_网络知道
链接:http://pan..com/s/1i5LxsGH 密码:tozt
EQGLNSXZCGKO
6. 求《C语言程序设计》苏小红第二版pdf 红白封面
中文名:C语言程序设计
作者:吴国凤
图书分类:科技
资源格式:PDF
版本:高清文字版
出版社:合肥工业大学出版社
书号:9787565008405
发行时间:2012年8月1日
地区:大陆
语言:简体中文
本书是高清文字版.非扫描.拒绝模糊.享受清晰!
无法下载的用户请到评论区一楼查看网盘地址!
内容介绍:
本文章由第1章 C语言概述、第2章 数据类型、运算符与表达式等组成。
内容截图:
目录:
第1章 C语言概述10
1.1 程序设计与C语言10
1.2 C程序初识12
1.3 程序设计方法与算法16
1.4 C程序运行环境与学习方法20
1.5 例题精解24
1.6 本章小结25
习题25
第2章 数据类型、运算符与表达式27
2.1 C语言基础27
2.2 常量30
2.3 变量32
2.4 基本运算符与表达式33
2.5 不同数据类型间的转换和运算39
2.6 例题精解41
2.7 本章小结42
习题43
第3章 顺序结构程序设计45
3.1 C语言中的语句45
3.2 数据的输入输出47
3.3 例题精解54
3.4 本章小结57
习题57
第4章 选择结构程序设计62
4.1 关系运算和逻辑运算62
4.2 if语句65
4.3 switch语句70
4.4 例题精解72
4.5 本章小结75
习题75
第5章 循环结构程序设计80
5.1 概述80
5.2 while语句80
5.3 dowhile语句82
5.4 for语句84
5.5 循环嵌套88
5.6 break语句、continue语句和goto语句与标号90
5.7 例题精解92
5.8 本章小结97
习题97
第6章 数组105
6.1 一维数组105
6.2 二维数组108
6.3 字符数组和字符串112
6.4 例题精解117
6.5 本章小结121
习题122
第7章 指针126
7.1 指针的基本概念126
7.2 指针与数组133
7.3 指针数组和指向指针的指针142
7.4 例题精解147
7.5 本章小结149
习题150
第8章 函数154
8.1 函数的基本概念154
8.2 函数参数和函数的值155
8.3 函数的调用157
8.4 数组作为函数参数158
8.5 指针作为函数参数161
8.6 嵌套调用与递归调用163
8.7 存储类型166
8.8 命令行参数170
8.9 例题精解171
8.10 本章小结175
习题175
第9章 编译预处理181
9.1 宏定义181
9.2 文件包含184
9.3 条件编译185
9.4 例题精解186
9.5 本章小结188
习题189
第10章 结构体与共用体192
10.1 结构体192
10.2 共用体208
10.3 枚举211
10.4 用户定义类型212
10.5 例题精解213
10.6 本章小结214
习题215
第11章 位运算219
11.1 位运算的概念219
11.2 位运算219
11.3 位域(位段)223
11.4 本章小结226
习题226
第12章 文件228
12.1 文件概念228
12.2 文件指针229
12.3 文件的打开与关闭230
12.4 文件的读写231
12.5 文件的定位操作238
12.6 文件的错误检测240
12.7 本章小结241
习题241
附录243
1. 常用字符与ASCII代码对照表243
2. C语言运算符的优先级与结合性244
3. C库函数245
4. 常见错误信息表252
下载地址:http://book.mxtia.com/view/24976.html
7. 谁有《零基础学单片机C语言程序设计 第2版-赵建领 & 薛园园》电子书百度网盘资源下载
《零基础学单片机C语言程序设计 第2版-赵建领 & 薛园园》网络网盘txt最新全集下载
链接:
style 内容包括51系列单片机开发环境和流程、程序设计基础以及编程指南,并给出了一些常用的典型案例。
8. 求《C语言程序设计现代方法第二版》全文免费下载百度网盘资源,谢谢~
《C语言程序设计现代方法第二版》网络网盘pdf最新全集下载:
链接:https://pan..com/s/1ZxPIF7PSVBGWtDl8h_kjNA
9. C语言程序设计,第二版,中文版 Brian W.Kernighan & Dennis着pdf版
已创建分享链接,你可以直接从我的网盘下载
10. 跪求 C语言程序设计.现代方法.txt
这是我用的,我同学做的,我也没仔细看,如果可以的话就用这个吧。
#include<stdio.h> /*引用库函数*/
#include<stdlib.h>
#include<ctype.h>
#include<string.h>
typedef struct /*定义结构体数组*/
{
char num[10]; /*学号*/
char name[20]; /*姓名*/
int score; /*成绩*/
}Student;
Student stu[80]; /*结构体数组变量*/
int menu_select() /*菜单函数*/
{
char c;
do{
system("cls"); /*运行前清屏*/
printf("\t\t****Students' Grade Management System****\n"); /*菜单选择*/
printf("\t\t | 1. Input Records |\n");
printf("\t\t | 2. Display All Records |\n");
printf("\t\t | 3. Sort |\n");
printf("\t\t | 4. Insert a Record |\n");
printf("\t\t | 5. Delete a Record |\n");
printf("\t\t | 6. Query |\n");
printf("\t\t | 7. Statistic |\n");
printf("\t\t | 8. Add Records from a Text File|\n");
printf("\t\t | 9. Write to a Text file |\n");
printf("\t\t | 0. Quit |\n");
printf("\t\t*****************************************\n");
printf("\t\t\tGive your Choice(0-9):");
c=getchar(); /*读入选择*/
}while(c<'0'||c>'9');
return(c-'0'); /*返回选择*/
}
int Input(Student stud[],int n) /*输入若干条记录*/
{int i=0;
char sign,x[10]; /*x[10]为清除多余的数据所用*/
while(sign!='n'&&sign!='N') /*判断*/
{ printf("\t\t\tstudent's num:"); /*交互输入*/
scanf("\t\t\t%s",stud[n+i].num);
printf("\t\t\tstudent's name:");
scanf("\t\t\t%s",stud[n+i].name);
printf("\t\t\tstudent's score:");
scanf("\t\t\t%d",&stud[n+i].score);
gets(x); /*清除多余的输入*/
printf("\t\t\tany more records?(Y/N)");
scanf("\t\t\t%c",&sign); /*输入判断*/
i++;
}
return(n+i);
}
void Display(Student stud[],int n) /*显示所有记录*/
{
int i;
printf("\t\t\t-----------------------------------\n"); /*格式头*/
printf("\t\t\tnumber name score\n");
printf("\t\t\t-----------------------------------\n");
for(i=1;i<n+1;i++) /*循环输入*/
{
printf("\t\t\t%-16s%-15s%d\n",stud[i-1].num,stud[i-1].name,stud[i-1].score);
if(i>1&&i%10==0) /*每十个暂停*/
{printf("\t\t\t-----------------------------------\n"); /*格式*/
printf("\t\t\t");
system("pause");
printf("\t\t\t-----------------------------------\n");
}
}
printf("\t\t\t");
system("pause");
}
void Sort_by_num(Student stud[],int n) /*按学号排序*/
{ int i,j,*p,*q,s;
char t[10];
for(i=0;i<n-1;i++) /*冒泡法排序*/
for(j=0;j<n-1-i;j++)
if(strcmp(stud[j].num,stud[j+1].num)>0)
{strcpy(t,stud[j+1].num);
strcpy(stud[j+1].num,stud[j].num);
strcpy(stud[j].num,t);
strcpy(t,stud[j+1].name);
strcpy(stud[j+1].name,stud[j].name);
strcpy(stud[j].name,t);
p=&stud[j+1].score;
q=&stud[j].score;
s=*p;
*p=*q;
*q=s;
}
}
int Insert_a_record(Student stud[],int n) /*插入一条记录*/
{char x[10]; /*清除多余输入所用*/
printf("\t\t\tstudent's num:"); /*交互式输入*/
scanf("\t\t\t%s",stud[n].num);
printf("\t\t\tstudent's name:");
scanf("\t\t\t%s",stud[n].name);
printf("\t\t\tstudent's score:");
scanf("\t\t\t%d",&stud[n].score);
gets(x);
n++;
Sort_by_num(stud,n); /*调用排序函数*/
printf("\t\t\tInsert Successed!\n"); /*返回成功信息*/
return(n);
}
int Delete_a_record(Student stud[],int n) /*按姓名查找,删除一条记录*/
{ char s[20];
int i=0,j;
printf("\t\t\ttell me his(her) name:"); /*交互式问寻*/
scanf("%s",s);
while(strcmp(stud[i].name,s)!=0&&i<n) i++; /*查找判断*/
if(i==n)
{ printf("\t\t\tnot find!\n"); /*返回失败信息*/
return(n);
}
for(j=i;j<n-1;j++) /*删除操作*/
{
strcpy(stud[j].num,stud[j+1].num);
strcpy(stud[j].name,stud[j+1].name);
stud[j].score=stud[j+1].score;
}
printf("\t\t\tDelete Successed!\n"); /*返回成功信息*/
return(n-1);
}
void Query_a_record(Student stud[],int n) /*查找并显示一个记录*/
{ char s[20];
int i=0;
printf("\t\t\tinput his(her) name:"); /*交互式输入*/
scanf("\t\t\t%s",s);
while(strcmp(stud[i].name,s)!=0&&i<n) i++; /*查找判断*/
if(i==n)
{ printf("\t\t\tnot find!\n"); /*输入失败信息*/
return;
}
printf("\t\t\this(her) number:%s\n",stud[i].num); /*输出该学生信息*/
printf("\t\t\this(her) score:%d\n",stud[i].score);
}
void Statistic(Student stud[],int n) /*新增功能,输出统计信息*/
{ int i,j=0,k=0,sum=0;
float aver; /*成绩平均值*/
for(i=0;i<n;i++) /*循环输入判断*/
{
sum+=stud[i].score;
if(stud[j].score>stud[i].score) j=i;
if(stud[k].score<stud[i].score) k=i;
}
aver=1.0*sum/n;
printf("\t\t\tthere are %d records.\n",n); /*总共记录数*/
printf("\t\t\tthe hignest score:\n"); /*最高分*/
printf("\t\t\tnumber:%s name:%s score:%d\n",stud[j].num,stud[j].name,stud[j].score);
printf("\t\t\tthe lowest score:\n"); /*最低分*/
printf("\t\t\tnumber:%s name:%s score:%d\n",stud[k].num,stud[k].name,stud[k].score);
printf("\t\t\tthe average score is %5.2f\n",aver); /*平均分*/
}
int AddfromText(Student stud[],int n) /*从文件中读入数据*/
{ int i=0,num;
FILE *fp; /*定义文件指针*/
char filename[20]; /*定义文件名*/
printf("\t\t\tInput the filename:");
scanf("\t\t\t%s",filename); /*输入文件名*/
if((fp=fopen(filename,"rb"))==NULL) /*打开文件*/
{ printf("\t\t\tcann't open the file\n"); /*打开失败信息*/
printf("\t\t\t");
system("pause");
return(n);
}
fscanf(fp,"%d",&num); /*读入总记录量*/
while(i<num) /*循环读入数据*/
{
fscanf(fp,"%s%s%d",stud[n+i].num,stud[n+i].name,&stud[n+i].score);
i++;
}
n+=num;
fclose(fp); /*关闭文件*/
printf("\t\t\tSuccessed!\n");
printf("\t\t\t");
system("pause");
return(n);
}
void WritetoText(Student stud[],int n) /*将所有记录写入文件*/
{
int i=0;
FILE *fp; /*定义文件指针*/
char filename[20]; /*定义文件名*/
printf("\t\t\tWrite Records to a Text File\n"); /*输入文件名*/
printf("\t\t\tInput the filename:");
scanf("\t\t\t%s",filename);
if((fp=fopen(filename,"w"))==NULL) /*打开文件*/
{
printf("\t\t\tcann't open the file\n");
system("pause");
return;
}
fprintf(fp,"%d\n",n); /*循环写入数据*/
while(i<n)
{
fprintf(fp,"%-16s%-15s%d\n",stud[i].num,stud[i].name,stud[i].score);
i++;
}
fclose(fp); /*关闭文件*/
printf("Successed!\n"); /*返回成功信息*/
}
void main() /*主函数*/
{
int n=0;
for(;;)
{
switch(menu_select()) /*选择判断*/
{
case 1:
printf("\t\t\tInput Records\n"); /*输入若干条记录*/
n=Input(stu,n);
break;
case 2:
printf("\t\t\tDisplay All Records\n"); /*显示所有记录*/
Display(stu,n);
break;
case 3:
printf("\t\t\tSort\n");
Sort_by_num(stu,n); /*按学号排序*/
printf("\t\t\tSort Suceessed!\n");
printf("\t\t\t");
system("pause");
break;
case 4:
printf("\t\t\tInsert a Record\n");
n=Insert_a_record(stu,n); /*插入一条记录*/
printf("\t\t\t");
system("pause");
break;
case 5:
printf("\t\t\tDelete a Record\n");
n=Delete_a_record(stu,n); /*按姓名查找,删除一条记录*/
printf("\t\t\t");
system("pause");
break;
case 6:
printf("\t\t\tQuery\n");
Query_a_record(stu,n); /*查找并显示一个记录*/
printf("\t\t\t");
system("pause");
break;
case 7:
printf("\t\t\tStatistic\n");
Statistic(stu,n); /*新增功能,输出统计信息*/
printf("\t\t\t");
system("pause");
break;
case 8:
printf("\t\t\tAdd Records from a Text File\n");
n=AddfromText(stu,n); /*新增功能,输出统计信息*/
break;
case 9:
printf("\t\t\tWrite to a Text file\n");
WritetoText(stu,n); /*循环写入数据*/
printf("\t\t\t");
system("pause");
break;
case 0:
printf("\t\t\tHave a Good Luck,Bye-bye!\n"); /*结束程序*/
printf("\t\t\t");
system("pause");
exit(0);
}
}
}
四、函数调用关系图
注:“→”代表调用
Input函数
打印链表记录
Display函数
输入若干条记录
menu_select()函数
选择菜单
Sort_by_num函数
显示所有记录
Delete_a_record函数
按姓名查找,删除一条记录
Query_a_record查找并显示一条记录
Statistic函数
输出统计信息 (新增)
AddfromText函数
从正文中添加数据到结构体数组中
Main函数
Insert_a_record插入一条记录
WritetoText函数 将所有数据写入文件中
退出程序
Reverse(head)函数
按学号排序
五、设计测试流程
1、进入界面
2、输入选项1,回车;
按提示输入数据:
3、回到主菜单;
输入选项7,回车;
输入文件名:data.txt,回车;
出现成功提示,则读入文件操作成功。
4、回到主菜单,输入2,回车
每10个暂停显示数据
5、回到主菜单,输入3,回车
出现排序成功信息。
6、回到主菜单,输入4,回车
按提示插入一组数据
7、回到主菜单,输入5,回车
按提示输入姓名,删除数据
出现删除成功的信息
8、回到主菜单,输入6,回车
输入姓名进行查询
9、回到主菜单,输入7,回车
出现统计信息
10、回到主菜单,输入9,回车
输入result.txt,回车
出现成功写入文件的信息
11、回到主菜单,输入0,回车退出系统