编辑推荐
本书可以作为“C语言程序设计”基础教材!此外,本书将ACM竞赛平台OJ(Online Judge)系统用于C语言的学习过程中,旨在帮助读者快速掌握C语言的基础知识和ACM/ICPC的基本答题方法。全书内容深入浅出、通俗易懂,可使读者在短时间内掌握编程要领。书中主要实例采用了ACM/ICPC规定的格式进行描述,所有程序均已在DEV C++上调试通过。本书配套资源下载地址为清华大学出版社网站本书页面,内容包括书中的全部实例的源代码文件。
内容简介
《C语言程序设计:零基础ACM、ICPC竞赛实战指南/清华开发者书库》是专为C语言爱好者及ACM/ICPC参赛者编写的入门级教程,针对C语言学习过程中普遍存在的重理论轻实践、重语法轻编程的现象,通过贯穿全书的大量实例来介绍C语言编程的方法和技巧。全书分为三个部分: 第一部分介绍C语言的基础性语法,包括标准程序框架、数据类型和控制结构; 第二部分介绍了常见的OJ(Online Judge)平台、使用方法及OJ系统的基本输入与输出的常见类型; 第三部分通过实例介绍了数组、函数和结构体编程过程中常用的知识点。
本书可以作为“C语言程序设计”课程的基础教材,也可作为参加ACM/ICPC竞赛的指导用书,并可作为各高校和相关培训机构的教学参考书。
内页插图
目录
第1章死记硬背
1.1引子
1.2死记硬背
1.2.1编程基本步骤
1.2.2记死
1.3初学者方法
第2章数据类型
2.1从A+B说起
2.2A+B继续
2.3基本数据类型
2.3.1数据类型与“模子”
2.3.2常量
2.3.3变量
2.3.4强制类型转换
2.4变量的命名规则
2.5拓展训练
第3章数据的控制台输入与输出
3.1printf()函数和scanf()函数
3.1.1printf()函数
3.1.2scanf()函数
3.2getchar()函数与putchar()函数
3.2.1字符输入函数getchar()
3.2.2字符输出函数: putchar()
3.3标准程序解读
3.3.1头文件
3.3.2函数
第4章控制结构
4.1从+1开始
4.2灌汤包
4.3顺序结构
4.4分支结构
4.4.1if语句
4.4.2switch语句
4.5循环结构
4.5.1while语句
4.5.2do�瞱hile语句
4.5.3for语句
4.6continue语句和break语句
4.6.1continue语句
4.6.2break语句
4.7实例分析
第5章运算符和表达式
5.1算术运算符
5.2逻辑运算符
5.2.1逻辑代数基础
5.2.2逻辑运算符
5.3关系运算符
5.4位运算
5.4.1按位与运算
5.4.2按位或运算
5.4.3按位异或运算
5.4.4求反运算
5.4.5左移运算
5.4.6右移运算
5.5表达式
5.5.1(算术)运算符的优先级与结合性
5.5.2赋值运算符
5.5.3逗号运算符和逗号表达式
5.5.4运算符优先级总结
5.6实例分析
第6章基本输入与输出
6.1OJ系统简介
6.2OJ系统使用说明
6.2.1OJ系统注册
6.2.2常见评判结果
6.2.3简单题
6.3基本输入与输出
6.3.1基本输入类型
6.3.2基本输出
6.4解题报告
第7章数组
7.1一维数组
7.1.1一维数组的定义
7.1.2一维数组元素的引用
7.1.3一维数组的初始化赋值
7.1.4实例分析
7.2二维数组
7.2.1二维数组的定义
7.2.2二维数组元素的引用
7.2.3二维数组的初始化赋值
7.2.4实例分析
7.3字符数组
7.3.1字符数组的定义
7.3.2字符数组的初始化
7.3.3字符数组的引用
7.3.4字符串和字符串结束标志
7.3.5字符数组的输入与输出
7.4动态数组
7.4.1为什么引进动态数组
7.4.2动态数组的创建
7.5测试程序运行时间
7.6拓展训练
第8章自定义函数
8.1为什么要引入函数
8.1.1模块化程序设计思想
8.1.2函数分类
8.1.3实例分析
8.2函数定义
8.2.1函数定义形式
8.2.2函数参数
8.2.3函数的返回值
8.3函数调用
8.3.1函数调用形式
8.3.2函数声明
8.3.3函数声明和函数定义的区别
第9章结构体
9.1引子
9.2结构体基本概念
9.2.1结构体类型的定义
9.2.2结构体变量的定义
9.2.3结构体变量占据的内存空间
9.2.4结构体变量对结构体成员的引用
9.2.5结构体变量的赋值
9.3结构体类型的数组
9.3.1结构体数组变量的定义
9.3.2结构体数组的引用
9.3.3结构体数组的初始化
附录ADev C++安装说明
附录BDEV C++使用说明
附录C常见错误信息中英语句索引
附录D常用头文件及包含的函数
附录EC语言32个关键字和9种控制语句
参考文献
前言/序言
C语言功能丰富、表达能力强、使用灵活方便,20世纪90年代以来,C语言迅速在全世界普及推广。C语言具有高级语言的优点又有低级语言的特性,既适合编写操作系统软件,又能方便地开发领域应用软件。目前,C语言程序设计已经成为最为广泛的一门程序设计课程。依据基于世界范围内的资深软件工程师和第三方供应商提供作为指数的TIOBE开发语言排行榜(每月发布一次),C语言排名一直名列前茅。C语言是实践性很强的一门课程,必须不断地练习编程。在信息技术飞速发展的今天,如何将理论与实践有机结合,有效地推进素质教育和高水平人才培养,是新时期IT人才面临的新课题。
ACM国际大学生程序设计竞赛(ACM International Collegiate Programming Contest,ACM/ICPC)是由美国计算机协会(Association for Computing Machinery,ACM)主办,其目的是使大学生充分展示分析问题和运用计算机解决问题的能力。ACM/ICPC作为一项世界性的竞赛活动,自1970年开始至今,是世界范围内历史最悠久、规模最大的程序设计竞赛。正好迎合了当今社会对创新性IT人才的需求,竞赛较全面地考验学生对知识的综合运用能力、创造性地分析解决问题能力,所以在IT界具有超凡的影响力。该项赛事极大地提高了参赛同学的学习热情、实践动手能力、团队合作能力和创造创新能力。ACM/ICPC在线评判(Online Judge,OJ)系统是该项比赛的评判事务处理平台,提供了一个基于B/S结构的多用户在线系统,允许用户在线提交自己的解题代码,系统自动编译运行给出评判结果,并根据用户解题数和用时综合排出名次。
针对C语言学习过程中普遍存在的重理论轻实践、重语法讲解轻编程思想的现象,本书将“A+B”的示例程序贯穿全书,将ACM竞赛平台OJ系统用于C语言的教学讲解和自学过程中。全书分为三个部分: 第一部分为C语言的基础性语法,包括标准程序框架,数据类型和控制结构; 第二部分针对常见的OJ平台、使用方法及OJ系统的基本输入与输出等常见类型进行讲解; 第三部分为数组、函数和结构体。
本书主要特点: ①所讲解的程序框架是ACM/ICPC通用的标准框架; ②采用实例讲解方法引出理论; ③每个例程均已通过测试,确保能够正确编译并运行; ④详细讲解如何使用OJ系统进行编程实践。
本书适用人群: ①大学本科一年级没有学过C语言的学生; ②已学过或正在学C语言,但对已学内容不得要领的学生; ③有强烈参加ACM/ICPC竞赛愿望的学生; ④大学本科四年级考取研究生,复试阶段需要上机复试C语言的学生; ⑤有强烈提高自己编程能力欲望,但苦于找不到合适训练方法和习题的读者。
本书程序运行的操作系统为Windows 7,计算机硬件配置为Intel(R) Core(TM) i5 CPU M480 @2.67GHz,系统类型为64位操作系统。
本书作者是长期从事ACM/ICPC竞赛指导和C语言教学的一线教师,同时也一直致力于C语言教学改革,近三年来所带学生在计算机软件类学科竞赛中获得省级以上奖励三百余人次。
在本书的编写过程中,部分题目参考或改编自杭州电子科技大学和北京大学的在线评判(OJ)系统,在此表示感谢!
由于作者能力和水平所限,加之时间仓促,书中不足之处恳请广大专家、读者批评指正!在C语言程序设计竞赛相关书籍中,希望本书抛出的“砖”能够引出更多的“玉”!
编著者2015年2月
C语言程序设计:零基础ACM/ICPC竞赛实战指南 清华开发者书库 epub pdf mobi txt 电子书 下载 2024
C语言程序设计:零基础ACM/ICPC竞赛实战指南 清华开发者书库 下载 epub mobi pdf txt 电子书 2024