c语言专业书的读书报告,C语言读书报告.doc

C语言读书报告

C语言读书报告

C语言在本科一年级时就已经学过,当时学习后主要是以编写简单的循环和判断等结构化程序为目标,用C来解决一个数学上的一个简单问题。在后面C的精华,指针,只是稍作了解,更不用说复杂的文件和结构体等操作。这次重读,也是以指针、文件、内存、结构,这四个方面为主。使用的是《C PRIMER PLUS》。

C语言是面向过程的编程语言,有以下几个优点:

1、设计特性

它的设计使得用户可以自然地采用自顶向下的规划、结构化的编程,以及模块化设计。这种做法使得编写出的程序更加可靠、更易懂。

2、高效性

3、可移植性

各种操作系统都有其自己的C编译器,这使得C的移植比其他语言更加容易。

4、强大的功能和灵活性

其他很多语言编译器,如FORTRAN、Perl、Python等都是用C来编写的。

目录

C语言读书报告1

一 数组与指针2

1.1 数组2

1.2 指针2

1.3 指针与一维数组3

1.4 指针与多维数组3

1.5 指针数组与数组指针3

1.6 指针变量和指针常量3

二 字符与字符串4

2.1 单字符的输入/输出4

2.2 字符串的定义5

2.3 字符串输入 scanf() gets() fgets()5

2.4 字符串输出 puts() fputs() printf()5

2.5 自定义输出函数6

2.6 sprintf()函数6

2.7 把字符串转换为数字7

三 文件操作8

3.1 什么是文件8

3.2 文件的打开关闭8

3.3 文件IO9

3.4 格式化读写函数fprintf()与fscanf()10

3.5 字符串读写函数fgets()和fputs()10

3.6 数据块读写函数fwrite()与fread()10

3.7 随机存取11

四 内存管理12

4.1 内存分配方式12

4.2 分配内存:malloc()和free()12

一 数组与指针

1.1 数组

一维数组像一个指定大小的向量,说像,是因为放在数组中的数据按顺序排成一排,每一个下标对应一个数值(整形、浮点型、字符型),不像的地方在于向量大小可以伸缩,C++中的vector就是这样一个可以随意伸缩的向量。

关于一个初始化的问题。数组可以在声明时进行初始化,初始化后大小固定,可以在[]中指定数组大小,在声明时初始化,如果初始化元素没有达到指定的大小,后面不足的默认为0。如果声明时不指定大小,即[]中的值缺省,则必须在声明时进行初始化,编译器会根据列表中的数值数目来确定数组大小。

赋值问题。如果要对数组中的所以数进行赋值或打印,那么只能采用循环赋值的方式,通常采用以下方式

Int day[]={31,32,33,34,23,30,32,12,14};

Int index;

For(index =0;index

Printf(“num[%d]:%d”,day[index]);

控制语句使用sizeof,让计算机来计算数组大小,避免出错。

二维数组。int array[ROW][VOL],内部数据排放可以理解成一个矩阵,用某行某列指定数组中的一个元素。也可以将其理解成多个一维数组的排放。与一维数组类似,只是初始化时每一行元素用{}圈起,当然,{}中的元素也可以小于列大小,这样其他的就默认为0,二维数组的赋值取值往往使用两个for循环。

1.2 指针

& 地址运算符 通过这个运算符得到的是变量在程序虚拟空间的地址

后跟一个变量名,&给出该变量的地址

* 间接运算符(或叫取值运算符) 用来获取地址中存放的数值

当后面跟一个指针名或地址时,*给出存储在被指向地址中的数值

Int a = 3;

Int *b = &a;

上例中a是一个变量,&a取得a的地址,在这个地址里放着a的值,将这个地址赋给指针b,这时指针b就指向a的地址,上面是指针的初始化。

那么什么是指针呢?指针是一个其数值为地址的变量。

1.3 指针与一维数组

数组名就是一个地址,这个地址存放的是数组的第一个元素,如下

Int arr[5] = {1,2,3,4,5};

Arr = arr[0];

Int *ptr = arr;

1.4 指针与多维数组

Int zippo[4][2];

Zippo = zippo[0] = zippo[0][0]

数组名Zippo同时也是数组首地址,其中zippo[0]表示包含两个int的数组,所以zippo也是包含两个int的数组的地址

Zippo第1个大小为2个int的元素的地址Zippo+2第3个大小为2个int的元素的地址*(zippo+2)第3个元

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值