您好,欢迎来到聚文网。 登录 免费注册
C语言程序设计——案例驱动及拓展教程

C语言程序设计——案例驱动及拓展教程

  • 字数: 480000
  • 装帧: 平装
  • 出版社: 清华大学出版社
  • 出版日期: 2022-01-01
  • 商品条码: 9787302594321
  • 版次: 1
  • 开本: 16开
  • 页数: 308
  • 出版年份: 2022
定价:¥59 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
编辑推荐
"“C语言程序设计”课程是高等学校计算机类专业的专业基础课,也是很多非计算机专业理科学生的必修课,是大多数本科生接触计算机程序设计的第一门语言。本书作为“计算机系统能力课程群”重点建设项目教材,在工程教育专业认证背景下,重新整合教学内容、设计新的编写体例、全程案例驱动、设计了全新教学模式和考核方法,以更好地支撑毕业目标,努力达到“金课”建设标准。 本书是高等学校教改工程项目“面向成果导向教育的混合式立体金课建设研究”成果,配备符合工程教育专业认证的教学大纲,对内容进行了精心的选择和组织,以满足不同学校﹑不同专业和不同层次学习者的要求。 本书特色如下: (1)本书是针对大学计算机程序设计第一门教学语言编写的教材,同时兼顾广大计算机用户和自学爱好者,适合教学和自学。 (2)重视良好的编程风格和习惯的养成。 (3)采用“章-节-知识单元”的体例结构编写﹐知识点划分合理,深入浅出。 (4)本书全程以案例驱动教学,配备大量案例拓展问题,使课程具有“高阶性和创新性”,便于对所学知识的理解和检验。 (5)本书配套提供“理论-案例-翻转”结合的教学大纲,适合案例教学和翻转课堂设计,帮助教师实现以PBL导向和OBE导向的教学目标。 (6)本书所有案例程序和案例拓展均已实现在线评测,学生可以在PTA平台上在线提交程序代码。使用本教材进行教学,可以更好地实现培养应用型人才的目标,不仅有利于学生学习程序设计的基本概念和方法,掌握编程的技术,更重要的是有利于培养学生针对生产实际分析问题和解决问题的能力和创新能力。 本书通过大量程序案例,让学生在编程实践中理解知识点,实现“做中学”的教学理念。同时,又给出一定数量的拓展和习题,以培养学生程序设计的能力。 本书努力体现以下特色: (1)本书是针对大学计算机程序设计第一门教学语言编写的教材,同时兼顾广大计算机用户和自学爱好者,适合教学和自学。 (2)重视良好的编程风格和习惯的养成。 (3)采用“章-节-知识单元”的体例结构编写﹐知识点划分合理,深入浅出。 (4)本书全程以案例驱动教学,配备大量案例拓展问题,使课程具有“高阶性和创新性”,便于对所学知识的理解和检验。 (5)本书配套提供“理论-案例-翻转”结合的教学大纲,适合案例教学和翻转课堂设计,帮助教师实现以PBL导向和OBE导向的教学目标。 (6)本书所有案例程序和案例拓展均已实现在线评测,学生可以在PTA平台上在线提交程序代码。使用本教材进行教学,可以更好地实现培养应用?"
内容简介
本书是高等学校教学改革工程项目“面向成果导向教育的混合式立体‘金课’建设研究”成果和“计算机系统能力课程群”重点建设教材,从工程教育专业认证的角度出发,采用“章-节-知识单元”体例结构,全程以案例和问题驱动,详细介绍C语言编程的基本知识和程序设计的基本方法。本书共10章,内容包括程序设计概述、数据与运算、顺序结构、选择结构、循环结构、函数、数组、指针、结构与链表以及文件。本书注重可读性、可操作性和实用性,所有知识点都以案例和问题驱动并配备拓展训练题目,提供所有程序的在线评测,各章均配有课后习题。本书的内容体例编排、配套教学大纲,以及教学方法考核方式均基于工程教育专业认证要求,可作为高等学校计算机类专业高级语言程序设计课程,以及非计算机专业计算机程序设计基础课程的教材,也可作为程序员和参加计算机等级考试人员的自学参考书。
作者简介
于延,男,1976年2月生,哈尔滨师范大学 计算机科学与信息工程学院,副教授,硕士生导师。本人出版教材6部,主持省自然基金1项,厅级科研项目2项,获黑龙江省优秀教学成果二等奖一次,一等奖一次。本人长期从事教学研究,发表教学研究论文20余篇,多次获全国高校计算机教育大会优秀论文奖,主讲高级语言程序设计22年。
目录
第1章程序设计概述1
1.1程序设计语言2
1.2认识C程序14
1.3算法与程序结构20
习题126
第2章数据与运算28
2.1数据29
2.2运算36
习题252
第3章顺序结构55
3.1顺序结构简介56
3.2标准输入输出函数58
3.3顺序结构的应用66
习题373
第4章选择结构75
4.1if语句76
4.2switch语句和break语句84
4.3选择结构的应用86
习题492
第5章循环结构94
5.1循环语句95
5.2循环控制语句101
5.3多重循环108
5.4循环结构的应用115
习题5127第6章函数131
6.1函数及函数定义132
6.2函数的调用137
6.3递归144
6.4变量的作用域和生存期151
6.5函数的应用156
习题6163
第7章数组166
7.1一维数组167
7.2一维数组的应用172
7.3数组名作为函数参数175
7.4二维数组182
7.5字符数组191
习题7205
第8章指针208
8.1指针的基本操作209
8.2指针与数组214
8.3指针与函数224
8.4指针数组和二级指针228
8.5动态内存管理231
8.6指针小结236
习题8238
第9章结构与链表242
9.1结构体243
9.2链表252
9.3枚举和共用体258
9.4编译预处理263
习题9269
第10章文件271
10.1文件指针272
10.2文本文件的读和写277
10.3读写二进制文件282
10.4随机读写和状态检测283
10.5主函数的参数287
10.6输入输出重定向292
习题10295
附录AASCII码表296
摘要
     第3章 顺序结构 本章首先介绍C语言的语句,之后详细讨论C语言中输入输出函数的使用 方法和规则,通过程序案例使读者理解什么是顺序结构程序。 本章学习目标 (1)了解输入输出函数的使用方法。 (2)掌握输入输出格式控制方法。 (3)掌握应用顺序结构程序解决问题的方法。 第3章案例代码 3.1 顺序结构简介 ●1.语句 C语言程序是以函数为基本单位的,函数是由一个一个的C语句构成。C语句必须 以分号结束。 C语言的语句主要分为以下6类。 (1)说明语句。说明语句一般用来定义变量数据类型等。例如: int a=5,b; float f1,f2; (2)表达式语句。表达式语句是指由一个C表达式加上分号构成的语句。例如: a=b+1; /*赋值表达式a=b+1 加上分号*/ i=1,j=2; /*逗号表达式i=1,j=2 加上分号*/ i++; /*表达式i++加上分号*/ (3)函数调用语句。函数调用语句是由一个函数调用加上分号。例如: printf("\n"); srand(time(NULL)); 这类语句也可以归属于表达式语句,因为函数调用本身也是一个表达式。 (4)空语句。空语句是仅由一个分号构成的语句,没有任何动作。例如: ; (5)复合语句。复合语句是指将一组语句用大括号({})括起来,从而使整个大括号 变成一个整体(复合语句)。整体上看,复合语句是一个语句。例如: { a=5; b=6; c=7; } 复合语句在C语言程序中的用处很大,在以后的学习中大家会逐渐体会到。有的书 中也将复合语句称为分程序或语句块。 (6)控制语句。控制语句完成一定的控制功能,实现程序流程的跳转。C语言提供 的控制语句有: ·56· goto 无条件转向语句 if( ) … else … 选择语句 switch( ){ } 多分支选择语句 while( ) 循环语句 for( ) 循环语句 do{ }while() 循环语句 break 循环控制语句 continue 循环控制语句 return 从函数返回语句 ●2.顺序结构案例 顺序结构是最简单的程序结构,也是最常见的程序结构。顺序结构程序的执行顺序 是自上而下,依次执行。之前章节中编写的所有程序都是顺序结构。 案例03-01-01 考考你 案例代码03-01-01.c #include #include #include int main(){ int a,b,c,d,r; srand((unsigned)time(NULL)); printf("*********两位数四则运算测试*********\n"); printf("请输入以下算式的结果:\n"); a=rand()%89+11; b=rand()%89+11; c=rand()%4+1; (c==1)? ( printf("%d+%d=",a,b),d=a+b):1; (c==2)? ( printf("%d-%d=",a,b),d=a-b):1; (c==3)? ( printf("%d*%d=",a,b),d=a*b):1; (c==4)? ( printf("%d/%d=",a,b),d=a/b):1; scanf("%d",&r); printf(d==r? "答对了,你真棒!":"真对不起,你答错了!"); return 0; } 程序分析: 此例程序是顺序结构的程序,程序从第一条语句开始,依次向下一条一条语句执行, 直到最后一个语句。请运行并分析此程序的功能。 案例拓展考考计算机numbers:"); scanf("%d%d%d",&num1,&num2,&num3); /* 输入三个整数 */ sum=num1+num2+num3; /* 求和 */ aver=sum/3.0; /* 求平均值 */ printf("num1=%d,num2=%d,num3=%d\n",num1,num2,num3); /* 输出结果*/ printf("sum=%d,aver=%lf\n",sum,aver); return 0; } 执行程序,在提示信息后输入: Please input three numbers:11 12 13 ↙ 输出: num1=11,num2=12,num3=13 sum=36,aver=12.000000 案例03-03-02 三角形面积 输入三角形的三边长a、b、c,输出其面积s(假设用户输入的a、b、c 可以构成三 角形)。 已知三角形的三边长,可以利用海伦公式计算它的面积。设三角形的三边长分别为a、 b 和c,p=(a+b+c) 2 ,则计算该三角形面积的海伦公式为s= p(p-a)(p-b)(p-c)。 由此,就能得到以下程序。 案例代码03-03-02.c #include #include int main(){ ·66· double a,b,c,p,s; scanf("%lf%lf%lf",&a,&b,&c); p=(a+b+c)/2.0; s=sqrt(p*(p-a)*(p-b)*(p-c)); printf("s=%lf",s); return 0; } 执行程序,输入: 3 4 5 ↙ 输出: s=6.000000 再次执行程序,输入: 6 8 10 ↙ 输出: s=24.000000 因为在程序中使用了开平方的函数sqrt(),所以要在程序开始处加上预处理命令# include。 案例03-03-03 一元二次方程的两个根 输入一元二次方程的三个系数a、b、c 的值,输出其两个根(假设方程有实根)。 一元二次方程的求根公式大

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网