1、主要内容:主要内容:c语言的三种基本数据类型语言的三种基本数据类型算术运算符以及赋值运算符算术运算符以及赋值运算符重点、难点:掌握每种数据类型的常量如何表示、重点、难点:掌握每种数据类型的常量如何表示、变量如何定义。变量如何定义。各种运算符号的运算规则、不同运各种运算符号的运算规则、不同运算符号之间的优先级和结合性。算符号之间的优先级和结合性。例题:输入一个四位的正整数,提取并输出每一位例题:输入一个四位的正整数,提取并输出每一位上的数字。上的数字。例如:输入例如:输入1978,则输出,则输出1,9,7,8问题问题3:怎样输入怎样输入数据?数据?问题问题2:输:输入的数据怎入的数据怎样存放?样
2、存放?问题问题4:通过:通过什么运算可以什么运算可以将每一位上的将每一位上的数字取出?数字取出?问题问题5:怎:怎样将结果保样将结果保存并输出?存并输出?问题问题1:输输入的是什入的是什么样的数么样的数据?据?问题问题1:输输入的是什入的是什么样的数么样的数据?据?答:整数。答:整数。C C数数据据类类型型基本类型基本类型构造类型构造类型指针类型指针类型字符类型字符类型charchar枚举类型枚举类型enumenum整型整型浮点型浮点型单精度型单精度型floatfloat双精度型双精度型doubledouble短整型短整型shortshort长整型长整型longlong整型整型intint数组
3、数组结构体结构体structstruct共用体共用体unionunion空类型空类型voidvoid问题问题2:输:输入的数据怎入的数据怎样存放?样存放?答:暂存于变量中。答:暂存于变量中。一、一、变量变量变量:其值可以改变的量。变量:其值可以改变的量。在使用时应为每个变量起一个名字在使用时应为每个变量起一个名字变量名变量名 可以给变量赋值可以给变量赋值变量值变量值注意区分变量名和变量注意区分变量名和变量值的不值的不同同:变量名:实际上是一个符号地址,在编译时,系变量名:实际上是一个符号地址,在编译时,系统根据变量的类型分配相应的内存单元。统根据变量的类型分配相应的内存单元。变量值:内存存储单
4、元中存放的数据。变量值:内存存储单元中存放的数据。2000H2001H2002H2003H2004Hint x;系统给系统给x分配分配了了4个个字节字节的空间的空间x=3;30000001100000000如果在程序中需要用到如果在程序中需要用到3这个数据这个数据了,那么我们可以直接用了,那么我们可以直接用x这个变这个变量名称来代表(取得)它。例如:量名称来代表(取得)它。例如:x*6使用变量值使用变量值:实际上就是根据:实际上就是根据变量名所标识的地址找到相应变量名所标识的地址找到相应的内存单元的内存单元,从中取出数据。,从中取出数据。变量名变量名变量值变量值0000000000000000
5、标识符:标识符:用来标识变量名用来标识变量名、符号常量名、符号常量名、函数函数名、数组名、文件名等的有效字符序列。名、数组名、文件名等的有效字符序列。C中中对用户自定义标对用户自定义标识符的规定:识符的规定:只能由字母、数字、下划线组成;只能由字母、数字、下划线组成;例如:例如:max min x_1 _a1 第一个字符必须为字母或者下划线;第一个字符必须为字母或者下划线;不能和系统的关键字重名。不能和系统的关键字重名。在在C语言中,标识符有语言中,标识符有3种:种:、和和 。关键字关键字系统预定义的标识符系统预定义的标识符用户标识符用户标识符练习:判断下列标识符的正误:练习:判断下列标识符的
6、正误:stu1 a.1 a_2 _xy x?y 1ab int xxxx注:注:1)见名知义见名知义2)先定义,后使用;先定义,后使用;题解:题解:#include“stdio.h”void main()问题问题2:输:输入的数据怎入的数据怎样存放?样存放?答:暂存于变量中。答:暂存于变量中。整型变量如整型变量如何说明?何说明?答:答:int 变量名称表变量名称表例如:例如:int a,b;int x,thun,hun,ten,id;分析:程序中用到几个变量?分析:程序中用到几个变量?问题问题3:怎样输入怎样输入数据?数据?答:答:scanf函数函数格式:格式:scanf(格式控制,地址列表格
7、式控制,地址列表)注:注:1、功能:从标准输入设备上读入不同类型的多个数、功能:从标准输入设备上读入不同类型的多个数据,并将它们按照指定格式进行转换后,存储于地址据,并将它们按照指定格式进行转换后,存储于地址列表对应的变量中。列表对应的变量中。由由%和格式字符组成。和格式字符组成。整型变量的格式字符:整型变量的格式字符:d由若干个变量地址组由若干个变量地址组成。(成。(&变量名)变量名)题解:#include“stdio.h”void main()int x,thun,hun,ten,id;scanf(,);输入整型输入整型数据存放数据存放在变量在变量x中中“”%d&x%d&x%d&x问题问题
8、4:通过什么运:通过什么运算可以将每一位上算可以将每一位上的数字取出?的数字取出?答:算术运算答:算术运算1.1.基本的算术运算符基本的算术运算符+(+(加加)-()-(减减)*(乘乘)/()/(除除)%(%(模,或求余,模,或求余,%两侧均应为整型数据两侧均应为整型数据)。2.算术表达式:用算术运算符将运算对象连算术表达式:用算术运算符将运算对象连接起来的式子。接起来的式子。例如:表达式表达式表达式的值表达式的值2+3*2.59.55/22-5/2-2两个整数相除结两个整数相除结果仍然为整数,果仍然为整数,而且向零取整。而且向零取整。5%3 2(-5)%3 -2将下列算术式子用将下列算术式子
9、用c语言的形式表达出来:语言的形式表达出来:1、3+2xy3+2*x/y2、x+5y(8-z)2X+5*y/(8-2)*(8-2)()题解:#include“stdio.h”void main()int x,thun,hun,ten,id;scanf(“%d”,&x);thun=hun=ten=id=x/1000;x%1000/100;x%100/10;x%10;通过运算分别通过运算分别求得个、十、求得个、十、百、千位上的百、千位上的数字数字问题问题5:怎样将:怎样将结果输出?结果输出?答:答:printf函数函数格式:格式:printf(格式控制,输出项表格式控制,输出项表)注:注:1、功能
10、:向终端输出若干任意类型的数据、功能:向终端输出若干任意类型的数据由由%和格式字符组成。和格式字符组成。整型变量的格式字符:整型变量的格式字符:d由若干个变量名或者由若干个变量名或者表达式组成。表达式组成。题解:#include“stdio.h”void main()int x,thun,hun,ten,id;scanf(“%d”,&x);thun=x/1000;hun=x%1000/100;ten=x%100/10;id=x%10;分别输出个、分别输出个、十、百、千位十、百、千位上的数字上的数字printf(“%d,%d,%d,%dn”,thun,hun,ten,id);1)格式控制:双引号
11、括起来的字符串。)格式控制:双引号括起来的字符串。例如:例如:printf(“x=%d,y=%dn”,x,y);格式控制格式控制输出列表输出列表一般包括两种信息:一般包括两种信息:格式说明:格式说明:由由%和格式字符组成。例如:和格式字符组成。例如:%c%d%f 等等等等普通字符:照原样输出普通字符:照原样输出格式说明格式说明普通字符普通字符printf函数的进一步说明:函数的进一步说明:若若x、y的值分别为的值分别为3、5则输出:则输出:x=3,y=5题解:#include“stdio.h”void main()int x,thun,hun,ten,id;scanf(“%d”,&x);thu
12、n=x/1000;hun=x%1000/100;ten=x%100/10;id=x%10;若输入的数据为若输入的数据为1978,则输出则输出1978:1,9,7,8printf格式应怎样规定?格式应怎样规定?printf(“,);x,thun,hun,ten,id%d:%d,%d,%d,%dn一、整型常量一、整型常量十进制:十进制:由正负号以及由正负号以及0到到9的数字组成,的数字组成,不能包含小数点。不能包含小数点。例如:例如:12 -36 等等等等八进制:八进制:以以0开头,由开头,由0到到7的数字组成,的数字组成,例如:例如:014 -042 等等等等十六进制:十六进制:以以0 x或者或
13、者0X开头,开头,由由0到到9及及a到到f或者或者A到到F的数字组成,的数字组成,例如:例如:0 xb -0 x22 等等等等二、整型变量二、整型变量1、整型变量的存放形式、整型变量的存放形式整整型数据在内存中以二进制的补码形式存放。型数据在内存中以二进制的补码形式存放。整型变量整型变量基本整型基本整型(4B)短整型短整型(2B)长整型长整型(4B)有符号有符号 int无符号无符号 unsigned int 有符号有符号 short(int)无符号无符号 unsigned short(int)有符号有符号 long (int)无符号无符号 unsigned long(int)2 2、整型变量的
14、分类、整型变量的分类练习练习:1、输入一个分钟数,转换成小时和分钟输出。、输入一个分钟数,转换成小时和分钟输出。例如输入例如输入200,则输出,则输出 200 minutes=3 hours and 20 minutes2、输入两个整数,分别存放于两个变量中,然后、输入两个整数,分别存放于两个变量中,然后将两个变量的值交换并输出。将两个变量的值交换并输出。1、定义一个整型的变量、定义一个整型的变量x,应使用的语句,应使用的语句为为:。int x;2、C语言本身不提供输入输出语句,输入和输出操语言本身不提供输入输出语句,输入和输出操作是由作是由C函数库中的函数来实现的。最基本的输出函函数库中的函
15、数来实现的。最基本的输出函数是数是 ,最基本的输入函数是,最基本的输入函数是 。若已有定义:若已有定义:int x;则则printf();scanf();从键盘输入数据给从键盘输入数据给x应使用的语句为:应使用的语句为:。scanf(”%d”,&x);若若x的值为的值为100,要求输出,要求输出x=100的语句为:的语句为:。printf(”x=%d”,x);例题(例题(sy4.c):输入一个小数,将其保留小数位):输入一个小数,将其保留小数位数后两位(进行四舍五入),并输出结果。数后两位(进行四舍五入),并输出结果。例如:输入例如:输入123.674,则输出,则输出123.67 输入输入12
16、3.678,则输出,则输出123.68问题问题3:怎样输入怎样输入数据?数据?问题问题2:输:输入的数据怎入的数据怎样存放?样存放?问题问题4:通过:通过什么运算可以什么运算可以将数据保留至将数据保留至小数位后两位小数位后两位并进行四舍五并进行四舍五入?入?问题问题5:怎:怎样将结果保样将结果保存并输出?存并输出?问题问题1:输输入的是什入的是什么样的数么样的数据?据?问题问题1:输输入的是什入的是什么样的数么样的数据?据?答:小数,答:小数,实型数据。实型数据。实型数据也叫浮点数(实型数据也叫浮点数(floatingpoint number)一、实型常量一、实型常量表示形式有两种:表示形式有
17、两种:1)十进制小数形式:由数字和小数点组成。)十进制小数形式:由数字和小数点组成。而且必须有小数点。而且必须有小数点。例如:例如:1.2 3.45 .67 100.等等等等2)指数形式:)指数形式:例如数据例如数据 1234.5 可以表示成:可以表示成:123.45 x 101123.45e+112.345e+212.345 x 1021.2345e+31.2345 x 10312345e-112345 x 10-1规范化的规范化的指数形式:小数点前指数形式:小数点前有而且只有一位非零的数字有而且只有一位非零的数字题解:题解:#include“stdio.h”void main()问题问题2
18、:输:输入的数据怎入的数据怎样存放?样存放?答:暂存于变量中。答:暂存于变量中。实型变量如实型变量如何说明?何说明?答:答:float 变量名称表变量名称表例如:例如:float a,b;float x,y;分析:程序中用到几个变量?分析:程序中用到几个变量?二、实型变量二、实型变量1、存放形式:、存放形式:按指数形式存放。按指数形式存放。一般的实型数据占用一般的实型数据占用4个字节。即个字节。即32位。位。单精度单精度 float 4B 有效位有效位7位位双精度双精度 double 8B 有效位有效位16位位3、输入、输出格式符、输入、输出格式符单精度单精度%f长双长双精度精度 long d
19、ouble问题问题3:怎样输入怎样输入数据?数据?答:答:scanf函数函数格式:格式:scanf(格式控制,地址列表格式控制,地址列表)由由%和格式字符组成。和格式字符组成。实型数据的格式字符:实型数据的格式字符:f由若干个变量地址组由若干个变量地址组成。(成。(&变量名)变量名)题解:题解:#include“stdio.h”void main()float x,y;scanf(,);输入实型输入实型数据存放数据存放在变量在变量x中中“”%f&x问题问题4:通过什么运:通过什么运算可以将小数四舍算可以将小数四舍五入保留到小数位五入保留到小数位后两位?后两位?答:算术运算答:算术运算 1001
20、23.68123.6712367.812367.4123.678123.6741236812367+0.512368.312367.9?(int)100y=(int)(x*100+0.5)y=(int)(x*100+0.5)/100 xy=x*100y=x*100+0.5?.?题解:题解:#include“stdio.h”void main()float x,y;scanf(“%f”,&x);问题问题4:通过运:通过运算以将小数四舍算以将小数四舍五入保留到小数五入保留到小数位后两位?位后两位?y=(int)(x*100+0.5)/100.float a=5.1,cfloat a=5.1,c;i
21、nt bint b;b=a%3b=a%3;c=ac=a*b;b;float a=5.1,cfloat a=5.1,c;int bint b;b=(int)a%3b=(int)a%3;c=ac=a*b b注意:强制类型转换运算符优先级高于算术运算符注意:强制类型转换运算符优先级高于算术运算符优先级优先级C的值是:的值是:1010.2练习:设练习:设 x=2.5,a=7,y=4.7 计算下列表达式计算下列表达式的值x+a%3*(x+y)%x/4(int)(x+y)%(int)x/4 错误的表达式错误的表达式正确的表达式正确的表达式返回返回=2.5+7%3*(int)(2.5+4.7)%(int)2
22、.5/4=2.5+1*(int)(7.2)%2/4=2.5+1*7%2/4=2.5+1/4=2.5+0.25=2.7502.5问题问题5:怎样将:怎样将结果输出?结果输出?答:答:printf函数函数格式:格式:printf(格式控制,输出项表格式控制,输出项表)由由%和格式字符组成。和格式字符组成。实型变量的格式字符:实型变量的格式字符:f由若干个变量名或者由若干个变量名或者表达式组成。表达式组成。题解:题解:#include“stdio.h”void main()float x,y;scanf(“%f”,&x);y=(int)(x*100+0.5)/100.;printf(“%f”,y);
23、例如:输入一个球的半径(整数),分别计算球例如:输入一个球的半径(整数),分别计算球的周长、截面积和体积,并输出。的周长、截面积和体积,并输出。main()float l,s,v;/*对变量的声明*/scanf(“%d”,&r);/*输入球的半径*/l=/*圆的周长*/s=/*圆的截面积*/2*3.1416*r;3.1416*r*r;v=/*球的体积*/4*3.1416*r*r*r/3;#define PI 3.1416PIPIPI3.14符号常量符号常量printf(“circumference:%f,area:%f,volum:%fn”,l,s,v);int r;8 8位字符位字符8 8个
24、字符个字符对对错错错错错错四、对字符数据的输入输出格式符为:四、对字符数据的输入输出格式符为:%c字符字符aaASCIIASCII码:码:内存形式:内存形式:97970110000101100001ASCIIASCII码:码:内存形式:内存形式:98980110001001100010字符字符bb字符字符AA内存形式:内存形式:0100000101000001内存形式:内存形式:0100001001000010字符字符BBASCIIASCII码:码:6565ASCIIASCII码:码:6666注意:注意:%c%c表示什么含义表示什么含义%d%d表示什么含义表示什么含义总结:字符总结:字符变量可
25、用整型变量可用整型数据赋值数据赋值 字符数据可输出字符,亦可输出整数字符数据可输出字符,亦可输出整数总结:字符数据可以总结:字符数据可以进行算术运算,且以字符的进行算术运算,且以字符的ASCII码参与运算。码参与运算。程序结果:程序结果:A,B例题:输入一个小写字母,转换成其对应的大写字母例题:输入一个小写字母,转换成其对应的大写字母输出。输出。题解:题解:#inlcude“stdio.h”void main()/*定义变量定义变量*/*输入字母输入字母*/*字母转换字母转换*/*输出输出*/char c1,c2;scanf(“%c”,&c1);c2=c1-32;printf(“%c”,c2)
26、;c1=getchar();putchar(c2);练习作业:练习作业:1、字母译码:输入一个小写字母,输出其后的第四个、字母译码:输入一个小写字母,输出其后的第四个字符。字符。(zuoye1.c)例如:输入例如:输入a,输出,输出d;输入输入v,输出,输出z;输入输入y,输出,输出c;2、数字字符与数字之间的转换:输入一个数字字符,、数字字符与数字之间的转换:输入一个数字字符,输出对应的数值。输出对应的数值。(zuoye2.c)例如:输入字符例如:输入字符9,输出数值输出数值91 1、字符、字符变量可以整型数据赋值变量可以整型数据赋值2 2、字符、字符数据可输出字符,亦可输出整数数据可输出字
27、符,亦可输出整数3 3、字符、字符数据可以数据可以进行算术运算,且以字符的进行算术运算,且以字符的ASCIIASCII码参与运算。码参与运算。下一页下一页一、一、getchar()作用:从终端接收一个字符,只能接受一个字符,作用:从终端接收一个字符,只能接受一个字符,以回车键结束输入。以回车键结束输入。注:该函数为空参,但括号不可以省略。函数的注:该函数为空参,但括号不可以省略。函数的返回值即为从键盘接收的字符。返回值即为从键盘接收的字符。常用格式:用赋值运算符将该函数的返回值赋值给常用格式:用赋值运算符将该函数的返回值赋值给字符型变量。字符型变量。例如:例如:char c;c=getchar
28、();注:注:getchar(c);错误的函数使用错误的函数使用补充:字符数据的输入和输出补充:字符数据的输入和输出返回返回补充:字符数据的输入和输出补充:字符数据的输入和输出二、二、putchar()作用:向终端输出一个字符。作用:向终端输出一个字符。参数可以为常量、变量、表达式或者函数。参数可以为常量、变量、表达式或者函数。例如例如 main()char c1=a;putchar(c1);putchar(b);putchar(c1-32););#include“stdio.h”返回返回一、赋值运算符一、赋值运算符 “=”作用:将运算符右边的表达式的值赋值给左边的变量。作用:将运算符右边的表
29、达式的值赋值给左边的变量。注:运算符左边只能为变量,不能为常量或者表达式。注:运算符左边只能为变量,不能为常量或者表达式。例如:例如:x=5 常量常量5赋给变量赋给变量x y=3*9+6 把表达式的值把表达式的值33 赋给变量赋给变量y 以上都是正确的以上都是正确的 5=x x+y=3 都是错误的都是错误的赋值运算符与双目运算符连接组成复合赋值运算符。赋值运算符与双目运算符连接组成复合赋值运算符。=与与 +-+-*/%/%连接形成:连接形成:+=-=+=-=*=/=%=/=%=复合赋值运算符复合赋值运算符例如:例如:a+=5a+=51 1、其作用相当于变量与运算符右边的表达式进行相、其作用相当
30、于变量与运算符右边的表达式进行相应的运算后,再将结果赋值给变量本身。应的运算后,再将结果赋值给变量本身。1 1、其作用相当于变量与运算符右边的表达式进行相、其作用相当于变量与运算符右边的表达式进行相应的运算后,再将结果赋值给变量本身。应的运算后,再将结果赋值给变量本身。上例中:上例中:a+=5 a+=5 就相当于就相当于 a=a+5a=a+51 1、其作用相当于变量与运算符右边的表达式进行相、其作用相当于变量与运算符右边的表达式进行相应的运算后,再将结果赋值给变量本身。应的运算后,再将结果赋值给变量本身。上例中:上例中:a+=5 a+=5 就相当于就相当于 a=a+5a=a+5再如:再如:x
31、x*=y+8 =y+8 相当于相当于 x=xx=x*(y+5)(y+5)2 2、结合性:右结合、结合性:右结合3 3、赋值表达式的值:被赋、赋值表达式的值:被赋值的变值的变量的值。量的值。4161、逗号运算符:、逗号运算符:,2、逗号表达式:由逗号连接起来的多个式子、逗号表达式:由逗号连接起来的多个式子形式:表达式,表达式,表达式形式:表达式,表达式,表达式注:)自左至右依次求取每个表达式的值,最右边表达注:)自左至右依次求取每个表达式的值,最右边表达式的值即为整个逗号表达式的值。式的值即为整个逗号表达式的值。例如:例如:3+5,4*6,5/3,9%6整个表达式的值为整个表达式的值为32)在所有的运算符中级别最低。小结:小结:以上三种以上三种运算符的优先级为:运算符的优先级为:算术运算符算术运算符*/%+-赋值运算符赋值运算符=+=-=*=/=%=逗号运算符逗号运算符,低低高高练习:练习:int a=0,b=0,c=0;c=(a-=a-5),(a=b,a+3)printf(“%d,%d,%dn”,a,b,c);结果为:结果为:0,0,5
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。