C语言程序设计教程 第2章

合集下载

C语言程序设计(谭浩强版)第二章

C语言程序设计(谭浩强版)第二章
奇妙的输出结果。并且,处理出错的方法
不应是中断程序的执行,而应是返回一个
表示错误或错误性质的值,以便在更高的
抽象层次上进行处理。
算法设计的原则
4.高效率与低存储量需求
通常,效率指的是算法执行时间; 存储量指的是算法执行过程中所需 的最大存储空间, 两者都与问题的规模有关。
算法设计的原则
算法的时间复杂度
第二章 程序的灵魂——算法
2.1 算法的概念 2.2 算法的简单举例
2.3 算法的特性 2.4 怎样表示一个算法 2.5 结构化程序设计方法
算法的概念
计算机应用: 提取数学模型—设计算法— 编程—测试—应用
程序设计=数据结构+算法
数据结构:对数据的描述 算法:对操作的描述 除此之外程序设计还包括:程序设计方法, 和程序设计语言
怎样表示一个算法
例4的伪代码表示法如下 开始 读入整数n 置sum的初值为0 置k的初值为1 执行下面的操作: 如果k为奇数,置item=1/k 如果k为偶数,置item=-1/k sum=sum+item 直到k>n 打印sum的值 结束
算法设计的原则
算法设计的原则
设计算法时,通常应考虑达到以下目标: 1.正确性 2.可读性 3.健壮性 4.高效率与低存储量需求
从算法中选取一种对于所研究的问题 来说是 基本操作 的原操作,以该基 本操作 在算法中重复执行的次数 作 为算法运行时间的衡量准则。
结构化程序设计方法
采用结构化算法写成的计算机程序是结构 化程序。要编写出结构化程序,经常采用 的方法是结构化程序设计方法。这种方法 的基本思路是: 把给定的问题按层次(纵方向)、分阶段 (横方向)分解为一系列易于编程解决的 小问题,然后对应着这些分解的小问题, 设计结构化的算法,最后采用语言将算法 描述出来。这样一种程序设计方法就是结 构化程序设计方法。

C语言程序设计(李圣良)章 (2)

C语言程序设计(李圣良)章 (2)

}
第2单元 顺序和选择结构程序设计
图2-6 例2-6程序运行结果 注意,长整型的数据输出使用“%ld”或“%Ld”,在 Visual C++ 6.0系统中,“%d”、“%ld”控制结果一样,但 在Turbo C中则要严格区分。 (4) %mld:按照指定宽度输出长整型数据。
第2单元 顺序和选择结构程序设计
第2单元 顺序和选择结构程序设计
以上介绍了常用的几种格式符,归纳如表 2-1 所示。
第2单元 顺序和选择结构程序设计
2.1.2 输出语句printf函数 对于一个有意义的程序来说,应该有一个或多个输出,也
就是至少要有一个输出,将程序的结果进行输出。所谓输出, 是指从计算机向外部输出设备(显示器、打印机、磁盘等)输出 数据。一般默认的标准输出设备是显示器。
C语言本身并不提供专门的输入输出语句,C语言中的输入 输出操作是调用专门的输入输出函数来完成的。输入输出函数 的有关信息存放在文件“stdio.h”中,“stdio.h”是标准输 入输出库的头文件,其中包含了所有的标准输入输出函数的有 关信息。因此,在使用这些函数前,必须有“# include <stdio.h>”编译预处理命令,否则系统会提示出错信息 “error C2065:'printf':undeclared identifier”。
{ 语句 1; 语句 2; … 语句 n;
} 例如: { t=x;
x=y; y=t; }
第2单元 顺序和选择结构程序设计
4. 控制语句 控制语句是C语言程序中用来控制程序流程的语句。在C语 言中可具体划分为9种程序流程控制语句。 条件判断语句:if,switch。 循环语句:do…while,while,for。 转向语句:break,continue,goto,return。 以上9种控制语句具体的应用将在后续单元中进行详细讲 解。

C语言程序设计教程第2章程序流程

C语言程序设计教程第2章程序流程
画出
流程图
算法
确定
程序结构
变量类型
程序语句
(7)调试
调试
C语言程序设计
第二章 程序设计和程序结构
良好的程序编写风格会大大缩 短调试过程,附录4介绍了C语言程 序的一般书写风格,附录11介绍了 一些常见的错误。
C语言程序设计
第二章 程序设计和程序结构
2.1.2 算法
在实际的编程过程中要注意:
1、避免拿起题目就开始写程序的 2、应该先设计出合适的算法
第二章 程序设计和程序结构
本章概述
2.3程序结构 2.1程序设计与算法 2.4流程图及程序例子 2.2流程图
C语言程序设计
第二章 程序设计和程序结构
本章概述
• 本章主要介绍了C语言的程序结构、 流程图的绘制和程序设计的过程。 • 学习目标: • 1、理解程序的开发、设计过程 • 2、掌握C语言程序结构
C语言程序设计
第二章 程序设计和程序结构
其中最后一行的“Press any key to
continue”是VC6.0自动添加在每个
程序运行结果后面的一句提示信息,它
表示当程序执行结束时,操作者可以按
任意键返回到编辑界面。在后面的程序 运行结果中,将不再给出这一信息。
C语言程序设计
第二章 程序设计和程序结构
scanf("%d",&num1);
printf("Input the 2nd integer number: "); scanf("%d",&num2); sum=num1+num2; printf("sum=%d\n",sum); }
C语言程序设计

《C语言程序设计教程》第三版课后习题参考答案

《C语言程序设计教程》第三版课后习题参考答案

《C语言程序设计教程》第三版课后习题参考答案C语言程序设计教程第三版课后习题参考答案第一章:C语言概述1.1 C语言的特点答案:C语言是一种通用的、面向过程的程序设计语言,具有高效、简洁、灵活等特点。

它提供了丰富的程序设计元素和功能,适用于各种不同的应用领域。

1.2 C语言程序的基本结构答案:C语言程序由预处理指令、函数声明、函数定义、变量声明和语句组成。

其中,预处理指令用来引入头文件或定义宏,函数声明用来声明函数的名称和参数,函数定义用来实现函数的功能,变量声明用来声明变量的类型和名称,语句用来表达具体的计算过程。

1.3 C语言的数据类型答案:C语言提供了多种数据类型,包括基本类型(整型、浮点型、字符型等)和派生类型(数组、指针、结构体等)。

每种数据类型在内存中占据一定的存储空间,并具有特定的取值范围和操作规则。

1.4 C语言的运算符和表达式答案:C语言支持各种运算符和表达式,例如算术运算符(+、-、*、/等)、关系运算符(>、<、==等)、逻辑运算符(&&、||、!等)等。

通过运算符和表达式可以进行各种数值计算和逻辑判断。

第二章:基本数据类型与运算2.1 整型数据类型答案:C语言提供了不同长度的整型数据类型,包括有符号整型(int、long等)和无符号整型(unsigned int、unsigned long等)。

整型数据类型可以表示整数值,并具有不同的取值范围。

2.2 浮点型数据类型答案:C语言提供了浮点型数据类型(float、double等),用来表示带小数部分的实数值。

浮点型数据可以表示较大或较小的数值,并具有一定的精度。

2.3 字符型数据类型答案:C语言提供了字符型数据类型(char),用来表示单个字符。

字符型数据可以用于表示各种字符(包括字母、数字、符号等)。

2.4 布尔型数据类型答案:C语言不直接支持布尔型数据类型,但可以使用整型数据类型来表示布尔值(0表示假、非零表示真)。

第二章 C语言程序设计

第二章 C语言程序设计
有符号 (signed) 整型变量 无符号 (unsigned) 基本整型(int) 短整型(short int) 长整型(long int)
例:整型数据的溢出。 main( ) { int a, b; a=32767; b=a+1;
printf(“%d,%d”,a,b);
}
返回
整型变量的定义
[unsigned][short][long] int <变量名1>, <变量名2>,……<变量名n>;
表达式1,表达式2……表达式n
说明:
1、逗号运算符的结合性为从左到右
2、所有运算符中,逗号运算符的优先级最低
练习题
执行下列语句后,a和b的值 分别为
int a, b; a=1+(b=2+7%-4-’A’)
练习题
执行下列语句后,a和b的值 分别为 -59,-60
int a, b; a=1+(b=2+7%-4-’A’)
练习题
一个C语言的源程序中,
(A)必须有一个主函数

(B)可以有多个主函数
(C)必须有主函数和其他函数
(D)可以没有主函数
练习题
1、编程实现,输入一个数,输出其 绝对值。 2、编程实现,输入a,b,c三个数, 输出其中最大者。
题 1、
Void Main()
{
int a, result; /*定义变量*/ scanf(“please input a number:%d”, &a); if (a>=0) result=a; else result=-a;
3、类型转换
例:
void main( )
{ float x, y;

C语言程序设计第2章

C语言程序设计第2章
第2章 数据类型、 运算符与表达式
章要点 退出
上一页 下一页
学习目标与要求
1、掌握C语言中基本的数据类型
2、理解并掌握程序中常量和变量的概念、 定义及应用
3、掌握各类运算符及其优先级和结合性, 能正确书写和计算各类表达式的值
4、掌握常用库函数的使用方法,会使用TC 的帮助文件
章要点 退出
《C语言程序设计》
数位 b15 b14 b13 b12 b11 b10 B9 b8 b7 b6 b5 b4 b3 b2 b1 b0 0 0 0 0 0 00 000001111
符号位
15 的二进制表示 图 2-1 十进制数 15 两个字节的补码表示
章要点 退出
《C语言程序设计》
上一页 下一页
18
(2)该数为负整数时,求补码口诀为“求反加 一”。先求出该负数的二进制表示,将其按位取 反(符号位除外),再在最低位加1。
在本章中,我们先介绍基本数据类型中的整 型、浮点型和字符型。其余类型在以后各章中陆 续介绍。
章要点 退出
《C语言程序设计》
上一页 下一页
6
常量与变量
标识符命名
在C语言中,标识符是用来标识变量名、符号 常量名、函数名、数组名、类型名、文件名的有 效字符序列。
C语言中规定标识符只能由字母、数字、下划 线三种字符组成,且第一个字符必须为字母或下 划线。
例如:ch1、ch2、add、_sum、Student_name、 a_2_b、PI等都是合法的,而3a、a!、¥168、 M.D.Tom、high a等都是非法的。
章要点 退出
《C语言程序设计》
上一页 下一页
7
标识符的长度可以是一个或多个字符,大部分

c语言程序设计第2章(谭浩强)

c语言程序设计第2章(谭浩强)

第2章程序的灵魂——算法1. 概念:为解决某一特定问题而采取的具体工作步骤和方法。

2. 举例◆计算1+2+3+……+100的值◆计算1×2×3×……×1000的值◆有50个学生,要求输出他们之中成绩在80分以上的学号和成绩◆判定2000-2500年中的每一年是否闰年3. 算法的表示(1) 自然语言(2) 流程图表示法(3) 伪代码表示法(4) 计算机语言表示法(2) 流程图表示法顺序结构、选择结构和循环结构流程图这三种基本结构有以下共同的特点:1. 只有一个入口;2. 只有一个出口;3. 结构中的每一部分都有被执行到的机会;4. 结构内没有死循环。

用上述基本结构的顺序组合可以表示任何复杂的算法结构,但是基本结构中的流程线使流程图显得较乱,于是1973年美国学者提出了一种新的流程图形式。

在这种流程图中,完全去掉了带箭头的流向线,全部算法写在一个矩形框内。

下面是三种控制结构的N-S图。

例1 求四个数的和算法一:在内存中设一累加用的存储单元S。

第1步:将存储单元S清零。

第2步:输入第1个数a1。

第3步:把a1加到存储单元S中。

第4步:输入第2个数a2。

第5步:把a2加到存储单元S中。

第6步:输入第3个数a3。

第7步:把a3加到存储单元S中。

第8步:输入第4个数a4。

第9步:把a4加到存储单元S中。

第10步:把存储单元S中的结果输出。

算法二:在内存中设一累加用的存储单元S和一计数用的单元I。

第1步:将累加单元S清零。

第2步:将计数单元I清零。

第3步:输入一个数A。

第4步:把A加到累加单元S中。

第5步:计数单元I的值增加1,即I+1=>I。

第6步:若I<4则转去执行第3步,否则,继续执行第7步。

第7步:输出存储单元S中的结果。

开始结束S+A=>S 0=>S 0=>I 输入A I+1=>I I<4输出S 0=>s0=>I输入A S+A=>S I+1=>I 直到I=4输出结果S N-S 图Y例2 求5!开始结束T*i=>t 1=>t 2=>i i+1=>i i>5输出S N例3 将50名学生中成绩在80分以上练习1:交换两个单元的内容。

C语言第2章 数据类型及运算符

C语言第2章 数据类型及运算符

C/C++程序设计第2 章数据类型及表达式计算机学院C/C++程序设计课程组C/C++程序设计第2章主要内容本章主要介绍:基本数据类型和存储类型的说明方法,以及基本运算符的运算规则和表达式的构成方法,为后续章节的学习奠定一个基础。

C/C++程序设计2.1 C 语言的数据类型使用高级语言编写程序,主要工作有两项:一是描述数据,二是描述数据加工的方法。

数据类型图 2.1C 语言的数据类型基本类型整型实型字符型带符号长整型(简称长整型)带符号整型无符号整型无符号整型无符号短整型无符号长整型单精度型双精度型空类型构造类型指针类型枚举类型数组类型结构体类型共用体类型C/C++程序设计2.2 常量常量是程序运行过程中其值不发生变化的数据。

2.2.1 整型常量表2.1 整型数据的表示方式2.2.2 实型常量3.14、.9999、-3.14159、834.、–0.666 、6.89E-52.2.3 字符常量’x’,’a’,’A’,’b’,’$’,’#’ ,printf("\tab\rcd\n\’ef\\g");2.2.4 符号常量#define 符号常量字符串#define PI 3.14159C/C++程序设计【例2.1】求一个圆柱体体积,用符号常量代替π。

#include <stdio.h>#define PI 3.14159 /*定义PI为符号常量*/void main(){float r,h,v;scanf("%f,%f",&r,&h);v=PI*r*r*h; /* PI相当于3.14159,参与运算*/printf("Volume=%f",v);}运行时输入:3,2↙运行结果为: Volume=56.548618C/C++程序设计2.2.5 字符串常量"\tab\rcd\n\’ef\\g“"I am a student" 、"x"、""注意:’\0’和’0’不同,’\0’是编码为0的字符,而’0’则是数字0,其编码为48。

《c语言程序设计基础》第二章

《c语言程序设计基础》第二章

2.3.3 2.3.3 2.3.3 2.3.3
input x: 2.5 f(2.50)=0.4 input x: 0 f(0.00)=0.0
分 支 结 构
语 句
软件测试的基本思想
程序运行时为什么输入2.5和 两个数 两个数? 程序运行时为什么输入 和0两个数?
根据程序的逻辑结构和功能设计,选取一些有代表性 的测试用例!
常量:在程序运行过程中,其值不能被改变 常量
——一个确定的数值(3.14)、字符(‘a’)或字符串(“Hi”)
常 量 、 变 量 和 数 据 类 型
变量:在程序运行过程中,其值可以被改变 变量
——数学公式中的自变量、因变量(y=2x+1)
变量使用
C规定:变量必须先定义后使用 变量必须先定义后使用 定义方法:
C解决方案: 解决方案: 解决方案 1. scanf( )-格式化输入 2. if 结构的使用 3. printf( )进阶
2.3 计算分段函数
2.3.1 2.3.1 2.3.1 2.3.1 格式
scanf(格式控制,地址表列) (格式控制,地址表列)
功能
将用户从键盘输入的数据存放至变量所代表的内存 的地址
常 量 、 变 量 和 数 据 类 型
基本数据类型
整型:int-4字节, long( int)-8字节 字符型:char-1字节 实型:float-4字节, double-8字节
常量、 常量、变量都有对应的数据类型
2.2 华氏温度与摄氏温度相互转换
算术运算
算术表达式
用算术运算符 运算对象 算术运算符将运算对象 算术运算符 运算对象连接起来的符合C语言语法 规则的式子
格 式 化 输 入 函 数

《C语言程序设计教程》全册教案完整版教学设计

《C语言程序设计教程》全册教案完整版教学设计

《C语言程序设计教程》第一章教案一、教学目标1. 让学生了解C语言的发展历程和特点。

2. 掌握C语言的基本语法和结构。

3. 学会使用C语言编写简单的程序。

二、教学内容1. C语言的发展历程和特点2. C语言的基本语法和结构3. C语言程序的基本框架4. 简单的C语言程序示例三、教学方法采用讲授法、示例法、练习法相结合的方式进行教学。

四、教学步骤1. 引入话题:介绍C语言的发展历程和特点。

2. 讲解C语言的基本语法和结构,包括数据类型、变量、常量、运算符、表达式等。

3. 讲解C语言程序的基本框架,包括主函数、变量定义、函数体等。

4. 通过示例程序,让学生了解和掌握C语言编程的基本方法。

5. 布置练习题,让学生课后巩固所学知识。

五、教学评价通过课堂提问、练习题、课后作业等方式对学生的学习情况进行评价。

《C语言程序设计教程》第二章教案一、教学目标1. 让学生掌握C语言的运算符和表达式。

2. 学会使用C语言进行基本的输入输出操作。

3. 了解C语言的控制语句,包括条件语句和循环语句。

二、教学内容1. C语言的运算符和表达式2. C语言的输入输出操作3. C语言的控制语句三、教学方法采用讲授法、示例法、练习法相结合的方式进行教学。

四、教学步骤1. 复习C语言的基本语法,引入运算符和表达式的概念。

2. 讲解各种运算符的用法和优先级,通过示例让学生掌握运算符和表达式的使用。

3. 讲解C语言的输入输出操作,包括printf函数和scanf函数的使用。

4. 讲解C语言的控制语句,包括if语句、switch语句、for循环、while循环等。

5. 通过示例程序,让学生掌握控制语句的使用方法。

6. 布置练习题,让学生课后巩固所学知识。

五、教学评价通过课堂提问、练习题、课后作业等方式对学生的学习情况进行评价。

《C语言程序设计教程》第三章教案一、教学目标1. 让学生掌握C语言的函数概念和作用。

2. 学会自定义函数,并了解函数的调用方式。

C语言程序设计实用教程第2章精品PPT课件

C语言程序设计实用教程第2章精品PPT课件

取值范围
精度(位)
float
4
3.4×10-38 ~ 3.4×1038
7
double
8
1.7×10-308 ~ 1.7×10308
15
11-окт-20
C语言程序设计教程
第2章 C语言的基本数据类型与表达式
8
3、字符常量
(1) 用单引号括起来的一个字符;如:‘A’、 ‘1‘、’?’ 等。
(2) 用单引号括起来的由反斜杠(\)引导的转义字符。
实型 双精度型(double)
枚举类型(enum)
数据类型
数组类型([ ]) 构造类型 结构体类型(struct)
共用体类型(union)
指针类型(*)
空类型(void)
11-окт-20
C语言程序设计教程
4
2.2 常量
常量是指在程序运行中,其数值不能被改变的量。 常量又可分为直接常量和符号常量。
11-окт-20
C语言程序设计教程
第2章 C语言的基本数据类型与表达式
12
5、符号常量(例2-2)
是用标识符来表示一个数据;在程序不能给它赋值。 定义形式: #define 标识符 常量数据
例如: #define PI 3.14159 在程序预处理时,凡是出现标识符PI的地方都将用 数据3.14159来替换。
16
-32768~32767
unsigned
16
0~65535
long
32 -2147483648~2147483647
unsigned long
32
0~4294967295
11-окт-20
C语言程序设计教程
第2章 C语言的基本数据类型与表达式

《C语言程序设计教程》全册教案教学设计

《C语言程序设计教程》全册教案教学设计

《C语言程序设计教程》全册教案完整版教学设计第一章:C语言概述1.1 教学目标让学生了解C语言的历史和发展背景让学生掌握C语言的特点和优势让学生了解C语言的应用领域1.2 教学内容C语言的历史和发展背景C语言的特点和优势C语言的应用领域1.3 教学方法讲解法:讲解C语言的历史和发展背景,讲解C语言的特点和优势讨论法:引导学生讨论C语言的应用领域1.4 教学评价课后作业:让学生编写简单的C语言程序,了解C语言的基本语法第二章:C语言基础语法2.1 教学目标让学生掌握C语言的基本语法,包括数据类型、运算符、表达式等让学生了解C语言的控制语句,包括条件语句、循环语句等2.2 教学内容数据类型、变量和常量运算符和表达式控制语句:条件语句、循环语句2.3 教学方法讲解法:讲解数据类型、变量和常量的定义和使用,讲解运算符和表达式的使用,讲解条件语句和循环语句的语法和功能编程实践:让学生编写C语言程序,运用所学的控制语句2.4 教学评价课后作业:让学生编写C语言程序,运用所学的数据类型、运算符和控制语句第三章:函数与编译预处理3.1 教学目标让学生掌握C语言的函数概念和定义方法让学生了解C语言的编译预处理指令3.2 教学内容函数的定义和声明编译预处理指令:include、define、宏定义和宏调用3.3 教学方法讲解法:讲解函数的定义和声明的语法和功能,讲解编译预处理指令的使用方法编程实践:让学生编写C语言程序,运用所学的函数和编译预处理指令3.4 教学评价课后作业:让学生编写C语言程序,运用所学的函数和编译预处理指令第四章:数组和字符串4.1 教学目标让学生掌握C语言的数组和字符串的概念和使用方法4.2 教学内容一维数组的定义和使用字符串的定义和使用4.3 教学方法讲解法:讲解一维数组的定义和使用的语法和功能,讲解字符串的定义和使用的语法和功能编程实践:让学生编写C语言程序,运用所学的数组和字符串4.4 教学评价课后作业:让学生编写C语言程序,运用所学的数组和字符串第五章:指针5.1 教学目标让学生掌握C语言的指针的概念和使用方法5.2 教学内容指针的概念和声明指针的赋值和使用指针与数组指针与函数5.3 教学方法讲解法:讲解指针的概念和声明的语法和功能,讲解指针的赋值和使用的语法和功能,讲解指针与数组和指针与函数的关系编程实践:让学生编写C语言程序,运用所学的指针知识5.4 教学评价课后作业:让学生编写C语言程序,运用所学的指针知识第六章:结构体、联合体和枚举6.1 教学目标让学生掌握C语言中的结构体、联合体和枚举的概念和使用方法。

C语言程序设计教程第2章北京邮电大学出版社.ppt

C语言程序设计教程第2章北京邮电大学出版社.ppt
2019/4/5
C语言程序设计教程
7
(1)变量名。每个变量都必须有一个名字──变量名,变量命名 遵循标识符命名规则。 (2)变量值。在程序运行过程中,变量值存储在内存中。在程 序中,通过变量名来引用变量的值。 3.标识符命名规则 (1)有效字符:只能由字母、数字和下划线组成,且以字母或 下划线开头。 (2)有效长度:随系统而异,但至少前8个字符有效。如果超长, 则超长部分被舍弃。
2019/4/5
C语言程序设计教程
第2章 C语言的基本数据类型与表达式
11
5、变量的作用域 C语言程序是由函数组成的,且有且只能有一个main函数。 变量定义可以出现在函数内,亦可出现在函数外或者是函 数的参数中。 按照变量定义语句出现的位置,可以分为: 局部变量:在函数内定义; 只在该函数中才能使用。 全局变量:在函数外定义; 从它被定义的位置起,在之后的所有函数中有效。 形式参数:定义为函数的参数; 只在该函数中才能使用。
13
2.2 C语言的基本数据类型
一、整型数据 1、整型常量表示方法: (1) 十进制形式:与数学上的整数表示相同; 例如: 12, -100, 0 (2) 八进制形式:在数码前加数字0; 例如: 012=1*81+2*80=10(十进制) (3) 十六进制形式:在数码前加0X(数字0和字母X)。 例如: 0x12=1*161+2*160=18(十进制)
关键字 short unsigned short int unsigned long unsigned long
2019/4/5
所占位数 16 16 16 16 32 32
取值范围 -32768~32767 0 ~65535 -32768~32767 0 ~65535 -2147483648~2147483647 0~4294967295

C语言程序设计教程(第二版第2章

C语言程序设计教程(第二版第2章

本文由jianhongwei810贡献 ppt文档可能在WAP端浏览体验不佳。

建议您优先选择TXT,或下载源文件到本机查看。

第2章 数据类型,运算符和表达式 章 数据类型, 2.1 数据类型 2.2 C语言的基本符号 语言的基本符号 2.3 常量与变量 2.4 运算符与表达式 2.1 数据类型 数据是程序处理的对象. 语言在程序处理数据之前 语言在程序处理数据之前, 数据是程序处理的对象.C语言在程序处理数据之前,要求 数据具有明确的数据类型. 数据具有明确的数据类型.数据类型是指数据的内部表示形 体现的是数据的操作属性, 式,体现的是数据的操作属性,对具有不同数据类型的数据 可进行不同的操作. 可进行不同的操作.用户在程序设计过程中所使用的每个数 据都要根据其不同的用途赋以不同的类型, 据都要根据其不同的用途赋以不同的类型,一个数据只能有 一种类型.每种数据类型都由两方面组成, 一种类型.每种数据类型都由两方面组成,即数据的存储方 式和对该类型的数据的运算方式. 式和对该类型的数据的运算方式. 数据类型一般具有以下基本含义: 数据类型一般具有以下基本含义: ①数据类型规定了一个以值为其元素的集合,即规定该类型 数据类型规定了一个以值为其元素的集合, 中数据的定义域.例如double表明计算机能够计算的所有 中数据的定义域.例如 表明计算机能够计算的所有 实数;逻辑类型的数据取值范围是非" 实数;逻辑类型的数据取值范围是非"真"即"假". 下一页 返回 2.1 数据类型 ②数据类型定义了一个运算集,即不同类型的数据拥有不同 数据类型定义了一个运算集, 的运算关系.例如,对数值类型数据可进行算术运算, 的运算关系.例如,对数值类型数据可进行算术运算,对逻 辑类型数据可进行逻辑关系运算. 辑类型数据可进行逻辑关系运算. ③数据类型定义了数据在计算机内的存储以及在书写中的表 示方式.例如整型占用计算机一个字长, 示方式.例如整型占用计算机一个字长,而空类型的长度为 零. C语言规定任何数据都必须有明确的数据类型.C语言提供了 语言规定任何数据都必须有明确的数据类型. 语言提供了 语言规定任何数据都必须有明确的数据类型 5种基本数据类型:字符型(char),整型(int),单精 种基本数据类型: ),整型 ),单精 种基本数据类型 字符型( ),整型( ), 度实型(float),双精度实型 和空类型(void), 度实型 ,双精度实型(double)和空类型 和空类型 , 以及6种聚合类型 数组,指针,结构体,公用体(联合 种聚合类型: 联合), 以及 种聚合类型:数组,指针,结构体,公用体 联合 , 位域和枚举类型. 位域和枚举类型.实际上较为复杂的数据结构或类型是由基 本数据类型按照某种方式组合而成的. 本数据类型按照某种方式组合而成的. 上一页 返回 2.2 C语言的基本符号 语言的基本符号 2.2.1 基本符号集 C语言的基本符号集是 语言的基本符号集是ASCII字符集,参见本书的附录 . 字符集, 语言的基本符号集是 字符集 参见本书的附录1. 它由以下几部分组成: 它由以下几部分组成: 阿拉伯数字10个 ①阿拉伯数字 个:0,1,2,3,…,8和9. , , , , , 和 . ②大小写英文字母各26个:A,B,C,…,Z,a,b, 大小写英文字母各26个 A,B,C,…,Z,a,b, c,…,y和z. , , 和 . 下划线: . ③下划线:_. 特殊符号,主要是指运算符和操作符. ④特殊符号,主要是指运算符和操作符.相关内容我们将在 以后介绍. 以后介绍. 下一页 返回 2.2 C语言的基本符号 语言的基本符号 2.2.2 标识符 标识符是一个字符序列. 语言的标识符可分为用户标识符 语言的标识符可分为用户标识符, 标识符是一个字符序列.C语言的标识符可分为用户标识符, 保留字和预定义标识符3类 有些教材称保留字为" 保留字和预定义标识符 类,有些教材称保留字为"关键 标识符的作用是作为常量,变量,函数和类型的名称. 字".标识符的作用是作为常量,变量,函数和类型的名称. 1.用户标识符 用户标识符 用户可以根据需要对C程序中用到的变量 符号常量, 程序中用到的变量, 用户可以根据需要对 程序中用到的变量,符号常量,用户 函数或文件指针进行命名,形成用户标识符, 函数或文件指针进行命名,形成用户标识符,这类标识符的 构成规则如下: 构成规则如下: 由英文字母,数字和下划线组成,且第1个字符不能是数 ①由英文字母,数字和下划线组成,且第 个字符不能是数 必须是字母或下划线. 字,必须是字母或下划线. 例如: , , 都是合法的标识符, 例如:a,_A,aBc,xlz和y_3都是合法的标识符,而 , 和 都是合法的标识符 123,3_ab,#abc,! 和a*bc都是非法标识符. ,!45和 都是非法标识符. , , ,! 都是非法标识符 上一页 下一页 返回 2.2 C语言的基本符号 语言的基本符号 ②大,小写英文字母的含义不同.比如SUM,Sum和sum 小写英文字母的含义不同.比如 , 和 代表3个不同的标识符 这一点一定要注意. 个不同的标识符, 代表 个不同的标识符,这一点一定要注意. 语言本身并没有要求标识符的长度, ③C语言本身并没有要求标识符的长度,不同的 编译系统允 语言本身并没有要求标识符的长度 不同的C编译系统允 许包含的字符个数有所不同.通常可以识别前面8个字符 个字符, 许包含的字符个数有所不同.通常可以识别前面 个字符, 但在任何机器上,所能识别的标识符的长度总是有限的, 但在任何机器上,所能识别的标识符的长度总是有限的,有 些系统可以识别长达31个字符的标识符 个字符的标识符( 些系统可以识别长达 个字符的标识符(如VAX-11 VMSC),而有些系统只能识别 个字符长度的标识符.这 ),而有些系统只能识别 个字符长度的标识符. ),而有些系统只能识别8个字符长度的标识符 意味着即使第9个字符不同 只要前8个字符一样 个字符不同, 个字符一样, 意味着即使第 个字符不同,只要前 个字符一样,系统也认 为是同一个标识符, 为是同一个标识符,如:Category1和Category2表示同 和 表示同 一个标识符.因此,为了避免出错和增加可移植性, 一个标识符.因此,为了避免出错和增加可移植性,标识符 最好前8个字符有所区别 个字符有所区别. 最好前 个字符有所区别. 上一页 下一页 返回 2.2 C语言的基本符号 语言的基本符号 ④用户定义标识符时,应当尽量遵循"简洁明了"和"见名 用户定义标识符时,应当尽量遵循"简洁明了" 知意"的原则.一个写得好的程序, 知意"的原则.一个写得好的程序,标识符的选择应尽量反 映出所代表对象的实际意思.如表示" 映出所代表对象的实际意思.如表示"年"可以用year,表 可以用 , 示"长度"可以用length,表示加数的"和"可以用sum 长度"可以用 ,表示加数的" 可以用 等,这样增加了标识符的可读性,使程序更加清晰. 这样增加了标识符的可读性,使程序更加清晰. 指出以下各标识符组中合法的用户标识符. 例2-1 指出以下各标识符组中合法的用户标识符. 上一页 下一页 返回 2.2 C语言的基本符号 语言的基本符号 分析: 语言规定用户标识符可以由 个英文字母(大写或 语言规定用户标识符可以由26个英文字母 分析:C语言规定用户标识符可以由 个英文字母 大写或 小写),数字(0~ 和下划线 组成, 小写 ,数字 ~9)和下划线 (_)组成,且第 个必须是字 组成 且第1个必须是字 母或下划线.对于第1组选择项 由于A.和 中分别包含有 组选择项, 母或下划线.对于第 组选择项,由于 和D.中分别包含有 非法的标识符字符(#和 , 中又使用了关键字void, 非法的标识符字符 和*),而C.中又使用了关键字 中又使用了关键字 , 因此都不是合法的用户标识符;答案B.中虽然使用了预定义 因此都不是合法的用户标识符;答案 中虽然使用了预定义 标识符scanf,但它不是关键字,C语言语法允许将预定义 标识符 ,但它不是关键字, 语言语法允许将预定义 标识符作为用户标识符使用,因此编译时并不报错, 标识符作为用户标识符使用,因此编译时并不报错,只是这 样会使其失去原来的特定含义,所以虽然合法但不提倡. 样会使其失去原来的特定含义,所以虽然合法但不提倡.故 组中B.是正确答案 组中D.是正确答案 第1组中 是正确答案.同理第 组中 是正确答案,第3组 组中 是正确答案.同理第2组中 是正确答案, 组 是正确答案. 组的D.答案中有 中A.是正确答案.在第 组的 答案中有 是正确答案 在第2组的 答案中有INT为大写而不是 为大写而不是 关键字,因为C语言中大小写字母是不一样的字符 语言中大小写字母是不一样的字符. 关键字,因为 语言中大小写字母是不一样的字符. 上一页 下一页 返回 2.2 C语言的基本符号 语言的基本符号 2.保留字 保留字 保留字是C语言编译系统固有的 语言编译系统固有的, 保留字是 语言编译系统固有的,用作语句名和类型名的标 识符. 语言共有 个保留字,每个保留字在C程序中都代 语言共有32个保留字 识符.C语言共有 个保留字,每个保留字在 程序中都代 表着某一固定含义,所有保留字都要用小写英文字母表示, 表着某一固定含义,所有保留字都要用小写英文字母表示, 且这些保留字都不允许作为用户标识符使用. 且这些保留字都不允许作为用户标识符使用. ①描述数据类型定义:typedef,void. 描述数据类型定义: . ②描述存储类型:auto,extern,register,static和 描述存储类型: 和 volatile. . 描述数据类型: ③描述数据类型: char,const,double,float,int,long,short,signed,st ruct,union,unsigned和enum. 和 . 描述语句: ④描述语句: break,case,continue,default,do,else,for,goto,if, return,sizeof,switch和while. 和 . 上一页 下一页 返回 2.2 C语言的基本符号 语言的基本符号 3.预定义标识符 预定义标识符 这些标识符在C语言中都具有特定含义, 这些标识符在 语言中都具有特定含义,如C语言提供的编译 语言中都具有特定含义 语言提供的编译 处理预命令#define和#include.C语言语法允许用户把 和 处理预命令 . 语言语法允许用户把 这类标识符作其他用途, 这类标识符作其他用途,但这将使这些预定义标识符失去系 统规定的原意.鉴于目前各种计算机系统的 语言已经把这 统规定的原意.鉴于目前各种计算机系统的C语言已经把这 类标识符作为统一的编译预处理中的专用命令名使用, 类标识符作为统一的编译预处理中的专用命令名使用,因此 为了避免误解, 为了避免误解,建议用户不要把这些预定义标识符另作它用 或将它们重新定义. 或将它们重新定义. 上一页 返回 2.3 常量与变量 C语言中的各类数据类型都有常量和变量之分.常量用来表 语言中的各类数据类型都有常量和变量之分. 语言中的各类数据类型都有常量和变量之分 示数据的值.变量不但表示数据的值,也可用来存放数据. 示数据的值.变量不但表示数据的值,也可用来存放数据. 2.3.1 常量 所谓常量,就是在程序运行过程中其值不改变的量. 所谓常量,就是在程序运行过程中其值不改变的量.如: 21,'x',123.23,3.14e,3和"china"等.常量也 , , , , 和 等 有数据类型,根据常量的不同取值形式, 语言将常量分为 语言将常量分为5 有数据类型,根据常量的不同取值形式,C语言将常量分为 整型常量,实型常量,字符型常量, 种:整型常量,实型常量,字符型常量,字符串常量和符号 型常量. 型常量. 1.整型常量 整型常量 通常情况下,整型常量有4种表示形式 即二进制,八进制, 种表示形式: 通常情况下,整型常量有 种表示形式:即二进制,八进制, 十进制和十六进制. 十进制和十六进制. 下一页 返回 2.3 常量与变量 (1)二进制整数表示 ) 一个二进制数有两个特点: 一个二进制数有两个特点: ①它有两个不同的数码符号,即:0和1. 它有两个不同的数码符号, 和 . 等都是二进制数. ②它是逢二进位的.如:10101,1010等都是二进制数. 它是逢二进位的. , 等都是二进制数 通常,任意一个二进制整数 ,都可以表示为: 通常,任意一个二进制整数M,都可以表示为: 其中i表示数的某一位, 表示第 位的数码,它可以是0, 表示第i位的数码 其中 表示数的某一位,Mi表示第 位的数码,它可以是 ,1 表示数的某一位 中的任意一个, 为整数 的位数.式中2就称为计数制底数 为整数M的位数 中的任意一个,n为整数 的位数.式中 就称为计数制底数 (或称为基数 ,所以这是二进制整数. 或称为基数),所以这是二进制整数. 或称为基数 上一页 下一页 返回 2.3 常量与变量 将二进制数10101转换成十进制数. 转换成十进制数. 例2-2 将二进制数 转换成十进制数 转换过程如下: 转换过程如下: (10101)2=1×24+0×23+1×22+0×21+1×20=(2 × × × × × 1)10 (2)八进制整数表示 ) 一个八进制数也有两个特点: 一个八进制数也有两个特点: 个不同的数码符号, ①它有8个不同的数码符号,即:0,1,2,3,…,6和7; 它有 个不同的数码符号 , , , , , 和 ; 语言中, 开头. ②它是逢八进位的.在C语言中,以0开头.如:0123, 它是逢八进位的. 语言中 开头 , 056等都是八进制整数. 等都是八进制整数. 等都是八进制整数 上一页 下一页 返回 2.3 常量与变量 通常,任意一个八进制整数 ,都可以表示为: 通常,任意一个八进制整数B,都可以表示为: 其中i表示数的某一位, 表示第 位的数码,它可以是0~ 表示第i位的数码 其中 表示数的某一位,Bi表示第 位的数码,它可以是 ~7 表示数的某一位 中的任意一个, 为整数 的位数,式中的8就是基数 为整数B的位数 就是基数, 中的任意一个,n为整数 的位数,式中的 就是基数,故称 八进制整数. 八进制整数. 将八进制数372换成十进制数. 换成十进制数. 例2-3 将八进制数 换成十进制数 转换过程如下: 转换过程如下: (372)8=3×82+7×81+2×80=(250)10 × × × (3)十进制整数表示 ) 一个十进制数有两个特点: 一个十进制数有两个特点: 它有10个不同的数码符号 个不同的数码符号, ①它有 个不同的数码符号,即:0,1,2,3,…,8和 , , , , , 和 9; ; 它是逢十进位的. 等都是十进制整数. ②它是逢十进位的.如:123,456等都是十进制整数. , 等都是十进制整数 上一页 下一页 返回 2.3 常量与变量 通常,任意一个十进制整数 ,都可以表示为: 通常,任意一个十进制整数A,都可以表示为: 其中i表示数的某一位, 表示第 位的数码,它可以是0~ 表示第i位的数码 其中 表示数的某一位,Ai表示第 位的数码,它可以是 ~9 表示数的某一位 中的任意一个, 为整数 的位数,式中10就是基数 为整数A的位数 就是基数, 中的任意一个,n为整数 的位数,式中 就是基数,所以 这是十进制整数. 这是十进制整数. (4)十六进制整数表示 ) 类似于十进制,八进制有两个主要特点: 类似于十进制,八进制有两个主要特点: ①它有16个不同的数码符号,即:0~9和A,B,C,D, 它有 个不同的数码符号, ~ 和 , , , , 个不同的数码符号 E和F. 和 . 它是逢十六进位的, 语言中, 开头. ②它是逢十六进位的,在C语言中,以0X开头.如: 语言中 开头 0X123,0X18等都是十六进制整数. 等都是十六进制整数. , 等都是十六进制整数 上一页 下一页 返回 2.3 常量与变量 通常,任意一个十六进制数 ,都可以表示为: 通常,任意一个十六进制数C,都可以表示为: 其中i表示数的某一位,Ci表示第 位的数码,它可以是 ~F 表示第i位的数码 其中 表示数的某一位, 表示第 位的数码,它可以是0~ 表示数的某一位 中的任意一个, 为整数 的位数,式中以16为基数 为整数C的位数 为基数, 中的任意一个,n为整数 的位数,式中以 为基数,故称 十六进制整数. 十六进制整数. 例2-4 将十六进制数123转换成十进制数. 将十六进制数 转换成十进制数. 转换成十进制数 转换过程如下: 转换过程如下: (123)16=1×162+2×161+3×160=(291)10 × × × 上一页 下一页 返回 2.3 常量与变量 (5)十进制整数转换成非十进制数 ) 通常,十进制整数转换成非十进制整数,采用" 通常,十进制整数转换成非十进制整数,采用"整除基数倒 序取余数"的方法,即用十进制数不断除以相应的基数(如 , 序取余数"的方法,即用十进制数不断除以相应的基数 如2, 8和16)直至商为 为止.将所得余数,依次倒序排列,即可 直至商为0为止 和 直至商为 为止.将所得余数,依次倒序排列, 得到转换后的数制. 得到转换后的数制. 将十进制数的96转换成二进制数 转换成二进制数. 例2-5 将十进制数的 转换成二进制数. 转换过程如下: 转换过程如下: 所以与十进制96等值的二进制数是 所以与十进制 等值的二进制数是1100000. . 等值的二进制数是 上一页 下一页 返回 2.3 常量与变量 将十进制数的215转换成八进制数. 转换成八进制数. 例2-6 将十进制数的 转换成八进制数 转换过程如下: 转换过程如下: 所以与十进制215等值的八进制数是 等值的八进制数是327. 所以与十进制 等值的八进制数是 . 上一页 下一页 返回 2.3 常量与变量 将十进制数1234转换成十六进制数. 转换成十六进制数. 例2-7 将十进制数 转换成十六进制数 转换过程如下: 转换过程如下: 所以与十进制1234等值的十六进制数是 等值的十六进制数是4D2. 所以与十进制 等值的十六进制数是 . 上一页 下一页 返回 2.3 常量与变量 语言中整型常量不管是十进制, 在C语言中整型常量不管是十进制,八进制或十六进制,它 语言中整型常量不管是十进制 八进制或十六进制, 的数值范围为-2 的数值范围为 15~215-1.整型常量一般在微型机中占两 . 个字节. 个字节. 为了扩大整型数据的数值范围,C语言还提供了一种"长整 语言还提供了一种" 为了扩大整型数据的数值范围, 语言还提供了一种 型常量" 它的数值范围是 型常量",它的数值范围是-231~231-1,在微型机中占 ,在微型机中占4 个字节,但长整型数值后面通常要加" 或 个字节,但长整型数值后面通常要加"L"或"l".例如, .例如, 123L,78L等是长整型数.因此对于超出基本整型的数据, , 等是长整型数. 等是长整型数 因此对于超出基本整型的数据, 可使用长整型表示. 可使用长整型表示. 上一页 下一页 返回 2.3 常量与变量 2.实型常量 实型常量 实型常量又称为"浮点数" 有两种表示形式: 实型常量又称为"浮点数",有两种表示形式: (1)十进制小数表示形式 ) 它是由数字和小数点组成, 它是由数字和小数点组成,如:0.35,-0.56等都是十进制 , 等都是十进制 小数形式. 小数形式. (2)指数表示形式 ) 它是由尾数,字母 或 和指数 部分组成, 和指数3部分组成 它是由尾数,字母e(或E)和指数 部分组成,如:123e3 均表示123×103.但需要注意的是: 但需要注意的是: 或123E3均表示 均表示 × 之前必须有数字. ①尾数必须存在,即e(或E)之前必须有数字. 尾数必须存在, 或 之前必须有数字 ②指数必须是整数. 指数必须是整数. 上一页 下一页 返回 2.3 常量与变量 一个实数既可以用十进制小数表示,也可以用指数形式表示, 一个实数既可以用十进制小数表示,也可以用指数形式表示, 甚至可以有多种指数表示形式,例如1234.56可以表示为 甚至可以有多种指数表示形式,例如 可以表示为 1.23456e3,12.3456e2和0.123456e4等多种形式. 等多种形式. , 和 等多种形式 但所有这些表示形式中,只有1.23456e3是 "规范化指数 但所有这些表示形式中,只有 是 形式" 即在尾数中,小数点左边只有一个非零数字, 形式",即在尾数中,小数点左边只有一个非零数字,一般 地在C程序中一个实数在用指数形式输出时 程序中一个实数在用指数形式输出时, 地在C程序中一个实数在用指数形式输出时,都是按规范化 形式输出的.实型常量通常在微型机中占4个字节 个字节. 形式输出的.实型常量通常在微型机中占 个字节. 3.字符型常量 字符型常量 字符型常量是用单引号括起来的一个字符, 字符型常量是用单引号括起来的一个字符,通常在微型机中 占一个字节, 等都是字符型常量. 占一个字节,如' a',' *',' A' 和 ' 3' 等都是字符型常量. , , 需要注意的是: 语言中 字符区分大小写, 语言中, 需要注意的是:C语言中,字符区分大小写,且空格也是一 个字符. 个字符. 上一页 下一页 返回 2.3 常量与变量 指出下面不合法的常量. 例2-8 指出下面不合法的常量. 分析:从上面的4个选项可以看出 和C.是字符常量,选项 分析:从上面的 个选项可以看出A.和 是字符常量, 个选项可以看出 是字符常量 A.是一个普通的八进制转义字符 ASCII码值是 A.是一个普通的八进制转义字符,ASCII码值是2,C.仅由 是一个普通的八进制转义字符, 码值是2,C.仅由 两个连续的单引号组成,不是正确的字符常量,不过, 两个连续的单引号组成,不是正确的字符常量,不过, Turbo C 2.0之前的 语言版本不能检测出此类错误.B.和 之前的C语言版本不能检测出此类错误 之前的 语言版本不能检测出此类错误. 和 D.是字符串常量,由于 语言中允许空字符串,B.是正确的. 是字符串常量, 语言中允许空字符串, 是正确的 是正确的. 是字符串常量 由于C语言中允许空字符串 D.初看起来像是一个八进制的转义序列,但其中的数字8超 初看起来像是一个八进制的转义序列,但其中的数字 超 初看起来像是一个八进制的转义序列 出了八进制的范围,所以D.是不合法的常量 是不合法的常量. 出了八进制的范围,所以 是不合法的常量. 除了上述形式字符常量外,C还允许用一种特殊形式的字符 除了上述形式字符常量外, 还允许用一种特殊形式的字符 常量,就是以反斜杠" 开头的字符序列, 常量,就是以反斜杠"\"开头的字符序列,由于该形式将 反斜杠后面的字符序列转换成另外的含义,故称之为转义符. 反斜杠后面的字符序列转换成另外的含义,故称之为转义符. 所示的是常用转义字符. 下表2-1所示的是常用转义字符. 所示的是常用转义字符 上一页 下一页 返回 2.3 常量与变量 注意: 表示的含义是不同的, 注意:"A"和' A' 表示的含义是不同的,"A"为字符串 和 为字符串 常量, 是字符常量.字符' 常量,而' A' 是字符常量.字符' \234' 的值为 (234)8=156,不是 = ,不是234.字符 ' \x34 ' 的值为 . (34)16=52,不是 . = ,不是34. 在C语言中,字符是按其所对应的ASCII码值来存储的,一 语言中,字符是按其所对应的 码值来存储的, 语言中 码值来存储的 个字符占一个字节.例如字符' : 个字符占一个字节.例如字符' A': 字符常量是由单引号引起的一个字符, 字符常量是由单引号引起的一个字符,同时该字符常量也可 以用整数来表示(ASCII码值 .故其输出形式有两种,既可 码值).故其输出形式有两种, 以用整数来表示 码值 以输出字符本身,也可输出其ASCII码值. 码值. 以输出字符本身,也可输出其 码值 上一页 下一页 返回 2.3 常量与变量 写出下面程序的输出结果. 例2-9 写出下面程序的输出结果. #include main ( ) { char ch=′A′; /* 定义 为字符变 定义ch为字符变 同时赋初值′A′*/ 量,同时赋初值 printf(〃\c,%d,%o〃,ch,ch,ch); /*分别以字符,十 分别以字符, \ 分别以字符 进制,八进制形式输出ch*/ 进制,八进制形式输出 } 运行结果为: 运行结果为: A,65,101 上一页 下一页 返回 2.3 常量与变量 4.字符串常量 字符串常量 字符串常量就是用一对双引号括起来的若干字符序列. 字符串常量就是用一对双引号括起来的若干字符序列.如: \\" "china","c program\n","\\ , \ , \\ok!\\"和"a" \\ 等都是字符串常量. 等都是字符串常量. 一个字符串中所含字符的个数称为该字符串的长度,例如: 一个字符串中所含字符的个数称为该字符串的长度,例如: "TURBO"和"T\\ 和 \\ABC\\ 的长度分别是5和6,但它们 \\"的长度分别是 和 , \\ \\ 的长度分别是 在微机中所占字节数分别是6和7. C语言中字符串在微机 在微机中所占字节数分别是6和7.在C语言中字符串在微机 中所占的字节数不等于字符串的长度是因为C规定 规定: 中所占的字节数不等于字符串的长度是因。

C语言程序设计第二章

C语言程序设计第二章

2.2常量和变量

变量的类型
2.3 整型数据
2.3.1整型常量 整型常量即整常数。在C语言中,整型常量可以用十进制、八 进制、十六进制3种形式表示。 1.十进制整数 由0~9共10个数码组成。如5234,-78,0等。注意:5234不能 写成5,234。 2.八进制整数 八进制整数必须以数字o开头,组成八进制的数码为0~7。如 o123,o101,o645,o763等。 3.十六进制整数 十六进制整数以0x或0X开头(0为数字),组成十六进制的数码为 0~9,A~F(a~f)。如0x99A,0X97C,0x59ff等。
基本类型 实型 字符类型 (char) 枚举类型 (enum) 数组类型([]) 结构体类型 (struct) 共用体类型 (union) 文件类型 (FILE)
单精度型 (float) 双单精度型 (double)
符号长整型 (unsigned long)
构造类型

C语言提供的数据类型如右所 示:
2.3 整型数据
3.整型变量的定义 整型变量的定义的格式如下: 类型标识 变量名1,变量名2,变量名3…… 类型标识符可以是int、short、long、unsigned,或是它们的组合,例 如: int x,y; //指定变量x、y为整型变量 long c,d; //指定变量c、d为长整型变量 unsigned age,hight; //指定变量age,hight为无符号整型变量 变量的定义,一般放在一个函数开头的声明部分。 4.整型变量的赋值 可以将一个整型常量或整型变量赋值给整型变量,例如: int x=456;
2.4 实型数据
2.4.1实型常量 在C语言中,实型表示实数的集合,实型常量又称为实数。实 型常量只能用十进制形式表示,不能用八进制或十六进制形式表示。 实型常量有两种表示形式 1.十进制小数形式 十进制小数形式由数码0~ 9和小数点组成。如0.123,.123, 0.0,0.1,-267.8230,0.,.0等。 2.十进制指数形式 由十进制数码,“e”或“E”(代表×10)组成。如1e5, 139.5E2,-1.99e-3(代表1×105,139.5×102,-1.99×10-3)等。 格式如下: 小数或整数e(或E)+(或-)整数

《C语言程序设计教程》(第三版)李凤霞 主编——第二章习题答案

《C语言程序设计教程》(第三版)李凤霞 主编——第二章习题答案

第二章:C程序的基本结构一、单项选择题1、以下不是C语言的特点的是________。

A)语言的表达能力B)语言定义严格 C)数据结构系统化 D)控制流程结构化2、TC编译系统提供了对C程序的编辑、编译、连接和运行环境,以下可以不在该环境下进行的环节是________。

A)编辑和编译 B)编译和连接 C)连接和运行D)编辑和运行3、以下不是二进制代码文件是________。

A)标准库文件 B)目标文件C)源程序文件 D)可执行文件4、下面个选项组中,均属于C语言关键字的一组是________。

A)auto,enum,include B)switch,typedef,continueC)signed,union,scanf D)if,struct,type5、下面四组字符串中,都可以用作C语言标识符的是________。

A)print B)I \am C)signed D)if_maf scanf 3mf ty_prmx_2d mx_ a.f x1#aMb6 AMB A&B 5XY6、以下不属于流程控制语句的是_________。

A)表达式语句 B)选择语句 C)循环语句 D)转移语句7、下面描述中,不正确的是________。

A)C语言的函数体由一系列语句和注释组成。

B)注释内容不能单独写在一行上。

C)C程序的函数说明部分包括对函数名、函数类型、形式参数等的定义和说明。

D)scanf和printf是标准库函数而不是输入和输出语句。

8、下面描述中,正确的是________。

A)主函数的花括号必须有,而子函数中的花括号是可有可无的。

B)一个C程序行只能写一个语句。

C)主函数是程序启动时的唯一入口。

D)函数体包含了函数说明部分。

二、填空题1、一个完整的C程序至少要有一个________函数。

(主函数)2、标准库函数不是C语言本身的组成部分,它是由__________提供的功能函数。

(编译系统)3、C语言是以________为基本单位、整个程序由________组成。

C语言程序设计第二章

C语言程序设计第二章

2.2 理论知识
运行结果:
2.2 理论知识
常量和变量 直接常量
字符串常量 字符串常量是用一对双引号括起来的零个或多个字符
如"","Hello,world!","123"等
双引号仅起定界作用,本身并不是字符串中的内容
2.2 理论知识
常量和变量 直接常量
字符串常量 字符串的长度 指一个字符串中所包含的字符个数 C语言规定在存储字符串常量时,由系统在字符串的末 尾自动加一个'\0'作为结8.539815
2.2 理论知识
符号常量的两个好处
1. 修改程序方便 2. 见名知意,便于理解程序
符号常量的使用
1. 其值在它的作用域内不能改变,也不能再被赋值 2. 符号常量名用大写,变量名用小写,以示区别
2.2 理论知识
举例:
#define PI 3.1415
void main() { int PI; PI=3.1415; PI=3.14159; }
指针类型 构造类型 空类型
数组类型
结构体类型
共用体类型
2.2 理论知识
C语言的基本数据类型 整数类型
数据类型 有符号整型
短整型 长整型
int a,b,sum; a=32768;
数据类型符 int
short long [int] [int]
占用字节数 2
2 4




-215~(215-1) 即-32768~32767
2.2 理论知识
常量和变量 变量的赋值
在定义变量时赋值 float data1=1.5,data2=2.6;
“先定义后赋值
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

8
第2章 C语言的基本数据类型与表达式
1,直接常量:是在程序中直接引用的数据. ,直接常量:是在程序中直接引用的数据. 请 判 断 这 些 常 量 正 确 与 否 : 120 , -100, 0; 100, 0120, 072; 0120, 072; 0xFFFF, 0x1e,0X28AF,0XED4 ; xFFFF, 28AF, XED4 120L, 200L 120L, 200L ; 长整型常量 3.14, -3.1, 5.12E-6 ; 14, 12E 'a' ,'#','\n','\101' ; '#', n', 101' 099,12f 099,12f, 0xg ,48EA ; 48EA 019. 019.5 , 1e-08; 08; 型常量 用 2.1E +10.2,E-6,6.4E+4.8,E9 ; 10. E+4 "changsha" ,"+++\\ ab" ; changsha" +++\ ab"
6
第2章 C语言的基本数据类型与表达式
例如:字符A的ASCII码为: 例如:字符A ASCII码为: 码为 65D(十进制)=41H(十六进制)=101Q(八进制) 65D(十进制)=41H(十六进制)=101Q(八进制) ∴字符A可以表示为'A','\x41','\101'. 字符A可以表示为' x41' 101' 2,分类: 分类: char; char 和 unsigned char; 值域: 3,值域: 每个字符型数据在内存中占一个字节;包括ASCII ASCII字符 每个字符型数据在内存中占一 个字节 ;包括ASCII 字符 表中的所有字符(可显示字符和非显示字符) 表中的所有字符(可显示字符和非显示字符). 字符串: 4,字符串: 是用一对双引号括起来的字符序列. 是用一对双引号括起来的字符序列. SHANGHAI" AbcdeFGHijk" you" 如:"SHANGHAI","AbcdeFGHijk","How are you".
9
第2章 C语言的基本数据类型与表达式
2,符号常量 用标识符来表示一个数据 在程序不能给它赋值. 来表示一个数据; 是 用标识符 来表示一个数据 ; 在程序不能给它赋值 . 定义形式: 定义形式: #define 标识符 常量数据 例如: 例如: #define PI 3.14159 在程序预处理时,凡是出现标识符PI的地方都将用 在程序预处理时,凡是出现标识符PI的地方都将用 数据3 14159来替换 来替换. 数据3.14159来替换. 14159. 如: 2*2.3*PI 就等价于 2*2.3*3.14159. 二, 变量 变量是指以标识符为名字 其值可以改变的量. 以标识符为名字, 变量是指以标识符为名字,其值可以改变的量. 变量代表计算机内存中的某一存储空间, 变量代表计算机内存中的某一存储空间,该存储空间 中存放的数据就是变量的值 的数据就是变量的值. 中存放的数据就是变量的值. 在同一程序块中,变量不能被重复定义 不能被重复定义. 在同一程序块中,变量不能被重复定义. 使用变量时必须"先定义,后使用" 使用变量时必须"先定义,后使用".
自己设定, 自己设定,满足 标识符的规定. 标识符的规定.
;不可省
2,变量初始化 在说明变量的同时给变量一个初始值. 在说明变量的同时给变量一个初始值.
例如
a=5 b=3 int a=5, b=3; √ a=b=c=3 int a=b=c=3; × int a,b,c; a=b=c=3;

11
第2章 C语言的基本数据类型与表达式
注意
小数点不能单独出现; 0.√ 小数点不能单独出现; .0 √ . × 的两边必须有数,且其后面必须为整数; e或E的两边必须有数,且其后面必须为整数; 如: 6E0.2 × e5 × 2,分类: 分类:
关键字 float double 字节数 4 8 取值范围 3.4×10-38 ~ 3.4×1038 1.7×10-308 ~ 1.7×10308 精度( 精度(位) 7 15
3
第2章 C语言的基本数据类型与表达式
2,分类: 分类: 根据数据所占的二进制位数分为:int,short,long; 根据数据所占的二进制位数分为:int,short,long; 同样存储长度的数据又分unsigned,signed; 同样存储长度的数据又分unsigned,signed; 故可组合出六种类型. 故可组合出六种类型. 3,值域: 值域: 由机器中数据的存储长度决定. 由机器中数据的存储长度决定. C中 short(2字节 int(2字节 ≤long(4字节 字节)≤ 字节) 字节) 如Turbo C中,有 short(2字节)≤int(2字节) ≤long(4字节)
例2-1: : main( main( ) /*定义 定义x 为整型变量* { int x,y,z,w; /*定义x,y,z,w为整型变量*/ /*定义 为无符号整型变量* 定义k unsigned int k; /*定义k为无符号整型变量*/ x=10 y=-20;k=30 10; 30; x=10;y=-20;k=30; z=x+k;w=y+k; z=x+k;w=y+k; printf( x+k=% y+k=% printf("x+k=%d,y+k=%d\n",z,w); } 程序运行结果为: 程序运行结果为: x+k=40 y+k=10 40, x+k=40,y+k=10
5
第2章 C语言的基本数据类型与表达式
四,字符类型 1,常量: 常量: 用单引号括起来的一个字符; A', 1', (1) 用单引号括起来的一个字符;如:'A', '1','?' 等. 用单引号括起来的由反斜杠( 引导的转义字符. (2) 用单引号括起来的由反斜杠(\)引导的转义字符.
字符形式 \n \t \b \r \\ \' \ddd \xhh 功能 换行 横向跳格 退格 回车 反斜杠字符 单引号字符 进制数表示的ASCII ASCII码对应的字符 8进制数表示的ASCII码对应的字符 16进制数表示的ASCII码对应的字符 进制数表示的ASCII 16进制数表示的ASCII码对应的字符
注意
'\\' √ ''' × '\'' √ \ \ 'a'与"a"的区别. 的区别. a与 的区别
'\' \
×
7
第2章 C语言的基本数据类型与表达式
2.2 常量与变量
一,常量与符号常量 常量是指在程序运行中,其数值不能被改变的量. 常量是指在程序运行中,其数值不能被改变的量. 常量又可分为直接常量和符号常量. 常量又可分为直接常量和符号常量.
4
第2章 C语言的基本数据类型与表达式
三,实型 1,常量: 常量: 十进制小数形式:由数字和小数点组成; (1) 十进制小数形式:由数字和小数点组成; 例如: .3. 例如: 3.4, 4., .3. 指数形式: 十进制小数" e(或E)" (2) 指数形式:"十进制小数"+" e(或E)"+"十进制数整 数". 例如: 12.5e表示12.5 12.5× 例如: 12.5e-6 表示12.5×10-6 .
13
第2章 C语言的基本数据类型与表达式
在函数内部说明的变量或者在复合语句中定义的变 量称为局部变量. 量称为局部变量.其作用范围是其所在的函数或复合 语句. 语句.
14
第2章 C语言的基本数据类型与表达式
4,全局变量 又称全程变量 或外部变量, 或外部变量,在 函数外部说明. 函数外部说明. 其作用范围从它 被定义的位置起, 被定义的位置起, 在之后的程序段 中都是起作用的. 中都是起作用的.
关键字 short unsigned short int unsigned long unsigned long 所占位数 16 16 16 16 32 32 取值范围 -32768~32767 32768~ 0~65535 32768~ -32768~32767 0~65535 2147483648~ -2147483648~2147483647 0~4294967295
10
第2章 C语言的基本数据类型与表达式
1,定义形式:类型标识符: 变量名1 [,变量名2,变量名3...]; 变量名2 定义形式:类型标识符: 变量名1 [,变量名 变量名3...]
如:int, float,char
例如: 例如:int a,b,c ; float x,y; x,y; char c1,c2; 或 int c1,c2; ,c2 ,c2
12
第2章 C语言的基本数据类型与表达式
3,局部变量 语言程序是由函数组成的,且有且只能有一个main函数. main函数 C语言程序是由函数组成的,且有且只能有一个main函数. 变量定义可以出现在函数内, 变量定义可以出现在函数内,亦可出现在函数外或者是函 数的参数中. 数的参数中. 按照变量定义语句出现的位置,可以分为: 按照变量定义语句出现的位置,可以分为: 局部变量:在函数内定义; 局部变量:在函数内定义; 只在该函数中才能使用. 只在该函数中才能使用. 全局变量:在函数外定义; 全局变量:在函数外定义; 从它被定义的位置起, 之后的所有函数中有效 所有函数中有效. 从它被定义的位置起,在之后的所有函数中有效. 形式参数:定义为函数的参数; 形式参数:定义为函数的参数; 只在该函数中才能使用. 只在该函数中才能使用.
相关文档
最新文档