《c语言中的变量和数据类型》由会员分享,可在线阅读,更多相关《c语言中的变量和数据类型(34页珍藏版)》请在金锄头文库上搜索。
1、第二章变量和数据类型1回顾 程序是为执行一项任务而编写的有序指令集 算法是解决问题的具体方法和步骤 流程图是算法的图形化表现形式 C语言的特点 C程序的编译和运行过程 编译器将源程序转换成机器能理解的程序 连接器用于连接相关的目标文件以生成可执 行程序2目标 理解变量和常量的含义 熟悉基本数据类型 - int、char、float 和 double 使用算术运算符 理解类型转换 熟练使用 scanf() 和 printf() 函数 熟练使用 getchar() 和 putchar() 函数3本章结构简介变量和数据类型类型转换符号常量基本数据类型输入输出函数算术运算符接收并显示字符4程序指令2.
2、1 C语言中的基本元素常量 标识符 关键字 运算符 分隔符 等常量是在程序中保持不变的量常量用于定义具有如下特点的数据: 在程序中保持不变 在程序内部频繁使用52.1.2 变量程序内存编写程序时,常常需要将数据存储在内存 中,方便后面使用这个数据或者修改这个 数据的值。通常使用变量来存储数据。 使用变量可以引用存储在内存中的数据, 并随时根据需要来操纵数据。存储 XX * 5%将值存储为X-100.5将值存储为9.562.1.2 声明变量 声明变量: Datatype variablename; 变量的命名规则: 变量名可以由字母、数字和 _(下划线)组合而成 变量名不能包含除 _ 以外的任何
3、特殊字符,如:% 、# 、逗号、空格等 变量名必须以字母或 _(下划线)开头 变量名不能包含空白字符(换行符、空格和制表符 称为空白字符) C 语言中的某些词(例如 int 和 float 等)称为保留 字,具有特殊意义,不能用作变量名 C 语言区分大小写,因此变量 price 与变量 PRICE 是两个不同的变量72.1.2 变量命名 变量初始化 定义时初始化变量 Datatype variablename = value;定义后初始化变量 variablename = value;通过运算赋值82.2 基本数据类型char数据类型非数值数值整型long intdoublefloat非整型s
4、hort intint92.2 整型名称全称类型说 明符缩写类型说 明符位 数范围整型intint16-32768 至 +32767 无符号整型unsigned intunsigned160 至 65,535短整型short intshort16-32768 至 +32767 无符号短整 型unsigned short intunsigned short160 至 65,535长整型long intlong32-2,147,483,648 至 2,147,483,647 无符号长整 型unsigned long intunsigned long320 至 4,294,967,295102.2
5、使用整型变量 声明: int page_number; long int population; unsigned int age; 可按如下方式初始化: page_number0; int max_marks = 100;在同一语句中可以声明多个类型相同的变量: int page_number, copies, paper_width;112.2.2 单精度浮点型 float 在 C 语言中用于存储单精度浮点数float32 位10-38 至 10+38 ,7位有效数字 声明: float selling_price; 初始化: float selling_price = 11.3; sel
6、ling_price = 65.90;122.2.2 双精度浮点型 内存floatdouble64位取值范围:10-308 至 1030816 位有效数字 声明: double pressure_level; 初始化: pressure_level = 213.5671435568967; double dvalue = 35.4; 13在线保险单在线保险单年龄:_保险总额:_性别:_2.2.4 字符型2398340 M int/floatchar142.2.4 字符型 5 p $ “2“ 2 正确正确2 + 2 = 4 值符号值符号值符号 0空字符44,91 32空格45-92 33!46.
7、93 34“47/94 35#48 570 9 95- 36$58:96 37%59;97 122a z38 gender=m;char gender=m;16输入/输出函数 (printf/scanf) 用于接受和显示数据或信息#include void main() int num; printf(“请输入一个数:“); scanf(“%d“, printf(“ n%d 的平方为 %d n“,num,num*num); 2.4 输入/输出函数转换字符串转义序列172.4.1 printf 函数int visitor_count = 150; printf (“ %d“ , visitor_
8、count);printf将一些信息按照指定的格式送到标准输出(显示器)“ %d“ visitor_count将按指定的格式显示该变量的值转换转换 字符 串说说 明%d将参数按整数形式转换输 出,对应 参数应是int 类 型 %ld将参数按长整数形式转换输 出,对应 参数应是 long 类型 %c输出一个字符,对应 参数应该 是一个字符 %s输出一个字符串,对应 参数应该 是一个字符串 %f将参数按带小数点数形式输出,对应 参数应是 double 类型,默认情况下精确到 6 位小数182.4.1 printf 函数int visitor_count = 150; printf (“ %d“ ,
9、 visitor_count);输出结果:150192.4.1 printf 函数int salary = 5500; printf (“ %10d“ , salary);输出结果: 5500输出结果的左边显示了 6 个空格“ %10d“ 202.4.1 printf 函数float circumference = 78.53; printf (“ %f“ , circumference);输出结果:78.530000默认情况下精确到六位小数9.4786789;9.478679 9.478679212.4.1 printf 函数double mercury_level = 168.225107
10、4; printf (“%7.2f“ , mercury_level);输出结果: 168.23宽度,表示所有的数字和小数点所占的位数。不够7位右对齐。“ %7.2f“ 精度(精确到小数点后多少位)222.4.1 转义序列输出结果: Name: Audrey Hepburn Movie: Roman Holiday代码:printf(“Name: Audrey Hepburn n Movie: Roman Holiday”);转义序列允许在输出结果中包括特殊字符转义转义 序列名称描述 a 警告产生一则警告。 b 退格将光标回退一格。 f 换页将光标移到下一页的第一格。 n 换行将光标移到下一行
11、的第一格。 r 回车将光标移到当前行的第一格。 t 水平制表 将光标移到下一个水平制表位置 。 v 垂直制表将光标移到下一个垂直制表位置 。 单引号产生一个单引号。 “ 双引号产生一个双引号。 ? 问号产生一个问号。 反斜线产生一条反斜线。 0 空产生一个空字符。23scanf(“%d“,2.4.2 scanf 函数scanf 函数从标准输入(键盘)读取信息,按照格式描述 把读入的信息转换为指定数据类型的数据,并把这些数 据赋给指定的程序变量。 转换字符串scanf (“ %f“ , tax_rate 在内存中分配一块 32 位存储空间 存储空间使用名称“tax_rate”标识 提示用户输入一
12、个值 输入的值存储在变量中(因为 scanf 提供此变量的 地址)12.234252.5 算术运算符算术 一元 二元操作数操作数运算符262.5.1 一元算术运算符算术一元-+num+ num=num+1num- num=num-1+num -numnum+ num-前缀后缀二元表达式如何计计算结结果 (num1=5) num2 = +num1;num1 = num1 + 1; num2 = num1;num2 = 6; num1 = 6; num2 = num1+;num2 = num1; num1 = num1 + 1;num2 = 5; num1 = 6; num2 = -num1;nu
13、m1 = num1 - 1; num2 = num1;num2 = 4; num1 = 4; num2 = num1-;num2 = num1; num1 = num1 - 1;num2 = 5; num1 = 4;27#include void main() int a = 5, b = 3, c = 25, d = 12;float qu;int re,in,de;/* 使用算术运算符 */qu = a / b; / 除法re = a % b; / 求模in = +c;de = -d;printf (“商为 %fn“,qu);printf (“余数为 %dn“,re);printf (“加
14、 1 后为 %dn“,in);printf (“减 1 后为 %dn“,de); 2.5.1 算术运算符示例输出:商为 1.000000余数为 2加 1 后为 26减 1 后为 11282.6 类型转换 自动类型转换 原则:把表示范围小的类型的值转换到表 示范围大的类型的值 short int long float double 强制类型转换 语法:(类型名) 变量或数值 例如: int a = 5, b = 3; float qu = float(a) / b; 292.7 接受并显示字符字 符 型 变 量字符型数据字符型数据302.7.1 getchar() 函数char variable
15、name; variablename = functionname;语法:例如: char c; c=getchar();31#include void main() char a,b;printf(“ 请输入两个字符:n“);a=getchar();fflush(stdin);b=getchar();fflush(stdin);putchar(a);putchar(b);putchar(n); getchar()和putchar()示例内存abOK输出:请输入两个字符:OKOKPress any key to continue_32总结 2-1 常量是在程序中不能被更改的值;而变量 在程序中可以被更改的,通过变量可以引 用存储在内存中的数据 C语言中的基本数据类型包括整型、单精度 浮点型、双精度浮点型和字符型 整型分为短整型、整型、长整型,每种整 型又可分为有符号型和无符号型33总结 2-2 单精度浮点型和双精度浮点型变量可以存 储实数,但双精度型取值范围要比单精度 型大的多 字符型变量可以存储单个字符,其值是该 字符的ASCII 码 算术运算符提供运算功能,包括+、-、*、/ 、%、+和- printf() 和 scanf() 函数属于格式输入输出函 数 getchar() 和 putchar() 函数用来输入输出单 个字符的函数