1.软件开发概述算法
软件:用程序去处理数据数组
经过一系列计算机语言处理数据 函数
计算机语言的发展:机器语言-->汇编语言-->高级语言工具
开发软件的流程: 测试
1.分析问题(读题)指针
2.建模(画流程图,定义算法:顺序、分支和循环) 算法的特性:1.肯定性2.有效性3.有穷性4.能够没有输入5.至少有一个输出内存
3.编写程序(语法、工具)开发
4.测试程序(异常:运行时异常和非运行时异常:语法和逻辑)字符串
高级语言---->机器语言:1.编译(有中间文件产生)string
2.解释(无中间文件,逐行读取)
2.程序语言概述
高级语言(C):
1.字符集
2.标示符(自定义+关键字)
3.语句
4.函数库
自定义标示符:
1.不能和关键字重复
2.不能以数字开头,有数字、字母和_组成
3.见名知意
4.首字母小写
上机执行过程:
编写源文件——>编译目标文件——>连接头文件——>执行可执行文件
3.数据存储
数据类型的做用:
1.肯定数据的存放空间
2.肯定数据的存放格式
数据类型分类:
1.整型 short(2) int(4) long(8) 字节为单位,以二进制存储,最高位为符号位,0位正,1位负
2.实型 float(4) double(8) 以规格化的数据形式分为小数和指数,存储小数和指数
3.字符型 char(1) 存储以ACSII码为标准的整数
数据值:
1.常量
2.变量
常量: 1.字面常量
2.符号常量(便于修改,业务含义带入常量值)
变量:
1.数据类型
2.变量名
3.数据值 %占位符 &地址符
4.运算符、表达式和语句
表达式:有惟一结果且至少有一个操做符
操做符:
1. 算数运算符 + - * / %
2.赋值运算符 =
3.增量、减量运算符 ++ --
4.关系运算符 > < >= <= ==
5.逻辑运算符 & | !
6.条件运算符 ?: if switch
7.特殊运算符 sizeof
5.选择结构
if语句: 1.单分支2.双分支3.多分支
switch:1.无顺序2.能够没有break
6.循环结构
循环: 1.先验循环:while、for 2.后验循环:do-while
while适用场景:不明确循环次数,只知道达到某个条件循环结束
for适用场景:肯定循环次数
break:跳出循环
continue:结束本次循环,进入下一次循环
7.数组和字符串
数组:集合的一种,用于处理批量数据
数组的结构:1.连续的存放空间中(内存利用率不高)
2.只能存放同一数据类型
3.空间大小一旦声明不能改变
初始值的个数小于长度,其他部分默认为
字符串:
字符数字容许存放字符串
字符串结束的表示"\0"
字符串函数头文件string.h
经常使用函数:strlen()长度 stringcpy()复制 strcat()链接 strcmp()比较大小
8.复杂数据类型
复杂数据类型:数组(3类6种)、结构型(3种)、指针(8种)
结构型:结构体、共用体(联合体)、枚举
结构体:1.表示更丰富的复杂类型2.内部属性定义的顺序不影响使用,只影响内存分配3.关键在于内存大小的对齐问题
struct 结构名{数据类型1 数据名1. ……};
共用体(联合体):1.同一个区域能够存放不一样类型的数据(不经常使用)2.内部属性定义不影响使用和内存分配3.改变一个属性,其余属性也会改变
union 共用体名{数据类型1 数据名1. ……};
枚举:1.某些类型取值固定2.枚举定义时括号内不是属性,是值的标示符3.改变标示符的顺序影响使用(除非用赋值符号"="写死)
enum 枚举名{标示符1[=整型变量] ……};
指针:存放数据类型的地址(4字节)
9.函数
函数:函数定义(函数的声明和实现)和函数调用
返回类型 函数名(形式参数列表){语句}
参数的三要素:1.返回类型2.个数3.顺序
调用函数时数据传递形式:1.值传递2.地址传递
return:1.返回值给调用者2.结束整个函数
在C中的函数:1.函数名不能重复2.返回类型不能是数组3.函数不容许嵌套定义