01 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语言概述.

[例求两数之和。
main( )
{ int a, b, sum; /*定义三个整型变量。(int = integer)。*/ a = 123;b = 456; /*把常数123赋给变量a。把常数456赋给变量b*/ sum = a + b; /*计算a、b之和,并把和值赋变量给sum*/ printf(“Sum is %d\n”, sum);/*输出sum的值*/
3、数据结构丰富。
4 、结构化程序设计思想,符合现代编程风格。 5、语法限制不严格,程序设计自由度大. 6 、 C语言允许直接“访问”硬件物理地址,
能进行位操作,实现汇编语言的大部分功能。 (因此,C语言常被称为“中级语言”。)
7、生成目标代码质量高,程序执行效率高,
仅比汇编程序生成的目标代码执行效率低 10~20%。 8、可移植性好。基本不作修改就可以在不同 型号计算机、不同操作系统上执行。
2、c的历史
发展简史: ALGOL60(1960)(离硬件较远) CPL(1963)(剑桥大学) BCPL(1967)(剑桥大学) B(1970)(贝尔实验室、很接近硬件、但功能有限) C(1972)(贝尔实验室、用C语言写UNIX操作系统) 最初的C语言只是为描述和实现UNIX操作系统提供一种 工作语言而设计的。
§1.3 简单的C程序
[例1.1]
main( ) { printf("This is a C program.\n"); } 该程序的作用:在屏幕上输出一行信息: This is a C program.
1、main( ) 表示“主函数”,每一个C程序都必须有 且只有一个主函数 2、main函数体由大括号{ }括起来。 3、每个语句后面有一个分号。 4、printf( )是C语言的输出函数。双引号内的字符 被原样输出。 5、“\n”是换行符。
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语言基本知识.ppt

22/38
A被称为循环体,条件被称为循环控制条件 。
while型循环的流程图
do_while型循环的流程图
23/38
5/38
第一章 C语言概述
C语言程序设计
第一章 C语言概述
34种运算符:
算术运算符:+ - * / % ++ -关系运算符:< <= == > >= != 逻辑运算符:! && || 位运算符 :<< >> ~ | ^ & 赋值运算符:= 及其扩展 条件运算符:?: 逗号运算符:, 指针运算符:* & 求字节数 :sizeof 强制类型转换:(类型) 分量运算符:. -> 下标运算符:[] 其它 :( ) -
<>
10/38
main( )
{ main( )
{int …i ,…j ,…s…um…; ….
sum…=…0; …………
for(i=1…; i<…10…;i…++.).
{
…………..
for(j=1;…j<…10…;j++)
{
……….
…sum…+…=i…*j …;
} …………….
} ……………….
prin…tf(…“%…d\…n”…,su…m.).;
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语言成为目前世界上流行最广泛的高级程序设计语言。
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.
C 语言

1.1 C语言概述 1.2 简单的C程序介绍 1.3 C程序的上机步骤
1.1 C语言概述
1.1.1 C语言简介
C语言是一种通用的、结构化的程序设计语言。无论是系统 软件还是应用软件都可以很方便地使用C语言。
C语言是由美国贝尔实验室的D.M.Ritchie于1972年在B 语言的基础上设计出来的。它既保持了B语言精练和接近硬 件的特点,又克服了B语言过于简单和数据无类型等不足。 不过最初的C语言只是为描述和实现UNIX操作系统而提供 的一种工具语言,并主要在贝尔实验室内部使用。1977年 出现了不依赖于具体机器的C语言编译文本《可移植C语言编 译程序》。C语言因此具有的良好的可移植性,使UNIX操 作系统迅速在各种机器上运行,并与此相辅相成,也使C语 言得到了迅速推广和广泛应用。1978年以后,C语言已完全 独立于UNIX,先后移植到大、中、小和微型计算机上,成 为计算机程序设计语言的主流语种。
上一页 下一页 返回
1.1 C语言概述
3.具有丰富的数据类型 C语言具有现代语言的各种数据类型。C语言的基本数据类型
有整型(int)、浮点型(float)和字符型(char)。在此 基础上按层次可产生各种构造类型,如数组、指针、结构体 和共用体等。同时还提供了用户自定义数据类型。用这些数 据类型可以实现复杂的数据结构,如栈、链表和树等。 4.提供了丰富的运算符和运算能力 在C语言中除了一般高级语言使用的算术运算及逻辑运算功 能外,还具有独特的以二进制位(bit)为单位的位与、位或、 位非以及移位操作等运算。并且C语言具有如a++、b--等 单项运算和+=、-=等复合运算功能。
在Windows 操作系统下启动Turbo C软件后,屏幕上出 现的是一个对话框,如图1-2所示。利用Enter键+空格键 可以将Turbo C全屏显示,屏幕上分别是主菜单、状态行、 编辑窗口和功能键提示行,如图1-3所示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程概述
C语言与程序设计
— 不得不说的故事
课程概述
程序与程序设计
பைடு நூலகம்
计算机是人类发明的一种自动机器,它能完成的工 作就是计算。计算机的最基本功能是可以执行一组 基本操作,每个操作完成一件很简单的计算工作, 例如整数的加减乘除运算等等。 为使计算机能按人的指挥工作,每种计算机都提供 了一套指令,其中的每一种指令对应着计算机能执 行的一个基本动作。 人们描述(编制)计算机程序的工作被称为程序设 计或者编程,这种工作的产品就是程序。 由于计算机的本质特征,从计算机诞生之初就有了 程序设计工作。
课程概述
下面程序是根据输入的圆的半径值,计算该圆的 周长和面积:
#include <stdio.h> void main() { float r; //准备一个浮点型变量保存圆的半径 float s,p; //准备两个浮点型变量保存最后的计算结果(圆的 面积和周长) printf(“请输入需要计算的圆的半径:”); //提示信息 scanf(“%f”,&r); //将需要计算的数据放入变量r s = 3.14*r*r; //计算圆的面积,结果保存到s p =3.14*2*r; //计算圆的周长,结果保存到p printf(“圆的面积是%f,圆的周长是%f”,s,p); //显示结果 }
Link
Linker Loader
Prog.exe
Load
CPU RAM
Execute
课程概述
C程序的开发阶段 Phases of C Program Development (2/4)
Edit Editor
Prog.c
Preprocess
Compiler Compile
Libraries Prog.obj
x1 b b 4 ac
2
2a
x2
b
b 4 ac
2
2a
所以我们可以这样为计算机设计运算步骤 (1) 接收我们从键盘输入的三个小数,分别保存到a、b、c三个变量;
课程概述
如何设计程序
(2) 根据记在a、b、c中的值计算方程的根,因为计算机没有一个命令 可以直接从a、b、c计算得到方程的根,所以我们还需要根据 计 算机会的运算(加、减、乘、除、开平方等)设计运算步骤: 第一个方程的根: (-b+sqrt(b*b-4*a*c))/2*a 第二个方程的根: (-b-sqrt(b*b-4*a*c))/2*a
CPU RAM
Execute
课程概述
C程序的开发阶段 Phases of C Program Development (2/4)
Edit Editor
Compile(编译)
Prog.c
Preprocess
Compiler Compile
Libraries Prog.obj
Preprocessor program processes the code. Compiler creates object code and stores it on disk.
课程概述
课堂练习
从键盘输入三个整数,计算这三个数 和的平方并输出到屏幕上。
课程概述
课堂练习
请编写能执行以下计算功能的C程序 1+ 1 ¯¯¯¯¯¯¯¯¯ 1+ 1 ¯¯¯¯¯¯ 1+ 1 ¯¯¯ x
课程概述
如何设计程序
编程过程
分析问题,找出解决问题的模型。 根据模型设计出适合计算机特点的处理方法即算法. 选择适合的计算机语言进行编程,以实现算法。
课程概述
计算两个任意整数的和
#include <stdio.h>
void main() { int num1, num2, total;
基本上每个程序都要
变量声明
printf("this program adds two numbers.\n"); printf("1st number? "); scanf("%d", &num1); printf("2nd number? "); scanf("%d", &num2); total = num1 + num2; } 计算阶段 输出阶段
课程概述
课堂练习
请编写能执行以下计算功能的C程序 1+ 1 ¯¯¯¯¯¯¯¯¯ 1+ 1 ¯¯¯¯¯¯ 1+ 1 ¯¯¯ x
课程概述
C程序的开发阶段 Phases of C Program Development
Edit Editor
Prog.c
Source file(源文件)
Preprocess
输入阶段
(数据准备)
printf("The total is %d.\n", total);
课程概述
程序设计那些事儿
最眩目的成果总是建立在枯燥的基本概念的 基础上的。
行行色色的各类电脑软件(如网络游戏、QQ等)只不是些
0和1的各种组合实现的
三原色可以调配出任何可以想象出的色彩
三原色+调色规则=各种色彩
以上程序对计算过程的描述全部集中在printf命令中,如果 运算过程很复杂则不易理解其运算过程,因此,我们最好在 设计过程中能将复杂的运算分解的多步,这样效果虽然一样, 但程序的可读性却好很多。
课程概述
改进版
#include <math.h> #include <stdio.h> void main() { float a, b, c, p, disc, q, x1, x2; scanf(“%f%f%f”, &a, &b, &c); p=-b/(2*a); disc=b*b-4*a*c; q=sqrt(disc)/(2*a); x1=p+q; x2=p-q; printf(“x1=%f, x2=%f”, x1, x2); } a、b、c :保存输入的系数 p、disc、q :保存中间结果 x1、x2 :保存最后的结果
(3) 用printf命令打印出计算结果
printf(“根1=%f”, (-b+sqrt(b*b-4*a*c))/2*a); printf(“根2=%f”, (-b-sqrt(b*b-4*a*c))/2*a);
课程概述
完整的计算方程根程序
#include <math.h> #include <stdio.h> void main() { float a, b, c; scanf(“%f%f%f”, &a, &b, &c); printf(“根1=%f”, (-b+sqrt(b*b-4*a*c))/2*a); printf(“根2=%f”, (-b-sqrt(b*b-4*a*c))/2*a); }
《程序设计基础与实践》
庐 山 面 目
姚砺
yaoli@
课程概述
教学内容
初识C程序设计
C语言与程序设计
课程概述
蓬门今始为君开
— 初识C程序设计
课程概述
C程序设计语言
#include <stdio.h> void main() { printf("hello, world\n"); }
设计步骤: 1、输入a,b,c; 2、计算-b/2a,把结果存入p,即 p=-b/2a; 3、计算b2-4ac,把结果存入disc, 即disc=b2-4ac; 4、计算 disc / 2 a ,把结果存入q, 即q= disc / 2 a ; 5、计算p+q和p-q,把结果存入 x1和x2,即x1=p+q,x2=p-q; 6、输出x1和x2。
超级无敌考考你: 如何打印出“欢迎11级新同学!”? 如何把“hello”和“world” 分别打印在两行? 如何打印出100+200的结果?
课程概述
计算两个任意整数的和
#include <stdio.h> void main( ) { int a, b, sum; printf(“请输入两个整数:"); scanf("%d%d", &a, &b); sum = a + b; printf(“结果=%d\n", sum); } 考考你的推理能力: 如何计算输入的3个整数的平均值? 超级变态考考你: 如何计算输入的100个整数的平均值?
Link(链接)
Linker links the object code with the libraries.
Link
Linker Loader
Prog.exe
Load
CPU RAM
Execute
课程概述
C程序的开发阶段 Phases of C Program Development (4/4)
程序=数据结构+算法
c=a+b; x=(2+a*10)/b;
课程概述
程序设计那些事儿
程序设计若烹小鲜
设计程序
= 设计菜谱 程序(代码)= 菜谱 计算机运行程序 = 某宅男按菜谱烧菜
课程概述
程序设计那些事儿
烧菜的过程: 先准备好若干个锅碗; 将制作一个菜所需要的原材料放入锅碗; 对锅碗中的菜肴按一定的顺序进行各种加工( 在加工过程中经常会在锅碗之间来回移动其中 的菜肴); 最后,将烧好的菜放入一个碗中,并将碗端给 上桌。 菜谱的作用:
Edit(编辑)
Edit Editor
Prog.c