《第2讲常量和变量PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《第2讲常量和变量PPT讲稿.ppt(40页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第2讲常量和变量2022/9/201第1页,共40页,编辑于2022年,星期一整型整型实型实型字符型字符型常量常量变量变量数据类型数据类型值是否改变值是否改变2022/9/202第2页,共40页,编辑于2022年,星期一基本数据类型枚举类型枚举类型数据类型数据类型 基本类型基本类型 构造类型构造类型其它类型其它类型 字符型字符型数值型数值型 整型整型实型实型基本型基本型短整短整长短整长短整无符号整无符号整单精度单精度双单精度双单精度长双单精度长双单精度字符字符字符串字符串空类型空类型(void)(void)指针类型指针类型2022/9/203第3页,共40页,编辑于2022年,星期一常量和变量
2、C C语言中的量语言中的量常量常量(常数常数):):数据数据,如如1,2,3.14159261,2,3.1415926,a a,b b变量变量:存放数据的工作单元存放数据的工作单元在程序的运行过程中在程序的运行过程中,其值可以改变。其值可以改变。int aint a;float bfloat b;2022/9/204第4页,共40页,编辑于2022年,星期一变量的定义变量定义的一般形式:变量定义的一般形式:类型名类型名 变量表变量表 int a,b,sum;/*a,b,sum是变量名是变量名*/变量名:小写字母,见名知义变量名:小写字母,见名知义 类型名:类型名:整型整型int 实型(符点型)
3、实型(符点型)float、double 字符型字符型char2022/9/205第5页,共40页,编辑于2022年,星期一变量的定义float float x,y;x,y;定义了定义了x,y2x,y2个数据类型为个数据类型为实型实型的变量的变量 intint a,b,c;a,b,c;定义了定义了a,b,c3a,b,c3个数据类型为个数据类型为整型整型的变量的变量 charchar c;c;定义了定义了c c数据类型为数据类型为字符型字符型的变量的变量 2022/9/206第6页,共40页,编辑于2022年,星期一基本数据类型所占宽度与数据范围 类型占字节 最小取值范围 int4(2)-2147
4、4836482147483647即-231(231-1)unsigined int2065535short int 2-3276832767即-215(215-1)unsigined short int2065535long int 4-21474836482147483647即-231(231-1)unsigined long int404294967295float 4-21474836482147483647即-231(231-1)double810-30710308long double 1610-49311049322022/9/207第7页,共40页,编辑于2022年,星期一变量的
5、定义与使用变量变量 先定义,后先定义,后使用使用 先赋值,后引用先赋值,后引用 int a,b;a=2;b=a*a;printf(“%d”,b);2022/9/208第8页,共40页,编辑于2022年,星期一变量的赋值1 赋初值(初始化)赋初值(初始化):在定义变量时对它赋值:在定义变量时对它赋值 int a=5,b=2;2 赋值表达式赋值表达式:int a,b;a=5;b=2;3 输入函数输入函数:scanf(“%d%d”,&a,&b);2022/9/209第9页,共40页,编辑于2022年,星期一例1已知圆的半径为已知圆的半径为r(rr(r是一个可变的量是一个可变的量),),求圆的面积和周
6、长。求圆的面积和周长。/*计算圆的面积和周长计算圆的面积和周长*/#includemain()float r,area,s;scanf(“%f“,&r);area=3.14*r*r;s=2*3.14*r;printf(“面积面积=%f,周长周长%f”,area,s);2022/9/2010第10页,共40页,编辑于2022年,星期一例1已知圆的半径为已知圆的半径为r(rr(r是一个可变的量是一个可变的量),),求圆的面积和周长。求圆的面积和周长。/*计算圆的面积和周长计算圆的面积和周长*/#includemain()float r,area,s;scanf(“%f“,&r);area=3.14
7、*r*r;s=2*3.14*r;printf(“面积面积=%f,周长周长%f”,area,s);area=3.14159*r*r;s=2*3.14159*r;2022/9/2011第11页,共40页,编辑于2022年,星期一例1 符号常量/*计算圆的面积和周长计算圆的面积和周长*/#define PI 3.14#includemain()float r,area,s;scanf(“%f“,&r);area=PI*r*r;s=2*PI*r;printf(“面积面积=%f,周长周长%f”,area,s);159注意:符号常量使用前必须先定义:注意:符号常量使用前必须先定义:#define 符号常量
8、名符号常量名 常量常量2022/9/2012第12页,共40页,编辑于2022年,星期一基本数据类型基本数据类型整型(整数类型)整型(整数类型)1 整型常量(整数)整型常量(整数)三种表现形式:三种表现形式:十进制:正、负号,十进制:正、负号,0-9,首位不是,首位不是0 例:例:10,123八进制:正、负号,八进制:正、负号,0-7,首位是,首位是0 例:例:010,0123十六进制:正、负号,十六进制:正、负号,0-9,a-f,A-F,首位是,首位是0 x0X 例:例:0 x10,0 x1232022/9/2013第13页,共40页,编辑于2022年,星期一典型试题11.1.以下选项中正确
9、整型常量是:以下选项中正确整型常量是:A 10110B B 0386 C 0Xfaa D x2a2 2022/9/2014第14页,共40页,编辑于2022年,星期一整型常量123=1111011(B)二进制)二进制 =173(O)八进制)八进制 =7B(X)十六进制)十六进制int a=0173;int b=0 x7b;int c=123;2022/9/2015第15页,共40页,编辑于2022年,星期一整型变量2 整型变量:整型变量:int 变量表变量表 int a,b,c=0;a=1;b=2;c=3;2022/9/2016第16页,共40页,编辑于2022年,星期一整型数据的输入和输出p
10、rintf(格式控制,输出参数格式控制,输出参数1,,输出参数输出参数n);scanf(格式控制,格式控制,&输入参数输入参数1,,&输入参数输入参数n);%d:%d:以以十十进制形式输入进制形式输入 输出整数输出整数%o:%o:以以八八进制形式输入进制形式输入 输出整数输出整数%x:%x:以以十六十六进制形式输入进制形式输入 输出整数输出整数注意注意:%:%是一个特殊的字符是一个特殊的字符,无法直接输出无法直接输出!要输出要输出%,%,用用%控制说明控制说明%.%.2022/9/2017第17页,共40页,编辑于2022年,星期一整型数据的输出整型数据的输出例例:#includemain()
11、printf(“%d,%o,%xn”,10,10,10);printf(“%d,%d,%d n”,10,010,0 x10);printf(“%d,%xn”,012,012);运行结果运行结果:10,12,a10,8,1610,a0.010102022/9/2018第18页,共40页,编辑于2022年,星期一整型数据的输入整型数据的输入例例:#includemain()int a,b;scanf(“%o%dn”,&a,&b);printf(“%d%5dn”,a,b);printf(“%x,%dn”,a,b);输入输入:017 17运行结果运行结果:15 17f,17XXX2022/9/2019
12、第19页,共40页,编辑于2022年,星期一输入输入:一个十进制的数一个十进制的数输出输出:相应的八进制和十六进制数相应的八进制和十六进制数2022/9/2020第20页,共40页,编辑于2022年,星期一基本数据类型基本数据类型实型(实数类型)实型(实数类型)1 实型常量实型常量(实数实数)一般一般形式形式(3.14、-3.56、0.0、1.),指数指数形式(形式(0.326可以表示为可以表示为:0.326e0,3.26e-1)科学记数法科学记数法注意注意:e之前必须有数字,且之前必须有数字,且e后面的指数必须为整数。后面的指数必须为整数。如如e3,、5e3.6 等都是不合法的指数形式。等都
13、是不合法的指数形式。2022/9/2021第21页,共40页,编辑于2022年,星期一实型变量2 实型变量实型变量 -单精度浮点型单精度浮点型 float a,b,c;-双精度浮点型双精度浮点型 double x,y,z;4字节存储字节存储8字节存储字节存储2022/9/2022第22页,共40页,编辑于2022年,星期一实型数据的输入和输出printf()float、double使用相同的格式控制说明使用相同的格式控制说明%f:%f:以以小数小数形式输出浮点数,保留六位小数形式输出浮点数,保留六位小数%e:%e:以以指数指数形式输出形式输出2022/9/2023第23页,共40页,编辑于20
14、22年,星期一例:实型数据的输出#includemain()float f=123.45;double d=3.1415926;printf(“%f,%en”,f,f);printf(“%f,%en”,d,d);printf(“%5.3f,%5.2f,%.2f n”,d,d,d);运行结果运行结果:123.449997,1.234500e+0023.141593,3.121593e+0003.142,3.14,3.14一共5位,小数3位,小数点1位X2022/9/2024第24页,共40页,编辑于2022年,星期一实型数据的输入scanf()float、double的格式控制说明的格式控制说明
15、%f、%lf 不能规定精度不能规定精度 float f;scanf(“%4.2f”,&f);2022/9/2025第25页,共40页,编辑于2022年,星期一基本数据类型字符型1 字符常量字符常量 a A +字符常量只能包含一个字符字符常量只能包含一个字符,abc是非法的。是非法的。字符的存储字符的存储 内存中,每个字符占内存中,每个字符占一个字节一个字节,存储该字符的,存储该字符的ASCIIASCII码码 字符字符 ASCII ASCII码码 内存内存 A A 65 0100 0001 65 0100 0001 a a 97 0110 0001 97 0110 0001 字符的数字特征字符的
16、数字特征 字符可以当作整数用字符可以当作整数用ASCIIASCII码码 A A+1=66=+1=66=B B 转义字符常量转义字符常量,又称反斜线字符(,又称反斜线字符(特定的字符)特定的字符),代表代表一个特定的一个特定的ASCIIASCII字符字符,这些字符必须在一对单引号内:这些字符必须在一对单引号内:nn dddddd xhhxhh 00(空)(空)ddd:ddd:八进制数代表的字符八进制数代表的字符 hh hh:十六进制数代表的字符:十六进制数代表的字符 注意:转义字符常量只代表一个字符!注意:转义字符常量只代表一个字符!2022/9/2026第26页,共40页,编辑于2022年,星
17、期一常用的转义字符常量的含义字符形式意义a响铃n回车换行(回到第2行第一个位置)t横向跳格(8或4个)!根据前面为参考r回车(回到本行第一个位置)b退格f换页(没有变化)0空字符反斜杠 ”单引号 双引号xhh1到2位16进制所表示的字符ddd?1到3位8进制所表示的字符问号字符2022/9/2027第27页,共40页,编辑于2022年,星期一典型试题11 1下面四个选项中,合法的字符常量是:下面四个选项中,合法的字符常量是:A A“B B”B 101 B 101 C 68 C 68 D DD D2 2下面四个选项中,正确的字符常量是:下面四个选项中,正确的字符常量是:A 084 A 084 B
18、 x43 B x43 C ab C ab D 0D 02022/9/2028第28页,共40页,编辑于2022年,星期一典型试题23 3 已知大写字母已知大写字母A A的的ASCIIASCII码值是码值是65,65,小写字母小写字母a a的的ASCIIASCII码是码是9797,则用八进制表示的字符常量,则用八进制表示的字符常量102102是是A A 字符字符A AB B 字符字符a a C C 字符字符c cD D 字符字符B B(102)8=82+2=66 ASCII码值是662022/9/2029第29页,共40页,编辑于2022年,星期一字符变量char c,d;c=2;d=#;或或c
19、=A;d=65;int i;i=65;或或i=A;整型变量和字符变量的定义和赋值可以互换(整型变量和字符变量的定义和赋值可以互换(ASIIASII码码范围)。范围)。2022/9/2030第30页,共40页,编辑于2022年,星期一字符型数据的输入和输出 scanf()和和printf()%c char ch;scanf(“%c”,&ch);printf(“%c”,ch);getchar()和和putchar()char ch;ch=getchar();putchar(ch);2022/9/2031第31页,共40页,编辑于2022年,星期一例1:字符的输入、输出#includemain()c
20、har ch1,ch2,ch3;scanf(“%c%c%c”,&ch1,&ch2,&ch3);printf(“%c%c%c%c%c”,ch1,#,ch2,#,ch3);输入:输入:abcabc输入:输入:a b ca b c运行结果:运行结果:a#b#ca#b#c运行结果:运行结果:a#ba#b2022/9/2032第32页,共40页,编辑于2022年,星期一 printf(“%c,%dn”,b,b);printf(“%c,%dn”,98,98);printf(“%c,%dn”,97,b-1);2022/9/2033第33页,共40页,编辑于2022年,星期一输入一个小写字母,输出相应的大写字
21、母输入一个小写字母,输出相应的大写字母2022/9/2034第34页,共40页,编辑于2022年,星期一变量总结1.变量的命名规则要符合标识符变量的命名规则要符合标识符(见标识符)见标识符)2.变量的基本类型变量的基本类型:整型变量整型变量,实型变量实型变量,字符变量字符变量3.先定义,再使用先定义,再使用4.C语言中定义的变量,代表内存中的一个地址语言中定义的变量,代表内存中的一个地址2022/9/2035第35页,共40页,编辑于2022年,星期一标识符1 1标识符在标识符在c c言中用作变量名、函数名、数组名、指针名等言中用作变量名、函数名、数组名、指针名等2 2第一个必须是第一个必须是
22、字母字母与与下划线下划线。3 3字母、数字、下划线字母、数字、下划线组成组成4 4关键字不能作为其它标识符关键字不能作为其它标识符,但但关键字大写关键字大写可作标识符可作标识符5 5预定义标识符预定义标识符(如如scanf)scanf)允许作其它用允许作其它用,但最好不要另作其但最好不要另作其用。用。2022/9/2036第36页,共40页,编辑于2022年,星期一典型试题11 1 可在可在C C程序中用作用户标识符的一组标识符是:程序中用作用户标识符的一组标识符是:A 12ab A 12ab B f-at B f-at C awC aw1e 1e D b6tyD b6ty2 2 以下关于以下
23、关于c c语言标识符的描述中,正确的是:语言标识符的描述中,正确的是:A A 标识符可以由汉字组成标识符可以由汉字组成 B B 标识符只能以字母开头标识符只能以字母开头C C 关键字可以作为用户标识符关键字可以作为用户标识符D IF D IF 可以作为用户定义的合法标识符可以作为用户定义的合法标识符2022/9/2037第37页,共40页,编辑于2022年,星期一典型试题23 3 以下不能定义用户标识符是以下不能定义用户标识符是A scanf A scanf B Void B Void C _3com C _3com D intD int4 4可在可在C C程序中用作用户标识符的一组标识符是程
24、序中用作用户标识符的一组标识符是A 1vod B as_b3 C For D 2cA 1vod B as_b3 C For D 2c Define _123 -abc Do,Define _123 -abc Do,WORD If c.se SIG WORD If c.se SIG2022/9/2038第38页,共40页,编辑于2022年,星期一其他常量字符串常量字符串常量 用用双引号双引号,“happyhappy”,“”,“”(表示空表示空)等。等。注意:注意:n n个字符串常量,内存中占个字符串常量,内存中占n+1n+1个字符空间个字符空间 字符串的结束标志:字符串的结束标志:00例例 不合法的不合法的C C语言字符串常量是:语言字符串常量是:A A “121121”B B X XC C“tttt”D D“XYZXYZ”2022/9/2039第39页,共40页,编辑于2022年,星期一2022/9/2040第40页,共40页,编辑于2022年,星期一