再论谭浩强《C语言程序设计》】的更多相关文章

挂羊头卖狗肉蓄意欺骗读者——谭浩强<C程序设计(第四版)>中所谓的“按照C99”(二) 在<谭C>p4:“本书的叙述以C99标准为依据”,下面从C89到C99的主要变化方面来看看是不是这样. <谭C>(前言)p12: ①  数据类型介绍中,增加了C99扩充的双长整型(long long int).复数浮点型(float complex,double complex ,long long complex).布尔型(bool)等,使读者有所了解. 实际上,C99不但增加了l…
一些同学学不好C语言,把罪责归于“因为教材是谭浩强写的”实在是很滑稽. 谭浩强老先生 1934 年生,现在已经 80 岁了.他 1958 年从清华大学自动控制系毕业,那年 24 岁.要知道 C 语言那时候都还没诞生,计算机都是大型机,原始又笨重,当时谭浩强学自动化控制这一专业可以说是比较尖端的.光从这一点上,就可以说,他是同时代人里非常非常聪明的那一类人. 现在许多人批评谭浩强的<C 程序设计>的一个重要理由是“不符合C99标准”.但我们要知道 Dennis M. Ritchie 在 1972…
1.什么是数据结构? 数据结构,就是我们计算机内部的运算,编程语言的基础工作模式吧,个人总结的 = = !! 数据:说简单一点,就是计算机二进制机器码,然后通过一些复杂的操作,变为复杂的语言. 数据元素:数据有集合和元素的区别,集合里的个体就是数据元素,相对应的就是数据结构. 线性表: 说简单一点,就是线性存储结构,每个表中有大量的元素,这些元素在物理位置中都是连接起来的. 这些元素有直接前驱和直接后继.线性表的位置是相邻的. 比如,位置1,位置2,位置3......位置N. 还有一点,线性表的…
//C代码简直难看到家,求大神知道如何写出复用性好的,维护性强的代码... //格式错误了好几次,最后发现是are和数字之间多了个空格......本来一直以为是最后的换行多了,费劲搞掉了. #include<stdio.h> #include<string.h> int main() { int n,temp; scanf("%d",&n); for(int i=1;i<=n;i++) { int sum=0; //sum renew each t…
//迭代公式不是很理解,写出来算了.. #include <stdio.h> #include <math.h> int main() { double x0,x1; int a; scanf("%d",&a); x0=a/2; x1=(x0+a/x0)/2; while(fabs(x0-x1)>=1e-5) { x0=x1; x1=(x0+a/x0)/2; } printf("%.3lf",x1); }…
之前没做对的一道题,今天集中清理一下. //------------------- 很水的题,主要是 %.2lf 不能四舍五入,需要仅保留两位小数,用了丑陋的强制类型转换... //------------------ #include<stdio.h> #define PI 3.14 int main() { double r,h; scanf("%lf %lf",&r,&h); printf("C1=%.2lf\n",((int)(P…
#include<stdio.h> #include<stdlib.h> #define N sizeof(link) typedef struct stu { struct stu *next; int date; }link; void print(link*head)/*打印链表数据*/ { link *p; p=head->next; if(p) do { printf("%d\t",p->date); p=p->next; }whil…
c++面向对象程序设计 谭浩强 答案 第一章 目录: c++面向对象程序设计 谭浩强 答案 第一章 c++面向对象程序设计 谭浩强 答案 第二章 c++面向对象程序设计 谭浩强 答案 第三章 c++面向对象程序设计 谭浩强 答案 第四章 c++面向对象程序设计 谭浩强 答案 第五章 第1章  C++ 的初步知识 1.请根据你的了解,叙述C++ 的特点.C++ 对C有哪些发展? [解] 略. 2.一个C++的程序是由哪几部分构成的?其中的每一部分起什么作用? [解] 略. 3.从拿到一个任务到得到…
不记得具体从什么时候开始(反正很多年前的事了)的,不少人都陆续批评过谭浩强的<C语言程序设计>,各方面都有扒过.例如,与实践脱节,很多例子在不同编译器上运行是错误的,代码风格糟糕等等方面.这里首先给出本人对<C语言程序设计>的看法: 在国产C语言相关的教材中,<C语言程序设计>应该算是少有的.还算不错的教材. 有些人就会想:你是不是收钱了?给<C语言程序设计>打广告吗?错!<C语言程序设计>出版了这么多年,还用着我这个无名之辈去宣传吗?咱又不是比…
前段时间有机会去面试了一次,真是备受“打击”(其实是启发),总的来说就是让我意识到了学习工具和学习技术的区别.所以最近在看一些数据结构和算法,操作系统,python中的并行编程与异步编程等东西.然而数据结构那些本来是在看python下的,但是python实在包装了太多的东西而大多的经典教材都是基于C语言的(自然是这样,C语言能够操作直接访问物理地址,能够进行位(bit)操作的特点就决定了.)所以就决定重新学一遍C语言,先重温下谭浩强老师的书籍记录下要点: 文档PDF版:http://pan.ba…
大家好,这篇文章分享了C程序设计(谭浩强)第五版课后题答案,所有程序已经测试能够正常运行,如果小伙伴发现有错误的的地方,欢迎留言告诉我,我会及时改正!感谢大家的观看!!! 1.什么是程序?什么是程序设计? 程序:就是一组能识别和执行的指令,每一条指令使计算机执行特定的操作 程序设计:是指从确定任务到得到结果.写出文档的全过程 2.为什么需要计算机语言?高级语言有哪些特点? 为什么需要计算机语言:计算机语言解决了人和计算机交流的语言问题,使得计算机和人都能识别 高级语言有哪些特点: 1.高级语言的…
c++面向对象程序设计课后题答案 谭浩强 第四章 1: #include <iostream> using namespace std; class Complex {public: Complex(){real=0;imag=0;} Complex(double r,double i){real=r;imag=i;} double get_real(); double get_imag(); void display(); private: double real; double imag;…
2: #include <iostream> using namespace std; class Date {public: Date(int,int,int); Date(int,int); Date(int); Date(); void display(); private: int month; int day; int year; }; Date::Date(int m,int d,int y):month(m),day(d),year(y) { } Date::Date(int m…
类体内定义成员函数 #include <iostream> using namespace std; class Time { public: void set_time(); void show_time(); private: //成员改为公用的 int hour; int minute; int sec; }; void Time::set_time() //在main函数之前定义 { cin >> hour; cin >> minute; cin >>…
对指针的概念清晰的话,做这种题只要耐心就行,然而看这种题就烦(被同学吐槽为谭浩强的阴影……草泥马这种C风格题有意义吗?出题人脑子被门夹了?而且C++11都不支持字面值字符串直接转换成char*了.好吧,就算要大骂一通出题人,该做还是做.) 分析三行初始化代码: 1.c[0]指向"HELLO",c[1]指向"NEW",c[2]指向"WORLD",c[3]指向"SAYHI". cp[0]=c+3,即cp[0]=&c[3],…
C语言程序小练习 1.用C语言设计程序算出1-1/2+1/3-14+1/5...+1/99-1/100的值 #include<stdio.h> int main() { ; double a=1.0,b=2.0,sum; ) { i=-i; sum=i/b; a=a+sum; b=b+; } printf("%f\n",a); ; } 2.用C语言设计程序算出1x2x3x4x5的值 #include<stdio.h> int main() { int t,i;…
指针是什么? 一个 变量的地址称为该变量的"指针"[将地址形象化的称为“指针”].(指针是什么百度百科) 注意区分储存单元的地址和内容这两个概念的区别. 直接访问:直接按变量名进行访问,直接通过变量名访问变量内容 间接访问:将变量a的地址存放到另一个变量b中,然后通过变量b找到变量a的地址,从而访问变量a的内容. 指针变量 一个变量a专门用来存放另一个变量b的地址(即指针),则称变量a为指针变量. 指针变量就是地址变量,用来存放地址,指针变量的值就是地址(即指针). 注意区分指针与指针…
//复习过程中,纯手打,持续更新,觉得好就点个赞吧. 第一章:程序设计和C语言 习题 1.什么是程序?什么是程序设计? 答:程序就是一组计算机能识别和执行的指令.程序设计是指从确定任务到得到结果,写出文档的全过程.(一般经历6个阶段:①问题分析;②设计算法;③编写程序;④对源程序进行编辑,编译和连接;⑤运行程序,分析结果;⑥编写程序文档;) 2.为什么需要计算机语言?高级语言的特点? 答:如同和人类交流一样,和哪个国家的人交流就需要哪个国家的语言来作为桥梁,想要和计算机进行交流沟通也就需要计算机…
注:个人针对于课本的易错点进行了相关的整理.整理的不专业,多多见谅. C语言中的易出错的点 这个笔记综合了 0. 常量&变量 常量 整型常量 -345,1000,0 实型常量 1)   十进制小数形式,-123.456 2)   指数形式-10.34E-12 字符常量 普通字符 一个字符,单撇号’ a’’Z’’?’’#’ 转义字符 表格0.1转移字符表 字符串常量 “123”   “boy” 符号常量 #define  PI  3.1415926 #define  PRINCE  40 //注意…
#include <iostream> using namespace std; int main() { int a,b,c; cout<<"请输入三个整数类型的数字:" <<endl; cin>>a>>b>>c; void sort(int x,int y,int z); sort(a,b,c);//abc有具体值,称为实际参数 ; } void sort(int x,int y,int z)//用于接收实际参…
#include <iostream> using namespace std; int main() { int a,b,c; int f(int x,int y,int z);//这是函数的声明 //cin console控制台 cout<<"请输入三个整数类型的数字:" <<endl; cin>>a>>b>>c; c=f(a,b,c);//abc有具体值,称为实际参数 cout<<c<<…
1: #include <iostream> using namespace std; class Student {public: void get_value() {cin>>num>>name>>sex;} void display( ) {cout<<"num: "<<num<<endl; cout<<"name: "<<name<<end…
#include<stdio.h> #include<stdlib.h> #define N sizeof(link) typedef struct lin { struct lin *next; int num; ]; char sex; int age; }link; void print(link *head) { link *p; p=head; printf("打印数据如下:\n"); while(p) { printf("%d\t%s\t%…
第一章 #include <iostream>using namespace std; int main(){ int a,b,sum; sum=a+b; cin>>a>>b; cout<<"a+b="<<sum<<endl; return 0;} //原因sum=a+b;此语句位置不对,变量a,b在没有赋值时就被相加,超出int最大值范围.只能得到最大值65538 #include <iostream>…
运行结果: * *** ***** ******* ***** *** * Press any key to continue #include<stdio.h> int main() { ; ;i<=;i++) { ) { k--; ;j<=k;j++)printf(" "); ;j<*i;j++)printf("*"); printf("\n"); } else { k++; ;j<=k;j++)print…
第一次教授C语言程序设计课程,相比计算机组成原理.arm体系结构等偏向硬件的课程,C的教学方式要灵活一些.计算机组成原理课程偏向理论,哈尔滨工业大学的计算机组成原理是国家精品课,增加了mooc+spoc的方式,但主要还是课堂讲解.arm体系结构也是硬件课程,之前的经验是学生都不太爱学,抽象,下学期预备改革的方式是加入汇编编程,或者使用开发板.这学期C语言程序设计课程教授课程中做了一些尝试: 博客 首先我很喜欢博客,喜欢将所学所讲写下来的踏实感.在我自己假期备课C语言课程的时候尝试了3种方法: 看…
天下莫柔弱于水,而攻坚强者莫之能胜,以其无以易之也.弱之胜强,柔之胜刚,天下莫不知行,莫能行. —老子 我近来每天都在坚持读书,所以我一直沉浸于古人的智慧中无法自拔.所以如果我这篇博文被你有幸看到,那上面的话便赠予君子了. 言归正传,这篇博文是C语言再学习系列的第一篇.虽然我已经学习了C语言两年多之久,但是我觉得自己并没有学明白C语言,所以我利用寒假时间再次学习了一遍,并且我将我学习到的东西记录下来.学习的过程虽然苦涩寂寞,但是自己能看到自己一步一步对C语言有新的认识也是值得了. 此篇博文主题是…
1.数字排列 2.奖金分配问题 3.已知条件求解整数 4.输入日期判断第几天 5.输入整数进行排序 6.用*号显示字母C的图案 7.显示特殊图案 8.打印九九口诀 9.输出国际象棋棋盘 10.打印楼梯并按条件打印笑脸 11.经典兔子问题 12.判断素数 13.水仙花数问题 14.正整数分解质因数 15.学习成绩划分 16.正整数求其最大公约数和最小公倍数 17.统计英文字母/空格/数字个数 18.求s=a+aa+aaa+aa...a的值 19.求解"完数" 20.球体自由落下物理问题…
本篇开始写我个人觉得谭浩强老师的<C语言程序设计(第四版)>中之前没有认识到,或者忘了的知识.因为本科学过,所以有些简单的东西就没有放进来了,所以可能并不是太全面. 第一章程序设计与语言 1.计算机语言发展从机器语言->汇编语言->高级语言.高级语言的发展从非结构化语言->结构化语言(C语言)->面向对象的语言( C++,Java) 2.C语言由贝尔实验室设计,从BCPL->B语言发展而来,现行标准是C99 3.C语言允许直接访问物理地址,可直接对硬件进行操作 4…
迷阳迷阳,无伤吾行.无行郗曲,无伤吾足.—庄子 C语言词汇: 标识符 在程序中的变量名.函数名.标号等等成为标识符.其中标识符相在C中只能是字母A~Z,a~z,数字0~9,下划线(_)组成的字符串,并且开头必须是字母或者下划线.例如a,BOOK_1等等. 关键字 它是指由C语言中具有特定意义的字符串,也称作保留字.有以下几类,类型说明符,例如int,double等.语句定义符 例如if else.预处理命令字 例如include. 运算符 它是指加减乘除之类的. 分隔符 通常有逗号或者空格.逗号…