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

Slides:



Advertisements
Similar presentations
Loops.
Advertisements

C/C++语言程序设计 第二章 数据类型和表达式 龚尚福,贾澎涛主编 《C/C++语言程序设计》 西安电子科技大学出版社.
没有规矩,不成方圆。.
C++程序设计 第二章 数据类型与表达式.
C语言实验 第一课 标题:学号+姓名.
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
Chapter2 Constants, Variables, and Data Types
EBNF与操作语义 请用扩展的 BNF 描述 javascript语言里语句的结构;并用操作语义的方法描述对应的语义规则
第一章 C语言概述.
EBNF 请用扩展的 BNF 描述 C语言里语句的结构; 请用扩展的 BNF 描述 C++语言里类声明的结构;
第3章 最简单的C程序设计 3.1 顺序程序设计举例 3.2 数据的表现形式及其运算 3.3 C语句 3.4 数据的输入输出.
数据类型 第3章 3.1 C数据类型概述 3.2 常量 3.3 变量 3.4 基本输入与输出.
C 程式設計— 語言簡介 台大資訊工程學系 資訊系統訓練班.
C++ 程式設計— 語言簡介 台大資訊工程學系 資訊系統訓練班.
基础篇 基础知识 —C语言程序设计 学习目标 掌握C语言中三种常见的基本类型及其使用方法 掌握常见的算术运算符和表达式的使用
第2讲 C++语言基础 2.1 基本语法成分 2.2 基本数据类型 2.3 变量和常量 2.4 运算符和表达式 2.5 综合案例分析.
第3章 變數、常數與資料型態 3-1 C語言的識別字 3-2 變數的宣告與初值 3-3 指定敘述 3-4 C語言的資料型態
C语言程序设计 第三章 数据类型、运算符与表达式
程序设计基础.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
主讲教师:吴琼 微信群:C语言2016 QQ群: 密码scu2016 昵称:“学号+真名”
第二章 基本数据类型与输入输出.
程序设计基础 第 二 章 谌 卫 军 清华大学软件学院 2008年秋季.
C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计.
C语言程序设计基础 刘新国.
第二章 Java语言基础.
第2章 数据类型、运算符和表达式.
第三节 整数类型.
C语言大学实用教程 第三章 简单的C程序设计 西南财经大学经济信息工程学院 刘家芬
3 数据类型、运算符 和表达式.
第二章 数据类型、运算符与表达式.
2.1 C语言的数据类型 2.2 常量与变量 2.3 变量赋初值 2.4 各类数值型数据间的混合运算 2.5 C语言的运算符和表达式
第三章 数据类型、运算符与表达式.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
1.3 C语言的语句和关键字 一、C语言的语句 与其它高级语言一样,C语言也是利用函数体中的可执行 语句,向计算机系统发出操作命令。按照语句功能或构成的不 同,可将C语言的语句分为五类。 goto, return.
C语言程序设计 主讲教师:陆幼利.
学习目标 1、什么是字符集 2、字符集四个级别 3、如何选择字符集.
JAVA 程式設計 資訊管理系 - 網路組.
程序设计基础A(C语言) 主讲教师: 许 康 教师主页:
C程序设计.
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
C语言程序设计 第一章 数据类型, 运算符与表达式 第二章 顺序程序设计 第三章 选择结构程序设计 第四章 循环控制 第五章 数组.
浙江长征职业技术学院—计算机与信息技术系—相方莉制作
第4章 Excel电子表格制作软件 4.4 函数(一).
C语言程序设计 李祥 QQ:
C++语言程序设计 C++语言程序设计 第四章 数组及自定义数据类型 C++语言程序设计.
第九节 赋值运算符和赋值表达式.
第二章 类型、对象、运算符和表达式.
第2章 数据类型与表达式 学习目的与要求: 掌握C 语言的基本数据类型及使用方法 掌握C程序中常用的运算符和表达式 了解数据类型的转换.
第二章 基本数据类型 ——数据的表示.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
ASP.NET实用教程 清华大学出版社 第4章 C#编程语言 教学目标 教学重点 教学过程 2019年5月5日.
C++语言程序设计 C++语言程序设计 第六章 指针和引用 第十一组 C++语言程序设计.
2.6 字符型数据 一、 字符常量 1、字符常量的定义 用一对单引号括起来的单个字符,称为字符常量。 例如,‘A’、‘1’、‘+’等。
C程序设计 实验二 数据类型、运算符和表达式 第6讲
第二章 Java基本语法 讲师:复凡.
Chap 6 数据类型和表达式 6.1 数据的存储和基本数据类型 6.2 常量和变量 6.3 数据的输入和输出 6.4 类型转换
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
基本知识 数据类型、变量、常量、运算符.
数据表示 第 2 讲.
C++语言程序设计 C++语言程序设计 第十章 多态 第十一组 C++语言程序设计.
C/C++基礎程式設計班 C語言入門、變數、基本處理與輸入輸出 講師:林業峻 CSIE, NTU 3/7, 2015.
第二章 数据类型与表达式 丘志杰 电子科技大学 计算机学院 软件学院.
C/C++基礎程式設計班 陣列 講師:林業峻 CSIE, NTU 3/14, 2015.
<编程达人入门课程> 本节内容 有符号数与无符号数 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
第2章 Java语言基础.
编译原理实践 6.程序设计语言PL/0.
第二章 简单数据类型 §2.1 数据类型概述 §2.2 变量和常量 §2.3 简单数据类型 §2.4 简单数据类型的相互转换
C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计.
Presentation transcript:

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

本章学习内容  常量和变量,整型和实型  标识符命名,变量的定义和赋值  计算数据类型占用内存空间的大小

2.1 常量与变量 C语言程序处理的数据形式 常量(Constant) 变量(Variable) 在程序中不能改变其值的量 其值在程序执行过程中是可以改变的

一个简单的C程序例子 编译预处理命令 程序注释 并列的两个函数 其中主函数是 程序的入口 #include <stdio.h> /*函数功能:计算两个整数相加之和 入口参数:整型数据a和b 返回值: 整型数a和b之和 */ int Add(int a, int b) { return (a + b); } /*主函数*/ main() int x, y, sum = 0; printf("Input two integers:"); scanf("%d%d", &x, &y); /*输入两个整型数x和y*/ sum = Add(x, y); /*调用函数Add计算x和y相加之和*/ printf("sum = %d\n", sum); /*输出x和y相加之和*/ 程序注释 并列的两个函数 其中主函数是 程序的入口

C程序常见符号分类 关键字(Keyword) 标识符(Identifier) 又称保留字( C Reserved Word ) A word that has special meaning in C 标识符(Identifier) 系统预定义标识符(C Standard Identifier) A word having special meaning but may be redefined (but is not recommended!!) 用户自定义标识符 变量,函数名,……

C程序常见符号分类 运算符(Operator) 分隔符(Separator) 其他符号 常量(Constant) 详见附录C 空格、回车/换行、逗号等 其他符号 {和}标识函数体或语句块 /*和*/是程序注释的定界符 常量(Constant)

2.1.1常量(Constant) 在程序中不能改变其值的量 包括: 十进制 长整型 无符号整型 八进制 十六进制 在程序中不能改变其值的量 包括: 整型(如 0,67, -2, 123L, 123u, 022, 0x12) 默认为int 实型(如 2.3, 1.2e-5, 2.73F, 2.73L) 默认为double 字符型(如 'z', '3', '$', '\n' ) 用\开头的字符为转义字符, 代表1个字符 字符串(如 "UKM", "1", "5a" ) 枚举型 十进制小数 指数形式 单精度实型 长双精度实型

2.1.2变量(Variable ) 变量的值在程序执行过程中是可以改变的 变量的属性 Name 变量名 Type 变量类型 Value 变量的值 Address 变量的存储单元——地址

变量声明(Variable Declaration) 变量的声明 类型关键字 变量名; 使用变量的基本原则 变量必须先声明,后使用 所有变量必须在第一条可执行语句前声明 声明的顺序无关紧要 一条声明语句可声明若干个同类型的变量

变量声明(Variable Declaration) 声明变量是初始化变量的最好时机 不被初始化的变量,其值为随机数 结果会是什么?

变量赋值(Variable Assignment) 运算规则: 变量  表达式 语法: 变量 = 表达式 ; 规则: 左值和右值类型一致 Valid Example: Invalid Example: int x; int y; x = 12; y = 5.75;

2.3数据类型(Data Type) 为什么要区分类型? 变量的类型决定了 数据的存储形式 合法的取值范围 占用内存空间的大小 可参与的运算种类

数据类型(Data Type) 数据类型 基本类型 构造类型 指针类型 无类型 整型 实型(浮点型) 字符型 枚举类型 数组类型 结构体类型 共用体类型 单精度实型 双精度实型 基本整型 长整型 短整型 无符号整型 长双精度实型

基本数据类型 int float double char 整数,在目前绝大多数机器上占4个字节 TC 2.0,2个字节 单精度浮点数,4个字节 double 双精度浮点数,8个字节 char 字符,1个字节 表示256个ASCII字符,或0~255的整数

数据类型修饰符 short long unsigned short int,简写为short,短整数,2个字节 long int,简写为long,长整数,4个字节 long double,长双精度(高精度)浮点数,10个字节 unsigned 用来修饰char、int、short和long 无符号整数(正整数和0)

不同类型取值范围不同 C语言直接提供的任何类型都有取值范围

不同类型取值范围不同 Most significant bit (MSB) is sign(最高位为符号位)

2.4如何计算变量或数据类型 所占内存空间的大小 英文称谓 中文称谓 换算方法 bit(b) 位(比特) Byte(B) 字节 1 B = 8 b Kilobyte(KB) 千字节 1 KB = 1 024 B Megabyte(MB) 兆字节 1 MB = 1 024 KB Gigabyte(GB) 吉字节 1 GB = 1 024 MB Terabyte(TB) 太字节 1 TB = 1 024 GB 1 TB = 1 024 GB 为什么是1024而不是更容易计算的1000? 为什么是8而不是更直观的10? 这将在计算机原理课解答。 1 GB = 1 024 MB 1 MB = 1 024 KB 1 KB = 1 024 B 1 B = 8 b

2.4如何计算变量或数据类型 所占内存空间的大小 一个位有多大? 只能是0或者1,二进制 一个字节有多大? 可以表示0~255之间的整数 未来的趋势是任何字符,无论英文、中文还是其它文字,都用两个字节来表示。这种编码叫做UNICODE

不同类型占用的内存字节数不同 同种类型在不同的平台其占字节数不尽相同 不要对变量所占的内存空间字节数想当然 如int在16位、32位和64位系统上分别占2、4和8个字节 不要对变量所占的内存空间字节数想当然 用sizeof获得变量或者数据类型的长度 现象与危害 在平台间移植时会出现问题,导致数据丢失或者溢出 注意!

sizeof到底是什么? C语言的关键字,并非函数 两种语法形式 sizeof(类型) 计算类型占用的字节数 结果为类型占用的字节数 结果为表达式值所属类型占用的字节数 一般都使用sizeof(变量名)

现场演示例2.2 在TC和VC、CB下的运行结果 #include <stdio.h> main() { printf("Data type Number of bytes\n"); printf("------------ ---------------------\n"); printf("char %d\n", sizeof(char)); printf("int %d\n", sizeof(int)); printf("short int %d\n", sizeof(short)); printf("long int %d\n", sizeof(long)); printf("float %d\n", sizeof(float)); printf("double %d\n", sizeof(double)); }

2.5变量的赋值和赋值运算符 变量 = 表达式 ; 简单赋值(Simple Assignment) 语法: 变量 = 表达式 ; Don’t forget the semicolon !! Every assignment expression has a value

多重赋值 Multiple Assignment 语法: 变量1 = 变量2 = 表达式 ; Don’t forget the semicolon !! 变量1 = (变量2 = 表达式) ; 右结合:从右向左赋值

多重赋值 Multiple Assignment Example: int a, b; float x, y; . . . a = b = 0; x = y = 100.0; b ?? a x ?? y 100.0

作业 习题 2.1, 2.2

Questions and answers