华信教育资源网
双语版C程序设计(Learn C through English and`Chinese)
作   译   者:爱尔兰Paul Kelly,苏小红 出 版 日 期:2013-03-01
出   版   社:电子工业出版社 维   护   人:马岚 
书   代   号:G0190430 I S B N:9787121190438

图书简介:

本书由在计算机程序设计方面有着丰富教学和实践经验的中外作者合作编写。共分14章内容,由浅入深全面介绍C程序设计方法,包括基本数据类型和基本输出输出方式、各种控制结构和语句、指针和数组、字符串、函数、结构、文件输入和输出等内容,最后讨论了C预处理器。本书所有实例经过精心挑选、贴近生活,尤其强调读者的亲自参与意识。每章都为初学者提供了常见错误分析,所选习题可提高读者上机编程的兴趣。本书采用中英文对照混排,既方便初学者熟悉相关概念和内容,也便于英文非母语的读者熟悉英文专业词汇。
您的专属联系人更多
配套资源 图书内容 样章/电子教材 图书评价
  • 配 套 资 源
    图书特别说明:由于成本考虑,本书不作为参考书赠送。如果确有授课教材选用的需求,可将详细情况发送给本书专属联系人,我们将进一步沟通并酌情处理。

    本书资源

    本书暂无资源

    会员上传本书资源

  • 图 书 内 容

    内容简介

    本书由在计算机程序设计方面有着丰富教学和实践经验的中外作者合作编写。共分14章内容,由浅入深全面介绍C程序设计方法,包括基本数据类型和基本输出输出方式、各种控制结构和语句、指针和数组、字符串、函数、结构、文件输入和输出等内容,最后讨论了C预处理器。本书所有实例经过精心挑选、贴近生活,尤其强调读者的亲自参与意识。每章都为初学者提供了常见错误分析,所选习题可提高读者上机编程的兴趣。本书采用中英文对照混排,既方便初学者熟悉相关概念和内容,也便于英文非母语的读者熟悉英文专业词汇。

    图书详情

    ISBN:9787121190438
    开 本:16开
    页 数:240
    字 数:499

    本书目录

    目        录
    
    Chapter One    Introduction to C(引言)	1
    1.1    Brief history of C(C语言简史)	1
    1.2    Why programmers use C(为什么程序员爱用C语言)	1
    1.2.1    C is portable	1
    1.2.2    C is a structured programming language	2
    1.2.3    C is efficient	2
    1.2.4    C is flexible	2
    1.2.5    C is powerful	3
    1.2.6    C is concise	3
    1.3    Developing a C program(开发C程序)	3
    1.4    Suggestions for learning C Programming(学习C语言程序设计的建议)	5
    Chapter Two    C Data Types(C数据类型)	6
    2.1    Constants(常量)	6
    2.2    Variables(变量)	6
    2.3    Simple output to the screen(简单的屏幕输出)	8
    2.4    Comments(注释)	9
    2.5    Data types(数据类型)	10
    2.5.1    Short integer data types	11
    2.5.2    Long integer data types	11
    2.5.3    Unsigned integer data types	11
    2.5.4    Double floating-point data type	12
    2.6    Data type sizes(数据类型的大小)	12
    Programming pitfalls 	14
    Quick syntax reference	15
    Exercises	15
    Chapter Three    Simple Arithmetic Operations and Expressions(简单的算术运算和表达式)	17
    3.1    C operators(C运算符)	17
    3.1.1    The assignment operator	17
    3.1.2    Arithmetic operators	18
    3.1.3    Increment and decrement operators	20
    3.1.4    Combined operators	23
    3.2    Operator precedence(运算符优先级)	24
    3.3    Type conversions and casts(类型转换与强制类型转换)	26
    Programming pitfalls	28
    Quick syntax reference	29
    Exercises	29
    Chapter Four    Keyboard Input and Screen Output(键盘输入和屏幕输出)	32
    4.1    Simple keyboard input(简单的键盘输入)	32
    4.2    Using a width and precision specification in printf( ) 
           [在函数printf( )中使用域宽和精度说明]	34
    4.3    Single-character input and output(单个字符的输入和输出)	35
    Programming pitfalls	37
    Quick syntax reference	38
    Exercises	38
    Chapter Five    Control Statements: If and Switch(控制语句:if和switch)	40
    5.1    The if statement(if语句)	40
    5.2    The if-else statement(if-else语句)	41
    5.3    Logical operators(逻辑运算符)	43
    5.4    Nested if statements(嵌套的if语句)	44
    5.5    The switch statement(switch语句)	46
    5.6    The conditional operator ?:(条件运算符)	48
    Programming pitfalls	50
    Quick syntax reference	51
    Exercises	52
    Chapter Six    Iterative Control Statements: while, do-while, and for
                         (循环控制语句:while、do-while和for)	54
    6.1    The while statement(while语句)	54
    6.2    The do-while loop(do-while循环)	56
    6.3    The for statement(for语句)	57
    6.4    Nested loops(嵌套的循环)	59
    Programming pitfalls	62
    Quick syntax reference	63
    Exercises	63
    Chapter Seven    Arrays(数组)	65
    7.1    Introduction to arrays(引言)	65
    7.2    Initialising arrays(数组初始化)	71
    7.3    Two-dimensional arrays(二维数组)	72
    7.4    Initialising two-dimensional arrays(二维数组的初始化)	74
    7.5    Multi-dimensional arrays(多维数组)	75
    Programming pitfalls	76
    Quick syntax reference	76
    Exercises	77
    Chapter Eight    Pointers(指针)	79
    8.1    Variable addresses(变量的地址)	79
    8.2    Pointer variables(指针变量)	80
    8.3    The dereference operator *(解引用运算符*)	81
    8.4    Why use pointers? (为什么使用指针)	82
    Programming pitfalls	83
    Quick syntax reference	83
    Exercises	83
    Chapter Nine    Pointers and Arrays(指针和数组)	85
    9.1    Pointers and one-dimensional arrays(指针和一维数组)	85
    9.2    Pointers and multi-dimensional arrays(指针和多维数组)	87
    9.3    Dynamic memory allocation(动态内存分配)	89
    9.3.1    The malloc() function	89
    9.3.2    The calloc() function	92
    9.3.3    The realloc() function	93
    9.3.4    Allocating memory for multi-dimensional arrays	95
    Programming pitfalls	98
    Exercises	99
    Chapter Ten    Strings(字符串)	101
    10.1    String literals(字符串)	101
    10.2    Long character strings(长字符串)	102
    10.3    Strings and arrays(字符串和数组)	103
    10.4    Displaying a string(显示一个字符串)	104
    10.5    The puts() function[puts( )函数]	105
    10.6    The gets() function[gets( )函数]	106
    10.7    Accessing individual characters of a string(访问字符串中的单个字符)	107
    10.8    Assigning a string to a pointer(用字符串为字符指针赋值)	108
    10.9    String functions(字符串处理函数)	110
      10.9.1    Finding the length of a string	110
      10.9.2    Copying a string	110
      10.9.3    String concatenation	111
      10.9.4    Comparing strings	111
      10.9.5    Other string functions	112
    10.10  Converting numeric strings to numbers(数值字符串向数值的转换)	113
    10.11  Arrays of strings(字符串数组)	114
      Programming pitfalls	117
      Quick syntax reference	118
      Exercises	119
    Chapter Eleven    Functions(函数)	121
    11.1    Introduction(引言)	121
    11.2    Function arguments(函数参数)	123
    11.3    Returning a value from a function(从函数返回一个值)	126
    11.4    Passing arguments by value(按值传参)	128
    11.5    Passing arguments by reference(按引用传参)	129
    11.6    Changing arguments in a function(在函数中改变实参的值)	130
    11.7    Passing a one-dimensional array to a function(向函数传递一维数组)	132
    11.8    Passing a multi-dimensional array to a function(向函数传递多维数组)	134
    11.9    Storage classes(变量的存储类型)	135
      11.9.1    auto 	135
      11.9.2    static 	136
      11.9.3    extern 	137
      11.9.4    register 	139
    11.10  Command line arguments(命令行参数)	140
    11.11  Mathematical functions(数学函数)	142
      11.11.1    Some commonly used trigonometric functions	142
      11.11.2    Other common mathematical functions	143
      11.11.3    Pseudo-random number functions	144
      11.11.4    Some time-related functions	144
    11.12  Recursion	146
      Programming pitfalls	149
      Quick syntax reference	150
      Exercises	151
    Chapter Twelve    Structures(结构体)	155
    12.1    Defining a structure(定义结构体)	155
    12.2    Pointers to structures(结构体指针)	159
    12.3    Initialising a structure variable(结构体变量的初始化)	160
    12.4    Passing a structure to a function(向函数传递结构体变量)	162
    12.5    Nested structures(嵌套的结构体)	164
    12.6    Including a structure template from a file(从文件中引用结构体模板)	166
    12.7    The typedef statement(typedef语句)	166
    12.8    Arrays of structures(结构体数组)	168
    12.9    Enumerated data types(枚举数据类型)	174
    Programming pitfalls	176
    Exercises	178
    Chapter Thirteen    File Input and Output(文件的输入和输出)	181
    13.1    Binary and ASCII (text) files[二进制文件和ASCII(文本)文件]	181
    13.2    Opening and closing files(文件的打开和关闭)	182
    13.3    Reading a character from a file using fgetc()[使用函数fgetc( )从文件中读字符]	185
    13.4    Writing a character to a file using fputc()[使用函数fputc( )向文件中写字符]	186
    13.5    Reading a string of characters from a file using fgets()
             [使用函数fgets( )从文件中读字符串]	187
    13.6    Writing a string of characters to a file using fputs()
             [使用函数fputs( )向文件中写入字符串]	189
    13.7    Formatted input-output to a file using fscanf() and fprintf()
             [使用函数fscanf( )和fprintf( )进行文件的格式化读写]	190
    13.8    The standard files(标准文件)	192
    13.9    Block input-output using fread() and fwrite()
             [使用函数fread()和fwrite( )进行块读写]	193
    13.10  Rewinding a file using rewind()[使用函数rewind( )对文件重定位]	195
    13.11  Random access of files using fseek()[使用函数fseek( )随机访问文件]	197
    13.12  Finding the position in a file using ftell()
             [使用函数ftell( )查找文件的当前位置]	203
    13.13  Deleting a file using remove()[使用函数remove( )删除文件]	203
    Programming pitfalls	204
    Quick syntax reference	205
    Exercises	206
    Chapter Fourteen    The C Preprocessor(C编译预处理)	209
    14.1    Including files(包含文件)	209
    14.2    Defining macros(定义宏)	210
    14.3    Macro parameters(带参数的宏)	211
    14.4    Macros and functions(宏和函数)	213
    14.5    Some useful macros(一些有用的宏)	214
    14.6    Conditional directives(条件编译预处理指令)	215
    14.7    Character-testing macros(字符检测宏)	216
    Programming pitfalls	218
    Quick syntax reference	218
    Exercises	218
    Appendix A    List of C Keywords	220
    Appendix B    Precedence and Associativity of C Operators	221
    Appendix C    ASCII Character Codes	223
    Appendix D    Fundamental C Built-in Data Types	225
    展开

    前     言

    Preface
    Learn C through English and Chinese assumes no previous programming knowledge and has been carefully written to teach the fundamentals of programming through the medium of the C programming language. 
    Although the book is primarily intended for use in a first year undergraduate Computer Science course, it will be equally useful to experienced programmers who intend to learn C programming on their own.
    The book presents a thorough introduction to programming, using working programs to demonstrate the key features of the C language in a step-by-step logical sequence.
    Using their professional teaching experience, the authors have carefully chosen each example program to carefully explain an important programming concept, confidently leading the learner to competence in C and programming in general. Emphasis is placed on key programming concepts and features of programming in C, while keeping explanations as simple and clear as possible.
    Key concepts are re-enforced throughout the book by the use of ‘Quick Syntax Reference’ and ‘Programming Pitfalls’ sections at the end of each chapter. These are useful reference points for learners while writing their own programs.
    Although mainly written in English, this book includes additional explanatory annotations in Chinese. This bi-lingual approach will be appreciated by Chinese learners and will help them focus on the learning task in hand, without being over-burdened by English technical terminology.
    Despite C being available on a wide variety of platforms, this book is not specific to any particular machine, compiler, or operating system. All programs are designed to be portable with little or no modification to a wide variety of platforms. 
    Learn C through English and Chinese
    Is a comprehensive introduction to C programming.
    Uses practical examples to explain theoretical concepts.
    Uses an active learning approach with detailed explanations of working programming examples.
    Uses additional explanatory annotations written in Chinese.
    Each chapter contains
    A ‘Quick Syntax Reference’ section.
    A ‘Programming Pitfalls’ section.
    End-of-chapter exercises, allowing the learner to test and re-enforce their understanding of the programming concepts covered in the chapter.
    Is accompanied by a web site containing the example programs used in the book in addition to solutions to selected end-of-chapter exercises.
    
    前言
    为了适应国内高等教育逐步与国际接轨的发展趋势,英语教学和双语教学越来越受到人们的重视。尤其是以“国际化、工业化”为办学理念、注重国际化、工业化人才培养的国家示范性软件学院的部分课程还常常邀请一些外籍教师来国内进行全英语授课,但是由于办学经费有限,国内学生的英语水平又参差不齐,导致全英语教学目前还无法普及。因此,利用国内的优秀师资(包括留学回国人员)进行双语教学成为首选。针对目前许多双语课程教学缺少双语版教材的问题,我们组织国内和国外大学教师合作编写了本书。
    本书的第一作者是爱尔兰都柏林工业大学(DIT)的高级讲师Paul Kelly。他长期从事程序设计类课程的教学工作,在程序设计类课程教学方面具有丰富的教学实践经验,在国外已先后出版多本程序设计语言类书籍,还曾数次被哈尔滨工业大学软件学院作为外聘教师应邀来校讲授程序设计方面的课程,对中国学生比较了解,针对其在教学中发现的问题,即初学者面临着既不熟悉专业术语和基本概念、又不熟悉英文专用词汇的双重困难,提出了出版英汉对照混排式双语版教材的思路,帮助学生在克服语言障碍的同时,能够更快更好地熟悉和掌握计算机程序设计方面的基础知识,为国内的双语教学提供了一种最佳的解决方案。
    本书内容共分14 章,由浅入深、全面介绍C语言程序设计方法。本书的特点如下:
    1. 使用实际生活中的例子和直观的图示,来通俗易懂地讲解难于理解的概念。
    2. 采用案例驱动和循序渐进方式,从一个应用实例出发,先利用现有知识编写出一个较为简单的程序,然后在此基础上,不断扩充,在扩充的过程中引入一个新的概念和知识点,逐渐编写出一个较大的程序。
    3. 每个例程都有详细的讲解,重点内容和段落给出了中文注解,适合以C作为入门语言的读者对照阅读,既方便初学者熟悉相关概念和内容,也便于母语不是英语的读者熟悉英文的专业词汇,尤其适合双语教学。
    4. 每章后面都有一节介绍初学者编程时易犯的错误,以帮助初学者在程序设计中避免这些错误。
    5. 每章后面都有快速语法参考,总结本章内容,便于读者快速查询相关内容。
    6. 每章后面都有精心设计的、有趣的习题,便于读者测试和强化对相关内容的理解。
    7. 有相关的教学网站(华信教育资源网,网址http://www.hxedu.com.cn)和教材网站(http://book.sunner.cn),方便读者下载示例的源代码和教学课件等资料。
    本书是继国内首次出版中英文对照混排式双语版教材《C++双语版程序设计》之后出版的第二本双语版程序设计教材。Paul Kelly是一位治学非常严谨的教师,本书的第二作者苏小红在与他合著过程中,经常为一个细节内容的编写进行交流与讨论,书稿完成后又进行了多次校对工作。本着对所有读者负责的精神,我们真诚地欢迎读者对教材提出宝贵意见,可以通过发送电子邮件或在网站(http://book.sunner.cn)上留言等多种方式与我们交流讨论。作者E-mail地址为Paul.Kelly@dit.ie,sxh@hit.edu.cn。
    苏小红
    哈尔滨工业大学计算机科学与技术学院
    2013 年3 月
    展开

    作者简介

    本书暂无作者简介
  • 样 章 试 读
    本书暂无样章试读!
  • 图 书 评 价 我要评论
华信教育资源网