第1章 C语言概念及编程环境

合集下载

第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.程序设计语言的基本功能就是描述数据和对数据

谭浩强C语言课件第1章

谭浩强C语言课件第1章
8、可移植性好。基本不作修改就可以在不同型号计算 机、不同操作系统上执行。 9、C语言难学
§1.3 简单的C程序
[例1.1] main() {
printf("This is a C program.\n"); } 该程序的作用:在屏幕上输出一行信息: This is a C program.
[例1.2]求两数之和。
main() { int a, b, sum; /* 定义三个整型变量 */
a = 123; b = 456; sum = a + b; printf("sum is %d\n", sum); } 本程序的作用:求两整数a、b之和sum, 并在屏幕上输出sum。
从以上三个例子中,可以看到
1、C程序主要由函数构成,
注意: 有关设计程序的作业,必须经过上机调试!
补充练习:
以下叙述中正确的是: A)构成C程序的基本单位是函数 B)可以在一个函数中定义另一个函数 C)main()函数必须放在其它函数之前 D)所有被调用的函数一定要在调用之前进行
定义。
}
3、一个C程序总是从main( )处开始执行,而不管main() 在源程序中的位置。
4、C程序书写格式自由,一个语句可以占多行,一行也 可以有多个语句。
5、语句和数据定义后必须要有分号言用函数进行输入输出,如scanf()、printf()。 7、C语言用/* */作注释。
§1.4 Turbo C 程序设计环境的上机步骤
一、上机步骤
(Turbo C 环境介绍)
– 1、启动Turbo C: tc↙ 2、编辑源程序。C源程序的文件扩展名必须是.C。 3、编译、连接。按F9进行编译、连接。若源程序无语法 错误,生成可执行文件EXE;若源程序有语法错误,在 Message窗口显示错误信息,此时没有生成可执行文件, 应回到第2步,修改程序的错误,直到无语法错误、生成 可执行文件。 4、执行程序。Ctrl+F9执行程序。如程序未得到预期的 结果,应回到第2步,修改程序的错误。

第1章c语言概述

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

C语言程序设计 第一章C语言概述
7.允许直接访问物理地址,能进行位(bit)操作
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语言程序设计(2014年清华大学出版社出版的图书)

C语言程序设计(2014年清华大学出版社出版的图书)
韩婷婷,女,硕士,鲁东大学信息与电气工程学院副软件工程系讲师。主要研究领域为模型驱动的软件工程, 软件测试,软件维护,形式化方法。
谢谢观看
C语言程序设计(2014年清华大学出 版社出版的图书)
2014年清华大学出版社出版的图书
01 成书过程
03 教材目录 05 教材特色
目录
02 内容简介 04 教学资源 06 作者简介
《C语言程序设计》是2014年清华大学出版社出版的图书,作者是宋丽华、雷鹏、张小峰、韩婷婷。 该书是普通高等教育“十一五”国家级规划教材、计算机系列教材。该教材可作为计算机类、电气信息类的 本科教材,也可作为科技工作者业务学习的参考用书。 该教材共分9章,以程序设计思想为中心,强化算法思想和规范化编程。
雷鹏,男,工学硕士,毕业于山东大学计算机软件与理论专业,鲁东大学信息与电气工程学院副教授。研究 方向为计算机算法设计与分析、Led照明最优化、伽马辐照装置放射源棒最优化排列、软件工程、程序设计。
张小峰,男,工学博士,鲁东大学信息与电气工程学院副教授。主要从事数字图像处理、模式识别等方面的 研究工作。先后为本科生讲授《离散数学》《信息论与编码》《算法分析与设计》等课程。
2014年6月1日,该教材由清华大学出版社出版。
内容简介
第1章C语言入门:介绍简单的C程序组成、C程序的运行环境,算法的特性以及描述算法的方法,结构化程序 设计思想。
第2章数据类型和表达式:介绍C语言的基本数据类型,数据的表示,常量和变量,运算符和表达式,以及表 达式的计算过程。
第3章C语言的基本控制结构:介绍了C语言的三种基本结构,包括C语句的种类、数据的输入与输出、选择结 构和循环结构,并通过程序实例分析了选择和循环结构的构造过程。
成书过程

第1章 C语言概述(国考二级)

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

第1章C语言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版)

第1章对C语言的初步认识

第1章对C语言的初步认识
川师范大学成都学院
算法是解决“做什么”和“怎么做”的问题 程序中的操作语句,是算法的体现 不了解算法就谈不上程序设计
明德 博学 求实 创新
四川师范大学成都学院

结构化程序设计中采用的3种基本结构如 图1-1所示,所有的程序代码都实现在这3种结 构中。
结构图
四川师范大学成都学院
计算机语言:人与计算机进行“对话”的语言。
程序设计语言就是计算机能读懂的语言。
书写
执行
要求程序员按照语言的规范进行编程
计算机之所以能有条不紊的进行工作,是因为有程序
在进行操作和控制。
明德 博学 求实 创新
四川师范大学成都学院
计算机语言的发展
机器语言——汇编语言——高级语言
支持这种结构化的程序设计方法的语言称 为结构化的程序设计语言。结构化的程序设计 方法,主要是实现两个方面的问题:程序的模 块化设计和结构化编码。
明德 博学 求实 创新

四川师范大学成都学院
三种基本结构 顺序结构 选择结构 循环结构 三种基本结构的特点 只有一个入口 只有一个出口 每一个基本结构中的每一部分都有机会执行到 结构内不存在“死循环”
开始 输入两个整数a,b
Y
输入输出框
判断框 处理框 流程线
N
a > b? max = a 输出max 结束
明德 博学 求实 创新
max = b
四川师范大学成都学院
流程图描述算法(练习)
要求: 用流程框图描述函数
输入一个数x,根据x的值输出y。 1 x0 y= -1 x < 0
y=1 yes
start
基本成分:模块、调用、输入输出数据
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章C语言概念及编程环境1、C语言:是人们在计算机上,为完成某项工作而运用的一个程序设计工具。

2、程序:是人们为完成某项工作,用计算机语言编排的一系列过程与步骤。

1、1一个C语言程序(1) 在e盘上建一个文件夹名为:cpp(2) 双击Visual C++系统→File→New→File→C++source File→右边File处写你要建的文件名:时间换算→在其下面的Location即路径名处写:e:\cpp(事先建好的文件夹)→ok,如图1.1所示,在出现的界面(文档窗口)上你可敲入C程序,敲入的C程序如下:先有一个程序设计的直接感性认识:例1、1 在终端上输入秒数,程序将这些秒数化成小时、分钟、秒#include <stdio.h> //系统提供的文件包,含预处理命令。

系统所有的输入/输出函数都组织在stdio.h中int main() //主函数{ int sec, min, hrs; //定义整型变量,秒,分钟,小时printf("\nEnter a number of seconds:"); // 输出字符串Enter a number of seconds:scanf("%d",&sec); //输入秒数,放到变量sec中min=sec/60; //秒化成分钟,送到变量min中sec=sec%60; //求余秒,秒数求余除后,余下的秒数送到sec中hrs=min/60; //分钟化成小时min=min%60; //求余下的分钟数printf("The converted time is :\n"); //打印字符串The converted time is :(转换成的时间是:)printf("%d hours(小时) %d minutes(分钟) %d seconds(秒)\n",hrs,min,sec); //打印小时分钟秒return 0;}图1.1 建立C语言程序对话框敲入程序之后,单击Build→Build→是→是→!(编译运行),便出现图1.2的结果。

图1.2 程序运行结果运行结果:屏幕上输入5000秒,机器用你编写的如上程序,换算成1小时23分20秒。

说明:1、main()是程序中的主函数。

2、int是整型,其后面的sec , min , hrs分别被定义成整型变量。

3、printf("\nEnter a number of seconds:");是打印语句,在屏幕上打印出Enter a number of seconds: 字样,\n是回车(并换到下一行)。

4、scanf("%d",&sec);是输入语句,%d说明从屏幕上输入的是十进制整型数据,&sec表示输入的数据放在sec变量中。

5、min=sec/60;是将输入的秒数被60除,变成分钟后送到变量min中。

6、sec=sec%60;是将输入的秒数求余除,余下的秒数送到sec中,%是一个针对整数的运算,代表求余。

7、hrs=min/60;表示分钟被60除,变成小时后送到变量hrs中。

8、min=min%60;表示分钟被60求余除,余下的分钟送到min。

9、printf("%d hours(小时) %d minutes(分钟) %d seconds(秒)\n",hrs,min,sec);是在屏幕上打印出换算完的小时、分钟、秒。

%d hours(小时)对应hrs,%d minutes(分钟)对应min。

%d seconds(秒)对应sec。

\n(回车)表示打印完后,打印头放在下一行上。

10、return 0;返回语句,一般函数结束后都要返回调用本函数的下一条语句。

这里main()是主函数,用的是return 0。

1、2 C语言程序设计语法1、C语言中的主要“单词”(1)标识符C语言的标识符由字母、数字和下划线组成,其中第一个字符必须是字母或下划线。

例如,_name,sec是2个合法的标识,而left&right,3has就是2个非法的标识符。

还有在C语言中,标识符中的英文字母大小写形式是有区别的,例如,sun和Sun是不同的标识符。

(2)保留字保留字(又称关键字)是C语言规定的、赋予特定含义和有专门用途的标识符,它们主要与数据类型和语句有关。

如int(整数类型)、float(实数类型)、char(字符类型)、typedef(自定义类型),以及与语句相关的if(如果语句)、else(否则语句)、while(循环语句)、for(循环语句)、break(跳出循环语句)等。

(3)用户自定义标识符用户自定义标识符包括程序中定义的变量名、数据类型名、函数名和符号常量名。

一般来说,为了便于程序阅读,经常取有意义的英文单词作为用户自定义标识符,如前面程序中的sec、min、hrs等。

(4)常量常量是有数据类型的,例如,整型常量132,实型常量15.36,字符型常量… a …,字符串常量“ hello world ”等。

(5)运算符运算符表示对各种数据类型数据对象的运算。

如:+(加)、–(减)、*(乘)、/(除)、%(求余)、>(大于)、>=(大于等于)、<(小于)、<=(小于等于)、==(等于)、=(assignment,赋值)、!=(不等于)等。

运算一般多为双目运算(涉及2个运算对象),也有单目(涉及一个运算对象)和三目(涉及3个运算对象)运算。

如C语言中的条件运算?:就是一个三目运算符,有这样的语句:max=(a>b)? a:b;它是说:如果(a>b)条件为真,则条件表达式取值a,否则取值b。

(6)分隔符如:、和 #等都是分隔符2、C语言的主要语法单位(1)表达式运算符与运算对象(可以是常量、函数、变量等)有意义的组合,就形成了表达式,如2+3*4和i+2<j等。

表达式中可以包含多种数据类型的运算符,运算符有优先级。

例如,表达式i+2<j中,先计算i+2,再做关系比较运算“< ”,+比<先算。

(2)变量定义变量也有数据类型,所以在定义变量时要说明相应变量的类型。

变量的类型不同,它在内存中的存储空间的大小也会有所不同。

变量定义的最基本形式是:类型名变量名;int sec;(3)语句语句是程序最基本的执行单位,程序的功能就是通过执行一系列语句来实现的。

C 语言中的语句有多种形式。

a)最简单的语句(表达式语句)最简单的语句就是表达式加分号“;”。

在C语言中赋值也被认为是一种运算,如i = j+2;(把j加2的结果赋给变量i)就是一个包含+和=两种运算的表达式,+的优先级较高。

在该表达式后面加“;”就成了一个执行赋值过程的语句。

b)分支语句分支语句实现分支控制过程,根据不同的条件执行不同的语句(或语句模块)。

具体有2种形式,即双路分支的if else语句和多路分支的switch语句例如下列if-else语句求变量a和b的较大值,并把图1.3 例1.2流程图它赋给x。

这个if-else语句首先判别if后面的表达式(a>b),如果条件成立,执行x=a;否则执行x=b;if(a>b) x=a;else x=b;例1、2 在终端上输入2个整数,程序判别这2个数谁大,然后将大的数输出,流程如图1.3所示,用if语句。

#include <stdio.h>int main(){ int a,b,x;scanf("%d, %d",&a,&b);// 如下2条语句,可用1条语句x=(a>b)? a:b;来代替if(a>b) x = a;else x = b;printf("大的数是%d\n",x);return 0;}其中:if(a>b) x=a; else x=b; 这2条语句是求a和b的值谁大,并把大的值赋给x。

首先判别if后面的(a>b),如果条件成立,就执行”x=a;”,否则执行”x=b;”。

最后把大的一个数打印出来。

如果将这2条语句注释掉,改成一条语句 x=(a>b)? a:b;实现效果是一样的。

c)循环语句C语言实现循环控制的过程具体有3种形式,即while语句、for语句、do while语句。

例1、3用while循环语句求1到100的和,并把结果存在变量sum中,最后再输出。

#include <stdio.h>int main(){ int sum=0, i=1; //初始化sum和iwhile(i<=100) //循环体开始通过循环把1、2、3……100分别加到sum中{ sum = sum + i;i = i + 1;} //循环体到此结束printf("%d\n",sum);}其中i < = 100是循环执行的条件,只要这个条件被满足,一对大括号{ }中的循环体就会一直反复执行。

应该注意到,由于循环体每循环一次,i被加1(i = i + 1),所以,当循环到一定的时候,i 的值就会超过100,即循环条件i <=100不再满足了,循环就结束了。

流程如图1.4所示d)复合语句(Compound statement)用一对大括号{ }形成了一个复合语句。

例如,上面的while{ sum = sum + i ; i = i + 1 ; }(4)函数定义与调用函数是完成特定任务的独立模块,是C语言唯一的一种子程序形式。

函数的目的通常是接受0个或多个数据(称为函数的参数),并返回0个或1个结果(称为函数的返回值)。

函数的使用主要涉及函数的定义与调用。

函数定义的主要内容是通过编写一系列语句来规定所完成的功能。

完整的函数定义涉及函数头和函数体。

其中,函数头包括函数的返回值类型、函数名、参数类型;而函数体是一个程序模块,规定了函数所具有的功能。

函数调用则通过传递函数的参数并执行函数定义所规定的程序过程,以实现相应功能。

我们来看一下书第一章第2页,求阶乘问题是怎样用函数完成的。

#include <stdio.h>int main(void){ int n,m; // 定义求阶乘的变量和它的阶乘结果变量int factorial(int n); // 定义求阶乘的函数scanf("%d",&n); // 输入一个数,来求它的阶乘m=factorial(n); // factorial(n)函数去求阶乘printf("%d\n",m); // 打印求出的结成结果// printf("%d\n", factorial(int n)); // 这样直接就能打印出阶乘结果,代替前两步。

相关文档
最新文档