c语言程序设计
2022-05-23 15:43:31 39 举报
AI智能生成
C语言总结
作者其他创作
大纲/内容
第一章 程序设计与c语言
程序与程序设计语言
程序设计语言的发展
机器语言
机器语言是直接用二进制代码指令表达的计算机语言,指令是用0和1组成的一串代码
汇编语言
是一种使用助记符号表明机器指令的计算机语言,如ADD表示加法,SUB表示减法,MOV表示传送数据等
高级语言
非结构化语言
编程风格比较随意,没有编程规范可以遵循,程序中的流程可以随意跳转,只要符合语法规则即可
结构化语言
程序必须具有良好特性的基本结构构成,程序中的流程不允许随意跳转,程序由上而下顺序执行各个基本结构
面向对象的语言
是一类以对象作为基本程序结构单位的程序设计语言,指用于描述的设计是以对象为核心,而对象时程序运行时刻的基本成分
程序设计语言的功能
数据表达
通常包含各种类型的数据,数据类型就是对某些具有相同性质的数据集的总称。每种程序设计语言中都事先定义几种基本的数据类型,用来定义程序中用到的数据
流程控制
顺序控制结构
一条语局执行完后,按自然顺序执行相同的语句
分支控制结构
计算机在执行程序时,常常需要根据不同的条件选择执行不同的语句
循环控制结构
计算机需要重复执行相同的语句,重复执行一般时有条件的,在条件满足时,重复执行,条件不满足时,则不会重复执行
以上三种结构的特点
1.只有单一的入口和单一的出口;2.结构中的每个部分毒药被执行的可能;3.结构内不应出现永不终止的死循环。
程序的算法表示
软件的主体时程序,程序的核心时算法
确定性
算法的每条指令必须有明确的含义,不能有二义性
有穷性
一个算法应包含有限个操作步骤
可行性
算法中指定操作都可通过已经实现的基本运算执行有限次后实现
有零个或多个输入
算法是用来处理数据对象,大多数情况下,数据对象需要输入来得到
有一个或多个输出
算法的目的是为了求解,解只有通过输出才能得到
c语言程序设计的特点
c语言的特点
c语言语句简洁紧凑,使用方便灵活
运算符丰富,表达能力强
c语言程序可移植性好
生成的目标代码质量高,运行效率高
c语言是一种结构化语言
c语言的约定
c语言的约定
标识符
c语言的标识符由字母、数字和下划线组成,其中第一个字符必须是字母或下划线
关键字
c语言中共有32个关键字,c语言的关键字都用小写字母书写,不能用大写字母
用户自定义标识符
用户自定义标识符包括程序中定义的变量名、数据类型名、函数名和符号常量名
预定义标识符
c语言允许用户定义的标识符与预定义标识符同名,但是此时预定义标识符就失去了原有的作用
分隔符
c语言中的分隔符有逗号句号两种。逗号主要用于类型说明和函数参数表中,分隔各个变量。空格多用于各单词之间做间隔符
c语言的语法成分
常量
变量
运算符
表达式
语句
函数定义与调用
输入与输出
c语言的编辑、编译、链接、运行
程序设计的任务
分析问题
设计算法
程序设计
运行并调试程序
分析程序运行结果
编写程序文档
运行c程序的步骤与方法
编辑源程序
编译
链接
运行
第二章 数据类型、运算符和表达式
c语言的数据类型
基本类型
整型
字符型
实型(浮点型)
构成类型
数组类型
结构体类型
共用体类型
枚举类型
指针类型
空类型
c语言的常量
直接常量
整型常量
整数常量即整数,包括正整数、负整数和零。
实型常量
实数常量即实数,又称为浮点数。
小数形式
指数型式
字符型常量
特点:1.字符常量只能用单引号括起来,不能用双引号或其他括号。2.字符常量只能是单个字符,不能是字符串。3.字符可以是ASCII字符集中的任意字符。
字符串常量
字符串常量是由一对双引号""括起来的零个或多个字符序列。
符号常量
在c语言中,可以用一个标识符来表示一个常量,称之为符号常量。
增加程序的可读性
通过标识符就知道该常量的意思
提高程序的可维护性
提通过符号常量使得修改常量很方便,只需在常量得定义处修改
简化程序代码
通过符号常量可以简化复杂表达式的重复输出
方便数组的定义
可以将整型符号常量作为数组的长度
c语言的变量
c语言中所以的变量必须先定义后使用
变量的定义
在c语言中,基本数据类型包括char(字符型)、int(整型)、float(单精度浮点型)及double(双精度浮点型)
变量的初始化
1.对一个变量赋初值之后,该值被存储在分配给该变量的内存空间中
2.不允许对多个未定义的同类型变量连续初始化
3.初始化时,一般应使"="右边表达式的数据类型和"="左边的变量的类型一致,如果不一致,系统会进行自动赋值转换
4.没有进行初始化的变量,其值时由定义时所使用的存储类型决定的
变量的使用
变量的定义后,就可以在程序中使用。先赋值,后使用
整型变量
在c语言中,整型又可分为:短整型(shor int)、整型(int)、长整型(long int)、无符号整型(unsigned int)、无符号短整型(unsigned short int)和无符号长整型(unsigned long int)六种
实型变量
实型变量分单精度(float型)和双精度(double型),单精度型数据能保留7位有效数字,双精度型数据能保留16位有效数字
字符型变量
字符型变量的值时字符常量,即用单引号引起来的单个字符,类型说明符为char
运算符和表达式
赋值运算符和赋值表达式
简单赋值运算符
最简单的赋值运算符就是“=”,它的作用时将一个数值赋给一个变量
复合赋值运算符
在简单赋值运算符前面加上算术运算符就构成复合赋值运算符
赋值表达式
算术运算符和算术表达式
基本的算术运算符
基本运算符包括加(+)、减(-)、乘(*)、除(/)、求余(%),其中加、减、乘、除、求余运算均为双目运算符
自增、自减运算符
++运算符,为单目运算符,其功能是使变量的值自加1
前缀方式:用于变量前面,如“int a=++x;"它是"先计算,后使用",即先将x的值自加1,然后将x的值赋给变量a
后缀方式:用于变量后面,如"int a=x++;"它是"先使用,后计算",即先将x的值赋给变量a,然后再将x的值自加1
--运算符,为单目运算符,其功能是使变量的值自减1
前缀方式:前缀方式:用于变量前面,如“int a=--x;"它是"先计算,后使用",即先将x的值自减1,然后将x的值赋给变量a
后缀方式:用于变量后面,如"int a=x--;"它是"先使用,后计算",即先将x的值赋给变量a,然后再将x的值自减1
算数运算符的优先级和结合性
单目运算符是右结合,双目运算符是左结合
算术表达式
算术表达式是由算术运算符、运算对象和括号连接起来的式子,运算对象可以是变量和函数等
数据类型转换
自动类型转换
强制类型转换
第三章 顺序结构程序设计
c语言的语句
说明语句
定义程序所使用的变量与类型
表达式语句
表达式语句由表达式加上分号”;“
分支语句
分支语句实现分支控制过程,根据条件成立与否执行不同的语句,有两个分支结构,即双分支if-else语句与双分支的switch
循环语句
循环控制语句有三种:for语句,while语句和do-while语句
转向语句
转向语句有break语句、goto语句、continue语句、return语句
复合语句
用一对大括号{}将若干语句顺序组合在一起所形成的语句称为复合语句
空语句
空语句由一个分号构成
函数定义与调用
函数是完成特定功能的小模块,是c语言中唯一的种子程序,常常在一个c程序中包含若干个函数,复杂的任务通过调用这些函数来完成
输入与输出
c语言没有提供用于数据输入级输出的语句,所以的输入与输出都是通过系统提供的有关函数(如scanf()和printf()函数)来实现
数据的输入和输出
输出函数(printf())和输入函数(scanf())
printf()函数
printf()函数是系统提供的用于在标准输出设备(屏幕)输出数据的库函数
格式控制说明
按指定格式输出数据,其格式为以%开头的格式控制字符,不同类型的数据采用不同的格式控制字符,以说明输出数据的类型、形式、长度、小数位数等
普通字符
在输出数据时,需要原样输出的字符
scanf()函数
scanf()函数是系统提供的用于在标准输入设备(键盘)输出数据的库函数
格式控制说明
按指定格式输出数据,其格式为以%开头的格式控制字符,不同类型的数据采用不同的格式控制字符
普通字符
在输入数据时,需要原样输入的字符
整形数据的输入和输出
prontf()、scanf()函数中的格式字符(整型数据)
printf()函数中的格式修饰符
scanf()函数中的格式修饰符
实现数据的输入和输出
格式字符(实现数据)
字符型数据的输入和输出
使用scanf()函数和printf()函数对字符型数据进行输入输出
使用getchar()函数和putchar()函数对字符型数据进行输入输出
getchar()函数
设ch是字符型变量,函数getchar()的一般调用格式为:ch=getchar();
运行时从键盘输入缓冲区中读取一个字符,并赋值给变量ch
pitchar()函数
函数putchar()的一般调用格式为:putchar(输出函数);
输出一个字符,输出参数是字符型变量或字符型常量
数学库函数
用户在程序中调用数学库函数时,一定要在程序的开头使用#include<math.h>
第四章 分支结构程序设计
关系运算符、逻辑运算符、条件运算符
关系运算符和关系表达式
关系运算符
关系表达式
用关系运算符将两个表达式连接起来的式子称之为关系表达式,一般形式为:表达式1 关系运算符 表达式2
用"1"表示"真","0"表示"假"
逻辑运算符和逻辑表达式
逻辑运算符
逻辑表达式
用逻辑运算符将两个表达式连接起来的式子称为逻辑表达式
一般形式:表达式1 逻辑运算符 表达式2 或 逻辑运算符 表达式1
条件运算符和条件表达式
条件运算符
条件运算符由"?"和":"两个符号组成,用于条件求值,它是一个三目运算符,需要三个操作数
条件表达式
由条件运算符将3个表达式连接起来的式子称为条件表达式
一般形式:表达式1?表达式2:表达式3
使用if-else实现分支结构
if-else语句
双分支if语句
一般形式:if(表达式)
语句1;
else
语句2;
语句1;
else
语句2;
单分支if语句
一般形式:if(表达式)
语句1;
语句1;
if语句的嵌套
多分支if语句
一般形式:if(表达式1)
语句1;
else if(表达式2)
语句2;
…
else if(表达式n-1)
语句n-1;
else
语句n;
语句1;
else if(表达式2)
语句2;
…
else if(表达式n-1)
语句n-1;
else
语句n;
使用switch语句实现分支结构
一般形式:switch(表达式)
{
case常量表达式1:语句1;break;
case常量表达式2:语句1;break;
…
case常量表达式n:语句n;break;
befault:语句n+1;break;
}
{
case常量表达式1:语句1;break;
case常量表达式2:语句1;break;
…
case常量表达式n:语句n;break;
befault:语句n+1;break;
}
在switch语句格式中的每个语句后面都使用break语句
在switch语句格式中的部分语句后面使用break语句
在switch语句格式中不使用break语句
第五章 循环结构程序设计
使用for语句实现循环结构
for语句的基本语法
for语句一般形式:for(表达式1;表达式2;表达式3;)
循环体语句;
循环体语句;
第1步:首先计算表达式1。第2步:判断表达式2,若其值为真(非0),则执行循环体语句,然后执行第3步;若值为假(0),结束循环,转到第五步执行。第3步:计算表达式3。第4步:返回第2步继续执行。第5步:循环结束,继续执行for语句的下一条复合语句。
可以应用于计数型的循环
循环体语句;
for语句的一般形式中省略表达式1
for(;表达式2;表达式3)
循环体语句;
循环体语句;
for语句的一般形式中省略表达式2
for(表达式1;;表达式3;)
循环体语句;
循环体语句;
for语句的一般形式中省略表达式3
for(表达式1;表达式2;;)
循环体语句;
循环体语句;
for语句的一般形式中表达式1和表达式3也可以式逗号表达式
for语句的一般形式中表达式2的值只要非0,就执行循环体
for语句的一般形式中循环体语句可以省略
使用while语句实现循环结构
while语句的基本语句
while(表达式1)
循环体;
循环体;
while语句的执行过程:第1步:计算表达式的值,若表达式的值为“真”,则执行第2步;若表达式的值为“假”,则转到第4步。第2步:执行循环体语句。第3步:返回第1步。第4步:结束循环,执行while语句的下一条语句。
使用do-while语句实现循环结构
do-while语句的基本语法
do
循环体
while(表达式);
循环体
while(表达式);
执行流程:第1步:执行循环体语句。第2步:计算表达式的值,若表达式的值为“真”(非0),返回第1步;若表达式的值为“假”(0),则执行第3步。第3步:结束循环,执行do-while语句的下一条语句
改变循环结构的跳转语句
break语句
当break语句用于循环语句时,可使程序终止循环而转去执行循环语句的后继语句
continue语句
continue语句的作用时跳过循环体中continue后面的语句,继续下一次循环
goto语句
程序执行到goto语句时,会控制跳转到该语句标号处,达到控制循环的目的
循环嵌套
0 条评论
下一页