程序设计基础 C(笔记)
1.软件开发概述
软件:用程序去处理数据
通过一系列计算机语言处理数据
计算机语言的发展:机器语言-->汇编语言-->高级语言
开发软件的流程:
1.分析问题(读题)
2.建模(画流程图,定义算法:顺序、分支和循环) 算法的特性:1.确定性2.有效性3.有穷性4.可以没有输入5.至少有一个输出
3.编写程序(语法、工具)
4.测试程序(异常:运行时异常和非运行时异常:语法和逻辑)
高级语言---->机器语言:1.编译(有中间文件产生)
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.函数不允许嵌套定义

浙公网安备 33010602011771号