C语言程序设计第二章-常用数据类型

合集下载

第2章_数据类型、运算符和表达式《C语言程序设计(第三版)》-电子教案

第2章_数据类型、运算符和表达式《C语言程序设计(第三版)》-电子教案

2.2 标识符、常量与变量

符号常量
【例2-1】输入圆的半径,计算周长和面积。 #define PI 3.14159 void main() { float r,c,s; scanf("%f",&r); c=2*PI*r; s=PI*r*r; printf("r=%f,c=%f,s=%f\n",r,c,s); }

以下是合法的整型常量:

2.2 标识符、常量与变量

实型常量

实型常量只能用十进制形式表示 表示形式:


小数形式。由数字序列和小数点组成,如 3.1415926、-0.15、.15、2.等都是合法的实型 常量。 指数形式。由十进制数加上阶码标志“e”或 “E”及阶码组成,如3.14e-4或3.14E-4表示 3.14×10-4。
2.2 标识符、常量与变量

2.2.3 变量


在程序运行过程中,其存储的值可以被改变的量称 为变量 变量必须通过标识符进行说明,称为变量名。 变量名和内存单元地址存在映射关系,程序可以通 过变量名寻址,从而访问其存储的数据。
2.2 标识符、常量与变量

变量的定义和说明

数据类型 变量名1[,变量名2,…,变量名n];
long型转换成float型时由原来可达10位整数变成只有7位有效数字精度丢失但由于数的范围扩大了数据类型从较低级提升到较高级随着竞争日益激烈酒店嘴中的肥肉被大肆抢夺各大酒店在这场竞争中几乎溃不成军
21世纪高等学校精品规划教材
第2章 数据类型、运算符 和表达式



掌握C语言的基本数据类型 掌握标识符、关键字、常量和变量的使用 掌握运算符、表达式以及数据类型之间的转换 等 掌握简单数据的输入输出

《C语言程序设计》(软件技术11级)(第2章)

《C语言程序设计》(软件技术11级)(第2章)

2.1基本字符、标识符和关键字

2.1.3 关键字(保留字) 为系统预定义的标识符,在C语言中有特殊的 含义
void int return float double char long short unsigned if else switch case default break
do while continue for
2.3数据的格式化输出和输入

输入输出函数库: stdio.h printf() scanf() getchar() putchar() gets() puts()




2.3数据的格式化输出和输入
2.3.1数据的格式化输出
学一学
printf( 格式控制,【输出列表】) ;
格式控制是用双引号括起来的字符串,分两种情况: 1.字符串只含有普通字符或转义字符,则不包含输出 列表。(练一练:\*‟\n‟为转义字符,表示换行*\)
结构类型 联合类型 枚举类型
struct union enum
空类型(无值类型) void
2.2数据类型及常数、变量




1.不同类型的数据在内存中占据不同长度的存 储区(字节),且采用不同的表示方式。 2.一种数据类型对应着一个取值的范围 3.一种数据类型对应着一组允许的操作 4.构造类型数据是由基本类型按照一定的规律 构造出来的。 5.C语言的数据又可分为常量和变量,他们都 分别属于上述类型中得一种。
iSum=iPrize1+iPrize2;
printf("该同学的奖学金为:%d\n",iSum);
return 0;
}
2.3数据的格式化输出和输入

电大C语言程序设计 第2章 基本数据类型和表达式

电大C语言程序设计 第2章 基本数据类型和表达式

第2章 基本数据类型和表达式 章 2.2.3 枚举常量
枚举常量是枚举类型中的值,即枚举值。 枚举常量是枚举类型中的值,即枚举值。 枚举类型定义: 枚举类型定义: enum <枚举类型名 枚举类型名>{<枚举表 ; 枚举表>}; 枚举类型名 枚举表 (1)enum color{red,yellow,blue}; (2)enum day{Sun,Mon,Tues,Wed,Thur,Fri,Sat};
第2章 基本数据类型和表达式 章 2.2.5 地址常量 指针类型的值域范围: 指针类型的值域范围:0~(232-1),每一个整数 , 代表内存空间中一个对应单元的存储地址。 代表内存空间中一个对应单元的存储地址。 用户可以直接使用整数0作为地址常量 作为地址常量, 用户可以直接使用整数 作为地址常量,称为 空地址常量,对应的符号号常量在stdio.h中定义,其值为整数 。 中定义, 号常量在 中定义 其值为整数0。
第2章 基本数据类型和表达式 章 2.3 变量 变量是用标识符表示的、 变量是用标识符表示的、其值可以被改变的 量。 1.变量定义语句 变量定义语句 <类型关键字 <变量名 [=<初值表达式 类型关键字> 变量名> 初值表达式>],…; 类型关键字 变量名 初值表达式
第2章 基本数据类型和表达式 章 2.3 变量 2.语句格式举例 语句格式举例 (1)int a,b; (2)char ch1=‘a’,ch2=‘A’; (3)int x=a+2*b; (4)double d1,d2=0.0,d3=3.14159; 3.语句应用举例 见circle.c 语句应用举例
第2章 基本数据类型和表达式 章 2.2.3 枚举常量
(1)enum color c1,c2,c3; (2)enum day today,workday; (3)c1=red; (4)workday=Wed; enum day {Sun=7,Mon=1,Tues,Wed,Thur,Fri,Sat};

《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语言学习第二章数据类型
基本整型:表示范围为0~0177777。 ③十六进制数:
基本整型:表示的范围为0X0~0XFFFF。
2.4.2 整型变量
1.整型变量在内存中的存放形式
以二进制补码的形式存放。
正数:最高位为0,其余各位是该数的二进制表示 负数:最高位为1,其余各位是该数绝对值的二进制
再按位取反加1
2. 整型变量的分类
放一个字符。
下面是对c1、c2赋值: c1=‘a’;c2=‘b’; (实际上其内存中存放的是该字符的ASCII码)
字符变量的初始化,如:char c1=‘a’,c2=‘b’;
2.5.3 字符数据在内存中的存储形式及其使用方法
将一个字符常量放到一个字符变量中,实际上是将该字 符的ASCII代码以二进制形式放到存储单元中。
无符号型:(只能存放0和正整数) ① 基本整型:类型说明符为unsigned int或unsigned
在内存中占2个字节 取值范围为0~2161,即0~65535。 ② 短整型:类型说明符为unsigned short (int) 所占字节和取值范围均同基本整型。 ③ 长整型:类型说明符为unsigned long (int) 在内存中占4个字节 其取值范围是0~2321 即0~4294967295
实型常量也称为实数或者浮点数。 实型常量不分单、双精度,都按双精度double型处理,其有 效位数为(15~)16位。
实型常量的表示方式有:
(1)十进制小数形式
小数形式由数字0~ 9和小数点组成。
当某浮点数整数部分或小数部分为0时,0可以省略,但小 数点不可省略。
例如:
0.0 , .25 ,5.789 ,0.13 ,5.0 , 300. 267.8230 , 123. 等均为合法的实数。

C语言程序设计 第2章 数据类型

C语言程序设计 第2章 数据类型

2.2常量和变量 变量名与变量值的关系:
2.2常量和变量
变量的使用:先定义后使用
变量定义的一般形式:
数据类型 变量名1,变量名2,…,变量名n;
2.2常量和变量
➢ 凡未被事先定义的,系统不把它认作变量名,这就 能保证程序中变量名使用的正确
例:varname,在使用的时候误写成vaname
➢ 在定义变量时要指定变量的类型,在编译时就能为 变量分配相应的存储单元
5
2.2常量和变量
甘草 三七 干姜 葛根
枸杞 人参 陈皮 地黄
山药 当归 谷芽 黄连
贴上标签 加以区分
用标识符给变量起名字
2.2常量和变量 变量命名规则
➢ 只能由字母(a~z,A~Z)、数字(0~9)和下划线(_)构 成
➢ 第一个字符不能为数字 ➢ 不能与关键字同名
例:a9,_a, A_num √ 9a, a*num,int ×
控制语句:控制语句用于控制程序的流程。 C语言提供三类控制语句: ➢ 选择语句 ➢ 循环语句 ➢ 转移语句。 控制语句会在第三章和第四章详细介绍。
2.7 表达式与语句
复合语句: 复合语句由一对大括号括起来的一 条或多条语句组成。 例:{
turnOn(0,3); turnOn(0,4); turnOn(0,5); turnOn(1,4); }
2.7 表达式与语句
表达式语句:表达式末尾加上“;”就构成一条 表达式语句。 例:
s = 3.14 * r * r; 就是一条赋值表达式语句。表达式语句最后的 分号是语句中必不可少的一部分。
2.7 表达式与语句
函数调用语句:函数调用语句由函数调用加分 号构成。 例:
turnOn(1,1);

C语言第02章 数据类型、运算符与表达式

C语言第02章 数据类型、运算符与表达式

回到 首页
运算符和结合性 P325,附录3
2.8 算术运算符和算术表达式
3、自增、自减运算符
自增运算符++和自减运算符--均是单目运算符, 功能是使变量的值增1或减1。其优先级高于所有 双目运算符,结合性为右结合性(自右至左)。
回到 首页
例如:++i或i++ 等价于i=i+1; --i或i-- 等价于i=i-1;
2.7数值型数据之间的混合运算
回到 首页
1、整型、实型、字符型数据之间可以混合运 算
整型(包括int,short,long)和实型(包括float,double)数据可 以混合运算,另外字符型数据和整型数据可以通用,因此,整 型、实型、字符型数据之间可以混合运算。 例如,表达式10+'a'+1.5-8765.1234*'b'是合法的。
2.9赋值运算符和赋值表达式
1、赋值运算符和赋值表达式
赋值运算符:“=”为双目运算符,右结合性。 赋值表达式:由赋值运算符组成的表达式称为赋值表达 式。 赋值表达式一般形式: 变量 赋值符 表达式 如 a=5 类型转换:将高精度的数据类型赋值给低精度的数据类 型,可能出错。
回到 首页
2.9赋值运算符和赋值表达式
2.8 算术运算符和算术表达式
3、自增、自减运算符
回到 首页
y=++x;等价于先计算x=x+1(结果x=6),再执行y=x,结果y=6。 y=x++;等价于先执行y=x,再计算x=x+1,结果y=5,x=6。 y=x++*x++;结果y=25,x=7。x++为后缀形式,先取x的值进行“*” 运算,再进行两次x++。 y=++x*++x;结果y=49,x=7。

C语言程序设计基本数据类型及运算

C语言程序设计基本数据类型及运算

16
长整型 d long [int] 32
取值范围
-215~215-1 (-32768~32767 )
0 ~216-1 (0~65535 ) -231~231- 1
0 ~232-1
方括号表示可选项 int 分配2 Byte,long分配4 Byte
对整数 5 和小数3.14 ,计算机存放时是否 有区别?
2020/2/25
C语言的数据类型
基本类型
C数据类型
构造类型 指针类型
5
本章讨论 基本类型数据
整型 字符型 实型(浮点型) 空类型
单精度型 双精度型
数组类型 结构体类型 共用体类型 枚举类型
2020/2/25
2.1.1 整型数据
6
1.整型数据的类型 – 基本整型数据 int ,分配 2 Byte – 短整型数据 short int,分配 2 Byte – 长整型数据 long int,分配 4 Byte 整型数据均以二进制补码形式存储
2020/2/25
2.2 常量、变量与标准函数
16
主要内容:
– 常量 – 变量 – 标准库函数
2020/2/25
2.2.1 常量
17
在运行程序的过程中值保持不变的量
1.整型常量
– 十进制:0~9 – 八进制:0~7,以 0开头 – 十六进制:0~9,A~F/a~f,以 0x或 0X 开头
2020/2/25
分析:
4
涉及数据类型
的基本知识 计算机操作处理时,要完成以下工作:
在内存中给半径 r 和运算结果 area 开辟存 储空间,存放它们的值。应该留多大的地 方来存放它们的值?
数据 5 和 3.14 与 r 、area 不同,它们是在 编写程序时就给出确定的值,在运算过程 中不会改变。这样的数计算机怎么处理?
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第二章常用数据类型【学习目标】本章将学习一些基本的程序概念,如程序结构、标识符、章的学习要关键字和注释等。

本点包括如下几点:(1)了解C语言的基本结构。

(2)分号、块和空白的使用。

(3)标识符的约束规则。

(4)C关键字。

(5 )直接量的认识。

(6)注释的使用。

【学习导航】本章的在整个课程中的位置如图2-1所示。

图2-1 本章学习导航2.1 C语言基本程序结构任何一种程序设计语言都具有特定的语法规则和规定的表达方法。

一个程序只有严格按照语言规定的语法和表达方式编写,才能保证编写的程序在计算机中能正确地执行,同时也便于阅读和理解。

为了了解C语言的基本程序结构,请看【课堂案例2-1】。

【课堂案例2-1】在控制台输出“你好”。

【案例目标】会使用Xcode编辑器实现字符串输出【案例知识要点】C语言的程序结构、基本输出语句【案例程序代码】hello.c1#i nclude <stdio.h>22mai n()3{4printf(你好”);5}【案例代码说明】第1行的作用是进行相关的预处理操作。

include成为文件包含命令,<>里的内容称为头文件。

头文件一般的扩展名为.ho stdio就是指“ sta ndard in put & output"(标准输入输出),所以,源代码中如用到标准输入输出函数时,就要包含这个头文件。

第2行是一个空行。

空行不会影响程序的功能。

空行起着分隔程序段落的作用,适当使用空行将使程序的布局更加清晰,提高程序的可读性。

空行不会浪费内存,所以不要舍不得用空行。

一般建议在头文件后插入一个空行。

第3行声明了一个main函数,main是函数名。

关于函数的详细介绍在第七章。

main函数具有特殊意义,它是程序执行的入口,也就是说,程序都是从main函数开始执行的。

第4—6行定义了main函数的内容,称为函数体。

以“{”开始,以“ }”结束。

第5行调用了在stdio.h中的格式化输出函数printf,其作用是向终端(显示器、控制台)输出字符。

在这一行结束时,需要加上(;)。

在C语言中,一行代码由分号(;)终止。

图2-2是程序hello.c的执行结果:图2-2 Simple.c程序输出结果知识链接一编程规范在hello.c程序中,要注意以下的编程规范:【规则1-1】用#“clude <filename.h>格式来引用标准库的头文件。

【规则1-2】包含头文件时一般不使用绝对路径名。

【规则1-3】在头文件和main函数之间使用空行隔开。

【规则1-4】函数体里面的内容(即{ }里面的内容),需要水平缩进四个空格。

如第5行所示。

hello.c试一试(一):仓U建triangle.c,输出一个三角形,运行效果如图2-3所示。

2.2标识符标识符是指程序中函数、变量、参数的名称。

C语言要求标识符必须符合如下命名规则:标识符的首字母必须是字母、下划线(_)除首字母外,标识符的其他位置可以是数字(0-9)、大写字母(A-Z ),小写字母(a-z),下划线(_)。

标识符是大小写区别对待的,也就是说test、Test、TEST是三个不同的标识符。

标识符未规定最大长度。

关键字和保留字(参见 2.3关键字)不能作为标识符。

表2-1将正确和错误的标识符进行了对比,并说明了错误的原因:标识符命名的编程规范如下:【规则1-5】标识符的命名需具有相关的含义,这样做的好处是以后进行回顾或他人阅读时,容易理解程序的含义。

比如要定义一个人的年龄,可以使用age这个标识符,而不要使用a。

2.3关键字C语言中的关键字是程序代码中的一些特殊字符。

每个关键字都有特殊的用途。

C语言一共有32个关键字。

表2-3列出了使用在C编程语言中的关键字。

2.4注释你如果想让你的程序很容易让人读懂,或者为了方便以后的维护,那么你可以通过为程序添加注释来做到这一点。

注释的作用是:用来解释程序代码的含义。

C语言的注释分为多行注释和单行注释两种:多行注释:/*注释内容*/单行注释://注释内容C语言注释通常用于3处:版本、版权的声明函数接口说明重要代码行提示可以修改hello.c程序,添加如下注释:/**Copyright (c) 2013,ZZAATCE*All rights reserved.*FileName : hello.h*Author: Csg*/#i nclude <stdio.h>main (){// 向控制台输出“你好”printf( 你好');}2.5变量和常量的基本概念2.5.1变量1.变量的声明在学生管理系统中,系统中的一个最重要的角色是学生,对学生来说,应该有姓名,年龄等这些属性。

如何来表示这些属性呢?这就要用到变量。

变量是一块取了名字的、用来存储C 程序信息的内存区域;它是一些有意义的数据。

比如我们可以用变量名(也是一种标 识符)name 来表示姓名,age 来表示年龄。

在 C 语言中要使用变量必须要先定义(也叫做 声明变量)。

定义变量是指设定变量的数据类型(参看 2.5节)和变量的名称。

基本语法为:数据类型变量名;例如下面的代码:int age ;上面的代码声明了一个变量 age,它的数据类型是int 类型。

变量名需遵守【规则【规则1-6】变量名首字母小写,其后每个英文单词的第一个字母大写,其它小写。

例如stude ntName 。

2•变量的赋值在声明了一个变量后,还没有给变量赋值,可以通过“age = 20 ;]上面的代码中20就是变量age 的值。

系统会分配一个长度为4字节(int 类型占4字节)的内存单元 来保存“ 20”这个数据,如图2-4所示。

我们在程序中可以改变20这个值:age = 40 ;这时age 的值就变成了 40 (如图3-3所示) 为它的值是“可变的”。

2.5.2常量常量是指在程序运行时其值不能改变的量。

常量可为任意数据类型(目前我们只使用过int 类型,其他的类型参加本章的 2.6节),比如:100是一个整型常量。

''是一个字符型 常量。

C 语言还支持另一种预定义数据类型的常量,这就是串。

所有串常量括在双撇号之间, 例如"This is a test"。

切记,不要把字符和串相混淆,单个字符常量是由单撇号括起来的,如 'a '。

整体上,C 语言的常量可分为 3大类:数值型常量:又可以分为整型常量和实型常量 字符常量 符号常量2.6数据类型在定义变量时涉及到了数据类型,为什么会要用到数据类型呢?因为计算机里面保存一个数字或者一个字母,都是需要分配一定的空间,内存空间的最小单位是比特(bit),也可以称为“位”。

8个比特为一个字节(byte)。

现在常见的PC ,用两个字节空间来保存一个字母, 用四个字节保存一个整数。

为了保存不同的数字或者字母, 我们在申请空间的时候就要告诉计算机,是要保存什么1-6】。

”操作符赋值,如下面的代码:,这也是为什么 age 被称为变量的原因,因age图2-5 age 变量修改值的内存图图2-4 age 变量初始赋值后的内存图样的变量。

而计算机会根据这个类型,分配一定尺寸的内存给用户。

也就是说你声明的数据类型是计算机给后面的变量分配内存空间的依据。

C语言把数据类型分为基本类型、构造类型、指针类型和空类型。

如图2-6所示。

本节只介绍基本类型。

2.7整型数据2.7.1整型常量整型常量及通常理解的整数值。

在C语言中可以用3种进制来表示整型常量,分别如下:(1 )十进制:基数为10。

最常用的一种。

当需要使用十进制表示整数时,无需任何前缀。

例如:(2)八进制:基数为8。

即满8进1。

当需要使用八进制表示整数时,需要在该数的前面加上前缀0。

例如:int seve n = 07;下面的语句会输出什么呢?int v1 = 010;prin tf("%d",v1);输出结果为:8。

【说明】由于八进制表示数时容易引起混淆,如int v = 010表示的是8而不是我们第一感觉的10,所以尽可能少使用八进制来表示数。

(3)十六进制:由0〜9、a、b、c、d、e、f十六个符号构成。

其中a表示10, b表示11,以此类推。

当用十六进制表示整数,要在该数前面加上前缀0x。

例如:2.7.2整型变量整型变量是用来存储整型数值的变量。

共有6种类型。

signed short int有符号短整型简写为short或int,字长为2字节共16位二进制数,数的范围是-32768~32767。

取值计算原理是一共有216=65536个数,其中负整数有215=32768 个,正整数2 -1=32767个,再加上一个0, 一共65536个。

signed long int有符号长整型简写为long,字长为4字节共32位二进制数,数的范围是-2147483648~2147483647。

unsigned short int无符号短整型简写为unsigned int,字长为2字节共16位二进制数,数的范围是0~65535。

unsigned long int无符号长整型简写为unsigned long,字长为4字节共32位二进制数,数的范围是0~4294967295。

使用有符号基本整型变量的例子:int x; //定义了一个有符号基本整型变量x = 100; //给变量赋值也可以在定义变量的同时给它赋值:int x = 100;使用有符号短整型变量的例子:short y = 10;如果一个整型变量赋值超过它的取值范围,就会发生溢出的问题。

请看【课堂案例2-2】【课堂案例2-2】测试数据溢出【案例学习目标】理解整型变量的取值范围【案例知识要点】数据取值范围、数据溢出【程序代码】dataOverflow.c1#i nclude <stdio.h>2mai n()3{4short x = 32767;5short y = x + 1;66prin tf("%d\n" ,x);7prin tf("%d\n" ,y);8}【程序输出】如图2-7所示。

【程序说明】第4行给无符号短整型变量x赋值32767,这是无符号短整型变量的最大值。

第5行定义了无符号短整型变量y,并赋值x+1。

注意x已经是无符号短整型变量的最大值。

第6行输出x的值为32767。

14第7行输出y的值为-32768 。

2知识链接一数据溢出计算机用二进制表示数据。

无符号短整型在内存中占2个字节。

1个字节为8位,一共16位。

最高位为符号位,0表示正数,1表示负数。

32767=2 15-1 ,所以dataOverflow.c 中定义的变量x的值在内存中的存储如下:最高位为1表示负数,所以这个数的值为-215= -32768。

相关文档
最新文档