C语言程序设计_第4章 函数与编译预处理.ppt
C语言程序设计概述
§1.2 简单C语言程序的结构和格式
四、标识符与关键字
1.标识符 在程序中用来标识变量名、符号常量名、函数名、数组名和文件名等的
有效字符序列统称为标识符。除库函数的函数名由系统定义外,其余都由用 户自己定义。C语言规定,标识符只能由字母(A~Z,a~z)、数字(0~9) 和下定划义线标“识_符”时组建成议,遵且循第如一下个原字则符:必须为字母或下划线。
main()
内容的不同,程序也就各自具有了不同
{
的功能。事实上,任何一个C语言程序,
int eng,c_pro,math;
main()函数都是不可缺少的。main()函
int total;
数的一般结构为:
eng=90;c_pro=96;math=92;
total=sum(eng,c_pro,mathm)a;in()
⑴在标识符中,大小写是有区别的,如max和MAX是两个不同的标识符。 2.在关以定键下义字标标识识符符是时合,法变的量:名、函数名等尽量用小写,符号常量用大写。
a,⑵PI标,准s1C2不3,限_制ad标d,识n符am的e_长1 度,但它受各种版本的C语言编译系统的限制, 同关时键也字受又到称具保体留机字器,的是限C制语。言例规如定在的某具些有版特本定中意规义定的标字识符符串前,八如位标有准效输,当 入输两出以个函下标数标识名识符s符前ca是八nf非位和法相p的r同i:n时tf,、则控被制认命为令是字同if一、个wh标il识e等符都。是因系此统,的在关编键写字程。序时, 应4了5D解所用系统对不标允识许符以长数度字的开规头定,以免出现错误。
C语言 函数
1. 函数声明的一般形式:
类型说明符 函数名([类型1 形参1,类型2 形参2,…]);
▪ 编译系统只检查函数类型、函数名、形参 类型和形参个数,不检查形参名。
➢ 因此,函数声明可省略形参名:
类型说明符 函数名([类型1,类型2…]);
➢ 以下两个函数声明语句 等价:
int min(float x,float y); int min(float,float);
}
}
5.2.4 函数原型
▪ 当被调函数位于主调函#in数clud后e 面<st时dio,.h>需要在 主调函数中对被调函数v{ oid进m行ain声() 明。
int min(float x,float y); int m; float a,b; scanf("%f,%f",&a,&b); m=min(a,b); printf("Min is %d\n",m); } int min(float x,float y) { return x<y?x:y; }
与函数的类型不一致,{前者将被自动转换为后
者的类型。
int m; float a,b;
scanf("%f,%f",&a,&b);
m=min(a,b);
printf("Min is %d\n",m);
}
3.函数调用的一般形式 函数名(实参表列);
A.说明: (1)如调用无参函数,()也不能省略。 (2)如实参表列含多个实参,参数间用逗号
第5章 函数
▪ 函数是C程序的基本组成单位。
▪ 使用函数能够实现模块化程序设计:
➢ 程序设计时往往把一个大的问题分解成若干小 的且易解决的问题
C语言程序设计(1-6章)
C语言程序设计第1章概论1.1 C语言有哪些主要特点?其主要用途是什么?1.2 程序设计语言的主要构成要素有哪些?1.3 程序设计语言的实现都有哪些方法?1.4 程序设计语言按照实现方法可分为哪几种类型?1.5 为什么要学习程序设计语言?1.6 将C语言和你所掌握的高级语言做一比较。
1.7 C程序的主要构成单位是什么?1.8 C语言的保留字和特定字有何区别?1.9 下面哪些是合法的C语言一般标识符?std-sex, Std-num, 2.13, _2.13, name, int, Int, var-num, yes_or_no, select, File_name, _DATA, define, a+c, new, ok?1.10 C程序从编辑到执行要经过哪些步骤?1.11 C函数主要由哪几部分构成?复合语句在C语言中是用什么标界的?又称为什么?1.12 填空。
1 . 一个C程序是由若干个函数构成的,其中必须有一个函数。
2 . 一个C语句最少应包含一个。
1.13 单项选择。
1. C语言程序的基本单位是( )。
(1) 子程序 (2) 程序 (3) 过程 (4) 函数2. 合法的C语言标识符是( )。
(1) _a1 (2) a+b (3) 3abc (4) AB,CD答案:1.1C语言主要用于编写系统软件,其主要特点如下:①语言简洁,紧凑,使用灵活②运算符丰富③具有数据类型构造和流控结构能力④语言生成的代码质量高⑤可移植性好⑥语言语法限制不严格,程序设计自由度大1.2程序设计语言的主要构成要素有:①数据。
②运算(操作)③控制结构④存储答理⑤固运算环境。
1.3 程序设计语言的实现方法主要有:1. 翻译或编译。
2. 软件模拟(软件解释)。
1.4 程序设计语言的按照实现方法有编译型和解释型两种。
1.5略 1.6 略1.7 C程序的主要构成单位是函数。
1.8 C程序的保留字和特定字的区别是,保留字不能用来表示用户自定义的对象,而特定字却不受此限(尽管不提倡这样做)。
C语言课件
C语言程序设计
第一章 C语言概述
1.2 C语言特点
– 语言简洁、紧凑、灵活 > –运算符和数据类型丰富 > – 程序设计结构化、模块化 – 生成目标代码质量高 – 可移植性好
> >
>
<
>
C语言程序设计
有问题请随时与任课老师(实验和理论)
联系
理论老师QQ:947593546
C语言程序设计
第一章 C语言概述
本课程在本科生教学中的地位及教学宗旨
本课程为专业基础课,属我校所有理工科专业本科教学 计划中的主要必修课程之一。在计算机教育方面,C 语言是为 数不多的与国外保持内容同步的课程之一,可见,它在本科生 教学中的地位之重要不言而喻。由于C 语言是许多后续专业课 程的基础,因此,在本科生教学体系中中, C 语言教学仅是 起点,而非终点。 本着面向未来的精神,本课程的教学宗旨是要努力把 C 语言从应试课程转变为一种实践工具,主要目的不再局限于使 大家单纯地了解和掌握 C 语言的基本语法规范,而是要致力 于培养大家运用C 语言解决实际问题的编程能力, 以 C 语言 为工具,介绍程序设计的基本思想和方法,培养学生无论以后 在学习、工作中使用什么语言编程,都能灵活应用这些思想和 方法的能力。
C语言程序设计
第一章 C语言概述
参考书目:
1.《C语言程序设计教程》,孙家启等编著, 安徽大学出版社; 2.《C程序设计》,谭浩强主著,清华大学出 版社; 3.《C语言程序设计》,孙家启编著,中国科 学技术出版社。
C语言程序设计
第一章 C语言概述
课时安排
第4章 单片机的C51语言
4.1 C51的程序结构 4.2 C51的数据结构 4.3 C51与汇编语言的混合编程 4.4 C51仿真开发环境 4.5 C51初步应用编程
第4章单片机的C51语言
51汇编语言能直接操作单片机的系统硬件,指令执行速度 快。但其程序可读性差,且编写、移植困难。
第4章单片机的C51语言
数据类型
【存储类型】
变量名
51单片机的 三个逻辑存储空间:
片内数据存储器,片外数据存储器和程序存储器。
建立C51存储类型与存储空间的对应关系
code区
xdata区
idata区
data区
bdata区
pdata 区
第4章单片机的C51语言
C51的存储类型与存储空间对应关系表
编译模式
SMALL系统
COMPACT系统 LARGE系统
注意:SFR字节地址变量的物理地址是由MCU资源决定的
第4章单片机的C51语言
sbit型
部分SFR具有位地址,如何定义与这些位地址相关的变量?
D0^7
PSW D7H
D0^6
AC
D0^5
D0^4
RS1
D0^3
RS0
D0^2
D0^1
D1H
D0^0
P
相对位地址
D0H 字节地址 绝对位地址
CY
CY
D6H
AC
32
对于“/”和“%”往往会有疑问。这两个符号都涉
及除法运算,但“/”运算是取商,而“%” 运算为取余 数。例如“5/3”的结果(商)为1,而“5%3”的结果 为2(余数)。 表3-3中的自增和自减运算符是使变量自动加1或减1, 自增和自减运算符放在变量前和变量之后是不同的。 ++i,--i:在使用i之前,先使i值加(减)1。
第4章单片机C语言1
变量:在程序运行中其值可以改变的量。
定义一个变量,编译系统就会自动为它安排一个存贮区,具体的 地址值 ,用户不必在意。一个变量由变量名和变量值构成. 变量名:存贮单元地址的符号表示。 变量的值:变量所在地址单元存放的内容。
Microcontroller 单片机的C语言 05
数据类型:数据的长度。 无论哪种数据都是存放在存贮单元中的,每一个数据究竟要占用几 个单元,都要提供给编译系统,正如汇编语言中存放数据的单元要用DB、 DW、DD伪指令进行定义一样。
Microcontroller 单片机的C语言
10
4.3.2
在固定的存贮器地址进行变量参数传递是C51的一个标准特征,定 义了变量、参数传递区的存贮器模式,也就是默认了变量和参数传递 区存贮器类型、无需再对变量和参数传递区的存贮器类型进行说明。 存贮器模式决定了变量的默认存贮器类型、参数传递区和无明确存 贮区类型的说明。有三种存贮器模式:SMALL、LARGE 和 COMPACT。
Microcontroller 单片机的C语言
14
下面表格表示两种语言将m单元的内容送n单元的对照语句: 直接寻址
汇编语言 MOV n,m 传送语句 C 语言 n=m; 赋值语句 汇编语言 MOV R1,#m ; m的地址送R1 MOV n,@R1 ; m单片机的C语言
04
4.2 C51的数据类型
C51的数据有常量和变量之分。 常量:在程序运行中其值不变的量。 数值型常量:可以为十进制数、 十六进制数( 用0x表示)和字符 (用‘ ’ 引号括起)。 符号型常量:用符号表示常量,此符号需用宏定义指令(#define)对 其进行定义(相当于汇编的‚EQU‛伪指令)。 如:#define PI 3.1415那么程序中只要出现PI的地方,编译 程序都译为3.1415。
大学C语言ppt学习教程-超全超经典
例5 汉诺塔
void main()
{
int h; printf("input number:\n");
scanf("%d",&h); printf("the step to moving %2d diskes:\n",h); Hanoi(h,'A','B','C'); getch();
例题 2
#include <stdio.h>
/*函数功能:计算两个整数相加之和 入口参数:整型数据a和b 返回值: 整型数a和b之和 */ int Add(int a, int b) { return (a + b); } /*主函数*/ main() { int x, y, sum = 0; printf("Input two integers:"); scanf("%d%d", &x, &y); /*输入两个整型数x和y*/ sum = Add(x, y); /*调用函数Add计算x和y相加之和*/ printf("sum = %d\n", sum); /*输出x和y相加之和*/ }
标识符命名; 基本数据类型; 常量和变量; 常用运算符和表达式;
运算符的优先级与结合性
21
《C程序设计实例教程》 山东科技大学机电学院
§2.1 标识符和字符集
C程序常见符号分类
关键字(Keyword)
又称为保留字,C语言中预先规定的具有固定含义的
一些单词
int,return等
计算机C语言课程的主要内容简介
4.观看结果
按“Alt+F5”或F10RUNUser Screen回车,观看程序的 运行结果。
5.退出系统
按“Alt+X”或F10FILEQuit回车,退出Turbo C 2.0集成
环境。
返回
17
第二章 算法
1. 概念:为解决某一特定问题而采取的 具体工作步骤和方法。
2. 算法的表示
(1) 自然语言 (2) 流程图表示法
结构。 4、具有结构化的控制语句,应用函数使程序模
块化。 5、语法限制不太严格,程序设计自由度大。
9
10
1.3 简单的C程序介绍
例1 main() {
运行结果: Tห้องสมุดไป่ตู้is is a c program.
printf("This is a c program.\n");
}
说明 :main表示“主函数”,每一个C程序都必须有一 个main函数。函数体由{}括起来,printf是C语言中的 输出函数,双引号内的字符串按原样输出。“\n”是换行 符,语句后要有一个分号。
目前广泛流行的各种版本C语言编译系统 虽然基本部分是相同的,但也有一些不同。如: Microsoft C、Turbo C、Quick C等,我们使用 的C环境是Turbo C 2.0。
8
1.2 C语言的特点
1、语言简洁、紧凑,使用方便、灵活。C语言 一共有32个关键字,9种控制语句。
2、运算符丰富。共有34种运算符。 3、数据结构丰富,具有现代化语言的各种数据
由于B语言过于简单,功能有限,1972年至 1973年间,贝尔实验室的D·M·Ritchie在B语言的
基础上设计出了C语言(取BCPL的第二个字母)。
《C语言程序设计教程》全册教案完整版教学设计
《C语言程序设计教程》第一章教案一、教学目标1. 让学生了解C语言的发展历程和特点。
2. 掌握C语言的基本语法和结构。
3. 学会使用C语言编写简单的程序。
二、教学内容1. C语言的发展历程和特点2. C语言的基本语法和结构3. C语言程序的基本框架4. 简单的C语言程序示例三、教学方法采用讲授法、示例法、练习法相结合的方式进行教学。
四、教学步骤1. 引入话题:介绍C语言的发展历程和特点。
2. 讲解C语言的基本语法和结构,包括数据类型、变量、常量、运算符、表达式等。
3. 讲解C语言程序的基本框架,包括主函数、变量定义、函数体等。
4. 通过示例程序,让学生了解和掌握C语言编程的基本方法。
5. 布置练习题,让学生课后巩固所学知识。
五、教学评价通过课堂提问、练习题、课后作业等方式对学生的学习情况进行评价。
《C语言程序设计教程》第二章教案一、教学目标1. 让学生掌握C语言的运算符和表达式。
2. 学会使用C语言进行基本的输入输出操作。
3. 了解C语言的控制语句,包括条件语句和循环语句。
二、教学内容1. C语言的运算符和表达式2. C语言的输入输出操作3. C语言的控制语句三、教学方法采用讲授法、示例法、练习法相结合的方式进行教学。
四、教学步骤1. 复习C语言的基本语法,引入运算符和表达式的概念。
2. 讲解各种运算符的用法和优先级,通过示例让学生掌握运算符和表达式的使用。
3. 讲解C语言的输入输出操作,包括printf函数和scanf函数的使用。
4. 讲解C语言的控制语句,包括if语句、switch语句、for循环、while循环等。
5. 通过示例程序,让学生掌握控制语句的使用方法。
6. 布置练习题,让学生课后巩固所学知识。
五、教学评价通过课堂提问、练习题、课后作业等方式对学生的学习情况进行评价。
《C语言程序设计教程》第三章教案一、教学目标1. 让学生掌握C语言的函数概念和作用。
2. 学会自定义函数,并了解函数的调用方式。
C语言 函数 预处理
例6-1 文件包含预处理语句的使用
mymath.h的内容如下: # define ADD(x,y) (x+y) # define MUL(x,y) ((x)*(y)) # define PI 3.1415926 # define G 2.718 test.c内容如下: # include “mymath.h” main ( ) { int a=6,b=9; printf(“a+b=%d\n”,ADD(a,b)); printf(“a*b=%d\n”,MUL(a,b)); }
(5)使用宏次数多时,宏展开后源程序长,因为每 展开一次都使程序增长;而函数调用不使程序变长。 (6)宏替换不占用运行时间,而函数调用则占用运 6 行时间(分配内存单元、保护现场、值传递、执行 函数、返回函数值等)。
6.3 条件编译 .
在很多情况下,为了增强程序的可移植 性,C语言源程序中包含了各种版本的程序段, 但在某种情况下,只希望对一部分内容进行 编译,即为其指定编译的条件,此时称为条 件编译。
例6-3 带参数的宏定义 #define POWER(x) ((x)*(x)) main() { int y; scanf(“%d”,&y); printf(“y=%d, y*y=%d\n”,y, POWER(y)); }
从上述例题中可以看出,带参数的宏定义与函 数的使用非常相似,但二者是不同的。两者的区别 有如下几点: (1)函数调用时先求出实参的值,然后代入形参。 而带参数的宏定义只是进行简单的字符替换。 (2)函数调用是在程序运行时处理的,并分配临时 的内存单元。而宏展开则是在编译预处理时进行的, 在展开时并不分配内存单元,不进行值的传递,也 没有“返回值”。
第6章 编译预处理 章
