c语言

C语言的总结

(一) 软件开发概述

(一)   1.软件:软件是为完成某些特定功能而编制的一到多个程序文件的集合。

(一)   程序语言:程序语言是软件工程师用来编写程序。制作软件的工具,是规则与符号的集合,是与计算机交流的语言。

(一)   2.程序语言的发展

(一)   计算机语言:从第一代计算机到现代的计算机,虽然其制造工艺有了巨大的变化,但是它始终是采用电子元件制造出来的。

(一)   汇编语言:机器语言和汇编语言都是围绕特定的计算机或计算机族而设计的,是面向计算机的语言。

(一)   高级语言:高级语言总是尽量接近“高级动物”的自然语言和思维方式。

(一)  3.软件开发的基本方法与步骤

(一)   1.分析问题 ,确立数据模型2.确定数据结构和算法 3. 编制程序 4.调试程序

(一)4.任何解决问题的过程都是由一定的步骤组成的,解决问题确定的方法和有限的步骤称作算法。

(一)5.算法具有以下基本特征:有穷性、确定性、有效性、有零个或多个输入、有一个或多个输出。

(一)6.所谓流程图,就是对给定算法的一种图形解法。流程图又称为框图,它规定的一系列图形。流程图及文字说明来表示算法中的基本操作和控制流程。

(一)7.程序中最易出现的几种不同类型错误是语法错误、逻辑错误和运行错误。

(一)8.学习C语言我们要学会去理解其中的道理,还要理清思路,不然很容易使自己的头脑混乱。

(二) 编程语言概述(在C语言中有:基本字符集、标识符、关键字、语句和标准库函数等。)

(二)

(二)字符集:

(二)       数字符:0, 1, 2, 3, 4, 5, 6, 7, 8, 9。

(二)       拉丁字母:A, B, C,......,a, b, c,.......。(注意:字母的大小写是必须区分的。)

(二)

(二)运算符:“+”、“-”、“*”、“/”、“%”、“=”、“<”、“>”、“<=”、“>=”、“!=”、“==”、

(二)“&&”、“^”...................。

(二)特殊符号和不可显示字符:_(连字符或下划线)、空格、换行、制表符。

(二)标识符:变量名,常数名,数组名,函数名,文件名,类型名。

(二)

(二)C语言规定,标识符由C语言字符集中的字母、数字或下划线(_)

(二)组成,它的第一个字符必须是字母或下划线。

(二)

(二)语句:

(二)    选择语句:if、switch

(二)    流程控制语句及循环语句:for、while、do_while

(二)    转移语句:break、continue、return、goto

(二)    表达式语句

(二)    复合语句

(二)    空语句

(二)

(二)C程序的上机执行过程一般要经过四个步骤,即编辑,编译,

(二)链接和运行。

(三) 数据的存储与输入输出:

整数的表示方法:一个字节中只能存储0和1,按照二进制的十进制的转换规则,一个字节只能存储0到128之间的正整数。用字节位中的最高位来表示正号、负号(称为符号位,如

果符号位为0,则代表正数;如果符号位为1,则代表负数)用其余的字节位表示数值

   实数的表示方法:实数是以浮点数形式存储的。浮点数在计算机中是按指数形式存储的,

即把一个实行数据分成小数和指数两部分。即:小数点放在第一个有效数字前面,使小数部分存放于小于1的纯小数

   字符的表示方法:计算机只能存储0和1。计算机系统中保留一个字节的长度来表示常用的128个英文字符。美国国家标准协会(ANSL,一个标准化组织)定义一个ANSL9(美国信息交换标准码)码表。

注意:一个字符串在内存中就是按照逐个字符的ASCII码连续存放的。

在编程语言中对数据分类:

数值可以分两大类:

整型:存储没有小数的数值(即整数),分两类:有符号整型变量和无符号变量,前者可以存储正值和负值,后者只能存储正值和0

浮点型:存储带小数的值(即实数)

char的大小为一个字节

short的长度不会超过long

int的长度不会超过long

unsigned的长度等于int

float的长度不会超过double数据在编程语言中的形式:

c语言中,表达常量的方式有两种,分别是字面量和符号常量

字面量:字面量是在源代码中直接输入的值。分为整型常量、实型常量、字符常量和字符串常量。

1)整型常量:表示现实中没有小数点的数字。在c语言中,整型常量可

以用十进制、八进制和十六进制三种形式

2)实型常量:称为实型数或浮点数,表示现实世界中带有小数点的数字。

在c语言中有小数形式和指数形式。

3)字符型常量:编程语言中用字符常量来表示

4)字符串常量:在c语言中是用一对双引号括起来的字符序列

5)符号常量:c语言中即用指定的标识符来表示某个常量,在程序中需要使用该常量时就可以直接引用标识符

(四)运算符、表达式、语句

表达式:

1.简单表达式:只包含单独的一个操作数,如:一个简单变量、字面常量或符号常量。

2.复杂表达式:有多个简单表达式组成,个体的简单表达式称为子表达式。

运算符:

1.算术运算符:

① 加法运算符:+

② 减法运算符:—

③ 乘法运算符:*

④ 除法运算符:/

⑤ 取模运算符:%

2.赋值运算符:使用 = 来给变量赋值。

3.增量和减量运算符:

① 前缀形式:++变量、——变量:表示在变量使用前加1或减1。

② 后缀形式:变量++、变量——:表示在变量使用后加1或减1。4.关系运算符:

① 相等运算符:==

② 不相等运算符:!=

③ 大于运算符:>

④ 大于等于运算符:>=

⑤ 小于运算符:<

⑥ 小于等于运算符:<=

5.逻辑运算符:

① 逻辑与:”&&”指连接两个关系表达式的值同时为1,则逻辑表达式也为1否则为0

② 逻辑或:”||”表达式中一个关系式为1则为1,否则为0

③ 逻辑非:”!”逻辑表达式中关系式为0则表达式为1,否则为0

6.条件运算符:也称三目运算符。

7.数据类型强制转换运算符:

① 自动类型转换:

② 强制转换:

8.特殊运算符:

① 长度运算符:sizeof

② 取址运算符:&

语句:

1.流程控制语句:

① 选择语句:if、switch

② 循环语句:for、while、do...while

③ 转移语句:break、continue、return、goto

2.表达式语句:

3.复合语句:用一对大括号括一条或多条语句。

4.空语句:以分号作为一个语句

(五)选择结构的程序设计:

C语言中if语句有两种形式:简单的if和if-else语句。

 switch语句

 1.switch后面括号中可以是任何表达式,取其整数部分与各常量表达式进行比较。

  2.常量表达式中不能出现变量,且类型必须是整型、字符型或枚举型,各常量表达式各不相同。

 3.default语句一般出现在所有case语句之后,也可以出现在case语句之前或两个case语句之间。

   default语句可以缺省。

 4.break的功能:

    终止它所在是switch语句或循环语句的执行。

5.嵌套switch语句

    在switch语句中,每个case后面可以出现任意合法C语句,因此,也可以出现另一个switch语句,

    从而形成嵌套switch语句。

  6.无条件转向语句

    C语言中的goto语句可以转向同一函数内任意指定位置执行,称为无条件转向语句。

    使用goto语句,可以将程序执行流程无条件转移。

(六)循坏结构的程序设计:

1.循坏控制语句是指:控制一个代码多次执行,直到某个条件被满足。

2.循坏结构是指满足循坏条件时,重复执行某程序段,直到循坏条件不满足为止。重复执行的程序段被称为循坏体。

3.循坏结构有两种:直到型和当型。

4.直到型循坏的特点是:先判断表达式的真假,若为“真”则反复执行表示循坏体,若为假就结束循坏。“真”用Y,“假”用N表示。

5.用while语句设计当型循坏结构程序,其语法形式为:

                                      while(表达式){

                                               循坏体

                                       }

6.用while语句设计当型循坏结构程序,其功能有:首先计算表达式的值,若为“真”,则执行循坏体语句,执行完毕后,再计算表达式的值,若仍为“真”,则重复执行循环体语句。直到表达式为“假”,结束while语句的执行,继续执行while语句后面的语句。

7.用while语句设计当型循坏结构程序,说明:表达式是控制循环的条件,表达式可以是任何类型的语句,循环体内若有多条语句,必须用花括号括起来,若while语句一开始就为“假”,那么循环一次也不用执行。

8.用do_while语句可以设计直到型循环结构程序,其语法形式为:

                                      do{

                                     循环体语

                                   }while(表达式);

9.用do_while语句可以设计直到型循环结构程序,其功能有:首先执行循环体语句,然后检测循环控制条件表达式的值,若为“真”则重复执行循环体语句,否则退出循环。

10.用do_while语句可以设计直到型循环结构程序,说明:do_while语句的表达式是任意表达式,是控制循环的条件。

11.用do_while语句的特点是先执行后判断,因此,循环体至少执行一次。

12.用do_while语句实现的循环与while语句不同,do_while重复执行循环体,直到表达式为“假”才退出循环。

13.用for语句设计循环结构程序,其基本的语法形式为:

for(表达式1;表达式2;表达式3){

                              循环体语句;

                       }

14. 用for语句设计循环结构程序的说明:表达式1通常为循环变量赋初始值;表达式2是控制循环的表达式;表达式3通常是改变循环变量值的表达式。

15.break与continue语句:

       break语句的语法形式:

                     break;

       break语句的功能:终止它所在的switch语句或循环语句的执行。

       continue语句的语法形式:

                     continue;

       continue语句的功能:结束本次循环(而不是终止整个循环),即跳过循环体continue语句后面的语句,开始下一次循环。

continue语句说明:

²       continue语句只能出现在循环语句的循环体中。

²       若执行while或do_while语句中continue语句,则跳过循环体中continue语句后面的语句,直接转去判别下次循环控制条件,若continue语句出现for语句中,则执行continue语句就是跳过循环体中continue语句后面的语句,转而执行for语句的表达式3.

16.几种循环的比较:

²       for语句和while语句先判断循环控制条件,后执行循环体;do_while先执行循环体后判断循环条件;

²       for语句和while语句为当型循环,do_while语句是直到型循环,do_while语句至少循环一次。

²       do_while语句和while语句多用于循环次数不定的情况下。

²       do_while语句更适合用于第一次肯定执行的场合。

17.编写循环体应注意几点:

²       确定循环体内包含一个语句是循环体最终结束。

²       确定循环体正确的循环次数。

²       如果想执行n次,那么就让初始化计数器counter为0,使用测试条件counter<0;或者让初始化计数器counter为1,使用测试条件counter<=n。

(七)数组和字符串

1.数组的基本概念:就是按照一定顺序排列,具有某种相同性质的同类型变量的集合。

2.下标变量:具有相同的名字和数据类型,在内存中按顺序排列,并通过下标相互区分。(下标必须从零开始)

 

 

3.数组定义形式:

       数据类型      数组名[整型常量表达式]

说明:

Ø       数据类型是数组中全体数组元素的数据类型。

Ø       数组名用标识符表示,整形常量表达式代表数组具有数组元素的个数。

Ø       数组元素必须从0开始。

Ø       编译程序为数组开辟连续的存储单元,用来顺序存放数组的各组元素。用数组名表示该数组存储区的首要地址。

4.一维数组:

       引用形式:

                            数组名[下标表达式]

       初始化形式:

                     数据类型      数组名[整形常量表达式]={初始值1,初始值2,等等}

因为初始值按顺序赋值,所以初始值小于数组元素,那么其余的用0代替。

5.二维数组:

       定义形式:

                            数据类型      数组名[整形常量表达式1] [整形常量表达式2]

       比如:int[2][3]    就表示2行3列,共有2*3=6个元素。

       初始化形式:

                            数据类型      数组名[整形常量表达式1] [整形常量表达式2]={初始化数据}

注意:可以省略第一维的定义,但不能省略第二维的定义,省略省略第一维的定义时,第一维的大小按如下规则确定:初值个数能被第二维整除,所得商就是第一维的大小,如果不能整除,则第一维的大小为商在家1.

6.c语言使用字符数组来存放字符串,该字符串中包含一个\0字符,代表字符串的结束,并且也要加上\0的字节数。

(八)复杂数据类型:

1.C语言的数据类型包括:基本类型(整型,浮点型,字符型),指针类型,构造类型(数组,结构型,联合型,枚举型),空类型。

2.结构类型的声明格式:

       struct      结构名{

              数据类型1   成员名1;

              数据类型2   成员名2;

              数据类型3   成员名3;

}结构变量(zhangsan);

3.访问结构体变量的成员的格式:

       结构变量名  .成员名(.表示成员选择符)

4.结构体变量的存储结构:一个结构变量所占内存空间大小,大于等于结构变量中所有成员变量空间之和。

 

 

 

 

 

5.共用体类型:

       概念:让几个不同类型的成员变量共享同一个存储区。

       声明格式:

                     union     共用体名{

                                          数据类型      成员名;

                                          数据类型      成员名;

数据类型      成员名;

       7855555722412  0024             }共用体变量名;

6.共用体类存结构:共用体变量所占的内存长度等与最长成员的长度。

715.使用共用体类型数据时应注意:

1)       同意内存段可以存放不同类型的成员,但是某一刻只能存放其中一种,也就是说在某一瞬间只有一个成员起作用。

2)       共用体变量中起作用的是最后一个存放的成员,在存放一个新成员后,原有的成员就失去了作用。

3)       共用体变量的地址和其他成员都是同一地址。

4)       不同对共用体变量赋值,也不能在定义共用体变量是对其初始化。

8.枚举类型:

       语法形式:

              enum     枚举名{

777777777777788                                 标识符[整型常量],

                                   标识符[整型常量],

                            };

注:

l        当遇到枚举元素列表时,编译器,就把其中第一个元素赋值为0,第二赋值为1,第三个赋值为2,因此,当枚举值赋值给枚举变量,该变量实际得到一个整数值。

l        枚举中的每个成员(标识符)的结束符是”,”,不是”;”,最后一个成员可省略。

l        初始化可以赋负数,以后枚举元素仍一次加1。

l        枚举变量只能取枚举说明结构中的某个元素。

9.指针类型:

u      指针类型的变量专门用来存储某个变量的内存地址,这样,我们就可以从指针取得运行时确切的内存地址。

u      指针变量:其内容存储了另一个变量的地址。

u      声明指针类型的变量

      指向的变量的类型名     *     指针类型名;

u      指针的使用:我们可以使用间接运算符,来访问被一个指针指向的变量的值。

 

             

56525555555555555552254545545456563663636411341413611111133333355555555554555555555512544141411116666666666666666666666666666666666666666666666666614444444444444444444444444444444444444444444444444444444444444633333333333333333333333333333333333311111111136666666666612666666666666666666666666666666666666666666666125555555555555555555555555555555555582   

 

4

(九)模块化程序设计方法与函数:

1.函数的分类:标准库函数与用户自己定义的函数

2.函数的定义就是写出函数的全部内容来,即完成函数功能的程序块,他的一般格式:

       函数类型      函数名称(形式参数){

                     说明语句序列

                     可执行语句序列

              }

ü       函数名是唯一标识一个函数的名字,它的命名规则同变量完全一样。在一个程序中,不同的函数其名字也不能相同,为了增加函数的可读性,一般采取有助于记忆的名字来作函数的名字。

ü       函数类型,从语法规则来讲,函数的类型可以是除函数和数组以外的任意类型,可以是int型也可以是char型。但对于一个具体的函数而言,它的类型是唯一的,并且通常与函数的返回值类型一致,如果缺少类型说明,那么编译程序将认为该函数的类型是int型。

ü       形式参数是用于调用函数和被调用函数之间的数据传递,因此,它也需要进行类型说明,这是由参数说明部分完成的,形参可以是空的,也可以是由多个形参组成,当形参列表中有多个形参时,每个形参之间用逗号隔开,不管形参中是否有参数,都要用左、右圆括号括起来。

ü       函数体是由一对花括号{}括起来的,其中可以包括说明语句和执行语句,函数功能是由函数体内部的各个语句来实现的。

3.函数可以分为:

n        无参函数:在调用无参函数时,主调函数不将数据传递被调用函数,无参函数带不带返回值都无所谓。

n        有参函数:在调用函数时,在主调函数和被调函数之间邮局的传输。

n        当被调用函数是有参函数时,主调函数和被调函数之间有数据关系,应注意:

l        定义函数时的参数称为有参函数,简称形参。形参在函数未被调用时没有确定值,只是形式上的参数,调用函数时的参数称为实参,实参可以是变量、常量或者表达式,有确定值,是实实在在的参数,函数定义时的形参不占内存,只有发生调用时,参数才被分配内存单元,接受实参传来的值。

l        定义函数时必须定义形参的类型,函数的形参和实参的个数要求相等,对应类型一致。并且顺序相同。形参和实参可以同名,形参是局部该函数的变量,即使形参和实参同名,也是两个不同的变量,占用不同的内存单元。

l        形式参数用于调用函数和被调用函数之间的数据传递,在函数体内对其操作,因此,它也需要进行类型说明,这由形式参数说明部分完成。

4.函数的返回值:

²       无返回值的函数:即void函数,无函数值的函数,一般用来执行指定的一组,类似其他高级语言中的过程。

²       有返回值的函数:调用函数后,可以通过函数名带回函数值供主调函数使用。

5.函数返回值由return语句返回。一般格式为:

                            return     表达式;

6.函数的传递方式:

u      普通变量作为函数参数:变量在不同内存空间。

u      数组作为函数参数:变量在同一个区域,地址是一样的。

7.函数的嵌套调用:是指一个函数可以被其他函数调用,同时,它可以调用其他函数。函数的嵌套为自上而下,逐步求精及模块化。

8.函数的递归调用:

l        直接递归调用:即一个函数可直接调用该函数本身。

l        间接递归调用:即一个函数可间接调用该函数本身。

 

 

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值