C程序设计(第四版)谭浩强著-学习笔记

文章为博主拜读谭老师《C程序设计(第四版)》后所做学习笔记,大约耗时10天左右,整理成文档以便自己日后复习回顾,现将其贴出,供各位参考批评指点,如有不当之处请指教(第一次在此发博客,很多地方不甚明白,请各位指点!因自己喜欢讲知识点总结成表格方便记忆比较,不太会用此编辑器,故截图贴出。)。
1.加油
2.程序组成
|在这里插入图片描述

3.数据类型
3.1 数据类型
在这里插入图片描述
3.2 常量类型
在这里插入图片描述
3.3 转义字符
在这里插入图片描述
3.4 格式字符/修饰符
见6.3(1)。

4.运算
4.1优先级
(1)i++与++i不同;
(2)附录D;
4.2不同类型混合运算
float/double>int>char
(1)双目运算有一个为float/double,则结果为double,必有小数点;
(2)char数据与int整型运算,结果为整型;
(3)a=5; a/2:a为整型则结果为2;a为double则结果为2.5;
在这里插入图片描述在这里插入图片描述
4.3强制转换类型
(类型名)(表达式)
eg: %要求两侧均为整型,float x; x%3; //不合法,改为int(x)%3

5.头文件
5.1stdio.h
standard input&output. header标准输入和输出.头文件
#include<stdio.h> //标准方式
#include”stadio.h” //先当前目录再标准方式
5.2math.h
5.3stdlib.h
5.4string.h

  1. C语句

6.1 表达式/语句
在这里插入图片描述
6.2赋值语句
在这里插入图片描述
6.3输入输出
(1)数据输出
6.3输入输出
(1)数据输出
在这里插入图片描述
在这里插入图片描述
(2)数据输入
在这里插入图片描述
(3)字符输出

putchar( )
说明①put character②将ASCII码赋值给字符变量,范围0-127

eg: char a=’B’,b=79 //定义
putchar(a); //常规操作
putchar(b); //ASCII码79对应字符
putchar(‘\131’) //ASCII码131对应字符
putchar(‘\n’) //转义字符换行
输出:BOY
(4)字符输入

getchar()
说明①get character②全部输完后按Enter结束③putchar(getchar());④printf(“c%”,getchar());

#include<stdio.h>
int main()
{
char a,b;
a=getchar(); //输入转换为字符常量
b=a-32; //小写字母转大写字母
putchar(b); //常规输出1
putchar(’\n’); //换行
printf("%c",b); //常规输出2
putchar(’\n’); //换行
return 0;
}
输入:a,输出:A、A
在这里插入图片描述
在这里插入图片描述

6.4 选择结构
(1)if/else
双分支
在这里插入图片描述
(2)?/:
在这里插入图片描述
(3)switch/case
多分支
在这里插入图片描述
①表达式与常量比较,若相同则一直执行下去,直到遇到break跳出此循环
②多case共用一组语句:
case ‘A’:
case (B): printf(“>60\n”); break;

6.5 循环结构
(1)while/do,while/for
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(2)break/continue
改变循环状态
在这里插入图片描述

7.数组
7.1 一维数组
在这里插入图片描述
7.2 二维数组(矩阵)
在这里插入图片描述
7.3 字符数组
字符型数据以字符的ASCII码存储,属于整数形式,一般占用一个字节。
在这里插入图片描述
7.4 字符串处理函数
待输入字符数组/连接数组1/复制数组1,必须有元素个数防止过小。
在这里插入图片描述

8.函数
在这里插入图片描述
8.1 定义/声明
在这里插入图片描述
8.2调用
在这里插入图片描述
8.3 数组参数
在这里插入图片描述
8.4 局部变量/全局变量
在这里插入图片描述
为多个源文件共用外部变量,减少“外部变量声明”,可将所有“外部变量声明”集中在一个新建new.h文件中,然后调用#include<new.h>即可。

9.指针
9.1 指针变量
指针:&,地址,&x表示变量x的地址;
指针变量:存放变量x的地址(指针)的变量a,即地址变量,值为地址;
指向:*,*p表示指针变量p所指向的变量x,即x的值;
在这里插入图片描述
9.2 数组指针
在这里插入图片描述
9.3 二维数组指针
在这里插入图片描述
在这里插入图片描述
9.4 字符串指针
定义+指向首地址+引用(p1++,p1!=’\0’)
在这里插入图片描述
在这里插入图片描述
9.5 函数指针

在这里插入图片描述
在这里插入图片描述
9.6 指针型函数
在这里插入图片描述
9.7 指针型数组/指针
在这里插入图片描述

10.自定义数据类型
10.1 结构体
(1)结构体变量
在这里插入图片描述
(2)结构体数组
在这里插入图片描述
(3)结构体指针
在这里插入图片描述
10.2 链表
(1)含义
文中有的图片来自百度。
链表:头指针(结点1指针)+结点1(数据+结点2指针)+结点2(数据+结点3指针)…+表尾(空指针NULL)
头文件中存放一个地址,指向一个元素即结点,结点包含用户所需数据和下一结点地址(一般称为next)。。。最后一结点不指向其他元素。
(2)具体分析
利用结构体变量建立动态链表:
#include “stdio.h”
#include<stdlib.h>
#define Len sizeof(struct Student) //结构体长度即所占空间大小
int n;
struct Student //结构体–链表定义
{ long num; //定义结构体的数据包含学生学号、成绩
float score;
struct Student * next; }; //next是指针变量,指向下一结构体变量即结点

struct Student * creat(void) //定义函数,返回一指向链表头的指针
{ struct Student * head; //头指针
struct Student * p1,*p2; //结点1.2的地址指针
n=0;
p1=p2=(struct Student *) malloc(Len); //开辟新单元并将地址赋值p1/p2,(struct Student *) 是将malloc返回的指针转换成struct Student类型指针,也可省略不写,因为编译系统能实现隐式类型转换
scanf(“%ld,%f,&p1->num,&p1->score”); //输入第一个学生学号、成绩
head=NULL; //初始化表头
while(p1->num!=0) //如果有输入
{
n=n+1;
if(n==1) head=p1; //第一次输入则把首次开辟空间的地址给表头
else p2->next=p1; //不是第一次则把最新开辟空间地址给p2所指向的结点内指针,如结点1内的结点2指针
p2=p1; //然后将p2指针指向最新开辟空间,如结点1
p1=(struct Student *) malloc(Len); //再开辟新单元,如结点2
scanf(“%ld,%f,&p1->num,&p1->score”); //输入第2个学生学号、成绩
}
p2->next=NULL; //最后一个结点内指针应为空
return(head); //返回此链表首地址
}

int main()
{
struct Student *pt;
pt=creat(); //函数返回链表第一个节点的地址
if(pt!=NULL)
do
{printf(“%ld %f\n”,pt->num,pt->score); //输出结点数据
pt=pt->next;} //指向下一结点
while(p!=NULL);
}
10.3 共用体
在这里插入图片描述
10.4 typedef声明新类型
(1)格式
按定义变量的方式,把变量名换上新类型名,并且在最前面加上“typedef”,就声明了新类型名代表原来的类型!
①命名一个简单地类型名代替复杂的类型表达方法:
typedef struct{int num;char name[20];float score;} Data;
Data birthday; //定义结构体变量birthday
Data *p; //定义结构体指针变量p,指向此结构体类型数据
②数组:
typedef int Num[10]; //声明Num为整型数组类型名
Num a; //定义a为整形数组名,它有100个元素
③指针类型:
typedef char * String; //声明String为字符指针类型
String p,s[10]; /定义p为字符指针变量,s为字符指针数组
(2)define/typedef
#define Count int //只是简单地字符串替换
typedef int Count; //有;
(3)新头文件
当不同源文件中用到同一类型数据(尤其是想数组、指针、结构体、共用体等)时,常用typedef声明一些数据类型,可以把所有的typedef名称声明单独放在一个头文件.h中,然后再需要用到的文件中用#include指令把它们包含到文件中。
extern:为多个源文件共用外部变量,减少“外部变量声明”,可将所有“外部变量声明”集中在一个新建new.h文件中,然后调用#include<new.h>即可。

Yasuoo
关注 关注
  • 125
    点赞
  • 710
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
C语言程序设计_谭浩强
02-11
C语言程序设计是一门很基础的课程,谭浩强编写的C语言程序设计是较经典的一本书,有兴趣的同学可以学习一下
C语言程序设计第四版谭浩强 高清晰版.PDF
02-11
C语言程序设计第四版谭浩强 高清晰版.PDF 。
基于alpha-beta剪枝的MaxMin算法的中国象棋AI
最新发布
qq_40725880的博客
03-25 159
【代码】基于alpha-beta剪枝的MaxMin算法的中国象棋AI。
C语言程序设计第四版谭浩强ppt课件.ppt
11-16
C语言程序设计第四版谭浩强ppt课件.ppt
C++程序设计(谭浩强完整版)
09-22
C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。
C程序设计(谭浩强)第三版.rar
05-24
C程序设计(谭浩强)第三版,包括ppt和教材源码。完整,入门c的第一本教材
C语言程序设计》课后习题答案(第四版)谭浩强.docx
05-12
C语言程序设计》课后习题答案(第四版)谭浩强
C程序设计第四版)》学习笔记
01-08 3689
参考教材:谭浩强的《C程序设计第四版)》 序——对好书的定义:(20130106) 1、定位准确。要明确读者对象,要有的放矢,不要不问对象,提笔就写。 2、内容先进。要能反映计算机科学技术的新成果、新趋势。 3、取舍合理。要做到“该有的有,不该有的没有”,不要包罗万象、贪多求全,不应把教材写成手册。 4、体系的当。要针对非计算机专业学生的特点,精心设计教材体系,不仅
C程序设计(第五版)谭浩强 学习笔记—重点及易错点(1-5章)
lwbCUMT的博客
09-07 2万+
第一章 程序设计C语言 目录 第一章 程序设计C语言 一、计算机语言的发展 二、C语言的注释方法 三、程序设计任务 第二章 算法—程序的灵魂 一、程序的组成 二、结构化程序设计的方法 第三章 最简单的C程序设计—顺序程序设计 一、数据类型 二、运算符与表达式 三、数据的输入和输出 第四章 选择结构与条件判断 第五章 循环结构程序设计 第六章 利用数组处理批量数据 ...
C语言程序设计第五版 谭浩强 第五版课后答案
热门推荐
月已满西楼的博客
06-16 29万+
谭浩强 C语言程序设计第五版 第4章课后答案 3.求两个正整数m和n,求其最大公约数和最小公倍数。 #include<stdio.h> void main() { int m, n, t, i, a = 1; scanf("%d%d", &m, &n); if (m < n) { t = m; m = n; n = t; } for (i ...
C程序设计(第五版)谭浩强 学习笔记—重点及易错点(第7章-函数)
lwbCUMT的博客
09-10 3804
用函数实现模块化程序设计 目录 用函数实现模块化程序设计 一、定义函数 二、调用函数 三、函数的递归调用 四、数组作为函数参数 五、局部变量和全局变量 六、局部变量的存储类别 七、全局变量的存储类别 八、内部函数和外部函数 一、定义函数 定义函数应包括以下几个内容: (1) 指定函数的名字,以便以后按名调用。 (2) 指定函数的类型,即函数返回值的类型。 (3) 指定...
C程序设计第四版谭浩强.rar
09-13
C程序设计第四版谭浩强 C程序设计第四版谭浩强 C程序设计第四版谭浩强.rar
C语言程序设计谭浩强(第四版)期末复习试题重点.pdf
05-25
C语言程序设计谭浩强(第四版)期末复习试题重点.pdf
C程序设计(第四版)谭浩强
12-22
谭浩强c程序设计,需要的可以看看,比较基础,适合初学
谭浩强C程序设计.txt
11-16
c语言程序设计c语言程序设计c语言程序设计c语言程序设计c语言程序设计c语言程序设计c语言程序设计c语言程序设计c语言程序设计c语言程序设计c语言程序设计c语言程序设计
[C语言程序设计(第四版)].谭浩强.高清_C语言程序设计第四版_
10-02
学习编程很好的资料,通俗易懂,很适合初学者
C语言程序设计 谭浩强 第4版》:利用文件保存数据
秋玄的博客
11-17 424
C语言程序设计 谭浩强 第4版》第十章:利用文件保存数据
c语言程序设计谭浩强第四版)课后习题答案
weixin_68163977的博客
12-21 603
printf("今天是%d年%d月%d日,今天是今年的第%d天\n",s.year,s.month,s.date,sum);//定义一个结构体,结构体的名字是Date,成员列表包括year,month,date。9.1定义一个结构体变量(包括年月日)。计算该日在本年中是第几天?//是闰年时候返回1。printf("请输入年月日(以逗号分隔):");//第一一个函数判断该年是不是闰年。//不是函数,不要忘记加分号。
C语言程序设计 谭浩强 第4版》:选择结果程序设计
秋玄的博客
11-14 156
C语言程序设计 谭浩强 第4版》第四章:选择结果程序设计
谭浩强c语言程序设计第四版pdf
08-18
很抱歉,我无法提供你所需要的谭浩强C语言程序设计第四版PDF的信息。请你自行搜索相关网站或图书馆资源以获取该PDF文件。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [C语言程序设计第四版谭浩强 高清晰版.PDF](https://download.csdn.net/download/u013087481/10952712)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [[C程序设计(第四版)].谭浩强.扫描版pdf](https://blog.csdn.net/weixin_30333885/article/details/95759111)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • MATLAB/simulink控制系统之传递函数模型(0基础) 41761
  • MATLAB/simulink控制系统之状态空间模型(0基础) 40132
  • MATLAB/simulink控制系统之各种模型创建/总结(0基础) 22021
  • C程序设计(第四版)谭浩强著-学习笔记 20826
  • .c与.h与main.c:源文件、头文件、主函数文件 16170

分类专栏

  • STM32 5篇
  • MATLAB 12篇
  • Python 9篇

最新评论

  • MATLAB/simulink控制系统之传递函数模型(0基础)

    Present_Best: 谢谢分享。请问在Simulink中怎么建立微分环节(如G=s^2+s+1)的传递函数?传递函数模块提示:分母的阶数必须大于或等于分子的阶数,导致无法建立微分环节的传递函数。

  • Simulink入门操作(0基础)

    不爱写代码的cpw: 博主能分析一下结果吗

  • MATLAB/simulink控制系统之传递函数模型(0基础)

    dinglujie: 干货多,好评

  • IIC_Send_Byte(0XA0+((WriteAddr/256)...1))(EEPROM/AT24CXX的I2C通信)

    yywzyb: 片寻址的时候就把存储单元地址加进去了?

  • C程序设计(第四版)谭浩强著-学习笔记

    肥肉啊肥肉 你在哪: 有表格可编辑版吗

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • 【0基础Python学习笔记08】-基础知识-LINUX系统进程/内存监控
  • 【0基础Python学习笔记07】-基础知识-LINUX系统初始化/加密/破解
  • 【0基础Python学习笔记06】-基础知识-LINUX文件合并/归档/压缩
2019年26篇
2018年1篇

目录

目录

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

哆哆女性网yy充值外贸网站制作专业袁姓男孩起名鼠宝宝邳州哪里起名字好北京小型网站建设妮字起名按生辰八字测名字打分看周易樱桃庄园起名大全包装设计招聘信息网站莘莘学子的读音shenshen还是xinxin哪里有学网站建设的h5游戏设计网站网站优化笔记恐怖故事在线听网站公司网站制作郑氏起名少女名字大全棋牌网站怎么制作韩栋主演的电视剧高起本怎样报名犯罪现场调查第七季我父母姓氏合起来起名大师 周易小孩起名字测试题周易公司取名字软件周易中华书局pdfqq起名字大全男孩扶沟县城关镇湖南建设网站用曹姓起名女企业内部报刊起名淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻不负春光新的一天从800个哈欠开始有个姐真把千机伞做出来了国产伟哥去年销售近13亿充个话费竟沦为间接洗钱工具重庆警方辟谣“男子杀人焚尸”男子给前妻转账 现任妻子起诉要回春分繁花正当时呼北高速交通事故已致14人死亡杨洋拄拐现身医院月嫂回应掌掴婴儿是在赶虫子男孩疑遭霸凌 家长讨说法被踢出群因自嘲式简历走红的教授更新简介网友建议重庆地铁不准乘客携带菜筐清明节放假3天调休1天郑州一火锅店爆改成麻辣烫店19岁小伙救下5人后溺亡 多方发声两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#青海通报栏杆断裂小学生跌落住进ICU代拍被何赛飞拿着魔杖追着打315晚会后胖东来又人满为患了当地回应沈阳致3死车祸车主疑毒驾武汉大学樱花即将进入盛花期张立群任西安交通大学校长为江西彩礼“减负”的“试婚人”网友洛杉矶偶遇贾玲倪萍分享减重40斤方法男孩8年未见母亲被告知被遗忘小米汽车超级工厂正式揭幕周杰伦一审败诉网易特朗普谈“凯特王妃P图照”考生莫言也上北大硕士复试名单了妈妈回应孩子在校撞护栏坠楼恒大被罚41.75亿到底怎么缴男子持台球杆殴打2名女店员被抓校方回应护栏损坏小学生课间坠楼外国人感慨凌晨的中国很安全火箭最近9战8胜1负王树国3次鞠躬告别西交大师生房客欠租失踪 房东直发愁萧美琴窜访捷克 外交部回应山西省委原副书记商黎光被逮捕阿根廷将发行1万与2万面值的纸币英国王室又一合照被质疑P图男子被猫抓伤后确诊“猫抓病”

哆哆女性网 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化