C语言-----理论部分
一:软件开发概述1.程序语言的发展:机器语言-->汇编语言-->高级语言。2.软件开发的基本步骤与方法:分析问题,建立数学模型-->确定数据结构和算法-->编制程序-->调试程序。3.算法的基本特征:有穷性 确定性 有效性 有零个或多个输入 有一个或多个输出。4.编码实现:源代码 编译源代码 链接 。5.调试程序:语法/逻辑/开发/运行时错误。6.程序通过编译或解释的方法来执行的。二:汇编语言概述1.基本组成:字符集 标识符 关键字 语句 标准函数库。2.C程序的上机执行过程一般的步骤:编辑 编译 链接 运行。三:数据存储于输入输出1.数据在计算机中的表现形式:用字节位中的最高位来表示正号、负号(称为符号位, 如果符号位为0,则代表正数;如果符号位为1,则代表负数)1.数值的分类: 整型: short 占两个字节; int 占四个字节; long 占四个字节; 浮点型: float 占四个字节; double 占八个字节; long double 占12个字节;2.符号常量:形式————#define 标识符 常量 (标识符一般用大写字母表示)。3.变量三要素:数据类型 变量名 初始值。4.格式化输出函数printf: %d 整数; %f 小数; %c 单个字符 %s 字符串5.格式化输入函数scanf : &——取址符 6.变量名遵守的规制: 变量名必须以字母字符(从a到z,从A到Z)开头; 也可以是下划线开头,但是不推荐这样做; 在变量名中的任意地方都可使用任何字母、数字或下划线; 变量名长度不限; 变量名不允许出现空格或非字母字符,比如+或-; 变量名不能是C语言的关键字; 变量名对大小写敏感(字母的大小写都有含义,例如myBook并不等同于myBooK)。四.运算符 表达式 语句1.取模运算符 %。用于整数运算。2.++x;--x;x++;x--;相等运算符(==);不相等运算符(!=);逻辑与(&&);逻辑或(||);逻辑非(!)3.逻辑非运算符“!”优先级最高,其次是算术运算符, 然后是关系运算符,再次是逻辑与运算符“&&”和逻辑或运算符“||”, 最低的是赋值运算符。4.条件运算符: 表达式1?(表达式2):(表达式3)5.语句的分类五.选择结构的程序设计1.if语句 a:简单if语句 if(表达式){ 语句1 } if-else语句 if(表达式){ 语句1 }else { 语句2 }嵌套的if语句;(三种) 2.switch 语句 形式: switch (表达式){ case 常量表达式1:语句1 break; case 常量表达式2: 语句2 break; .... default :语句n+1 }3.break 语句出现在switch语句与循环语句中:终止它所在的switch语句或循环语句的执行。 六.循环结构的程序设计1.循环的基本概念 a:当型循环:先判断 后循环 b:直到型循环: 先循环 后判断。2.用while语句设计循环结构程序——当型循环。 while(表达式){ 循环体语句 }3.用do-while语句设计循环结构程序(循环体至少执行一次)——直到型循环。 do{ 循环体语句 }while(表达式);4.用for语句设计循环结构程序——当型循环——多用于循环次数明确的问题。 for(表达式1;表达式2;表达式3){ 循环体语句 }表达式1:通常为循环变量赋初值;表达式2:控制循环体;表达式3:改变循环变量的值;5.continue :结束本次循环并开始下一次的循环,只能出现在循环语句的循环体中。七.数组与字符串1.数组:按一定顺序排列,具有某种相同性质的同类型变量的集合。2.一维数组 形式 :数据类型 数组名[整型常量表达式]; 数组元素的下标一律从0开始。 一维数组的引用。 一维数组的初始化 形式:数据类型 数组名[整型常量表达式]={初值1,初值2,...}; 3.二维数组 形式:数据类型 数组名[整型常量表达式1][整型常量表达式2]; 表达式1:相当于x轴; 表达式2:相当于y轴。 二维数组的引用。 二维数组的初始化 形式:数据类型 数组名[整型常量表达式1][整型常量表达式2]={初始值数据};4.字符数组与字符串 " chian"(为字符串);' '(为字符)八.复杂数据类型 结构类型: 结构体类型的声明: struct 结构名{ 数据类型1 成员名1; 数据类型2 成员名2; ................ 数据类型n 成员名n;} ; (这里的分号是必须要的)九.模块化程序设计方法与函数1.函数的分类 在C语言中的函数分为两类,一类是系统提供的标准函数,又称为库函数。 标准函数由系统定义,在程序中可以直接调用。另一类是用户自己定义的函数。2. 函数的一般格式: 函数类型 函数名称 (形式参数表){ 说明语句列表 可执行语句列表 }3.从函数的形式上看,函数分为两类:无参函数:在调用无参函数时,主调函数不将数据传递给被调用函数,无参函数可以带或不带返回值。有参函数:在调用函数时,在主调函数和被调函数之间有数据传输。 也就是说,主调函数可以将数据传递给被调函数使用,被调函数中的数据也可以带回供主调函数使用。4.函数的返回值由return语句来执行: return 表达式;5.函数的调用:一般调用 嵌套调用 递归调用