C语言1
C语言(一)
C语言程序设计主讲教师:马驰Email:teacher_ma@本课程讲述如何使用C语言进行真正的编程。
C 语言是目前软件开发者们最主要的编程语言。
这也是它受到广泛传播并且成为标准的原因。
本课程将侧重学习一个具体问题的算法化的过程。
本课程还将学习在实际编程过程中应该掌握的基本技巧。
以及用C编程的风格和艺术。
要写出一个好的程序,不仅仅是敲一些代码,功能正确。
还应该简单易读。
在学习的示例中,我们强调的是简单、实用的原则。
本课程是如何组织的?第一部分基础第二部分简单程序设计第三部分高级程序设计算法概念、编程原理、编程风格、基本数据类型定义、算术运算符及表达式顺序结构、选择结构、循环结构、数组的定义及应用、程序设计过程函数、变量的存储类别、指针、结构体与共用体、文件·计算机与程序·计算机中的数据·程序设计由程序控制计算机完成人们想做的工作。
由0/1代码组成的二进制数,也可以表示为十六进制数和八进制数。
在20世纪80年代,结构化的程序设计是最主要、最通用的程序设计方法。
程序=数据结构+算法在编写一个程序中,需要对两个方面进行描述:(1)对数据的描述(数据流):指定数据的类型和数据的结构。
(不同的语言对数据的定义不同,我们将学习C语言的数据类型和数据结构)(2)对操作的描述(控制流):要指定操作的步骤,既算法。
(算法具有通用性,脱离于语言之外,是程序设计的灵魂)什么是算法(Algorithm)?就是为了解决一个特定的问题而采取的确定的、有限的、按照一定次序进行的、缺一不可的执行步骤。
在计算机能执行的算法就是计算机算法。
计算机算法可以分成两大类:数值运算算法和非数值运算算法。
注意:为了有效地利用计算机解决实际问题,在设计算法时不仅要保证计算机执行算法的正确性,还要考虑算法的质量,选择适合于具体问题的算法。
例1:猴子吃桃问题。
有一堆桃子不知数目,猴子第一天吃掉一半并多吃了一个,第二天照此方法,吃掉剩下桃子的一半加一个,天天如此,到第十天早上,猴子发现只剩一只桃子了,问这堆桃子原来有多少个?算法写成:(1)a1=1{第10天的桃子数,A1的初始值};i=9{计数器的初值为9};(2)a0=2*(A1+1){计算当天的桃子数};(3)a1=a0;{将当天的桃子数作为下一次计算的初值};(4)i=i-1;(5)若i>=1,继续循环执行(2);(6)输出A0的值。
第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章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 }
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语言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语言第一课
关于#include
在编译器对我们写的源程序进行编译之前,预处理器 会对我们的写的源代码进行必要的处理,称为预处理。。 #include 就是一个预处理指令,它的作用是将头文件 stdio.h 里的内容包含进我们的程序,产生的结果是将
stdio.h 里的内容一字不漏地插入 #include <stdio.h>出现
C语言结构小结
C 程序由一个以上的函数组成,而且必须有 main 函数。函数 由函数头和函数体组成。函数头由返回值、函数名以及参数列表 (可以是void)组成。函数体从 { 开始,以 } 结束。函数体里可以 有一系列的语句,每个语句以分号(;)结束。例如:
预处理指令
函数头 函数体开始
——〉 #include <stdio.h>
#include “stdio.h” int main(void) {
%d 告诉 printf 用num的值替换掉它自 己 ,并且以整数形式显示num的值。因为 num 的值为 1 ,所以这个语句在屏幕上显 /*定义一个变量*/ 示“看看结果:1” ,并且换行。
C语言的注释语句。新的 编译器中可以用//
printf(“欢迎学习C语言! \n”); printf(“看看结果:%d”,num); return 0; }
#include “stdio.h” int main(void) { /*定义一个变量*/ int num; num = 1;
a + b = 600 a * b = 80000
a – b = 200
a/b=2
赋值语句 这个语句将 1 赋值给变量 num 。执行这个语句后,num 的 值等于 1 。
C语言第一章绪论详解
程序书写风格
同一层次大 括号对齐
分层缩进并对齐
24
int a, b, c; printf(“Please input a and b:\n”); scanf(“%d%d”, &a, &b);
c = a; a = b; b = c;
printf(“a = %d b = %d”, a, b) return 0; }
/*输入变量a和b的值*/ /*交换a和b*/ /*输出a和b的值*/
#include<stdio.h>
int add(int x, int y)
/*定义add()函数,求两个数之和*/
{
int z;
z = x + y;
return z;
}
int main(void)
/*定义主函数*/
{
int a,b,c;
printf(“Please input a and b:\n”);
第一章 绪 论
1
程序与程序设计语言
程序(Program)是为实现特定目标或解决特 定问题而用计算机语言编写的命令序列的集合, 是为实现预期目的而进行操作的一系列语句和指 令。用于编写计算机可执行程序的语言称为程序 设计语言,程序设计语言可分为:
机器语言 汇编语言 高级语言
完成两数相加的操作: 机器语言:10110011 …… 汇编语言:add ax, bx 高级语言:C=A+B
⑤ …… }
④
}
13
C语言程序的组成及书写规则
C程序是由一个或多个函数组成的,其中必须要有一个 且只能有一个main( )函数。无论这个函数的位置在哪里 ,程序总是从它开始执行。main( )函数可以调用其它函 数,但是其它函数不能调用main( )函数。
C语言-1基础
C语言程序设计 ◆C语言程序结构
1. C程序是由函数构成的。一个C源程序至少包含一个主函数
(main或主程序)和若干个其它函数(子函数或子程序) 2. 3. 一个函数由两部分程序组成:说明部分和函数体 一个C程序总是从main函数开始执行,不论main函数放在 程序中的什么位置。程序的流程是通过主函数main调用其 它子函数,或子函数间的相互调用 4. C程序书写格式自由,一行内可以写多条语句,但每一语 句必须用分号(“;”)结束
(2)C语言是贝尔实验室于70年代初研制出来的,后来又被多次
改进,并出现了多种版本。80年代初,美国国家标准化协会(ANSI), 根据C语言问世以来各种版本对C语言的发展和扩充,制定了ANSI C标 准(1989年再次做了修订)。 本课以ANSI C 标准来介绍。
C语言程序设计
一 、 C 语 言 发 展 过 程
d<0
no x1=(-b+sqrt(d))/2/a x2=(-b-sqrt(d))/2/a 输出实根
x1=(-b+sqrt(-d)i)/2/a x2=(-b-sqrt(-d)i)/2/a 输出虚根
结束
C语言程序设计
开始 流程图二 输入a,b,c yes a=0 no
x=-c/b yes 输出 x
d=b*b-4*a*c
优点:比机器语言较易理解,执行速度快。
缺点:难度大,非专业人士难以掌握。
C语言程序设计
第三代:面向过程的高级语言= =〉或称算法语言。如:
Fortran,Basic,Pascal,C 等等。 优点:灵活,易于理解,容易查错。
缺点:对大型程序而言维护性较差,对“拟定”好的
程序难以扩充,修改(所谓牵一而动百)。 第四代:非过程化的高级语言==〉是一种面向对象的设计
C语言第1章 程序设计和C语言
00000101
00000001
00000000
能直接被机器识别和执行的用二进制代码描述的指令称
为机器指令,机器指令的集合称为机器语言。由于它更靠 近机器,也称为低级语言
早期编程语言只有机器语言,由于它难于记忆和掌握, 因此少数人能参与到编程的工作中。
目前我们主要使用高级语言编程,但也必须翻译为机器 语言才能被机器识别和执行整。理课翻件 译工作由编译软件实现。
➢ 不同的部分是本程序的精华处 ➢ 解题思路:
设置3个变量 ➢ a和b用来存放两个整数
printf(”sum is %d\n”,sum); ➢ sum用来存放和数
return 0;
用赋值运算符“=”把结果传
}
送给sum
整理课件
一个C程序概貌
1.每个C程序前面都有一些固定语句,暂且称 为程序头
#include <stdio.h> //预处理命令
来 每个C语言程序应该至少有一个主函数,也就是有一个名 称为main的函数
#include <stdio.h> int main( ) { 主函数类型
printf (”This is a C program.\n”); return 0; }
整理课件
理解3:
C程序的细胞是函数,每个函数都有函数的类型,函数的 名称和函数体,函数体放在一对{ ...函数体...}中间定界起
#include <stdio.h>
int main( )
{ int a,b,sum; a = 123; b = 456;
变量a,b,sum的声明 提供数据
变量为数据 提供在内存 存储的空间
sum = a + b; 数据处理
第1章 C语言基本知识
第一章C语言基本知识一、C语言的产生和发展1、C语言的发展源于人们希望用高级语言编写操作系统。
(C-BCPL第二字母)ALGOL60(高级语言)->CPL(硬件支持)- BCPC->B->C->标准C-> ANSI C -> ISO C2、语言既具有高级语言特性,又具有低级语言特性-中级语言。
二、C语言的特点1、语言简明、紧凑、使用方便、灵活。
2、运算符丰富。
3、数据结构丰富,具有现代化语言的各种数据结构。
4、具有结构化的控制语句。
5、语法限制不太严格,程序设计自由度大。
6、C语言允许直接访问物理地址,能实现汇编语言的大部分功能,可以直接对硬件进行操作。
7、生成目标代码质量高,程序执行效率高。
8、用C语言写的程序可移植性好。
三、C程序的基本规则1、C程序由函数构成。
(亦称为函数语言。
)2、C程序中每条语句都用一个分号结尾,分号是C程序语句的必要组成部分,语句最后的分号不能省略。
3、每个C程序都有一个主函数(main()),且只有一个主函数。
并且程序是从主函数开始执行的。
4、调用C语言的标准函数通常要在程序开头使用包含命令include,C程序中的命令不用分号结尾。
5、C程序中的变量必须先定义,后使用。
6、C语言以小写字母作为基本书写形式,并且C语言要区分字母的大小写,同一字母的大小写被作为两个不同的字符。
7、C程序中可以用“/*……*/”的形式加注释。
8、C程序书写格式自由,一行内可以写几条语句,一条语句可以写在多行。
9.一个函数包含两个部分:(1)函数的说明部分。
包括函数名,函数类型,函数属性,函数参数名等。
如:int max(x,y)int x,y;函数名后必须跟一对圆括弧,函数参数可以没有,如:main( )。
(2)函数体。
函数说明部分下的大括弧,如果一个函数内有多个括弧,则最外一层为函数体范围。
四、字符集字符集是高级语言的编译系统所能识别的字母、数字和特殊符号。
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); } /*把结果输出到屏幕上*/
第1章C语言概述
第1章 C语言概述1、以下叙述中错误的是()。
A) 使用三种基本结构构成的程序只能解决简单问题B) 结构化程序由顺序、分支、循环三种基本结构组成C) C语言是一种结构化程序设计语言D) 结构化程序设计提倡模块化的设计方法参考答案:A【解析】使用顺序,选择(分支),循环三种基本结构构成的程序可以解决所有问题,而不只是解决简单问题,所以A)错误。
2、流程图是描述算法的很好的工具,一般的流程图中由几种基本图形组成。
其中输入输出框的图形是A) 平行四边形B) 长方形C) 椭圆型D) 菱形参考答案:A【解析】算法可以用各种描述方法进行描述,目前最常用的有3种:伪代码、流程图和N-S结构图。
传统的流程图由下图所示的几种基本图形组成。
A选项正确。
3、以下叙述错误的是A) 在进行模块化程序设计的时候,应首先完成每个模块的编写调试,再集中考虑主程序中的算法B) 同一程序各模块可由一组人员同时进行编写调试,可提高编写程序的效率C) 模块化的程序设计是采用自顶向下、逐步细化的原则D) 程序的每个模块都可通过三种基本结构实现参考答案:A【解析】结构化程序设计把一个复杂问题的求解过程分阶段进行,需要保证自顶向下、逐步细化、模块化设计、结构化编码。
进行模块化设计时,首先设计框架,并定义和调试好各个模块之间的输入输出关系,然后完成各个模块的编写调试后再集中编译,模块化的程序设计采用自顶向下、逐步细化的原则,A选项叙述错误,C选项叙述正确。
各个模块可以由不同人员同时进行编写调试,提高编写程序的效率,B选项叙述正确。
结构化程序主要由3种基本控制结构组成,顺序结构、选择结构、循环结构,这三种基本结构可以解决任何复杂的问题,D选项叙述正确。
故选择A选项。
4、以下选项中叙述正确的是A) 函数体必须由 { 开始B) C程序必须由main语句开始C) C程序中的注释可以嵌套D) C程序中的注释必须在一行完成参考答案:A【解析】函数体是函数首部下面的花括号内的部分,所以函数体必须由{开始,A选项正确。
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语言第1章PPT课件
▪
(1)C程序是由函数构成的,函数是C程序的基本单位。任何
一个C源程序都至少包含main主函数,也可以包含一个main主函数
和若干个其他函数。
▪ (2)一个函数由两部分组成:函数头和函数体。
▪ 函数头即函数的第1行,如例1-1中的int main()。函数体即函数头下 面的花括号{}内的部分。若一个函数内有多个大括号,则最外层的一 对{}为函数体的范围(关于函数的组成部分参见第6章函数)。
程
项
序
目
编
工
辑
作
窗
区
口
窗
口
2021/4/8
13
新建一个C源程序
▪ 在Visual C++主窗口的主菜单栏中选择“文件(File)”, 然后在其下拉菜单中单击“新建(New)”,如图1-6所示。
2021/1-7)中,选择此对话框 的左上角的“文件”选项卡,选择其中的“C++ Source File”选项,其功能是建立新的C++源程序文件。
✓具有低级语言功能的高级语言
✓模块化和结构化语言
✓可移植性好
✓执行效率高
2021/4/8
3
C程序结构
▪ C程序结构由头文件、主函数、系统的库函 数和自定义函数组成,因程序功能要求不 同,C程序的组成也有所不同。其中main 主函数是每个C语言程序都必须包含的部分。
2021/4/8
4
C程序的基本结构
2021/4/8
22
▪ 在得到可执行文件后,就可以直接执行 “例1-1.exe”了。选择“组建(B)”—“执 行[例1-1.exe]”,如图1-15所示。
2021/4/8
23
C语言(1-10)
处理框
输入/输出框 输入 输出框
注释框
流向线
连接点
将求5!的算法用流程图表示 例2.6 将求 的算法用流程图表示
如果需要将最后结 果打印出来,可在 菱形框的下面加一 个输出框。
第三章
§ 3.1 C的数据类型
C语言提供了以下一些数据类型。
整型
int char 单精度实型 float 双精度实型 double struct union enum
§3.5字符型数据
有些以“ 开头的特殊字符称为转义字符 有些以“\”开头的特殊字符称为转义字符
\n \t \r \\
换行 横向跳格 回车 反斜杠
•
•
fab c gde f jik gde h
显示屏上的运行结果: 显示屏上的运行结果:
打印机上的显示结果: 打印机上的显示结果:
h
jk
例3.5 转义字符的使用 #include <stdio.h> void main() {printf(″ c\ de\rf\tg\n″) {printf(″ ab c\t de\rf\tg\n″); printf(″h\ti\ k\ printf(″h\ti\b\bj k\n″); }
§3.5字符型数据 3.5.2字符变量 字符变量 • 字符型变量用来存放字符常量,注意只能放一个字符。 • 字符变量的定义形式如下:char c1,c2; • 在本函数中可以用下面语句对c1,c2赋值: c1=‘a’;c2= ‘b’ ; • 一个字符变量在内存中占一个字节。 3.5.3字符数据在内存中的存储形式及其使用方法 字符数据在内存中的存储形式及其使用方法 • 将一个字符常量放到一个字符变量中,实际上并不是把该 字符本身放到内存单元中去,而是将该字符的相应的 ASCII代码放到存储单元中。 这样使字符型数据和整型数据之间可以通用。一个字符数据既 可以以字符形式输出,也可以以整数形式输出。
第1章 c语言概述(习题答案及解析)
习题1 参考答案一、选择题1.1 C 分析:简单程序设计步骤为:确定数据结构、确定算法、编码、调试、整理文档,不包括安装编译程序,故答案为C选项。
1.2 D 分析:一个算法应该具有以下五个重要的特征:有穷性,确定性,输入,输出以及可行性,故答案选D选项。
1.3 A 分析:编译就是把高级语言变成计算机可以识别的二进制语言,不经过编译的源程序是不能运行的,A选项正确。
算法不一定要包含所有三种基本结构,也可以只包含一种或两种,B选项错误。
结构化程序主要由3种基本控制结构组成,循环结构、选择结构、顺序结构,它们组成的算法结构可以解决任何复杂的问题,C选项错误。
算法的复杂程序不是由操作步骤多少决定的,而是按时间复杂度与空间复杂度来衡量,D选项错误。
1.4 A 分析:计算机只能识别机器语言,不能直接识别由高级语言编写的程序,答案为A选项。
1.5 A 分析:C语言程序必须要定义main()函数,B选项错误;只有同时包含三种基本结构时,程序才是结构化程序,C选项错误;程序中的语法错误在编译时能显现,排除D选项,答案选A。
1.6 A 分析:计算机只能识别机器码,机器码是由二进制构成的,因此只能识别二进制构成的代码程序,不可以直接识别由十六进制代码构成的程序,十六进制的代码必须转为二进制才能在计算机上直接执行。
因此选项A错误。
1.7 A 分析:书写风格良好的程序易读性好,方便团队合作,分模块来完成复杂的程序设计,B选项叙述正确。
但是书写风格与程序执行效率无关,程序执行效率与程序的数据结构有关,由算法的时间复杂度和空间复杂度决定,A选项叙述错误。
C语言程序书写规范中,良好的书写习惯中一般一行上写一条语句,这样方便阅读,但是一行写多条语句是符合C程序编写规则的,C选项叙述正确。
C程序允许将一条较长的语句分写在多行,D选项叙述正确。
叙述中错误的是A选项,故选择A选项。
1.8 A 分析:程序中,注释可以出现在程序的任何位置,B选项错误;注释中间不能嵌套另一个注释,C选项错误;注释内容不影响程序编译,D选项错误,答案为A选项。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
00000101
11110100
计算12-5的机器语言代码
6
1.1.1 程序设计语言
机器语言
用机器语言编写程序的优点:
质量高 占存储空间小 执行速度快 能由计算机直接执行 依赖于具体计算机 难记忆 易出错 阅读理解困难 编程者需了解特定计算机的硬件及指令系统
用机器语言编写程序的缺点:
11
1.1.1 程序设计语言
高级语言
编译:Compiling
将高级语言源程序翻译成为功能等价的低级(机器)语 言目标程序的过程。
编译程序:Compiler
完成编译工作的专门程序。
对不同的程序设计语言需要配备不同的编译程序。 对使用不同机器语言的机器需要配备不同的编译程序。
库文件 数据
源程序
31
1.2.4 C语言程序例
C语言程序中注释的一般表示形式是: /* ……注释内容…… */ 注释内容可以占用若干书写行,只要以“/*”开头、用 “*/”结束。C89或C99都规定C语言的注释不能嵌套。如 : /* void func (void) { printf(“This is a function\n”); /* nested comment ,这种嵌套的注释是错误的!*/ } */ 这样的注释是错误的。 C99中还允许使用以连续两个斜杠字符(//)开头的注释 形式。即“// ……注释内容……”。但是这种注释被限制 32 在一行内。
15
从作用与执行的效果角度看
1.1.3 程序设计
设计、编制、测试程序的方法和过程 程序设计的内容与内涵
设计 程序编制 程序调试 程序测试 程序验证 程序设计风格 ┅┅
16
1.1.3 程序设计
结构化程序设计方法 一种传统的程序设计方法
本质是功能设计 设计基本原则 :自顶向下,逐步细化,由抽象到具体 的功能分解过程
26
1.2.3 C语言源程序的结构与执行
1. C语言源程序的结构
外部数据定义性声明,顾名思义即在函数外部 定义数据对象。
函数及外部数据引用性声明即声明要引用本程序中 已经定义的函数或外部数据对象。 在函数外定义的数据对象可被程序中的诸函数公用 ,因此这类数据对象也称为“全局”数据对象。 “定义性声明”建立函数与外部数据,需要对定义 的外部数据分配存储空间; “引用性声明”则指出要引用程序中其他地方定义 的函数或外部数据,并不为欲引用的外部数据分配 存储空间。
20
1.1.3 程序设计
程序设计风格指的是编码风格(coding style) 即程序设计者表达程序的习惯方式 良好的程序设计风格基本指导原则:
⑴ 规范化的源程序书写格式 ⑵ 注释程序 ⑶ 选用顾名思义的标识符 ⑷ 用简明的方法表达算法 ⑸ 提供友善的输入输出界面
21
1.2 C语言概述
C语言是在BCPL和B语言的基础上发展起来的 与著名的UNIX操作系统的产生相辅相成的 最初C语言以B.W. Kernighan和D. M. Ritchie所著的 《The C Programming Language》为标准,谓之 K&R C 美国国家标准化协会(American National Standard Institute,ANSI)于1983年开始为C语言制定统一标 准,该标准颁布于1987年,称之为87 ANSI C。 1989年,ISO为C语言制定了国际标准C89。最新的C 语言国际标准是1999年颁布的C99。本书按C99标准 叙述。
C语言程序设计
1
黄达明 terman_huang@ 上机地点 基础实验楼乙区 201、202、203、204机房
学习这门课程的目标
科研和工程中的 计算思维能力
高层次的追求
与软件人员良好 交流的能力
工具的开发者
低层次的追求
课程过关
第1章 C程序设计概述
1.1.1 程序设计语言
编译期错误 连接期错误 运行期错误
编译程序与连接程序
19
1.1.3 程序设计
测试(testing)的目的除了发现程序存在错 误外,还证实程序是否达到规定的功能,具 有检验质量及性能评价等含义。 验证(verification)程序正确性的理想方法 是理论证明。目前验证程序的方法主要还是 依靠有局限性的测试技术。
28
整个程序的执行结束
1.2.4 C语言程序例
例1.1 一个简单的C程序。 该程序只由一个函数组成。该例的程序代码存储在 myprog1.c源程序文件中,文件内容如下: #include <stdio.h> int main(void) { int number;
printf(“books=”); scanf(“%d”, &number); printf(“I have %d books.\n” , number); }
2a
S3:输出根
S3-1:如果disc=0,计算并输出两个相同的根x1=x2=u S3-2:如果disc>0,计算并输出两个实根x1=u+v ,x2 = u- v S3-3:如果disc<0,计算并输出一对共扼复根x1=u+vi , x2=u-vi 18
1.1.3 程序设计
调试、测试、验证程序3个术语 联系:目的都是为了产生没有错误的程序 区别:含义不同 调试(debugging)通常是指由程序设计者自 己查找和改正程序中错误的过程,也称纠错 或排错,目的是确定错误的性质、原因和位 置且改正错误。 按开发程序的过程程序中的错误分为
30
1.2.4 C语言程序例
n=min(n1, n2, n3); /* 调用自定义函数min,求3个正整数的最小 值 */ for(i=1;i<=n;i++) sum=sum+i; printf(“Minimum=%u\n1+2+....+%u=%u\n”, n,n, sum); } int min(int a, int b, int c) /* 求3个整数的最小值的函数定义 */ { if(a<=b&&a<= c) return a; else if(b<=a&&b<=c) return b; else return c; }
8
1.1.1 程序设计语言
高级语言
接近于自然语言和数学语言,在一定程度上与具 体计算机无关的符号化语言。 用高级语言编写的程序形式(以C语言为例):
int main(void)
{
printf(“%d\n”,12-5);
}
计算12-5的高级语言代码
9
1.1.1 程序设计语言
高级语言
用高级语言编写程序的优点:
“程序”是完成事情的先后次序
计算机中的程序概念
按特定的算法,用某种计算机语言描述的完成指定 任务的处理过程
14
1.1.2 程序
从内容上看
包含算法描述和数据描述两个方面,是数据与算法 的结合 程序=算法+数据结构
从存储的角度看
写在纸上或存储在外部存储介质上的一个静态实体
是一个具有抽象性和动态性的逻辑实体,只有被 装入主存启动执行后才起作用
区别的“定义性声明”与“引用性声明” :
27
1.2.3 C语言源程序的结构与执行
2. C语言源程序的执行
C语言程序总是从main函数的第一条语句开始 执行 C语言程序中所有其他函数都可以相互调用
一个函数也允许自己调用自己 可以调用由C编译系统定义的库函数及用户自己定 义的库函数。 在正常情况下,main函数执行完毕 执行过程中发生各种错误,提前结束程序运行
7
1.1.1 程序设计语言
汇ห้องสมุดไป่ตู้语言
汇编语言是一种符号化的机器语言,用助记符 号代替指令操作码、操作数。 用汇编语言编写的程序形式:
MOV AL,12D
SUB AL,5D
HLT
计算12-5的汇编语言代码
汇编语言与机器语言有相同的特点,但要翻译 成等价的指令序列后才能由计算机执行。
24
1.2.3 C语言源程序的结构与执行
1. C语言源程序的结构
例: int max(int a, int b, int c) { int m; m=a>b?a:b; return (m>c?m:c); }
25
1.2.3 C语言源程序的结构与执行
1. C语言源程序的结构
一个C语言程序必须有且仅有一个名为main的函数 一个C语言源程序通常存放在一个源程序文件中(单 文件程序),也可以分别存放在多个源程序文件中( 多文件程序) 程序中所有函数(包括main函数)在源程序文件中 安排的位置和顺序是任意的 一个函数必须完整地包含在一个文件中,不允许跨文 件存放 不同的C编译系统对源程序文件的扩展名要求不同, 例如TC2.0的源程序文件必须以“.C”作为后缀。 一个C源程序文件是C源程序的一个程序模块,C编 译程序总是以源程序文件为单位编译。
22
1.2.3 C语言源程序的结构与执行
1. C语言源程序的结构 一个C语言源程序由一系列的外部声明组成。 外部声明
函数定义性声明 外部数据定义性声明 函数引用性声明 外部数据引用性声明