C语言程序设计谭浩强重点笔记
- 格式:doc
- 大小:343.50 KB
- 文档页数:51
c语⾔程序设计第五版谭浩强习题答案第三章课后答案第三章最简单的C程序设计 ----顺序程序设计1、假如我国国民⽣产总值的年增长率为7%,计算10年后我国国民⽣产总值与现在相⽐增长多少百分⽐。
计算公式为$p = (1+r)^n$ ,其中r为年增长率,n为年数,p为与现在相⽐的倍数。
题⽬解析:此题的关键主要是利⽤数学库math中pow函数进⾏计算,若不熟悉可以查阅帮助⽂档,查看pow函数的⽤法。
代码⽰例:#include<stdio.h>#include <math.h>int main(){Cfloat p, r, n;r = 0.07;n = 10;p = pow(1 + r, n);printf("p=%f\n", p);return 0;}运⾏结果:2、存款利息的计算。
有1000元,想存5年,可按以下5种办法存:(1)⼀次存5年期(2)先存2年期,到期后将本息再存3年期(3)先存3年期,到期后将本息再存2年期(4)存1年期,到期后将本息再存1年期,连续存5次(5)存活期存款,活期利息每⼀季度结算⼀次2017年银⾏存款利息如下:1年期定期存款利息为1.5%;2年期定期存款利息为2.1%;3年期定期存款利息为2.75%;5年期定期存款利息为3%;活期存款利息为0.35%(活期存款每⼀-季度结算⼀-次利息)如果r为年利率,n为存款年数,则计算本息的公式如下:1年期本息和: P= 1000* (1+r);n年期本息和: P= 1000* (1+n* r);存n次1年期的本息和: $P=1000* (1+r)^n$;活期存款本息和: P= 1000 *(1+$\frac{r}{4}$)$^{4n}$;说明: 1000*(1+$\frac{r}{4}$)是⼀个季度的本息和。
题⽬解析:理解题意很关键,其次就是利⽤数学库math中pow函数进⾏幂次⽅计算代码⽰例:#include<stdio.h>#include <math.h>int main(){float r5, r3, r2, r1, r0, p, p1, p2, p3, p4, p5;p = 1000;r5 = 0.0585;r3 = 0.054;r2 = 0.0468;r1 = 0.0414;r0 = 0.0072;p1 = p*((1 + r5) * 5); // ⼀次存5年期p2 = p*(1 + 2 * r2)*(1 + 3 * r3); // 先存2年期,到期后将本息再存3年期p3 = p*(1 + 3 * r3)*(1 + 2 * r2); // 先存3年期,到期后将本息再存2年期p4 = p*pow(1 + r1, 5); // 存1年期,到期后将本息存再存1年期,连续存5次p5 = p*pow(1 + r0 / 4, 4 * 5); // 存活期存款。
C语言程序设计第三版谭浩强课后习题答案完整版第一章1.5请参照本章例题,编写一个C程序,输出以下信息:**************************Very Good!**************************解:mian(){printf(“**************************”);printf(“\n”);printf(“Very Good!\n”);printf(“\n”);printf(“**************************”);}1.6 编写一个程序,输入a、b、c三个值,输出其中最大值。
解:mian(){int a,b,c,max;printf(“请输入三个数a,b,c:\n”);scanf(“%d,%d,%d”,&a,&b,&c);max=a;if(max<b)max=b;if(max<c)max=c;printf(“最大数为:“%d”,max);}第三章3.6写出以下程序运行的结果。
main(){char c1=’a’,c2=’b’,c3=’c’,c4=’\101’,c5=’\116’;printf(“a%cb%c\tc%c\tabc\n”,c1,c2,c3);printf(“\t\b%c %c”,c4,c5);}解:aaㄩbbㄩㄩㄩccㄩㄩㄩㄩㄩㄩabcAㄩN3.7要将"China"译成密码,译码规律是:用原来字母后面的第4个字母代替原来的字母.例如,字母"A"后面第4个字母是"E"."E"代替"A"。
因此,"China"应译为"Glmre"。
请编一程序,用赋初值的方法使cl、c2、c3、c4、c5五个变量的值分别为,’C’、’h’、’i’、’n’、’a’,经过运算,使c1、c2、c3、c4、c5分别变为’G’、’l’、’m’、’r’、’e’,并输出。
C 语言课后习题答案-第四版- 谭浩强(1-7)第一章#include <stdio.h>int main ( ){ printf ("**************************\n\n");printf(" Very Good!\n\n");printf ("**************************\n");return 0;}#include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf("The largest number is %d\n",max); return 0;}第3章#include <stdio.h>#include <math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}#include <stdio.h>#include <math.h>int main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p1=p*((1+r5)*5); // 一次存 5 年期p2=p*(1+2*r2)*(1+3*r3); // 先存 2 年期,到期后将本息再存 3 年期p3=p*(1+3*r3)*(1+2*r2); // 先存 3 年期,到期后将本息再存 2 年期p4=p*pow(1+r1,5); // 存 1 年期,到期后将本息存再存 1 年期,连续存 5 次p5=p*pow(1+r0/4,4*5); // 存活期存款。
c语⾔程序设计第五版课后答案谭浩强第五章课后答案c语⾔程序设计第五版课后答案谭浩强1.请画出例5.6中给出的3个程序段的流程图流程图1:流程图2:流程图3:2.请补充例5. 7程序,分别统计当“fabs(t)>= le- 6”和“fabs(t)> = le- 8”时执⾏循环体的次数。
fabs(t)>= le- 6 ,⽰例代码# include <stdio.h># include <math.h>int main(){int sign = 1;double pi = 0.0, term = 1.0;int n = 0;while (fabs(term) >= 1e-6){n++;term = 1.0 / (2 * n - 1)*sign;pi += term;sign = -sign;}pi *= 4;printf("pi的近似值是%lf\n", pi);printf("循环体循环了%d次\n", n);return 0;}运⾏截图:fabs(t)> = le- 8,⽰例代码# include <stdio.h># include <math.h>int main(){int sign = 1;double pi = 0.0, term = 1.0;int n = 0;while (fabs(term) >= 1e-8){n++;term = 1.0 / (2 * n - 1)*sign;pi += term;sign = -sign;}pi *= 4;printf("pi的近似值是%lf\n", pi);printf("循环体循环了%d次\n", n);return 0;}运⾏截图:3.输⼈两个正整数m和n,求其最⼤公约数和最⼩公倍数答案解析:该题题⽬直接使⽤“辗转相除法”来求解最⼤公约数,以除数和余数反复做除法运算,当余数为 0 时,就取得当前算式除数为最⼤公约数。
第1章程序设计和C语言 1 1.1什么是计算机程序 1 1.2什么是计算机语言 1 1.3C语言的发展及其特点 3 1.4最简单的C语言程序 51.5运行C程序的步骤与方法1 2 1.6程序设计的任务14 1-5 #include <stdio.h>int main ( ){ printf ("**************************\n\n");printf(" Very Good!\n\n");printf ("**************************\n");return 0;}1-6#include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf("The largest number is %d\n",max); return 0;}第2章算法——程序的灵魂162.1什么是算法162.2简单的算法举例172.3算法的特性212.4怎样表示一个算法222.5结构化程序设计方法34习题36第章最简单的C程序设计——顺序程序设计37 3.1顺序程序设计举例373.2数据的表现形式及其运算393.3C语句573.4数据的输入输出65习题823-1 #include <stdio.h>#include <math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}3-2-1#include <stdio.h>#include <math.h>int main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p1=p*((1+r5)*5); // 一次存5年期p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次p5=p*pow(1+r0/4,4*5); // 存活期存款。
c语⾔程序设计第五版课后答案谭浩强第⼋章课后答案c语⾔程序设计第五版课后答案谭浩强习题答案第⼋章善于利⽤指针本章习题均要求使⽤指针⽅法处理。
1. 输⼊3个整数,要求按由⼩到⼤的顺序输出。
解题思路:先获取到三个变量的地址,然后获取三个数据,通过指针进⾏⽐较转换即可答案:#include <stdio.h>void swap(int *p_a, int *p_b){int temp = *p_a;*p_a = *p_b;*p_b = temp;}int main(){int a, b, c, *p_a = &a, *p_b = &b, *p_c = &c; // 获取每个变量空间的地址printf("Please enter three numbers:");scanf_s("%d%d%d", p_a, p_b, p_c);if (*p_a > *p_b) {swap(p_a, p_b);//通过指针进⾏指向空间内的数据交换}if (*p_a > *p_c) {swap(p_a, p_c);}if (*p_b > *p_c) {swap(p_b, p_c);}printf("%d %d %d\n", *p_a, *p_b, *p_c);system("pause");return 0;}2. 输⼊3个字符串,要求按由⼩到⼤的顺序输出。
解题思路:字符串的⽐较可以使⽤strcmp函数,返回值>0表⽰⼤于,返回值⼩于0表⽰⼩于,返回追等于0表⽰相同。
其他的⽐较排序思路与数字的排序交换没有区别,逐个进⾏⽐较先找出最⼤的,然后找出第⼆⼤的。
答案:#include <stdio.h>int main(){char str[3][32];char *p[3];printf("Please enter three strings:");for (int i = 0; i < 3; i++) {p[i] = str[i];scanf_s("%s", p[i], 32);//后边的数字限制缓冲区边界,防⽌缓冲区溢出访问越界}//让p[0]和p[1]/p[2]分别进⾏⽐较,找出最⼤的字符串,i+1之后,则让p[1]和p[2]进⾏⽐较,找出第⼆⼤//i循环总个数-1次,最后⼀个是不需要⽐较的for (int i = 0; i < 2; i++) {for (int j = i + 1; j < 3; j++) {if (strcmp(p[i], p[j]) > 0) {char *tmp = p[i]; p[i] = p[j]; p[j] = tmp;}}}printf("%s %s %s\n", p[0], p[1], p[2]);system("pause");return 0;}3. 输⼊10个整数,将其中最⼩的数与第⼀个数对换, 把最⼤的数与最后⼀个数对换。
谭浩强c语言程序设计(第二版)谭浩强教授的《C语言程序设计》第二版是计算机编程领域的经典教材,它以通俗易懂的语言和丰富的实例,为初学者提供了一个学习C语言的良好起点。
这本书不仅介绍了C语言的基本语法和结构,还涵盖了高级编程技巧和程序设计思想。
第一章:C语言概述谭浩强教授在第一章中对C语言的起源、特点和应用领域进行了简要介绍。
C语言由Dennis Ritchie于1972年在贝尔实验室开发,以其高效、灵活和广泛的应用而闻名。
C语言是许多现代编程语言的基础,如C++、Java和Python。
第二章:C语言程序的构成本章详细介绍了C语言程序的基本结构,包括预处理指令、函数、变量声明和语句。
谭教授强调了程序设计中的模块化思想,即通过函数来组织代码,提高代码的可读性和可维护性。
第三章:数据类型、运算符和表达式数据类型是程序设计中的基础概念,谭教授详细解释了C语言中的各种数据类型,如整型、浮点型、字符型等,以及它们在内存中的存储方式。
运算符和表达式的章节则涵盖了算术运算符、关系运算符、逻辑运算符等的使用,以及它们的优先级和结合性。
第四章:控制语句控制语句是程序流程控制的核心。
谭教授介绍了条件语句(if、switch)、循环语句(for、while、do-while)和跳转语句(break、continue、goto)。
通过大量实例,帮助读者理解如何使用这些控制语句来编写条件判断和循环处理。
第五章:数组数组是存储多个数据项的集合。
谭教授详细讲解了一维数组和二维数组的声明、初始化和访问方法。
此外,还介绍了字符串的处理,包括字符串的存储、输入输出和常用字符串处理函数。
第六章:指针指针是C语言中一个强大的特性,它允许程序员直接操作内存地址。
谭教授从指针的基本概念讲起,逐步深入到指针与数组、指针与函数的关系,以及动态内存分配等高级主题。
第七章:函数函数是模块化编程的基础。
谭教授介绍了函数的定义、声明、调用以及参数传递机制。
C语言程序设计谭浩强重点笔记 1 / 51 C语言设计 学习笔记
早晨: 06:40 起床 07:20——08:20 英语 1小时 新概念英语(单词、语法、听读背) 大学英语(单词、语法、听读背)
上午: 08:30——10:30 计算机基础 2小时 10:50——11:30 计算机科学技术导论 计算机组成原理 微机原理与接口技术 Intel微处理器结构编程与接口 深入理解计算机系统 80x86汇编语言程序设计 8086-8088宏汇编语言程序设计教程 BIOS研发技术剖析 自己动手写操作系统 操作系统原理 Windows操作系统原理 Windows内部原理系列 Windows程序内部运行原理 计算机网络第五版
中午: 12:00——02:00 午休 下午: 02:30——04:30 计算机应用与编程 C语言程序设计谭浩强重点笔记 2 / 51 Windows用户管理指南、AD配置指南、网络专业指南、Windows即学即会教程 Windows下32位汇编语言程序设计、C#编程
晚上: 05:30——08:00 锻炼、晚餐 08:00——09:00 辅导 09:00——11:00 专业基础 2小时 大学数学、大学物理、电机与拖动、电力电子技术、通信技术
11:30 休息 C语言程序设计谭浩强重点笔记
3 / 51 目 录 第一章 C语言概述 ................................................................... - 1 - 1.1 C程序结构特点16 ............................................................... - 1 - 1.2 C程序上机步骤17 .................................................................. - 2 - 第二章 程序的灵魂——算法23 ............................................... - 2 - 2.1 算法24 ...................................................................................... - 2 - 2.2 算法的三种基本结构 ............................................................... - 3 - 2.3 结构化程序设计方法42 ......................................................... - 3 - 第三章 数据类型 运算符与表达式48 ....................................... - 3 - 3.1 C语言的基本元素48 .............................................................. - 3 - 3.2 C的数据类型48 ...................................................................... - 4 - 3.3 常量与变量48 ......................................................................... - 4 - 3.4 基本类型 ................................................................................... - 5 - 3.5 变量63 ...................................................................................... - 6 - 3.6 不同类型数据间的混合运算 .................................................. - 8 - 3.7 函数的调用过程(补充) ...................................................... - 9 - 第四章 最简单的C程序设计——顺序程序设计77 .................. - 9 - 4.1 字符数据的输入输出 ............................................................... - 9 - 第五章 选择结构的程序设计97 ............................................. - 10 - 第六章 循环结构程序设计 ..................................................... - 10 - 6.1 语句标号 ................................................................................. - 10 - 6.2 break语句和continue语句 .............................................. - 10 - C语言程序设计谭浩强重点笔记 4 / 51 第七章 数组132 ................................................................... - 11 - 7.1 构造类型 ................................................................................. - 11 - 7.2 数组133 ................................................................................. - 11 - 7.3 二维数组 ................................................................................. - 12 - 7.4 字符串——字符数组 ............................................................ - 12 - 7.5 字符串处理函数 #include ........................... - 12 - 第八章 函数153 ................................................................... - 14 - 8.1 c程序的结构154 ................................................................... - 14 - 8.2 函数调用参数传递 ................................................................. - 14 - 8.3 函数变量的作用范围 ............................................................. - 15 - 8.4 变量的存储类别 ..................................................................... - 15 - 第九章 预处理命令197 ........................................................ - 17 - 9.1 预编译命令作用 ..................................................................... - 17 - 第十章 指针211 ................................................................... - 19 - 10.1 变量的访问方式 .................................................................. - 19 - 10.2 指针变量 ............................................................................... - 19 - 第十一章 结构体270 ............................................................ - 21 - 11.1 结构体270 ........................................................................... - 21 - 11.2 声明结构体类型变量的方法271 ..................................... - 21 - 11.3 结构体变量引用273 .......................................................... - 21 - 11.4 结构体变量初始化 .............................................................. - 22 - 11.5 结构体数组275 .................................................................. - 22 - 11.6 结构体类型指针 .................................................................. - 22 -