C语言程序设计
2021-12-17 16:23:31 1 举报
AI智能生成
登录查看完整内容
C语言程序设计总结
作者其他创作
大纲/内容
关系运算符用于判断两个操作数的大小关系
关系运算符
一般形式 表达式1 关系运算符 表达式2
关系表达式
关系运算符和关系表达式
逻辑运算符
一般形式:表达式1 逻辑运算符 表达式2或逻辑运算符 表达式1
逻辑表达式
逻辑运算符和逻辑表达式
条件运算符
一般式为:表达式1?表达式2:表达式3
条件表达式
条件运算符和条件表达式
关系运算符,逻辑运算符,条件运算符
一般形式:if(表达式) 语句1; else 语句2;
if(a>0) y=a; 等价于 y=(a>0)?a:(-a);else y=-a;
双分支if语句
一般形式:if(表达式) 语句;
单分支if语句
if-else语句
基本形式:if(表达式) 语句1;else 语句2;
if语句的嵌套
一般形式:if(表达式 1) 语句 1;else if(表达式 2) 语句 2; …else if(表达式 n-1) 语句 n-1;else 语句 n;
多分支if语句
使用if-else实现分支结构
switch(表达式) { case 常量表达式1:语句1;break; case 常量表达式2:语句2;break; ...... case 常量表达式n: 语句n;break; default:语句n+1;break; }
使用switch语句实现分支结构
分支结构程序设计
or语句的一般形式:for(表达式1;表达式2;表达式3) 循环体语句;
格式: 循环体语句;
可以应用于计数型的循环
格式: for(;表达式2;表达式3)
for语句的一般形式中省略表达式1
格式: for(表达式1;表达式3) 循环体语句;
for语句的一般形式中省略表达式2
格式: for(表达式1;表达式2;) 循环体语句;
for语句的一般形式中省略表达式3
for语句的一般形式中表达式1和表达式3也可以是逗号表达式
for语句的一般形式中循环体语句可以省略
for语句的基本语法
使用for语句实现循环结构
while语句一般形式: while(表达式) 循环体;
while语句的基本语法
使用while语句实现循环结构
一般形式:do 循环体; while(表达式);
do-while语句的基本语法
使用do-while语句实现循环结构
一般形式: break;
break语句
一般形式 continue;
continue语句
goto语句的一般形式:goto 语句标号;
说明:语句标号是一个有效的标识符,使用时在语句标号的后面跟一个“:”出现在函数中某语句的前面。出现执行到goto语句时,会控制跳转到该语句标号处,达到控制循环的目的
goto语句
改变循环结构的跳转语句
使用循环嵌套时,注意以下几点:(1)外循环执行一次,内循环要执行一轮。即外循环执行一次,内循环一直要执行到条件不满足时为一轮;再执行外循环一次,内循环又一直执行到条件不满足时为第二轮;如此重复执行,直到外循环不满足时,整个循环嵌套结束(2)循环嵌套格式中的内外循环体不允许出现交叉,即外循环要完全包含内循环(3)循环嵌套时,内循环体中使用break和continue语句时,只影响包含它们的内循环,与外循环无关
循环嵌套
递推法
迭代法
穷举法
典型算法举例
循环结构程序设计
特点:可以被计算机直接执行,且运行效率是最高的
缺点:难学、难写、难记、难修改
机器语言
特点:容易被人读懂,程序修改与维护也很改变,运行效率仅次于机器语言
缺点:十分依赖机器硬件,可移植性不好。
汇编语言
特点:易学、易用、易维护,人们可以更有效、更方便地用它来编制各种用途的计算机程序。
程序员往往只追求程序的执行效率,而不顾及程序的结构,使程序变的难以阅读和维护
FORTRAN、ALGOL、和BASIC都属于非结构化语言
非结构化语言
QBASIC、Pascal和 C 都属于结构化的语言
结构化语言
C++、C#、Visual Basic和JAVA 等语言均是支持面向对象程序设计方法的语言
抽象:抽象就是指忽略一些我们目标所需之外的东西
封装:是对象和类概念的主要特性
继承:在c++里一个类可以通过另一个类派生而来,新类被称作派生类,原来的类被称作基类,派生类继承了基类的成员方法和变量,并且可以在类里增加自己的特性函数变量实现特定功能
多态:多态是指允许不同类对象对同一消息做出反应,同一消息
面向对象的语言
高级语言
程序设计语言的发展
以表达实际问题中存在的复杂的数据结构
数据表达
程序设计语言除了具备良好的数据表达能力之外,还必须提供对不同类型的数据进行处理的手段
顺序控制结构:一条语句执行完后,按自然顺序执行下一条语句
共同特点:①只有单一的入口和单一的出口;②结构中的每个部分都有被执行的可能;③结构内不应出现永不终止的死循环
分支控制结构:又称选择结构。计算机在执行程序时,常常需要根据不同的条件选择执行不同的语句
循环控制结构:计算机需要重复执行相同的语句
流程控制
程序设计语言功能
软件的主体是程序,程序的核心是算法
什么是算法
确定性。算法的每条指令必须有明确的含义,不能有二义性。队友相同的输入必须得出相同的执行结果
有穷性。一个算法应包含有限个操作步骤。在执行若干个操作步骤之后,算法将结束,而且每一步都在合理的时间内完成
可行性。算法中指定的操作都可以通过已经实现的基本运算执行有限次后实现
有零个或多个输入。算法是用来处理数据对象的,在大多数情况下,这些数据对象需要通过输入来得到
有一个或多个输出。算法的目的是为了求“解”,“解”只有通过输出才能得到
算法的特征
文字描述算法
子主题
流程图描述算法
伪代码表示算法
程序设计语言表示算法
算法的描述
程序的算法表示
程序与程序设计语言
C语言的发展历史
优点:①C语言语句简洁紧凑,使用方便灵活②运算符丰富,表达能力强③C语言程序可移植性好④生成的目标代码质量高,运行效率高⑤语言处理能力强⑥C语言是一种结构化语言
缺点:C语言对语法检查不严格,许多时候需要程序员自己保证程序的正确,而这对初学者是很难做到的
C语言的特点
标识符:①C语言的标识符由字母、数字和下划线组成,其中第一个字符必须是字母或下划线。例如,_00、print、FOR均是合法的标识符,而&a、-123、a b均是不合法的标识符。②在C语言中,标识符中英文字母的大小写是有区别的。例如,name与Name是不同的标识符。③标识符的命名最好做到“见名知义”,增加程序的可读性。例如,用sno表示学号,sname表示姓名标识符的有效长度为1~255个字符
用户自定义标识符:程序中定义的变量名、数据类型名、函数名和符号常量名
预定义标识符头文件和库函数中定义的一些标识符(例如scanf、printf等)
分隔符:逗号:分隔变量名 空格:分隔各单词
常量:常量是有数据类型的
变量:变量定义的一般形式是:1类型名 变量名
运算符:算术运算符:+(加)、-(减)、(乘)、/(除)、%(求余);关系运算符:>(大于)、>=(大于等于)、==(等于)、<(小于)、<=(小于等于)等等。参与运算时只要求有一个数据对象的称为单目运算符,有两个数据对象的称为双目运算符,有三个数据对象的称为三目运算符
表达式:运算符有优先级
语句:在C语言中,语句是程序最基本的执行单位,以分号结尾
函数定义与调用:函数十完成特定功能的小模块,是C语言中唯一的种子程序
输入与输出:C语言没有提供用于数据输入及输出的语句,所有的输入与输出都是通过系统提供的有关函数(如scanf()和printf()函数)来实现的
C语言的约定
C语言程序设计的特点
分析问题
设计算法
程序设计
运行并调试程序
分析程序运行结果
编写程序文档
程序设计的任务
编辑:将编写的C语言代码以文件的形式存储在计算机中,其拓展名为 .c
编译:通过词法分析和语法分析,在确认所有的指令都符合语法规则之后,将其翻译成二进制目标程序文件,其拓展名为 .obj
编译过程中的错误多为词法和语法错误,如果原文件存在这些错误,则编译系统会给出错误提示信息,应根据错误提示信息查找错误并改正源程序,再次重新编译,直到没有错误
链接:将目标程序与系统提供的库函数或是其他目标程序进行链接,得到最终的二进制可执行文件,其拓展名为 .exe
运行:双击 .exe 可执行文件运行后结果会显示在屏幕上
可执行文件运行后要验证程序的运行结果,如果发现运行结果与设计目的不相符(通常称为逻辑错误),说明程序在设计思路或算法上出现了问题,需要重新检查源程序找出问题并且修改,然后重新编译、链接、运行,直到得到正确结果
运行C程序的步骤与方法
C程序的编辑,编译,链接和运行
程序设计与C语言
整型
字符型
实型(浮点型)
基本类型
数组类型
结构体类型
共用体类型
枚举类型
构造类型
指针类型
空类型
C语言的数据类型
整型常量
实型常量即实数,又称为浮点数
实型常量
字符型常量
字符串常量是由一对双引号””括起来的零个或多个字符序列字符串中可以使用空格字符、转义字符和其他字符,也可以使用汉字等文字符号字符串中还可以使用空字符
注意:(1)系统自动在每个字符串的尾部加上’\\0’作为字符串的结束标志(2)n个字符组成的字符串,在内存中要占用n+1个字节空间(3)可以使用sizeof运算符来计算字符串占用的内存空间大小(4)字符串的长度等于该字符串中所包含的有效字符的个数(5)在字符串中如遇到’\\0’则认为该字符串结束 (6)如果字符串中有转义字符,则一个转义字符作为一个字符 (7)可以使用strlen()函数计算字符串的长度(8)字符常量和字符串常量在内存中的存储情况是不同的(9)如’6’在内存中占1个字节,存储的是其ASCII码(10)“6”在内存中占2个字节,一个字节存储’6’,一个字节存储’\\0’
字符串常量
直接常量
一个#define命令只能定义一个符号常量,若要定义多个符号常量,需使用多个#define命令
格式:#define 标识符 常量值
符号常量
C语言的常量
定义格式:类型说明符 变量名表
变量的定义
变量的初始化
变量的使用
变量的定义与使用
整型变量
实型变量
字符型变量
C语言的变量
正确表示:int a=3 b=3 c=3 错误表示: int a=b=c=3
简单赋值运算符
在简单赋值运算符前面加上算术运算符就构成符合赋值运算符
复合赋值运算符
一般形式:变量=表达式
赋值表达式的执行过程:(1)计算赋值运算符右侧表达式的值。(2)将所计算出的值赋给赋值运算符左侧的变量
赋值表达式
赋值运算符和赋值表达式
双目运算符
求余运算的结果是两个整型数据相除的余数。求余运算只能用于整型数据的运算算数运算符两边的数据类型应相同,若不同时,编译系统会先转换为同一数据类型,然后再进行运算
基本的算术运算符
单目运算符(1)- 负号:负数(2)++ 自增运算符:使变量的值自加1(3)-- 自减运算符:使变量的值自减1
算术运算符的优先级和结合性
算术表达式
算术运算符和算术表达式
逗号运算符和逗号表达式
一般格式:(1)sizeof(表达式)或sizeof 表达式(2)sizeof(数据类型名)
求字节数运算符
运算符和表达式
(1)图中的纵向箭头表示必定的转换(2)图中的横向箭头表示当经过纵向的转换后,进行运算的数据类型仍然不同时进行的转换方式
自动类型转换
一般形式:(类型说明符)(表达式)
功能:把表达式的运算结果强制转换成类型说明符指定的类型
强制类型转换
数据类型转换
数据类型,运算符和表达式
说明语句用于定义程序所使用的变量与类型
说明语句
表达式语句由表达式加上分号“;”组成 一般形式: 表达式;
c=a+b 是一个赋值表达式c=a+b ; 是一个表达式语句
表达式语句
分支语句
循环语句
转向语句有break语句,goto语句,continue语句,return语句
转向语句
复合语句
空语句只由一个分号构成
空语句
函数定义与调用
输入和输出
C语言的语句
格式控制是使用\"\"括起来的一个字符串,成为 \"转换控制字符串\",简称 格式字符串。它包括(1)格式控制说明:%和格式字符组成, 如%d (2)普通字符:即是原样输出的字符
printf()函数
scanf(\"格式控制字符串\
scanf()函数
输出函数(printf())和输入函数(scanf_s())
printf(),scanf()函数中的格式字符(整型数据)
printf()函数中的格式修饰符
scanf()函数中的格式修饰符
整型数据的输入和输出
格式字符(实型数据)
实型数据的输入和输出
使用scanf()函数和printf()函数对字符数据进行输入输出
一般调用格式为: putchar(输出参数)
getchar()函数
一般调用格式为:putchar(输出参数)
putchar()函数
使用getchar()函数和putchar()函数对字符型数据进行输入输出
字符型数据的输入和输出
数据的输入和输出
数学库函数
顺序结构程序设计
C语言程序设计
0 条评论
回复 删除
下一页