C程序设计_1_C语言概述
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解所用系统对不标允识许符以长数度字的开规头定,以免出现错误。
第1章 C语言概述
什么是计算机语言
计算机语言:人和计算机交流和沟通的工 具、计算机和人都能识别的语言。
计算机语言发展阶段:
– 机器语言(由0和1组成的指令) – 符号语言(用英文字母和数字表示指令) – 高级语言(接近于人的自然语言和数学语言)
• 面向过程的语言 (非结构化的语言、结构化语言)
• 面向对象的语言
习题讲解
例: 关于标识符,下列说法不正确的是() A.库函数名称为预定义标识符,不建议用作用户 自定义标识符 B.关键字不能作为用户自定义标识符 C.用户自定义标识符中不区分英文字母大小写 D.标识符中可以出现下划线,且可以出现在标识 符的任何位置。
习答案:C题讲解
习题讲解
例: 以下可以作为C语言自定义标识符的一组是: A.void return if B.printf include fabs C.Max _abc Main D.2abc pay$ sum-10
字符常量:如’?’ – 转义字符:如’\n’
字符串常量:如”boy” 符号常量:#define PI 3.1416
练习
以下四个选项中哪个是合法的实型常量 A.+1e+1 5e-9.4 B.-.60 12e-4 -8e C.123e 2e-4 +2e-1 D.-e3 0.8e-4 5.e-7
答案:操作系统是最基本的系统软件,是对硬 件机器的首次扩充,因此不是应用软件,B
习题讲解
机器语言是计算机唯一能够直接识别并接受的语言。 高级语言编写的程序必须先经过翻译或者编译才能 够生成机器语言,才可以在计算机上直接执行。
二、下面叙述中错误的是: A.程序设计是指设计、编制和调试程序的过程 B.程序设计语言的基本功能就是描述数据和对数据
第1章c语言概述
1.1
什么是计算机程序
用户可以根据自己的实际需要设计一些应用程序,例 如学时成绩统计程序、财务管理程序、工程中的计算 机程序等。 计算机的一切操作都是由程序控制的,离开程序,计 算机将一事无成。 计算机的本质是程序的机器 程序和指令是计算机系统中最基本的概念
1.2 什么是计算机语言
计算机语言:人和计算机交流信息,计算机和人都能 识别的语言
1.4.1 最简单的C语言程序举例
在以上程序各行的右侧,如果有//,则表示从此到本 行结束是“注释”,用来对程序有关部分进行必要的 说明。注释是给人看的,而计算机不执行。 说明:C语言允许用两种注释方式:
//:单行注释 可单独占一行 可出现在一行中其他内容的右侧 /*„„*/:块式注释 可包含多行
1.3 C语言的发展及其特点
2001、2004年先后进行了两次技术修正(TC1和 TC2)。 ISO/IEC 9899:1999(及其技术修正)被称为 C99。 C99是C89(及1995基准增补1)的扩充。 目前不同软件公司提供的各C语言编译系统多数并未 完全实现C99建议的功能。 本书中程序基本上都可以在目前所用的编译系统(如 VC++ 6.0,Turbo C++ 3.0)上编译和运行。
1.4.1 最简单的C语言程序举例
其中 main 表示“主函数”。Main前面的int表示此函 数的类型是int类型。在执行主函数后会得到一个值 (即函数值),其值为整型。每一个C程序都必须有一 个 main 函数。函数体由大括弧{}括起来。本例中主 函数内只有一个输出语句,printf是C编译系统提供的 函数库中的输出函数(详见第4章),双引号(双括号) 内的字符串原样输出。“\n”是换行符,即在输出 “This is a c program.”后,显示屏上的光标位置 移到下一行的开头。下一个输出的字符出现在此位置 上。每个语句最后有一分号,表示语句的结束。
C语言程序设计 第一章C语言概述
8.目标代码质量好,程序执行效率高
9.可移植性好
1.2 c语言的基本语法成分
1.C语言字符集:字符是C语言的最基本的元素,C语言字符 集由字母、数字、空白、标点和特殊字符组成(在字符串 常量和注释中还可以使用汉字等其它图形符号)。由字符 集中的字符可以构成C语言进一步的语法成分(如,标识 符,关键词,运算符等)
2.标识符 标识符用来标识变量名、符号常量名、函数名、
类型名、文件名等的有效字符序列。
3.关键字 C语言中一些具有特殊意义的标识符称为关键字。
这些关键字在任何时候都不得用作变量名、符号常量 名、函数名、类型名、文件名等。
4.运算符: 运算符将常量、变量、函数连接起来组成表达式,
表示各种运算。
5.分隔符:分号,空格。起分隔、间隔作用。
int x, y; /*对形参x、y作类型定义*/
{ int z;
/*max函用到的变量z,也要加以定义*/
z=y;
if (x>y) z=x;
return (z); /*将z的值返回,通过max带回调用处*/
}
通过分析,初步看出:
1. C程序全部由一个一个的函数构成。至少有一个 主函数main ( ), 其它函数可被主函数调用或相 互调用。其它函数可为C 函数库中函数,也可为自
1.1 c语言的特点 1.2 c语言的基本语法成分 1.3 c语言的程序结构
1.1 C语言的特点
C语言是在B语言的基础上发展起来的一种中级语 言。它具有高级语言和低级语言(汇编语言)双重功能的 特点,被广泛用于系统软件和应用软件的开发,成为目 前生命力最旺盛的高级语言之一。其主要特点有:
1.C语言源程序由多个相互独立的函数组成 2.语言简洁、紧凑,使用方便、灵活
第1章_C语言概述(C语言程序设计)
通过以上例子可以看出: 通过以上例子可以看出: 1. C程序是由函数构成的。每个程序由一个或多个函数组成, 程序是由函数构成的。每个程序由一个或多个函数组成, 程序是由函数构成的 其中必须有且仅有一个主函数main( )。 有且仅有一个主函数 其中必须有且仅有一个主函数 。 2. 一个可执行的 语言程序总是从 一个可执行的C语言程序总是从main函数开始执行,而不 函数开始执行, 语言程序总是从 函数开始执行 论其在整个程序中的位置如何。 论其在整个程序中的位置如何。 3. C对输入输出实行函数化。 对输入输出实行函数化。 对输入输出实行函数化 4. C程序书写格式自由,一行内可以写几个语句,一个语句 程序书写格式自由,一行内可以写几个语句, 程序书写格式自由 也可以分写在多行上。 也可以分写在多行上。 5. 可用 可用/*……*/对C程序中的任何部分作注释,注释可以写在 对 程序中的任何部分作注释 程序中的任何部分作注释, 程序的任何位置上, 也可不在同一行上。 程序的任何位置上,“/*”与“*/”也可不在同一行上。 与 也可不在同一行上 6. 在C语言中,大小写字母是有区别的。( 语言习惯用小 语言中, 。(C语言习惯用小 语言中 大小写字母是有区别的。( 写字母) 写字母)
主函数
main( ) { int x, y, z; printf(“Please input two integers:\n”) ; scanf(“%d%d” , &x, &y); z = add_xy(x, y); printf(“%d %d %d.”, x, y, z); }
西南林学院计科系
第 1章 概述
西南林学院计科系
第 1章 概述
将汇编源程序翻译为目标程序(机器语言)的过程称 为汇编 汇编。 汇编 连接的原因是由于在目标程序中还可能要调用一些 连接 标准程序库中的标准子程序或其他自定义函数等,由于 这些程序还没有连接成一个整体,因此,需通过“连接 程序”将目标程序和有关的程序库组合成一个完整的 “可执行程序”。
C语言第一章
第一章 C语言概述
第1章 C语言概述
C语言发展历史 简单的C程序介绍 C语言数据类型概述
C语言程序设计
第一章 C语言概述
1.1 C语言的出现和发展历史
• 程序设计语言的发展
机 器 语 言
汇 编 语 言
高 级 语 言
面向过程
面向对象
用助记符号描述的指令系统,可进行地址、位操作 可读性,移植性好,编写应用程序 CPU指令系统,由0、1序列构成的指令码组成 C语言兼有高级和低级语言的功能 面向机器的语言适合写系统软件和应用软件 如 ADD A,一般较难实现汇编语言的某些功能 B 加 如:10000000 编写系统软件,直接对硬件操作,可读性,移植性差 如:地址和位的操作 10010000 减 又称中级语言 < >
数据类型决定: 1. 数据占内存字节数 2. 数据取值范围 3. 可以进行的操作
C语言程序设计
第一章 程序的灵魂——算法
数值数据的表示
C语言中数值数据有两种:整型和浮点小数 1.整数表示形式 十进制:123,-567 八进制:011,072 十六进制:0x12 2.整数的存储空间为两个字节,即16个二进制位。 取值范围为-32768—32767 如果超过这范围,使用占4个字节的长整型,在整 数后面加上一个字母L,此时取值范围可以扩大到 -2147483648—2147483647
C语言程序设计
第一章 C语言概述
1.2 简单的C程序介绍
例1.1 第一个程序This is a c program . 注释 /* example1.1 The first C Program*/ #include <stdio.h> 编译预处理 void main() 主函数 { printf(“This is a c program.\n”); 语句 } 输出: This is a c program.
1.C语言概述
§1.4 程序设计语言
程序设计语言的实现方式(两种) 编译 编译程序:高级语言源程序机器语言目标程序 汇编程序:汇编语言源程序机器语言目标程序 装配程序:机器语言源程序机器语言目标程序 解释 高级语言源程序运行结果
C语言程序设计
第一章 C语言概述
§1.5 C程序格式和结构特点
例1:输出字符串“hello,world!”(1-1.c) #include<stdio.h> void main() { printf("hello world!\n");/*输出一串字符串*/ }
C语言程序设计
第一章 C语言概述
§1.6 C程序的上机步骤
C程序开发步骤
开 始
编 辑 源程序 file.c 编 译
编辑 编译 链接 执行
上机输入与编写源 程序,生成源程序*.c 语法分析查错,翻译 生成目标程序*.obj
有 有错? 无 可执 行 目标 程 序 连 接
目标程 序 file.obj
与其它目标程序或库 链接装配,生成可执行 程序*.exe 运行可执行的目标 程序
> > >
C语言程序设计
第一章 C语言概述
32个关键字:(由系统定义,不能重作其它定义) auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef unsigned union void volatile while
CPL BCPL B C ,其中:
C语言---第一章 C语言概述
4、C程序每条语句以分号结束,一行内可以写几个语句。 3、花括号{ }内为函数体。包括变量定义和执行部分(功能)。 2、C程序总是从main()函数开始执行,其后的括号可以为空。 1、C程序是由一个main主函数和若干个其他函数。函数是C程 5、可以用/*……*/对C程序的任何部分作注释。 序的基本单位。
五、C程序的上机步骤
下图表示整个过程:
f.obj f.exe 结果
键盘输入 编辑 源程序
f.c
编译
连接
执行
编译
编译并连接
运行程序
文 档 编 辑 区
编译结果
编译结果显示
四、C程序的上机步骤(重点)
1、编辑 功能:编写源程序保存在磁盘文件中。扩展名为“.c”。
2、编译
功能:将源程序翻译成为二进制的目标代码。编译过程中要 对源程序进行语法检查并显示出错信息。编译后生成目标文 件“标准模块连接处理后,生成
可执行文件“.exe”文件。
C语言二级培训
第一章 C语言概述
一、C语言的特点 二、结构化程序设计 三、简单的C程序介绍(重点) 四、C程序的上机步骤(重点)
一、C语言的特点
1、语言简洁、紧凑、使用方便、灵活。
2、运算符丰富,表达能力强,程序设计自由度大。
3、它属于高级语言,但提供了接近汇编语言(低级语言) 的功能。 4、C语言程序所生成的目标代码质量高。
二、结构化程序设计 1、顺序结构 2、选择结构 3、循环结构
三、简单C语言程序介绍(重点)
#include “stdio.h” main() { int a,b,sum; /*定义变量*/ a=10; /*给变量赋值*/ b=20; sum=a+b; /*求两数之和给变量sum*/ printf(“a=%d,b=%d,sum=%d\n”,a,b,sum); } /*把结果输出到屏幕上*/
第一章C语言概述
x轴
y
h
w y轴
《C语言程序设计》 C语言概述
练习6:
某矩形的宽度为w,高度为h,其中心点在(x0,y0) 处,计算它的左上角坐标(x,y)。
x
(x,y) (x0,y0)
x轴
y
h
y轴
《C语言程序设计》 C语言概述
练习7:
示例:盯住你
已知两点p1(x1,y1)和p2(x2,y2)。另有一点p(x,y), 将p移动到p1、p2的连线上,并使p到p1点的距离 不变。计算p的新位置p’。
第一章 C语言概述
第一章 C语言概述
本章主要内容:
1.1
C语言的发展简史 1.2 C语言的特点 1.3 简单的C程序介绍 1.4 C程序的上机方法
ห้องสมุดไป่ตู้本章重点:
C程序的最基本的语句 掌握C程序的上机方法
《C语言程序设计》
1.1 C语言简史
C语言是在美国贝尔实验室诞生的。 贝尔实验室的M.D.Ritchie和K.Thompson在开发 UNIX操作系统时,希望有一种既有高级语言特性, 又有低级语言特点的语言来描述系统软件,但当 时存在的CPL、BCPL、B语言不是规模大、难以 实现,就是过于简单,功能很弱。1972~1973年 M.D.Ritchie设计出了C语言。在一段时间里,C 语言还只是在贝尔实验室内部使用,直到1975年 UNIX第六版的C语言才引起人们的注意。
《C语言程序设计》 C语言概述
《C语言程序设计》 C语言概述
1977年出现了可移植C语言,1978年第七版的C 语言成了当时的标准,称标准C。1983年,美国 国家标准化协会(ANSI)对C语言制定新的标准, 称为ANSI C,这就是现行的C语言标准。 此后,C语言的发展非常迅速,现在已风靡全世 界,成为最受人们欢迎的几种计算机程序设计语 言之一。 目前,实用的C语言编译系统种类繁多,如Turbo C,Microsoft C,Quick C等,虽然它们略有差异, 但基本部分都是相同的。
C语言第1章概述
1.1 程序设计概述
2、什么是程序设计语言? 程序设计语言通常简称为编程语言,是一组用来定义
计算机程序的语法规则。它是一种被标准化的交流技 巧,用来向计算机发出指令。一种计算机语言让程序 员能够准确地定义计算机所需要使用的数据,并精确 地定义在不同情况下所应当采取的行动。 可以分为机器语言、汇编语言和高级语言三大类。
_22A,lea_1,avg3,day,ABCde43xyw8 以下标志符是非法的:
8Tea ,$_238,a*b,#xy
注意:在C语言中,大小写字母不等效。因此,a和A,I和i,Sum 和sum,分别是两个不同的标识符
18
1.2 C语言简介
2、关键字 具有特定含义的的字符串,也称为保留字。用户定
注意:编译只能发现语法错误,不能发现算法错误。
26
1.3 C语言的编程环境
1.3.2 Visual C++6.0编程环境
1. Visual C++6.0 Visual C++6.0不仅是一个C++编译器,而且是一
个基于Windows操作系统的可视化集成开发环境 (integrated development environment,IDE)。
维护和完善性维护。 可移植性:程序主要与其所完成的任务有关,但也与
它的运行环境有着一定的联系。软件的开发应尽可能 远离机器的特征,以提高它的可移植程度。
14
1.2 C语言简介
1.2.1 C语言出现的历史背景
1978年由美国电话电报公司(AT&T)贝尔实验室正式发 表了C语言。早期的C语言主要是用于Unix系统。
13
1.1 程序设计概述
c语言课本 第1章
大学C/C++语言程序设计
第1章 程序设计概述
1.8 C语言程序结构
§C语言特点
语言简洁、紧凑、灵活 c语言共32个关键字,9种控制语句 运算符和数据类型丰富 程序设计结构化 允许直接访问物理地址,进行位操作 生成目标代码质量高 可移植性好
C语言程序设计
第一章 C语言概述
例 C语言与Pascal语言比较 C语言 Pascal语言 含义 { } BEGIN….END 复合语句 if(e) s; IF(e) THEN s 条件语句 int i ; VAR i:INTEGER 定义i为整型变量 int a[10]; VAR a:ARRAY[1..10] OF INTEGER 定义整型数组a int f(); FUNCTION f():INTEGER 定义f为返值整型 的函数 int *p; VAR p:INTEGER 定义p为指向整 型变量的指针 i+= 2; i=i+2 赋值i+2i i++,++i; i=i+1 i自增值 结论:C比 Pascal简练,源程序短。
语句
大学C/C++语言程序设计
第1章 程序设计概述
例1.2
#include <stdio.h> 预处理命令 int add(int x,int y); 函数 main() { int a,b,c; printf(”please input value of a and b:\n”); scanf(“%d %d”,&a,&b); 语句 c=add(a,b); printf(”c= %d\n“,c); } 运行结果: int add(int x,int y) 12 22 { sum=34 return(x+y); }
《C语言程序设计》教学课件项目一C语言概述
在前两个例子中用到了输入和输出函数 scanf 和 printf ,scanf和printf这 两个函数分别称为格式输入函数和格式输出函数。其意义是按指定的格式输入
输出值。这两个函数在括号中的参数表都由以下两部分组成:“格式控制串”、
“参数表”。格式控制串是一个字符串,必须用双引号括起来,它表示了输入输
}
每行注释:
(1)include称为文件包含命令,扩 展名为“.h”的文件,也称为头文件或 首部文件。
(2)定义两个实数变量,以被后面 程序使用。
(3)显示提示信息。 (4)从键盘获得一个实数x。 (5)求x的正弦,并把它赋给变量s。 (6)显示程序运算结果。 (7)main函数结束。
程序的功能是从键盘输入一个数x,求x的正弦值,然后输出结果。
上例中程序的执行过程是,首先
在屏幕上显示提示串,请用户输入 两个数,回车后由scanf函数语句接 收这两个数送入变量x、y中,然后 调用max函数,并把x、y的值传送给 max函数的参数a、b。在max函数中 比较a、b的大小,把大者返回给主 函数的变量z,最后在屏幕上输出z 的值。
三、Turbo C 的产生和发展
printf("Hello,World!"); } 输出: Hello,World!
第二个程序: 计算两数之和。
/*example1.1calculate the sum of a and b*/ #include <stdio.h> /*This is the main program*/ main() {
任 三务、一Tur程bo序C设的计产初步生和发展
3. C程序的结构
main() {
printf("c语言世界,您好!\n"); }
C语言程序设计案例教程课件 1第一章 C语言概述
1.启动Visual C++6.0环境
启动Visual C++ 6.0方法
单击 “开始”-“程序”-“Microsoft Visual studio 6.0”“Microsoft Visual C++ 6.0”命令
标题栏 工具栏
菜单栏
项目工作区窗口
文档窗口
输出窗口
状态栏
1. 4 C语言程序上机调试步骤和方法
连接。执行连接命令后,输出窗口会显示出连接结果。
1. 4 C语言程序上机调试步骤和方法
4.程序执行
执行方法
在VC++环境中单击工具栏
中的 按钮,或者按
Ctrl+F5键,或者选择“组建”菜单中的“全部重建” 3种方式都可
以运行程序。可执行程序运行后,将显示为DOS控制台状态,按任
意键返回Visual C++ 6.0环境。
在编程时应力求遵循这些规则, 以养成良好的编程风格。
1. 4 C语言程序上机调试步骤和方法
1.4.2 Visual C++集成开发环境
利用Visual C++ 6.0集成环境开发C程序的过程如下: 1.启动Visual C++ 6.0环境 2.编辑源程序文件 3.编译和连接 4.执行
1. 4 C语言程序上机调试步骤和方法
1. 3 软件开发方法
算法的概念 广义上讲,算法是解决某一问题的方法和步骤.
算法的特性 (1)有穷性 (2)确定性 (3)可行性 (4)有零个或多个输入 (5)有一个或多个输出
1. 3 软件开发方法
算法表示方法
1. 3 软件开发方法
三种基本结构
《C语言程序设计》 第1章 概论
Chapter 1
Introduction
1.2.2 C 程序的基本结构
实例:输入两个数及其算术运算关系,输出运算结果。 int fun(int x,char op,int y) /* This is my first C program { filename:first.c int z; */ switch(op) #include <stdio.h> { void main(void) case ‗+‘: z=x+y; break; { case ‗-‗ : z=x-y; break; char ch; case ‗*‘: z=x*y; break; int iA, iB, c; case ‗/‘ : z=x/y; scanf(―%d%c%d‖, 子 } &iA,&ch,&iB); 函 return z; /*返回运算结果*/ c=fun(iA,ch,iB); 数 } 主printf(―%d%c%d=%d‖,iA, 函 ch,iB,c); chp1ex1 数 }
Chapter 1
Introduction
C 语言程序设计
C Language Programming
但愿她是你知识大厦的又一块基石。 但愿她是开启你智慧的又一把钥匙!
Chapter 1
Introduction
学习目的
通过学习掌握C语言的语法结构,理解程序设计的一般 方法和基本技术。 学习算法的概念以及结构化程序设计的一般方法,提 高分析能力和综合能力。 能够用C语言编程解决一定的实际问题,提高计算能力。
0111000011 0101000010
Chapter 1
Introduction
学习的层次
C程序设计复习资料知识点总结C语言
C程序设计知识点都懂了;一定过第1章 C语言概述1.1.C语言属高级语言;区分字母的大小写;以函数为基本单位采用模块化程序设计;可直接访问内存;进而对硬件进行操作..1.2.用C语言编写和程序称作C源程序;简称C程序;C程序可由若干个文本文件组成;文件扩展名为C使用C++编译器时默认扩展名为CPP..C源程序经编译、连接后得到扩展名为EXE的可执行文件目标程序..预处理编译、连接执行若干个C程序文件----→C程序------→目标程序文件--→1.3.C程序从主函数开始执行;每个C程序有且仅有一个主函数;因此;每个C程序文件中至多有一个主函数..1.4.C语句以分号结尾;用{}括起来的一组语句称作复合语句;复合语句可省略花括号之后的分号..1.5.允许一行内写多个C语句;也允许一个C语句占用多行;但保留字和标识符不可拆行..1.6.在C集成环境VC++ 6.0中;新建工程、保存当前程序文件、编译当前程序、执行当前程序的快捷键依次为:Ctrl+N、Ctrl+S、F7、Ctrl+F5..第2章 程序设计的灵魂——算法2.1. 解决问题的方法和步骤称作算法..算法和数据结构是程序的两个主要要素.. 2.2. 算法具有确定性、有穷性、有效性等特点..2.3. 算法可用自然语言、流程图、N-S 图、计算机语言、伪代码等描述..伪代码是用介于自然语言和计算机语言之间的文字和符号来描述算法..2.4. 算法的基本结构分为:顺序结构、选择结构、循环结构..↓↓↓↓←- --Y ┌ 条件 ┐N 条件 ┐N││││条件┘Y--- ← ┘ ↓N图2.2 顺序结构 图2.3 选择结构 图2.4 当循环 图2.5 直到循环图直到循环2.5.由三种基本结构组成的程序称作结构化程序;结构化程序中的每个模块只有一个入口和一个出口..结构化程序设计通常采用“自顶向下、逐步细化”的设计方法..第3章数据类型、运算符与表达式3.1.C的数据类型如下所示:表3.1 C语言的数据类型3.2.字母或下划线开头;由字母、数字、下划线组成;超出32个字符部分被忽略最好不超过8个字符..3.3.以0开头的整数为八进制整数;以0X或0x开头的整数为十六进制无符号整数..3.4.-32768~32767为int型;0U~65535U为unsignedunsigned long型;-~-32769、32768~和-L~L为long型..后缀U和L不区分大小写和次序..3.5.数据的存储字节数可用运算符sizeof查询;括号内可是数据、表达式或类型名..3.6.有符号整数int和long3.7.定点数含小数点数和浮点数统称C实型常量;浮点数的一般形式为:尾数e除码或尾数E除码其含义为:尾数×10除码其中;尾数为定点数或整数;除码为整数..标准浮点数的小数点在第1位非0数字之后..后缀L或l的实型常量为长双精度;无后缀实型常量为双精度..3.8.用一对单引号括起来的单个字符称作C字符常量;其值为该字符的ASCII码1字节无符号整数..3.9.转义字符'\n'、'\t'、'\\'、'\''、'\"'分别表示回车符、制表符、反斜杠、单引号、双引号..3.10.转义字符'\整数'、'\x整数'或'\X整数'中的整数分别为八进制、十六进制;表示以此整数为ASCII码的字符..3.11.用双引号括起来的一串字符称作C字符串型常量;串中字符数称作串长;可以为0..字符串的存储形式为:依次存储字符串中字符的ASCII码;并追加一个空字符'\0'1字节无符号整数0..3.12.字符型、整型、实型数据统称数值型数据;不同类型的数值型数据可以混合运算;低精度数据被自动强制转换为高精度数据后方参与运算..另外;字符常量为有符号短整数;两个字符型数据间的运算按有符号短整数处理..3.13.如果将数值型数据赋给不同类型的数值型变量;则数值型数据将被自动强制转换为变量的数据类型..3.14.C允许定义变量的同时赋初值..3.15.C运算符及其优先级、结合性如附录C教材第365页所示..3.16.强制数据类型转换的一般形式为:类型名数据3.17.自增++、自减--运算只能作用于变量;作用于右侧时;返回变量自增、自减前的值..3.18.赋值表达式的格式为:变量=表达式或变量op=表达式其中;op为运算符 +、-、、/、%、>>、<<、&、^、| 中某一个..前者将右边表达式的值赋给左边的变量;后者将左边变量的当前值与右边表达式的值作相应运算后仍赋给左边的变量..整个赋值表达式取左边变量所赋的新值..3.19.用逗号分隔的一组表达式称作逗号表达式;其一般形式为:表达式; 表达式; …; 表达式其功能为:从左至右依次计算各表达式的值;并以最后一个表达式的值为整个逗号表达式的值..3.20.将数学式改为C表达式时应注意:(1)乘号不可省略;(2)正确改写脚码、运算符、括号等;(3)正确书写函数名;(4)把握好运算优先级;分数线改为/时;分子、分母相应加括号;(5)正确拆分不等式组;(6)区分整数除法和实数除法..第4章顺序结构程序设计4.1.表达式后缀分号称作表达式语句;即;表达式;4.2.putchar、getchar、printf、scanf等输入输出函数的原型在头文件stdio.h中..4.3.函数putchar和getchar的格式和功能如下:(1)putchar格式:putchar表达式功能:向标准输出设备输出以指定表达式的值为ASCII码的字符;并以该值为函数值自动强制转换为int型..(2)getchar格式:getchar功能:从标准输入设备输入一个字符;并以该字符为函数值..注意:getchar可提取空格及回车、Tab等部分控制字符;而且只提取输入中相应位置上的一个字符;因此;输入字符间无须分隔;否则也被视为输入字符..4.4.printf函数的格式和功能如下:格式:printf格式控制串; 输出表列功能:(1)从右至左依次计算输出表列中各表达式的值;(2)从左至右依次输出格式控制串中的字符;其中;%引导的格式控制符由输出表列中相应表达式的值所取代..输出表列是一组用逗号分隔的表达式又称输出项;可以为0项..格式控制串为字符串型数据可以是表达式..其中;格式符用于控制输出表列中相应表达式的输出格式..格式符及其功能如下表所示:表4.1 printf格式字符4.5.格式:scanf格式控制串; 地址表列其中;格式控制串为字符串型数据可以是表达式;地址表列是一组用逗号分隔的地址..功能:(1)右至左依次计算地址表列中各表达式的值;(2)从标准输入设备提取数据;并从左至右依次存储到所指定的存储单元..(3)地址表列中的地址可用表达式表示;通常形式为:&变量其中&是地址运算符;它表示取其后变量的存储起始地址..说明:(1)scanf函数格式符与printf函数的格式符的功能相似..scanf的合法格式符不区分大小写、实型格式符均等效;另外;表4.2 scanf的附加格式符说明(2)符;且被跳过;这为指定数据间分隔符提供了方便..(3)printf和scanf格式控制串中的每对%%从左至右结合按一个普通字符%对待..第5章选择结构程序设计5.1.C逻辑值为短整数int;真、假分别为1、0..另外;字符、数、指针作为逻辑量时;非0、非空为真即1;0、空为假即0..逻辑运算如下表所示:表5.1 逻辑运算真值表5.2.□||□||…的逻辑式;从左至右计算□的逻辑值;遇到真则提前终止..5.3.对于形如□&&□&&…的逻辑式;从左至右计算□的逻辑值;遇到假则提前终止..5.4.算术、关系、逻辑运算的优先级参见附录C教材第365页..5.5.if语句的格式和功能如下:(1)格式一:if条件语句功能:如果条件成立;方执行语句..(2)格式二:if条件语句1 else 语句2功能如果条件成立;执行语句1;否则执行语句2..注意:else不可独立使用;它与其前最近一个尚未配对的if配对;为避免歧义;通常只在else中嵌套if语句..5.6.条件表达式的格式和功能如下:格式:条件表达式1:表达式2功能:如果条件成立;取表达式1的值;否则取表达式2的值..说明:条件表达式可以嵌套;与其前最近一个尚未配对的if配对..5.7.switch语句的格式和功能如下:格式:switch表达式{…case 常量i: 语句组i…default: 语句组n+1}功能:如果表达式的值等于常量i;则从语句组i开始执行;否则执行语句组n+1..说明:(1)“表达式”的值和“常量”为整型包括字符型..(2)switch中的每个语句组称作一个分支;为使各分支独立;通常以break、return、exit等语句结尾..另外;“default: 语句组n+1”可以缺省..5.8.break语句的格式和功能如下:格式:break;功能:结束本层switch语句或本层循环语句..说明:break语句只能用于switch语句和循环..第6章循环结构程序设计6.1.while语句的格式和功能如下:格式:while表达式循环体功能:当表达式的值为真时;重复执行其后循环体..说明:循环体是循环语句的内嵌语句;可以是空或复合语句下同..6.2.do-while语句的格式和功能如下:格式:do 循环体 while表达式功能:重复执行循环体;直到表达式的值为假..说明:do-while循环至少执行一次循环体..6.3.for语句的格式和功能如下:格式:for表达式1; 表达式2; 表达式3 循环体功能:(1)计算表达式1;(2)当表达式2的值为真时;重复执行循环体和计算表达式3..说明:表达式1、表达式2、表达式3均可缺省;但保留分号..6.4.continue语句的格式和功能如下:格式:continue;功能:跳过循环体中其后程序段结束本次循环..说明:continue语句只能用于循环..6.5.掌握以下算法:累加、阶乘、判断素数、分解整数数字、递推数列、打印字符图形..第7章数组7.1.同一类型数据的序列称作数组;数组中数据用相应下标变量访问;因此;数组亦可视为由下标变量组成的序列..7.2.定义数组语句的一般格式和功能为:格式:数据类型名数组名第1维长度…第n维长度功能:为数组分配连续内存单元;用于存储数组中的下标变量低维优先;并将起始地址又称基址赋给数组名..说明:数组长度只能为整型常量或整型常量表达式..7.3.数组的要素有:数据类型、数组名、维数及各维的长度..各维的长度必须是常量;可用常量表达式表示;其值的整数位有效——截断取整..7.4.下标变量的格式为:数组名第1维下标…第n维下标7.5.下标从0开始;可用表达式表示;其值的整数位有效..下标最大值比长度小1..7.6.下标变量的使用与普通变量相同..7.7.定义数组的同时可对数组中的下标变量赋初值..格式:数据类型名数组名第1维长度…第n维长度={数据表}功能:定义数组的同时将数据表中数据依次赋给数组中下标变量;未赋值下标变量的初值为相应数据类型的0..说明:数据表中的数据必须是常量;可用表达式表示..第1维长度可省略;如果省略;其长度由数据表和其它维长度确定——存储所需的最小长度..7.8.以字符为数据元素的数组称作字符数组;它由一组字符型下标变量组成..除赋值外;字符数组名的使用与字符串变量相似..字符数组也可用字符串初始化..7.9.标准函数库提供许多用于处理字符串的函数..表7.1 常用字符串处理函数后的字符..7.10.掌握冒泡排序..第8章函数8.1.自定义函数的格式为:函数值类型函数名带类型声明的形参表列{函数体}8.2.函数值的默认数据类型为int..8.3.如果函数有返回值;则用return语句返回;其格式为:return 表达式; 或 return表达式;8.4.如果函数无返回值;即函数值类型为void;亦可用格式:return;结束本函数并返回调用者..8.5.函数一般调用格式为:函数名实参表列其中;实参表列为一组逗号分隔的表达式..实参按从右至左的次序计算并传递给相应形参..8.6.如果函数调用在其定义之前;调用前应作相应声明;声明格式为:函数值类型名函数名形参及其类型声明表列;其中;形参可省略..8.7.函数不可嵌套定义;但允许嵌套调用;亦可直接或间接调用自身称作递归函数..8.8.递归函数的函数体的一般格式为:B班同学不作要求if递归条件语句1 /递归时;如何递归/else 语句2 /非递归时;如何处理/或if递归条件语句1 /非递归时;如何处理/else 语句2 /递归时;如何递归/8.9.形参及函数内定义的变量称作局部变量;它从定义处生效;且只在该函数内有效..因此;不同函数中的局部变量可以同名;但同名不同义..8.10.在所有函数之外定义的变量称作全局变量;它从定义处生效..8.11.如果局部变量与全局变量同名;则同名全局变量被屏蔽..8.12.局部变量的存储方式分为:自动auto;默认、静态static、寄存器register..8.13.存储方式和数据类型是变量的两个重要属性;必须在定义变量时一并声明;关键字的排列顺序没有限制..变量的默认数据类型为int;默认存储方式为auto;但关键字auto和int不可同时缺省..8.14.auto型局部变量占用动态数据区;当函数调用结束时释放所占内存..register占用CPU中的寄存器;但寄存器不够用时;占用动态数据区..8.15.全局变量和static型局部变量占用静态数据区;默认初值为相应数据类型的0..8.16.static型局部变量的声明和初始化只执行一次..8.17.如果全局变量被声明为static型;则其它程序文件不能使用该全局变量..否则;其它程序文件也可使用该全局变量;但使用前应作extern声明..8.18.被声明为static型的函数;只在本程序文件中有效;不能被其它程序文件调用..否则;其它程序文件也可调用此函数;但调用前应作extern声明..8.19.常用数学函数在头文件math.h中..掌握基本初等函数..第9章预处理命令9.1.预处理命令在程序编译前执行;其主要功能是“文本置换”..9.2.不带参数宏定义的格式和功能如下:格式:define 宏名文本功能:在预处理时;将程序中宏名用相应的文本置换..9.3.带参数宏定义的格式和功能如下:格式:define 宏名形参表列文本功能:在预处理时;将程序中带参数的宏用相应的文本置换;且文本中的形参被相应的实参所置换..注意:形参无须且做类型声明..9.4.终止宏定义的格式如下:格式 undef 宏名9.5.宏定义可以引用已有的宏;亦可重新定义所代表的文本..9.6.预处理命令无须以分号结尾;否则分号也参与置换..9.7.include命令的格式和功能如下:格式一:include "文件名"格式二:include <文件名>功能:在预处理时;用指定文件置换本命令——加载文件..置换后;被包含文件成为本文件的一部分;其函数、全局变量等均可在本文件中直接使用;无须作extern声明..前一种格式先在当前目录中找指定文件;如果未找到;方到存放C头文件的目录中查找..后一种格式直接到存放C头文件的目录中查找指定文件..9.8.条件编译命令的格式和功能如下:格式一:ifdef 宏名程序段1 else 程序段2 endif功能:在预处理时;如果指定的宏名已定义;则用程序段1置换本命令;否则用程序段2置换本命令..当程序段2为空时;else可省略下同..格式二:ifndef 宏名程序段1 else 程序段2 endif功能:在预处理时;如果指定的宏名未定义;则用程序段1置换本命令;否则用程序段2置换本命令..格式三:if 常量表达式程序段1 else 程序段2 endif功能:在预处理时;如果指定常量表达式的值为真非0;则用程序段1置换本命令;否则用程序段2置换本命令..9.9.注释命令在预处理时被删除;不影响源程序和目标程序..注释命令的格式如下:/注释内容/第10章指针10.1.内存的基本单位是字节;每个字节都有相应的编号;称作地址或指针..借助于指针;C语言可以直接访问内存;从而对硬件进行操作..10.2.变量所占用内存的大小由其数据类型决定;变量所占用内存的第1个字节的地址称作该变量的地址或指针;表为:&变量名10.3.指针所指向数据的类型称作该指针的基类型;它所指向数据用指针访问;可作为普通变量使用..10.4.指针本身也是一种数据类型;占用2字节内存;可作为无符号整数输出和参与关系运算、逻辑运算;但指针的其它运算不同于整数运算..10.5.指针运算可简单地分为以下五类:(1)单目运算有六个:、&、、++、--、sizeof..(2)双目运算有四种:-、关系运算、逻辑运算、赋值运算..(3)指针与整数间的运算有三个:+、-、 ..(4)强制类型转换运算: ..(5)结构体成员运算:->..其中;+、-、++、--、+=、-=均以基类型数据为基本单位..10.6.一维数组的数组名可作为指针调用;它指向数组中的第一个元素;以数组中元素的类型为基类型..数组名的值不可修改;且sizeof数组名的值为整个数组所占内存的字节数..10.7.对于一维数组来说;基址+i 和 &基址i均指向数组中的第i+1个元素i>=0;基址+i 和基址i均表示数组中的第i+1个元素i>=0..10.8.n维数组可看作是以n-1维数组为元素的一维数组;数组名可看作是指向数组中的第一个n-1维数组的指针..10.9.下标变量可作为实参;但不可作为形参;实际上;它被误认为指针..10.10.※ C源程序经编译后;系统为源程序中的每个函数均分配一个入口地址;称作函数指针..在C源程序中;函数指针用函数名表示;其值不可修改..以函数指针为值的变量称作函数指针变量;其定义格式为:函数类型名函数指针变量名 ;可用下述格式代替函数名:函数指针10.11.※1函数返回值可以是指针;定义函数的一般格式为:基类型函数名形参列表{函数体}10.12.不允许将非0数直接赋给指针变量;须做强制转换..当指针变量的值为0时;称之为空指针..10.13.※以指针为元素的数组称作指针数组..10.14.※以指针为基类型的指针称作指向指针的指针;以指向指针的指针为值的变量称作指向指针的指针变量;其定义格式为:存储方式关键字基类型名指向指针的指针变量名10.15.※ C源程序经编译、连接所得目标程序exe文件可作为DOS外部命令使用;命令行的一般式为:路径\目标程序文件名参数1 参数2 …参数n10.16.※ C主函数main可带两个形参;前者为int型;用于接收命令行中字符串个数;后者为字符串指针数组;用于接收命令行中各字符串..带参主函数的格式为:void mainint 形参1;char 形参2 {函数体}其中;形参1=参数个数+1形参20="路径\目标程序文件名"形参2i="参数i";i=1;2;…;n1标注※表示此部分为非考试内容。
C语言程序设计第1章-C语言概述课件
1.2.2 Visual C++ 6.0开发环境介绍(续)
图1-8 新建源文件
图1-8 新建源文件
1.2.2 Visual C++ 6.0开发环境介绍(续)
5) 点击“确定”按钮以后,在窗口左边的工作区会看到两个选项卡: ClassView和 FileView。一般默认为ClassView,点击FileView,可以才从ClassView 切换到FileView选项卡。逐步点击工作区p1工程下面的“+”号,可以 在Source Files目录下看到刚才新建的1-1.c源文件,这个时候可以在 右边的程序编辑窗口中输入源代码,如下图1-9所示。
1.1.1 C语言的发展
C语言是国际上流行的计算机高级程序设计语言之一。与其他高 级语言相比,C语言的硬件控制能力和运算表达能力强,可移植性 好,效率高(目标程序简洁,运行速度快)。因此应用面非常广, 许多大型软件都是用C语言编写的。
艾伦.佩利(Alan J.Perlis)在巴黎举行的全世界一流软件专家参加 的讨论会上,发表了“算法语言Algol 60”报告,确定了程序设计语言 Algol 60;1962年,艾伦.佩利又对Algol 60进行了修正;1963年,英 国剑桥大学在ALGOL语言的基础上进行了改进,推出CPL语言; 1967 年剑桥大学的马丁·理查德对CPL简化,产生了BCPL语言; 1970年美国 贝尔实验室的肯·汤姆逊对BCPL语言进行了修改,取其
1.2.2 Visual C++ 6.0开发环境介绍(续)
图1-9 新建源文件
图1-9 新建源文件
1.2.2 Visual C++ 6.0开发环境介绍(续)
注意:工作空间可以包含多个工程,工程又可以包含多个程序 文件,工程与工程之间相互不影响,工作空间类似于文件夹,工程 类似于文件夹中的文件。
《C语言程序设计(高职版)》第1章C语言概述
(时间:1次课,2学时)
/webnew/
第1章 C语言概述
教学提示: C语言是近年来在国内外得到迅速推广应用的一种计算机 语言,它之所以得到迅速推广,是与它的特点分不开的。 本章学习的目的是让初学者在深入学习 C 语言之前,首 先对C语言有个初步的了解,让他们知道学习C语言的重 要性及学习方法。本章学习要点有:了解 C 语言程序的 基本结构,掌握上机步骤;掌握 Turbo C的启动方法以 及Turbo C编译器的使用方法。
1.2 简单的C程序介绍
【例1.2】求两个整数之和,两个整数由键盘输入。 main() { int x,y,z; scanf("%d,%d",&x,&y); /*输入两值,分别放入变量x、y中*/ z=x+y; printf("sum=%d\n",z); } 这个C程序只由一个main函数组成。程序的第三行为定义变量部分,在这里定 义了三个整型变量x、y和z,其中的int为数据类型标识符,表示整型;x、y、z 为三个变量的名称,定义变量时变量名之间用逗号隔开。程序的第四行为函数 调用语句,通过scanf函数给变量x和y输入数据,该函数的具体使用将在第3章 中详细介绍。程序的第五行为赋值语句,将变量x与y两数之和赋予变量z,即 用变量z存放两变量x、y的和。程序的第六行用于输出变量z的值。 该程序的运行结果如下: 3,5↙ sum=8
第1章 C语言概述
1.1 1.2 1.3 1.4 1.5
C语言的发展历史及其基本特性 简单的C程序介绍 C程序的上机步骤 小结 思考与练习
1.1 C语言的发展历史及其基本特性
1.1.1 C语言的发展历史 1.1.2 C语言的基本特性
C语言程序设计第1章C语言概述简明教程PPT课件
1.1.2 C语言的特点
1.语言简洁、紧凑,使用灵活、方便
C99标准规定,C语言共具有: 37个关键字 9种控制语句 程序书写自由 可以像汇编语言一样对位、字节和地址进行操作
C语言程序设计
第1章 C语言概述
5
1.1.2 C语言的特点
1.语言简洁、紧凑,使用灵活、方便 2.运算符丰富 C语言的运算符包含34个运算符。 C语言把括号、赋值、强制类型转换等都作为运算符处 理,从而使C的运算类型极其丰富,表达式类型多样化, 通过灵活使用各种运算符,可以实现在其它高级语言中 难以实现的运算。
8.C语言适用范围大,可移植性好
C语言程序设计 第1章 C语言概述 10
1.2 C语言的程序结构及书写规则 构成C语言程序,在屏幕上输出一行信息
定义主函数 main函数 开始标志 main函数 结束标志 #include<stdio.h> 编译预处理指令 void main() { printf("This is a C program.\n"); } 输出指定的一行信息 运行结果:
C语言程序设计
第1章 C语言概述
6
1.1.2 C语言的特点
1.语言简洁、紧凑,使用灵活、方便 2.运算符丰富 3.数据类型丰富 C语言的数据类型有:整型、实型、字 符型、数组类型、指针类型、结构体类 型、共用体类型等,并能通过现有数据 类型来构建各种复杂的数据类型。
C语言程序设计
第1章 C语言概述
掌握C语言的关键字;
掌握C程序的运行环境及运行步骤;
C语言程序设计
第1章 C语言概述
3
1.1 C语言的发展简史和特点
1.1.1 C语言的起源与发展 产生背景 发展过程 机器码是计算机语言的最终形式,汇编 语言是机器码的简单表示。 C标准 ─时间 :1972~1973 ─地点 :由于汇编语言程序依赖于计算机硬件来 美国贝尔实验室 标准 C: K&R 合著《The C Programming 实现,其可读性和可移植性很差;其它的高 ─目的 :UNIX Language 》 操作系统 级语言又难以实现对计算机硬件的直接操作 ─设计人 : Ken.Thompson 和Dennis.M.Ritchie ANSI C: 1983 年 (汇编语言的特点),于是人们期望有一种 87 ANSI C: 1987年 1990兼有汇编语言和高级语言特性的新语言出现。 年国际标准的ANSI C ISO在1995年对C90进行技术补充,推出C95标准 1999年,ANSI和ISO又通过了最新版本的C语言标 准和技术勘误文档,该标准被称为 C99 4 C语言程序设计 第1章 C语言概述
电大C语言程序设计 第1章 C语言概述
1.2 C语言字符集 C语言字符集
字符是组成语言的最基本的元素。C语言 字符是组成语言的最基本的元素。C语言 。C 字符集由字母,数字,空格, 字符集由字母,数字,空格,标点和特殊 字符组成。在字符常量, 字符组成。在字符常量,字符串常量和注 释中还可以使用汉字或其它可表示的图形 符号。 符号。 1.字母:小写字母a~z共26个,大写字母 1.字母 小写字母a 字母: 26个 A~Z共26个 26个 2.数字:0~9共10个 2.数字 数字: 10个
1.4 C语句 C语句 5.复合语句:用花括号括起的语句序列。 5.复合语句:用花括号括起的语句序列。 复合语句
{ x=3; x=x+1; print(“x=%x” print(“x=%x”,x) }
6.选择语句:由if和switch开始的语句称 6.选择语句: if和switch开始的语句称 选择语句 为选择语句。 为选择语句。
1.3 C语言单词 C语言单词Байду номын сангаас3. 常量:C 语言中使用的常量可分为数字常 常量:
量、字符常量、字符串常量、符号常量、转义 字符等多种。 数字常量:32 数字常量:32 -128 3.26 +100 -50.718 字符常量:‘ 字符常量:‘a’ ‘B’ ‘+’ ‘;’ ‘5’ 字符串常量:“1234” a+b=” 哈哈” 字符串常量:“1234” “a+b=” “哈哈” a, ‘a’ “a”分别是一个标识符、一个字符常量和一 个字符串
1.4 C语句 C语句 1.类型定义语句:用来定义系统预定义 1.类型定义语句: 类型定义语句 类型之外的根据用户需要的数据类型。 类型之外的根据用户需要的数据类型。 2.变量定义语句:用来定义程序中需要 2.变量定义语句 变量定义语句: 的变量。 的变量。如:int i; 3.函数原型语句:用来声明一个函数存 3.函数原型语句 函数原型语句: 在并给出调用格式的语句。 在并给出调用格式的语句。 4.表达式语句:C语言的表达式后加分 4.表达式语句 表达式语句: 号构成的语句。 号构成的语句。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 Ada Modula-2 Pascal ALGOL60 ALGOL68 CPL BCPL B
C
Smalltalk 80 C++ Java
Simula 67 BASIC FORTRAN PL/1 COBOL LISP PROLOG ANSI-BASIC QBASIC VB FORTRAN90 FORTRAN77
4
类似数学语言、接近自然语言、 类似数学语言、接近自然语言、具有通用 高级语言 性和可移植性,不依赖具体的计算机类型。 性和可移植性,不依赖具体的计算机类型。
2010-11-5
C语言出现的历史背景
C语言是国际上流行的、很有发展前途 语言是国际上流行的、 的计算机高级语言。 语言适合于作为“ 的计算机高级语言。C语言适合于作为“系 统描述语言”。它既可以用来编写系统软件, 统描述语言” 它既可以用来编写系统软件, 也可以用来编写应用程序。 也可以用来编写应用程序。
2010-11-5
1.3 简单的C程序介绍 简单的C
例1.1 输出一行信息:This is a C program. 输出一行信息: 注释 /* example1.1 The first C Program*/ #include <stdio.h> 编译预处理 main() 主函数 { printf(“This is a C program.\n”); 语句 }
2010-11-5
12
32个关键字:(由系统定义,不能重作其它定义) 由系统定义,不能重作其它定义) auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef unsigned union void volatile while
2010-11-5
C语言的产生
发展过程
CPL语言 剑桥大学, CPL语言:剑桥大学,1963年 语言: 年
经简化
9
BCPL语言 剑桥大学, BCPL语言:剑桥大学,1967年 语言: 年
进一步简化
B语言:Bell实验室,1970年 语言: 实验室, 实验室 年 机器上用其编写UNIX系统 在PDP机器上用其编写 机器上用其编写 系统
保持精练、接近硬件的优点, 保持精练、接近硬件的优点,克服数据类型过少的不足
C语言:Bell实验室,1972~1973年用其改写 语言: 实验室, 年用其改写UNIX系统 实验室 ~ 年用其改写 系统
2010-11-5
C语言的发展
1978年Brian W.Kernighan和Dnnis M.Ritchie合著了《 年 合著了《 和 合著了 The C Programming Language》一书,成为后来广泛使用 》一书, 语言基础, 的C语言基础,成为标准 。 语言基础 成为标准C。 1983年美国国家标准化协会(ANSI)重新制定了新的 年美国国家标准化协会( ) 年美国国家标准化协会 标准,成为ANSI C。 标准,成为 。 1987年ANSI公布新标准 ANSI C。 年 公布新标准87 公布新标准 。 1988年K&R根据 年 根据ANSI C标准修改著作。 标准修改著作。 根据 标准修改著作
10
1978年C语言普及以后,先后被移植到大、中、小、微 年 语言普及以后 先后被移植到大、 语言普及以后, 型机上,风靡世界。 型机上,风靡世界。
1990年国际标准化组织(ISO)接受 ANSI C为ISO C 年国际标准化组织( 年国际标准化组织 )接受87 为 标准。 标准。 目前,在微机上广泛使用的C 目前,在微机上广泛使用的C语言编译系统有 Microsoft C、Turbo C 、Borland C等。 、 等
中央处理器CPU 的 发
CPU 计算机 0 1序 存储器 的 的 10000000 的语言 的 程序设计 10010000ADD A, B 发 I/O设备:键盘、显示器等
2010-11-5
程序设计语言的发展
机器指令( 机器指令(由0 和 1 机器语言 组成), ),可直接执行 组成),可直接执行 用助记符代替机器指 汇编语言 令,用变量代替各类 地址。 地址。 难学、难记 难学、 依赖机器的类型 克服记忆的难点 其他与机器语言类 似
2010-11-5
1.2 C语言的特点 C语言的特点
11
语言简洁、紧凑,使用方便、灵活。 语言只有32 32个关键 语言简洁、紧凑,使用方便、灵活。C 语言只有32个关键 程序书写形式自由。 字,程序书写形式自由。 > > > 运算符丰富。 运算符丰富。 > 数据结构丰富,具有现代化语言的各种数据结构。 数据结构丰富,具有现代化语言的各种数据结构。> 具有结构化的控制语句。 具有结构化的控制语句。 中级语言 语法限制不太严格,程序设计自由度大。 语法限制不太严格,程序设计自由度大。 语言允许直接访问物理地址,能进行位(bit)操作, C语言允许直接访问物理地址,能进行位(bit)操作,能 实现汇编语言的大部分功能,可以直接对硬件进行操作。 实现汇编语言的大部分功能,可以直接对硬件进行操作。 生成目标代码质量高,程序执行效率高。 生成目标代码质量高,程序执行效率高。 语言写的程序可移植性好(与汇编语言比)。 用C语言写的程序可移植性好(与汇编语言比)。
5
2010-11-5
C语言出现的历史背景
C语言的产生和发展与UNIX操作系统分不开。操 语言的产生和发展与UNIX操作系统分不开。 UNIX操作系统分不开 作系统的编写需要即具有高级语言的优点, 作系统的编写需要即具有高级语言的优点,又具有 低级语言的特点的语言。 语言是由B 低级语言的特点的语言。C语言是由B语言发展而来 语言是由A语言发展而来。 ,而B语言是由A语言发展而来。
例1.2
运行结果: 运行结果: sum is 579
2010-11-5
例1.3 #include <stdio.h> 例1.3 main() /* 主函数 */ { int a,b,c; /* 声明部分,定义变量 */ 声明部分, scanf(“ %d , %d ” ,&a,&b); /* 输入变量 和b的值 */ 输入变量a和 的值 /*调用 调用max函数,将得到的值赋给 函数, c=max(a,b); 调用 函数 将得到的值赋给c*/ printf(“max=%d\n”,c); /*输出 的值 输出c的值 输出 的值*/ }
含义 复合语句 条件语句 定义i为整型变量 定义整型数组a 定义f为返值整型的函数 定义p为指向整型变量的指针 赋值i+2⇒i i自增值
<
2010-11-5
15
34种运算符:
算术运算符:+ - * / % ++ -关系运算符:< <= == > >= != 逻辑运算符:! && || 位运算符 :<< >> ~ | ^ & 赋值运算符:= 及其扩展 条件运算符:?: 逗号运算符:, 指针运算符:* & 求字节数 :sizeof 强制类型转换:(类型) 分量运算符:. -> 下标运算符:[] 其它 :( ) <
C 程序设计
第1章
C语言概述
机电学院
2
第一章 C语言概述
C语言发展历史 C语言特点 C程序格式和结构特点 C程序上机步骤
2010-11-5
1.1 C语言发展历史 C语言发展历史
– 和 机 汇
3
程序设计语言的发展
的 语言 程序的语言 程序设计 高 级 言 运算器 主机: 控制器 语 程 的 程
编 器 语 冯.诺依曼结构:语 言 言
<
>
2010-11-5
C语言的产生
8
ALGOL60 -> CPL -> BCPC -> B -> C -> 标准C -> ANSI C -> 标准C ISO C ALGOL60:一种面向问题的高级语言。ALGOL60离硬件较远, ALGOL60:一种面向问题的高级语言。ALGOL60离硬件较远, 不适合编写系统程序。 CPL( CPL(Combined Programming language,组合编程语言): language,组合编程语言) CPL是一种在ALGOL60基础上更接近硬件的一种语言。CPL规模 CPL是一种在ALGOL60基础上更接近硬件的一种语言。CPL规模 大,实现困难。 BCPL( BCPL(Basic Combined Programming language,基本的组合 language,基本的组合 编程语言):BCPL是对CPL进行简化后的一种语言。 编程语言):BCPL是对CPL进行简化后的一种语言。 B语言:是对BCPL进一步简化所得到的一种很简单接近硬件的语 语言:是对BCPL进一步简化所得到的一种很简单接近硬件的语 言。B语言取BCPL语言的第一个字母。B 言。B语言取BCPL语言的第一个字母。B语言精练、接近硬件, 但过于简单,数据无类型。B语言诞生后,Unix开始用B语言改写。 但过于简单,数据无类型。B语言诞生后,Unix开始用B C语言:是在B语言基础上增加数据类型而设计出的一种语言。C 语言:是在B语言基础上增加数据类型而设计出的一种语言。C 语言取BCPL的第二个字母。C语言诞生后,Unix很快用C 语言取BCPL的第二个字母。C语言诞生后,Unix很快用C语言改 写,并被移植到其它计算机系统。 标准C 标准C 、ANSI C、ISO C:C语言的标准化。 C、 C: