当前位置:
文档之家› 第二章 数据类型、运算符、表达式、赋值语句、输入输出
第二章 数据类型、运算符、表达式、赋值语句、输入输出
第二章 数据类型、运算符、表达式、赋值语句、输入输出
课程名称:C语言程序设计
课型与教法:讲授 学时:2课时
授课题目:
第2章 数据类型、运算符、表达式、赋值语句、输入输出 基本教材:C语言程序设计(高等教育出版社)廖雷主编 教学目的与要求:通过本章的学习使学生熟悉C语言的关键 词、标识符、数据类型,掌握字符串常量与字符常量的区别 、转义字符的使用、变量的定义。 教学重点与难点:数据类型,不同数据类型的使用范围;变 量的定义
11
>
第二章 数据类型、运算符、表达式、赋值语句、输入输出
整型常量(整常数)
• 三种表示形式: • 十进制整数:由数字0~9和正负号表示.如 32767, 123,-456,0 • 八进制整数:由数字0开头,后跟数字0~7表示.如 0123,011 • 十六进制整数:由0x或0X开头,后跟0~9,a~f,A~F表示. 问题: 问题: 如0x123,0Xff 0123 = = ( ( 83 ) )10 10 0123 • 整型常量的类型 = ( ( 291 ) )10 10 0x123 = • 根据其值所在范围确定其数据类型 )10 10 0Xff = ( 255 ) • 在整常量后加字母l或L,认为它是long int 型常量 例 30000 为int型 例 12 与 12L 65536 为long int 型 12 为int型 12L 为long int型
7
第二章 数据类型、运算符、表达式、赋值语句、输入输出
标识符
定义:用户自行定义的符号,用来标识变量、常量、函数、标号等 组成:
只能由字母、数字、下划线(_)组成,且第一个字符必须是字母或下 划线 大小写敏感 不能使用关键词
长度:最长32个字符 命名原则:
见名知意 不宜混淆 如l与I, o与0 例:判断下列标识符号合法性 常用大写字母表示常量标识符,变量等其他类型标识符用小写字母表示 系统内部使用了一些用下划线开头的标识符,建议定义标识符时尽量不 sum Sum M.D.John day Date 3days 用下划线开头,以防止冲突 student_name #33 lotus_1_2_3
联合 union
枚举类型 enum
数据类型决定: 1. 数据占内存字节数 2. 数据取值范围 3. 其上可进行的操作
指针类型
空类型 void 定义类型 typedef
9
第二章 数据类型、运算符、表达式、赋值语句、输入输出
基本数据类型
类型 符号 有 整 型 无 浮 点 型 字 符 型 有 有 有 无 关键词 (signed)int (signed)short (signed)long unsigned int unsigned short unsigned long float double char unsigned char
关键词 break
用途
说明 退出最内层的循环或switch语句
case
continue default 流
switch语句中的情况选择
跳到下一轮循环 switch语句中其余情况标号
do
else for goto if return switch
程
控 制
在do…while循环中的循环起始标记
if语句中的另一种选择 带有初值、测试和增量的一种循环 转移到标号指定的地方 语句的条件执行 返回到调用函数 从所有列出的动作中作出选择
void enum signed const volatile
用于定义联合(共用体)的关键词
空类型,用它定义的对象不具有任何值 定义枚举类型的关键词 有符号类型,最高位作符号位 表明这个量在程序执行过程中不可变 表明这个量在程序执行过程中可被隐含地改变
5
第二章 数据类型、运算符、表达式、赋值语句、输入输出
所占位数 16
16
数的表示范围
-32768~32767
-32768~32767 -2147483648~2147483647 0~65535 0~65535 0~4294967295 ±3.4e-38~3.4e38
32
16 16 32 32 64 8 8
±1.7e-308~1.7e308
-128~127 0~255
关键词 标识符 常量 运算符 分隔符 [ ] ( ) { } * . : = ; #
3
关键词
第二章 数据类型、运算符、表达式、赋值语句、输入输出
关键词:C语言中预定义的符号,有固定的含义(32个) 用途: 存储类别 auto extern register static 类型定义 typedef 流程控制 break case continue default do else goto if return switch while for 数据类型 int long short float double char signed unsigned struct union enum void const volatile 运算符 sizeof 用户定义的任何名字不得与关键词冲突 准关键词:有固定的含义 用途: 预处理命令:define endif include ifdef ifndef line undef 库系统函数名:scanf、printf等 允许准关键词另作它用 建议不对这些准关键词另作它用。
1
第二章 数据类型、运算符、表达式、 赋值语句、输入输出
C语言的词法记号 数据类型
常量与变量
运算符和表达式 类型转换
数据输出
数据输入
第二章 数据类型、运算符、表达式、赋值语句、输入输出
C语言的词法记号
C语言编写的程序是由各种不同的词法记号构成 词法记号:程序中具有独立含义的不可进一步分割 的单位 共5类:
变量名 变量地址
a=1; -3 a=a+1; b=a; 内存
…...
…...
2字节
变量值
16
第二章 数据类型、运算符、表达式、赋值语句、输入输出
变量
概念:其值可以改变的量 变量代表某个存储空间及其所存储的数据 变量说明的一般格式: <数据类型> <变量名>{,<变量名>}; 变量初始化:说明时赋初值;可对被说明变量的部分初始化 int a=1, b=-3,c; 变量的使用:先说明,后使用 例: 决定分配字节数 合法标识符 变量说明位置:一般放在函数开头 int a,b,c; 例: 和数的表示范围 地址 float data; int a=2,b,c=4; main() main() 1 data=3.67; 2字节 char ch1; a float 例 { {intint a,b=2; a,b=2; double 地址 z; char ch=‘A’; int student; 变量说明 float data; b 2字节 a=1; int -3 x=1,y=1,z=1; stadent=19; /*Undefined symbol ‘stadent’ in function main*/ 可执行语句 a=1; float data; 地址 2字节 data=(a+b)*1.2; data=(a+b)*1.2; c 编译程序根据变量定义为其
char a>b a>b _above
$123
8
第二章 数据类型、运算符、表达式、赋值语句、输入输出
数据类型
数据类型总表
基本类型 整 型
短整型 short 整型 int 长整型 long 单精度型 float
浮点型
双精度型 double
字符类型 char C 数 据 类 型 数组
构造类型
结构 struct
12
第二章 数据类型、运算符、表达式、赋值语句、输入输出
浮点常量(实型常量、实数或浮点数)
• 表示形式: • 十进制数形式:(必须有小数点) 如0.123, .123, 123.0, 0.0, 123. • 指数形式:(e或E之前必须有数字;指数必须为整数 )如12.3e3 ,123E2, 1.23e4 , e-5 , 1.2E-3.5 • 浮点常量的类型 • 默认double型 • 在浮点常量后加字母f或F,认为它是float型
\r
\‟ \”
\ddd
}
运行结果: } /*ch2_3.c*/ printf("I say:\"How are you?\"\n"); 屏幕显示: = \f 回车 换行但不回车 < printf("\\C Program\\\n"); \\ 运行结果: (屏幕显示 打印机输出: ¥ ) 单引号 反斜线 printf("Turbo \'C\' "); AB C 双引号
13
第二章 数据类型、运算符、表达式、赋值语句、输入输出
字符常量
• • • •
„A‟-------‟\101‟-------‟\x41‟--------65
定义:用单引号括起来的单个普通字符或转义字符. 字符常量的值:该字符的ASCII码值 如 ‘a’ ‘A’ ‘?’ ‘\n’ ‘\101’ 转义字符:反斜线后面跟一个字符或一个代码值表示 注意 :’’’和’\’是不合法的字符常量 转义字符及其含义: 如 ‘A‟—— 65, ‘a‟——97, 例 转义字符举例 (ch2_2.c) ‘0‟——48, ‘\n‟——10 含义 转义字符 含义 转义字符 main() 如 ‘\101‟ -----------„A‟ „\012‟ -----------‟\n‟ 例 main() { „\x40‟ -----------‟@‟ \t „\x61‟ ----------‟a‟ Tab) \n 换行 横向跳格( { „\60‟ printf(“Y \b=\ ----------‟0‟ n”); „\483‟ ----------(退格 ) \x42 C\n"); \b 竖向跳格 \v printf("\101