第1章C语言概述
第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.语言简洁、紧凑,使用方便、灵活
C语言概述
第1章C语言概述C语言是国际上广泛流行的、很有发展前途的高级程序设计语言,它既可以用来编写系统软件,又可以用来编写应用软件。
C语言也是大学生学习程序设计选用最多的语言。
本章主要介绍C语言的发展历史、C语言的特点、C程序的结构和C程序的上机步骤。
通过本章的学习,读者应重点掌握C语言的特点、C程序的结构和上机运行C程序的方法。
1.1 C语言的发展和特点自从计算机诞生以来,为了更好地进行软件的设计,各种高级程序设计语言也在不断地发展、进步和完善。
C语言就是其中最优秀的程序设计语言之一。
1.1.1 C语言的发展过程C语言是目前世界上最流行、使用最广泛的高级程序设计语言。
在设计操作系统等系统软件和需要对硬件进行操作时,使用C语言编程明显优于其他高级语言,许多大型应用软件和系统软件都是用C语言编写的。
C语言的起源可以追溯到ALGOL 60。
1963年英国的剑桥大学在ALGOL 60的基础上推出了CPL语言,但是CPL语言难以实现。
1967年英国剑桥大学的Matin Richards对CPL 语言作了简化,推出了BCPL语言。
1970年美国贝尔实验室的Ken Thompson以BCPL语言为基础,又作了进一步的简化,设计出了很简单且接近硬件的B语言,并用B语言写了第一个UNIX操作系统,在DEC PDP-7型计算机上实现。
1971年在DEC PDP-11上实现了B语言。
1972年由美国的Dennis M.Ritchie在B语言的基础上设计出了C语言,并首次在UNIX操作系统的DEC PDP-11计算机上使用。
为了推广UNIX操作系统,1977年Dennis M.Ritchie 发表了不依赖于具体机器系统的C语言编译文本《可移植的C语言编译程序》。
1978年Brian W.Kernighian和Dennis M.Ritchie 出版了名著《The C Programming Language》,从而使C语言成为目前世界上流行最广泛的高级程序设计语言。
第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语言第1章vc
P3
main( ) { int a,b,x; double c,y,z; c=4.0; y=sqrt(c); a=10; b=20; x=mysum(a,b); z=x+y; printf("z=%lf\n",z); }
int mysum( int m, int n ) { int k; k=m+n; return k; } 程序的运行结果是: z=32.000000
文件math.h
main函数
…… c=4.0; y=sqrt(c); a=10; b=20; x=mysum(a,b); z=x+y; … …
①
② ④ ⑤ ⑥ ⑨ ⑧ ⑦
③
sqrt函数 …… 其它函数 ……
mysum函数
……
本课程的目标
掌握解决简单问题的步骤 用C语言能够实现如下程度的功能
第1章 C语言基础知识
1.1 C语言概述
1.2 简单C程序与上机步骤 1.3 数据类型 1.4 常量与变量 1.5 运算符和表达式
例题链接
例题链接
例1.1 例1.2 例1.3 例1.4
例1.5 例1.8
例1.6 例1.9
例1.7 例1.10
例1.11
例1.14
例1.12
例1.13
例1.17
例1.15
12.300000 12345.669922 12345.670000
…
1.4.4 字符型常量与变量 1.字符型常量
P13
常规字符 用单引号括起来的单个字符 转义字符 用\开头的字符序列
字符常量按其ASCII码值参加整数运算
【例1.11】将常规字符按不同格式输出。 #include <stdio.h> main( ) a-97 A-65 { printf("%c-%d,%c-%d\n",’a’,’a’ ,’A’, ’A’); printf("%d,%c\n",’a’+1,’A’+1); 98 B printf("%d\n",’a’-’A’); 32 }
第1章 C语言概述(国考二级)
1.2 C语言简介
3.可执行程序 目标程序与库函数连接,形成完整的可在操 作系统下独立执行的程序称为可执行程序。 可执行程序的扩展名为“.exe”(在 DOS/Windows环境下)。 用户在编辑完C语言源程序(*.c)后,可以通 过编译将源程序生成二进制的目标文件 (*.obj)文件,然后再将目标文件连接生成 可执行文件(*.exe)。
了程序的某一层次结构。{}一般与该结构语句 的第一个字母对齐,并单独占一行。
3.低一层次的语句或说明可以比高一层 次的语句或说明缩进若干字符后书写(一般 缩进2个英文字符),以便看起来更加清晰, 增加程序的可读性。
1.2 C语言简介
1.2.4 C程序的几种类型文件 1.源程序 C语言源程序的扩展名为“.c”。 2.目标程序 源程序经过编译程序翻译所得到的二进制代 码称为目标程序,目标程序的扩展名为 “.obj”。
1.1 程序设计的基本概念
计算机硬件能直接执行的是机器语言程序,机器语言 都是二进制代码。汇编语言也称符号语言,用汇编语 言编写的程序称汇编语言程序。而高级语言因为代码 与人类语言相近,容易理解,成为现在主流编程语言。 汇编语言和高级语言都必须编译成机器语言才能执行。
高级语言程序设计经过多年的发展,分成两类:面向 过程的程序设计和面向对象的程序设计。面向过程语 言如Pascal和C等命令式语言;面向对象的程序设计语 言如C++、Java、Visual C++、Visual Basic、Visual C#.net等。
1.2 C语言简介
本书以Turbo C 2.0和Visual C++6.0为学习的平 台,分别简称为TC和VC。这两个平台在C/C++ 学习与实验系统中能直接调用并运行,方便 了在图形化操作系统下调试C语言的过程。因 为部分程序在这两个平台运行结果不同,其 不同之处在后面章节中都进行了说明。
第1章C语言C语言概述
C
语
言 程
Ritchie和Thompson在开发UNIX
序
设
计
第 一 章
C 语 言 概 述
C
语 言
和Unix的设计者Ken Thompson
程 序
接受美国国家技术勋章
设
计
第 一 章
C 语 言 概 述
C 语
C语言发展史
言
程 序
ALGOL 60语言
设
计 将CPL语 言煮干, 提炼出它 的精华
ADD AX, 1
C
语
程序设计语言的故事
言
程
序 设
BASIC语言编写的1+1程序
计
PRINT 1+1
第 C语言编写的1+1程序
一
章
C
#include <stdio.h>
语
main()
言
{
概 述
printf("%d\n", 1+1);
}
C
语
言
程
序
设 计
•
应用编程语言
– 机器语言
– 汇编语言
– Basic
语 前提到的例题.最后我认为你可以自己来写C语言标准函数,比
言 概
如strcpy(); strlen();strcat();最好不要过分依赖库函数.
述
C
语 言
学习C语言的参考书
程
C 序
设 1、轻松学习 程序设计
计 ————揭开计算机与程序设计的奥秘
何勤著
中国电力出版社 2008.8
2、C语言大学实用教程(第2版)
(完整版)陈琳编程语言基础C语言(第4版)第1章C语言概述
int sum( int x, int y ) { int z; z = x + y;
/* 子函数sum */
输出结果: 5,6
sum = 11
return z;
}
main( )
/* 主函数main */
{
int a,b,c;
scanf("%d,%d", &a, &b ); /* 输入2个整数 */
编程语言基础-C语言(第4版)
主编 陈琳 高等教育出版社 ISBN 978-7-04-045664-6
第1章 C 语 言 概 述
❖ 1.1 C语言的产生和发展 ❖ 1.2 C语言的特点 ❖ 1.3 简单的C程序介绍 ❖ 1.4 C 程序上机步骤 ❖ 1.5 Dev-c++ 介绍
1.1 C语言的产生和发展
c = sum( a, b );
/* 计算2个整数之和 */
printf("sum = %d \n", c); /* 输出结果
*/
getch();
}
C程序特点
❖ 一个C程序是由若干函数构成的。 ❖ 一个C程序总是从main函数开始执行。 ❖ 每条语句均以分号结束。 ❖ 注释是以“/*”开始,并以“*/”结束。 ❖ 每行可以有多条语句,一条语句也可以分写
❖ WIN-TC默认打开的文件是 D:\WIN-TC\projects\noname.c。
1.4.2 WIN-TC软件的运行画面
1.4.3 各按纽的含义
1.4.4 Win Tc上机步骤
❖ 新建或打开一个源程序。 ❖ 编辑源程序。
❖ 编译链接源程序。 ❖ 运行程序。
1.4.5 输出结果窗口
第1章C语言概述
有 有错? 无 可执行 目标程 序 连 接
目标程 序 file.obj
file.exe
执 行
库函数和 其它目标 程序
不正确 结果正确? 正确 结 束
源程序 目标程序 可执行程序 内容 程序设计语言 机器语言 机器语言 可执行 不可以 不可以 可以 .c .obj .exe 文件名后缀
§1-4 运行C程序的步骤和方法 运行C 上机运行C 二、上机运行C程序的方法 运行
怎么样才能学好C语言? 怎么样才能学好C语言?
1.课前预习 1.课前预习 2.上课集中精神 上课集中精神, 2.上课集中精神,做好记录 3.尽可能独立完成作业 3.尽可能独立完成作业 4.多抽时间上机实践 重要) 多抽时间上机实践( 4.多抽时间上机实践(重要) 5.经常编写程序 熟能生巧,温故知新) 经常编写程序( 5.经常编写程序(熟能生巧,温故知新) 6.多与老师 多与老师, 6.多与老师,同学交流
§1-3 简单的C语言程序介绍 简单的C
注意: 注意:
函数的声明部分和执行部分都可缺省,例如:
void dump ( ) { }
这是一个空函数,什么也不做,但是合法的函数。
§1-3 简单的C语言程序介绍 简单的C
(3) C程序总是从main函数开始执行的,与main函数的 位置无关。 (4) C程序书写格式自由,一行内可以写几个语句, 一 个语句可以分写在多行上,C程序没有行号。 (5) 每个语句和数据声明的最后必须有一个分号。 (6) C语言本身没有输入输出语句,输入和输出的操 作是由库函数scanf和printf等函数来完成的。C对 输入输出实行“函数化”。 (7)可以用/*……*/对C程序中的任何部分作注释。
§1.4 C程序的上机步骤 程序的上机步骤
C语言
C语言的主要结构成分是函数,函数允许一个程序中的各任 务分别定义和编码,使程序模块化。C语言还提供了多种结
构化的控制语句,如用于循环的for、while和do-while语
句,用于判定的if-else、switch语句等,十分便于采用自
顶向下、逐步细化的结构化程序设计技术。因此,用C语言
编制的程序容易理解、便于维护。
上一页 返回
1.2 简单的C程序介绍
用C语言编写的源程序,简称C程序ቤተ መጻሕፍቲ ባይዱC程序是一种函数结构, 一般由一个或若干个函数组成,其中必有一个名为main() 的主函数,程序的执行就是从这里开始的。
例1-1 编写一求任意两个整数的和的C程序。
#include″stdio.h″
main() */
/*主函数首部
函数内有多个大括弧,则最外层的一对{ }为函数体的范围。 注意:{ }必须配对使用。 函数体一般包含变量定义和执行语句两部分。
上一页 下一页 返回
1.2 简单的C程序介绍
3.main()函数 C程序必须有main()函数,习惯上称其为主函数。C语言
程序运行时,总是从main()函数开始,并且在main()函 数中结束。main()函数可以放在整个程序的任意位置,通 常我们总是把main()函数放在程序中其他函数的前面。 4.C程序书写格式自由 C程序没有行号,书写格式自由,一行内可写多条语句,且 语句中的空格和回车符均可忽略不计。一个语句也可以写在 多行上,用“\”作续行符。
/*定义max函数,函数值为
整型,形式参数x,y为整型*/
{ int z;
/*max函数中的声明部分,
定义本函数中用到的变量z为整型*/
if(x>y)z=x;
第1章C语言的概述
C语言的算术运算符与数学符号很相像,sum=a+b;表示将a的内容与b 的内容相加以后,赋值到sum变量中。
[例1-3]求两个数中的较大者。
1.2 C简单的C程序及特点
#include "stdio.h"
void main()
/*主函数*/
{
int max(int x,int y);
/*对被调用max函数的声明*/
运行结果:
1.2 C简单的C程序及特点
分析与说明:
1、变量的数据类型定义
变量是由程序命名的一块计算机内存区域,用来存储一个可以变化的 数值。每个变量保存的是一个特定的数据类型的数值,例如整型、字符 型。int a,b,sum;定义了三个存储空间,分别命名为a、b和sum,这 三个存储空间的数据类型为整型(int),int是类型说明符。在C语言中规定, 任何变量都要经过数据类型的定义,以便在程序运行时分配相应的存储 空间。
1.1.2 C语言的主要特点
5.C语言的运算符丰富、功能更强大 例如:
① C语言具有复合的赋值运算符“+[-*/%]=”(加等、 减等、乘等、除等) ,“>>=”“<<=”(右移等、 左移等),“&[^|]=”(与等、或等、非等)。
② C语言有条件运算符“?:”可代替简单的 if/else语句。
③ C语言中连赋值这种操作都定义为运算符,也就 是说赋值操作本身可以作为表达式的一部分,参 与运算。
printf(“%d %d %d\n”,x,y,z); (3)格式信息中的\n是字符转义序列。\n表示换行。
1.2 C简单的C程序及特点
1.2.3 C程序的特点
1、C语言程序的结构
C语言概述
本章小结
3.分号是C语句的结束符,通常一行写一个基本语句, .分号是 语句的结束符 通常一行写一个基本语句, 语句的结束符, 复合语句必须用一对大括号括起来。 复合语句必须用一对大括号括起来。 4.C语言的程序习惯使用小写,并严格区分大写字母。 . 语言的程序习惯使用小写 并严格区分大写字母。 语言的程序习惯使用小写, 所有的关键字都必须小写,且不能另作他用, 所有的关键字都必须小写,且不能另作他用,如想把 作为一变量名使用是不被允许的。 “int”作为一变量名使用是不被允许的。 作为一变量名使用是不被允许的 5.要熟练掌握C程序的编辑、编译、连接及运行等操作, .要熟练掌握 程序的编辑 编译、连接及运行等操作, 程序的编辑、 了解程序调试的基本概念。 了解程序调试的基本概念。
第1章 C语言概述
1.1 程序与程序设计语言 1.2 C语言发展概述和主要特点 语言发展概述和主要特点 1.3 C语言的基本结构 语言的基本结构 1.4 程序的调试 本章小结
1.1 程序与程序设计语言
一、程序
计算机程序是指导计算机执行某个功能或功能组合的一套指令。 二、计算机程序设计的过程一般由四个步骤组成 : 1、分析问题:在着手解决问题之前,应该通过分析充分理解问题, 明确原始数据、解题要求、需要输出的数据及形式等。 2、设计算法:算法是一步一步的解题过程。 3、编码:利用程序设计语言表示算法的过程称为编码。程序是一个 用程序设计语言通过编码实现的算法。 4、调试程序:调试程序包括编译和连接等操作。
C语言课件第1章C语言概述
2020/6/7
11
计算机是人类发明的一种自动机器, 它能完成的工作就是计算。计算机的最
基本功能是可以执行一组基本操作,每 个操作完成一件很简单的计算工作,例 如整数的加减乘除运算等等。为使计算 机能按人的指挥工作,每种计算机都提 供了一套指令,其中的每一种指令对应 着计算机能执行的一个基本动作。
32个关键字,9种控制语句,程序书写形式自由。
3.C语言程序易于移植
C语言将与硬件有关的因素从语言主体中分离出来, 通过库函数或其他实用程序实现它们。
4.C语言有强大的处理能力 5.生成的目标代码质量高,运行效率高
2020/6/7
35
C语言的特点
6.数据类型检查不严格,表达式出现二义性 ,不具备数据越界自动检查功能,运算符 的优先级与结合性对初学者难于掌握。
– 提供了一种表达数据与处理数据的功能 – 要求程序员按照语言的规范编程
2020/6/7
38
1.3 程序与程序设计语言
• 程序与指令 • 程序设计语言的功能 • 程序设计语言的语法 • 程序的编译与编程环境
/*变量定义 */ /*函数声明 */ /*输入一个整数 */ /*调用函数计算阶乘 */ /*输出计算结果 */
return 0;
} int factorial(int n)
/*定义计算 n! 的函数 */
{
int i, fact = 1; for(i = 1; i <= n; i++)
/*循环*/
• C程序设计语言,[美]Brian W. Kernighan, Dennis M. Ritchie,徐宝文等译,机械工业出版社,2019
2020/6/7
7
第1章 C语言概述
结果正确吗? 正确 结束
图1-2 从程序编写至运行的一般操作过程
1.3.2 在TC环境下运行 程序的步 环境下运行C程序的步 环境下运行 骤
Turbo C++(简称 )是一个集成编 (简称TC) 译环境,它可以完成C和 程序的编辑、 译环境,它可以完成 和C++程序的编辑、 程序的编辑 编译、连接和运行的全过程, 编译、连接和运行的全过程,而不必脱离 TC环境。 环境。 环境
经编译之后生成的目标程序的文件叫 做目标文件( 做目标文件(如f.o)。 )。 目标程序还不能马上在机器上运行。 目标程序还不能马上在机器上运行。 因为程序中会用到库函数或者其他函数, 因为程序中会用到库函数或者其他函数, 需要把它们连成一个统一的整体, 需要把它们连成一个统一的整体,这一步 工作是连接。 工作是连接。经过连接就把分离的目标程 序连成完整的可执行程序, 序连成完整的可执行程序,对应的文件是 可执行文件。 可执行文件。
24 25 26 27 28 29 30 31 32
} /*Calculating the sum of its n items */ int sum(int a,int x,int k) { int sum_n; ; sum_n=x*a+x* (x −1) *k/2; ; return(sum_n); ; }
行和第8行是数据说明语句 第7行和第 行是数据说明语句,定义 行和第 行是数据说明语句, 变量r和 都是float(浮点)类型。 变量 和area都是 都是 (浮点)类型。 行调用printf( )函数,用来输出提 函数, 第9行调用 行调用 函数 示信息: 示信息:Input:r=? 。 : ?
图1-2给出从建立程序的源文件至最后 给出从建立程序的源文件至最后 上机运行整个过程的一般操作流程。 上机运行整个过程的一般操作流程。
第一章 C语言概述
【例1.2】计算三个数之和 1.2】 #include <stdio.h> main() { int x,y,z; /*定义整型变量x,y,z*/ /*定义整型变量x,y,z*/ 定义整型变量 /*定义实型变量 定义实型变量sum*/ float sum; /*定义实型变量sum*/ /*提示输入三个数据 提示输入三个数据* printf("input x,y,z:"); /*提示输入三个数据*/ /*输入三个数 输入三个数* scanf("%d%d%d",&x,&y,&a使用表达式语句计算和* sum=x+y+z; /*使用表达式语句计算和*/ printf("\nsum=%f\n",sum);/*屏幕上显示计算结果*/ printf("\nsum=%f\n",sum);/*屏幕上显示计算结果* /*屏幕上显示计算结果 } 程序运行结果是在屏幕上显示: 程序运行结果是在屏幕上显示: input x,y,z: 输入三个数据后回车,显示结果为: 输入三个数据后回车,显示结果为: sum=xx.xxx
scanf是C函数库中的标准输入函数。"%d%d%d"是格式串,表明输 scanf是 函数库中的标准输入函数。"%d%d%d"是格式串, 是格式串 入的是十进制整数。输入的数据存放到&x,&y,&z表示的x,y,z &x,&y,&z表示的x,y,z所 入的是十进制整数。输入的数据存放到&x,&y,&z表示的x,y,z所 对应的存储单元。 对应的存储单元。 sum=x+y+z是赋值语句。=是赋值运算符,表示将算术表达式 sum=x+y+z是赋值语句。 是赋值运算符, 是赋值语句 x+y+z的值赋给 的值赋给sum. x+y+z的值赋给sum. 1.3】 【例1.3】求三个数中的最大值 main() { /*变量maxi用来存放得到的最大值 变量maxi用来存放得到的最大值* int a,b,c,maxi; /*变量maxi用来存放得到的最大值*/ printf("please to input a,b, c:"); /*输入时使用空格隔开三个数 输入时使用空格隔开三个数* scanf("%d%d%d",&a,&b,&c); /*输入时使用空格隔开三个数*/ /*函数调用可以当作表达式的运算对象 函数调用可以当作表达式的运算对象* maxi=max(a,b,c); /*函数调用可以当作表达式的运算对象*/ printf("\ printf("\nmaxnum is %d",maxi); }
第1章 C语言概述
表1.2 C语言中的控制语句 控制语句 if(表达式)语句或if(表达式)语句1 else 语 句2 do语句 while(表达式) switch(表达式){case 常量表达式1:语句1; case 常量表达式2:语句2;…default:语句 n;} continue goto 控制语句 while(表达式)语句 for(表达式1;表达式2;表达式3)语句 break
输出 24 分析 在C语言中使用任何变量前都必须先定义,int是整型变量; 在程序中“/*……*/”包含的部分为注释,其目的是便于阅读 程序,不影响整个程序的编译运行;关键字“if”是条件判断 语句,其作用是比较num1和num2的大小。
例1.3 任意输入两个数,然后比较大小并输出较大的数。 程序 #include<stdio.h> main() { int num1,num2,num; int max(); printf("Input two numbers:\n"); scanf("%d,%d\n",&num1,&num2);/*从键盘输入2个数据*/ num=max(num1,num2); /*调用子函数max*/ printf("max=%d\n",num); }
1.2 C语言的特点 语言的特点
目前C语言广泛涉猎于事务处理、科学计算、工业控制及 数据库等领域。C语言能够得到如此迅猛的发展,不仅因为它 兼备了高级语言和汇编语言的优点,既适合系统软件的开发, 又适合应用程序的编写,更主要是因为它具备以下优点: 1.具有结构化的控制语句 在C语言中,有3种基本结构,即顺序结构、选择结构和 循环结构。许多复杂的问题往往可以通过这3种结构的交叉使 用得以解决。因此,C语言是理想的结构化语言,符合现代编 程风格的要求。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1章C语言概述C语言是国际上广泛流行的、很有发展前途的高级程序设计语言,它既可以用来编写系统软件,又可以用来编写应用软件。
C语言也是大学生学习程序设计选用最多的语言。
本章主要介绍C语言的发展历史、C语言的特点、C程序的结构和C程序的上机步骤。
通过本章的学习,读者应重点掌握C语言的特点、C程序的结构和上机运行C程序的方法。
1.1 C语言的发展和特点自从计算机诞生以来,为了更好地进行软件的设计,各种高级程序设计语言也在不断地发展、进步和完善。
C语言就是其中最优秀的程序设计语言之一。
1.1.1 C语言的发展过程C语言是目前世界上最流行、使用最广泛的高级程序设计语言。
在设计操作系统等系统软件和需要对硬件进行操作时,使用C语言编程明显优于其他高级语言,许多大型应用软件和系统软件都是用C语言编写的。
C语言的起源可以追溯到ALGOL 60。
1963年英国的剑桥大学在ALGOL 60的基础上推出了CPL语言,但是CPL语言难以实现。
1967年英国剑桥大学的Matin Richards对CPL 语言作了简化,推出了BCPL语言。
1970年美国贝尔实验室的Ken Thompson以BCPL语言为基础,又作了进一步的简化,设计出了很简单且接近硬件的B语言,并用B语言写了第一个UNIX操作系统,在DEC PDP-7型计算机上实现。
1971年在DEC PDP-11上实现了B语言。
1972年由美国的Dennis M.Ritchie在B语言的基础上设计出了C语言,并首次在UNIX操作系统的DEC PDP-11计算机上使用。
为了推广UNIX操作系统,1977年Dennis M.Ritchie 发表了不依赖于具体机器系统的C语言编译文本《可移植的C语言编译程序》。
1978年Brian W.Kernighian和Dennis M.Ritchie 出版了名著《The C Programming Language》,从而使C语言成为目前世界上流行最广泛的高级程序设计语言。
随着微型计算机的日益普及,出现了许多C语言版本。
由于没有统一的标准,使得这些C语言之间出现了一些不一致的地方。
为了改变这种情况,1983年美国国家标准研究所(ANSI)为C语言制定了第一个ANSI标准,称为ANSI C。
1987年美国国家标准研究所又公布了新的C语言标准,称为87 ANSI C。
这个标准在1989年被国际标准化(ISO)组织采用,被称为ANSI/ISO Standard C(即C89)。
Brian W.Kernighian和Dennis M.Ritchie 根据这个标准,重写了他们的经典著作,并发表了《The C Programming Language, Second Edition》。
1995年又为C语言增加了一些新的函数,使之具有C++的一些特征,使C89成为C++的子集。
1999年推出的C99在基本保留C语言特征的基础上,增加了一系列面向对象的新特征。
C语言也从面向过程的语言发展成为面向对象的语言。
C语言是C++的基础,因此,掌握了C语言,再进一步学习C++就能以一种熟悉的语法来学习面向对象的语言,从而达到事半功倍的目的。
本课程是按照ANSI/ISO Standard C (即C89)来讲授C语言的。
目前最流行的C语言有Microsoft C 或称MS C、Turbo C和AT&T C。
这些C语言版本不仅实现了ANSI C标准,而且在此基础上各自作了一些扩充,使之更加方便、完美。
本课程使用Turbo C作为上机环境。
1.1.2 C语言的主要特点C语言发展迅速,而且成为最受欢迎的语言之一,主要因为它具有强大的功能。
许多著名的系统软件,如dBASE III PLUS、dBASE IV都是由C语言编写的。
用C语言加上一些汇编语言子程序,就更能显示C语言的优势,像PC-DOS、WordSTAR等就是用这种方法编写的。
归纳起来C语言具有下列特点:1.C语言简洁、紧凑、方便、灵活C语言共有32个关键字,9种控制语句,程序书写自由,主要用小写字母表示,压缩了一些不必要的成分。
2.运算符丰富C语言的运算符包括的范围很广泛,共有34个运算符。
C语言把括号、赋值、强制类型转换等都作为运算符处理。
从而使C语言的运算类型极其丰富、表达式类型多样化,灵活使用各种运算符可以实现在其他高级语言中难以实现的运算。
3.数据结构丰富C语言的数据类型有整型、实型、字符型、数组类型、指针类型、结构体类型、联合体类型等,能用来实现各种复杂的数据类型的运算。
并引入了指针概念,使程序效率更高。
另外Turbo C语言具有强大的图形功能,支持多种显示器和驱动器。
且计算功能、逻辑判断功能强大。
4.C语言是结构化语言结构化语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。
这种结构化方式可使程序层次清晰,便于使用、维护以及调试。
C语言是以函数形式提供给用户的,这些函数可方便地调用,并具有多种循环语句、条件语句来控制程序流程,从而使程序完全结构化。
5.C语法限制不太严格,程序设计自由度大一般的高级语言语法检查比较严,能够检查出几乎所有的语法错误。
而C语言放宽了语法检查,允许程序编写者有较大的自由度。
这是C语言的优点,也是C语言的缺点。
限制严格就失去了灵活性,而强调灵活必然要放松限制。
在程序设计中,程序员不要过分地依赖编译器的语法检查。
因此,对于初学者,编写一个正确的C语言程序比编写一个其他高级语言程序更难些。
6.C语言允许直接访问物理地址,可以直接对硬件进行操作C语言既具有高级语言的特点,又具有低级语言的许多功能,能够像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元,可以用来写系统软件。
因此,有人把C语言称为“中级语言”。
7.C语言程序生成的代码质量高程序执行效率高,一般只比汇编程序生成的目标代码效率低10%~20%。
8.C语言适用范围大,可移植性好C语言有一个突出的优点就是适合于多种操作系统,如DOS、UNIX,也适用于多种机型。
1.2 C程序的结构用C语言编写的程序称为C语言源程序,简称为C程序。
为了说明C语言源程序结构的特点,先看以下几个程序。
这几个程序由简到难,虽然有关内容还未介绍,但可从这些例子中了解到组成一个C程序的基本部分和书写格式。
【例1-1】输出一行信息的C程序。
void main(){printf("Hello,world!\n");}main是主函数的函数名,表示这是一个主函数。
每一个C程序都必须有主函数,且只能有一个主函数。
printf是输出函数,它的功能是把要输出的内容送到显示器去输出。
printf函数是一个由系统定义的标准函数,可在程序中直接调用。
执行这个程序,会在显示器上输出:Hello, world!【例1-2】计算三角函数的C程序。
#include<math.h> /*#include称为文件包含命令,扩展名为.h的文件称为头文件*/ #include<stdio.h>void main(){double x,s; /*定义两个实数变量,以被后面程序使用*/printf("Input a angle:"); /*显示提示信息*/scanf("%lf",&x); /*从键盘获得一个实数x*/s=sin(x*3.14159/180.0); /*求x的正弦,并把它赋给变量s*/printf("sine of %lf is %lf\n",x,s); /*显示程序运算结果*/printf("Strike any key to continue!\n");getch(); /*按任何键回到集成开发环境*/}程序的功能是从键盘输入一个数x,求x的正弦值,然后输出结果。
在main()之前的两行称为预处理命令(详见后文)。
预处理命令还有其他几种,这里的#include称为文件包含命令,其意义是把尖括号<>或引号""内指定的文件包含到本程序来,成为本程序的一部分。
被包含的文件通常是由系统提供的,其扩展名为.h。
因此也称为头文件或首部文件。
C语言的头文件中包括了各个标准库函数的函数原型。
因此,凡是在程序中调用一个库函数时,都必须包含该函数原型所在的头文件。
在本例中,使用了3个库函数:输入函数scanf、正弦函数sin和输出函数printf。
sin函数是数学函数,其头文件为math.h文件,因此在程序的主函数前用#include命令包含了math.h。
scanf和printf是标准输入/输出函数,其头文件为stdio.h,在主函数前也用#include命令包含了stdio.h文件。
在程序的每行后用/*和*/括起来的内容为注释部分,程序不执行注释部分。
需要说明的是,C语言规定对scanf和printf这两个函数可以省去对其头文件的包含命令。
所以在本例中也可以删去第2行的包含命令#include<stdio.h>。
在例题中的主函数体中又分为两部分,一部分为说明部分,另一部分为执行部分。
说明是指变量的类型说明。
例题1-1中未使用任何变量,因此无说明部分。
C语言规定,源程序中所有用到的变量都必须先说明后使用,否则将会出错。
这一点是编译型高级程序设计语言的一个特点。
说明部分是C程序结构中很重要的组成部分。
本例中使用了两个变量x和s,用来表示输入的自变量和正弦函数值。
由于正弦函数要求这两个量必须是双精度浮点型,故用类型说明符double来说明这两个变量。
说明部分后的4行为执行部分或称为执行语句部分,用以完成程序的功能。
执行部分的第1行是输出语句,调用printf函数在显示器上输出提示字符串,请操作人员输入自变量x的值。
第2行调用scanf函数,接受键盘上输入的实数并存入变量x中。
第3行是调用正弦函数并把函数值送到变量s中。
第4行是用printf函数输出变量s的值,即x的正弦值。
程序结束。
运行本程序时,首先在显示器屏幕上给出提示串Input a angle:这是由执行部分的第1行完成的。
用户在提示串下输入某一数,如60,按下回车键,接着在屏幕上给出计算结果。
【例1-3】包含自定义函数的C程序。
#include<stdio.h>void main() /*主函数*/{int x,y,z; /*变量说明*/int max(int,int); /*函数原型声明*/printf("Input two numbers:\n");scanf("%d%d",&x,&y); /*输入x,y值*/z=max(x,y); /*调用max函数*/printf("maxmum=%d\n",z); /*输出*/printf("Strike any key to continue!\n");getch(); /*按任何键回到集成开发环境*/}int max(int a,int b) /*定义max函数*/{if(a>b)return a;else return b; /*把结果返回主调函数*/}程序的功能是由用户输入两个整数,程序执行后输出其中较大的数。