C语言的基本数据类型和变量的存储类

上传人:宝路 文档编号:52891765 上传时间:2018-08-26 格式:PPT 页数:57 大小:347.59KB
返回 下载 相关 举报
C语言的基本数据类型和变量的存储类_第1页
第1页 / 共57页
C语言的基本数据类型和变量的存储类_第2页
第2页 / 共57页
C语言的基本数据类型和变量的存储类_第3页
第3页 / 共57页
C语言的基本数据类型和变量的存储类_第4页
第4页 / 共57页
C语言的基本数据类型和变量的存储类_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《C语言的基本数据类型和变量的存储类》由会员分享,可在线阅读,更多相关《C语言的基本数据类型和变量的存储类(57页珍藏版)》请在金锄头文库上搜索。

1、第2章 C语言的基本数据类型 和变量的存储类,C语言程序设计,C数据类型如下:,变量的概念,变量是指在程序运行过程中可以发生改变的量 变量的特征: (1)它有一个变量名,变量名的命名方式符合标识符的命名规则。 (2)变量有类型之分。不同类型的变量占用的内存单元(字节)数不同,因此每个变量都有一个确定的类型。 (3)变量可以存放值。程序运行过程中用到的变量必须有确切的值,变量在使用前必须赋值,变量的值存储在内存中。在程序中通过变量名来引用变量的值。,变量,变量名和变量值的区别:在程序运行过程中从变量x中取值,实际上是通过变量名x找到相应的内存地址,从其存储单元中取数据30。,变量名与变量值的区别

2、,变量的概念,变量,2.1 整型数据,2.1.1 整型常量 表示形式:计算机中用二进制形式存储数据; 为便于表示和使用,整型常量还可以表示成十进制、八进制和十六进制,八进制与十六进制常数,以数字“0”开始的整型常数是八进制数 022、-037 010和10大小不一样 因为八进制并不常用,所以此种表示法比较少见 以“0x”或者“0X”开始的整型常数是十六进制 AF和af用来表示十进制的1015 十六进制的形式比较常用 0x12、-0x1F, -0x1f,2.1.2 整型变量,整型变量类型,2.2.1 字符(Character)常量,字符常数的表示方法 a,A,5,%,$ 单引号内只能有一个字符,

3、除非用“”开头 就是一个普通整数,也可以参与各种数学运算 每个字符具有一个0255之间的数值,可从ASCII表查出 注意:6和整数6的区别 字符的数学运算在密码学内用得比较多 用“”开头的字符为转义字符 例如,n,代表1个字符,转义字符及其含义,2.2.1 字符(Character)常量,分析下面程序的运行结果。 #include /* 程序需要使用C语言提供的标准函数库 */ void main() /* 主函数 */ printf(“Chinan101tn“); /* 调用库函数printf显示字符串 */ ,程序运行结果: China A ,2.2.1 字符(Character)常量,2

4、.2.2 字符型变量,字符型变量用来存放字符常量,注意只能存放一个字符。字符型变量的类型标识符为char、内存中所占空间字节数为1. 例如:char c1,c2,c3,c4,c5;c1=a; 正确c2=“a”; 不正确c3=abc; 不正确c4=107; 正确c5=6; 正确,2.2.3字符型数据的存储表示,字符型数据在C语言中是和整型数据同等对待的。任何一个字符都相当于一个整型量,其值就是该字符的编码值。C语言中凡是整型量可以出现的地方,字符型量都可以出现。对于采用ASCII编码的系统,实际上,C语言在内部将每个字符型量都看作字长为8的整型量。,例如,x的十进制ASCII码是120,y的十进

5、制ASCII码是121。对字符变量a、b赋予x和y值: a=x; b=y; 实际上是在a、b所在的两个字节内分别存放整数120和121:,a:,b:,char型与int型之间的关系,注意: 1、一个字符型变量占一个字节,只能存放一个字符,存放该字符的ASCII码值; 2、由于字符型数据也是以整数形式进行存储,所以它可以以字符形式、整数形式输出; 3、常用字符的ASCII码值: :0x20(32) 0 : 0x30(48)A :0x41(65) a :0x61(97),小写字母转换为大写字母,#include main() char ch = b; printf(“%c, %dn“, ch, c

6、h);ch = b - 32; printf(“%c, %dn“, ch, ch); ,#include main() char ch = b;printf(“%c, %dn“, ch, ch); ch = b - (a - A) ; printf(“%c, %dn“, ch, ch); ,b, 98 B, 66,b, 98 B, 66,2.2.4 字符串(String)常量,用双引号括住的由0个或多个字符组成的字符序列 “I am a string“ “表示空字符串 转义字符也可以在字符串中使用 引号只作为字符串开始和结束的标志 C语言内部用0表示字符串的结束 除注释外,是惟一可以出现中文的

7、地方 “x“和x是不同的,2.3.1 浮点型常量(实型常量 ),实型常量的表示形式 十进制小数形式 123.45、456.78 指数形式 1e-2、4.5e3 注意: 非指数形式由数字和小数点组成 123. 、 +123.、.123都是合法的非指数形式 指数形式 e或E之前必须有数字(可以是非指数型浮点常量,可以是整数),且e或E后必须为整数。 e4、12e2.5都是非法的指数形式,浮点型变量分为单精度型(float)、双精度型(double),浮点型变量类型,浮点型变量(实型变量),误差、实型数据的有效数字位数 例,#include main() float a;double b;a = 1

8、23456.789e4;b = 123456.789e4;printf(“%fn%fn“, a, b); ,1234567936.000000 1234567890.000000,float型数据提供 7位有效数字,double型数据提供 17位有效数字,实型数据使用不当会导致舍入误差,求字节运算符,它是一个C语言的关键字,并不是函数,专门用于获取指定类型所占字节数 可以用两种形式使用sizeof(表达式) 一般都使用:sizeof(变量名)sizeof(类型) 值得注意的是,使用sizeof(表达式)时,不对表达式运算,只判断表达式值的类型。,#include main() printf(“

9、Data type Number of bytesn“);printf(“- -n“);printf(“char %dn“, sizeof(char);printf(“int %dn“, sizeof(int);printf(“short int %dn“, sizeof(short);printf(“long int %dn“, sizeof(long);printf(“float %dn“, sizeof(float);printf(“double %dn“, sizeof(double); ,2.5 数据的输入与输出,如何进行数据的输入输出? 输入:从标准输入设备上输入数据到计算机内存

10、输出:将计算机内存中的数据送到标准输出设备 C语言中输入输出操作通过调用标准库函数来实现,2.5.1 字符输入/输出函数,字符输出函数putchar(ch) 表示输出一个字符,ch可以是一个字符变量或字符常量、整型变量、整型常量或转义字符。 如:putchar(ch); 字符输入函数getchar() 表示从输入设备接收一个字符,该函数无参数 函数值为从输入设备接收的字符 如: ch=getchar(),#include main() char ch;printf(“Press a key and then press Enter:“); ch = getchar(); printf(“You

11、 pressed “);putchar(ch); putchar(n); ,运行程序,Press a key and then press Enter:,311,A,You pressed,A,例, getchar() 函数接收的字符可以赋给一个字符变量或整型变量,也可以不赋给任何变量,作为表达式的一部分。c=getchar(); putchar(c); 可以用下面一行语句代替:putchar(getchar( ); getchar()函数只能接收一个字符,即使从键盘上输入多个字符,也只接收第一个字符。 从键盘上输入的字符不能带单引号,输入以回车键(Enter键)结束。,关于getchar()

12、函数的说明和注意事项:,格式输出函数 printf(“格式控制字符串”, 输出项表列); 输出若干个任意类型的数据 printf(“a=%d b=%f“, a, b);,函数名,输 出 表 列,普通字符,2.5.3 格式输出函数,printf函数常用的格式字符,2.5.3 格式输出函数,printf函数常用的附加格式说明符,2.5.3 格式输出函数,%d、%md、%-md、%0md、%ld,分析下面程序的运行结果。 #include void main() int x=123;printf(“%dn“,x );printf(“%6dn“,x);printf(“%2dn“,x);printf(“

13、%-6dn“,x);printf(“%06dn“,x); ,程序运行结果: 123 123 123 123 000123,d 格式符,用来输出一个字符。有%c、%mc、%-mc等用法。字符数据的输出。#include void main( ) char c=a; printf(“%d%5cn“,c,c); ,程序运行结果: 97a,c 格式符,用来输出一个字符串。有%s、%ms、%-ms、%m.ns、%-m.ns等用法。,程序运行结果: China,China,ChinaCh,Chin,Chi,s 格式符,字符串的输出。#include void main() /* 主函数以不同形式输出字符串

14、”China” */ printf(“%s,%8s,%3s“,“China“,“China“,“China“);printf(“%7.2s,%.4s,%-5.3sn“,“China“,“China“,“China“);,用来输出实数(包括单精度、双精度),以小数形式输出。有%f、 %m.nf、 %-m.nf等用法:,f格式符,实数的输出。 #include void main() double f=123.456; printf(“f=%f,f=%10f,f=%10.2f,f=%.2f,f=%-10.2fn“,f,f,f,f,f); ,程序运行结果: f=123.456000,f=123.45

15、6000,f=123.46,f=123.46,f=123.46,用来以指数形式输出一个实数。有%e、%m.ne、%-m.ne等用法。请以指数形式输出一个实数。#include void main() float f=123456.78;printf(“%e,%8.3e,%6.0e,%.1en“,f,f,f,f);,程序运行结果: 1.234568e+005,1.235e+005,1e+005,1.2e+005,e或E格式符,2.5.4 格式输入函数,格式输入函数scanf(“格式控制字符串”, 输入项地址表列); scanf(“%d,%f”, ,在输入数据时,遇到以下情况认为此数据输入结束。 遇到空格、或者按回车键、或者Tab键。 遇到指定的宽度结束。例如“%3d“,只取3位。 遇到非法输入。例如: scanf(“%3d%d%c%f“,若输入:12345g678o.98,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号