第二章 C语言程序设计-数据类型、运算符、输入输出函数.ppt
第2章 C语言基础及顺序结构程序设计 2.1 C的基本词法单位C的基本语法单位是函数单词单词用户标识符:英文大小写字母、数字和下画线用户标识符:英文大小写字母、数字和下画线用户标识符:英文大小写字母、数字和下画线用户标识符:英文大小写字母、数字和下画线 (遵循规则(遵循规则(遵循规则(遵循规则 P22 P22 )_1_2_3 sum_1 user-1 INT _1_2_3 sum_1 user-1 INT IntInt intint 9D64 M.D.Jonhn#a 9D64 M.D.Jonhn#aa3_b1 include a3_b1 include PrintfPrintf DAY DAY dayday max min max min x+yx+y#sum /no#sum /noxyemdwh11 _125sibwbxyemdwh11 _125sibwb(见名知意,有含义的英文单词)见名知意,有含义的英文单词)见名知意,有含义的英文单词)见名知意,有含义的英文单词)保留标识符:标准库函数名(附录保留标识符:标准库函数名(附录保留标识符:标准库函数名(附录保留标识符:标准库函数名(附录B B)、预编译命令)、预编译命令)、预编译命令)、预编译命令 (#include(#include、#define)#define)关键字:关键字:关键字:关键字:3232个(小写字母个(小写字母个(小写字母个(小写字母 P22P22)2.2 C的数据类型数数数数据据据据类类类类型型型型构造类型构造类型构造类型构造类型指针类型指针类型指针类型指针类型空类型(空类型(空类型(空类型(无值类型)无值类型)无值类型)无值类型)voidvoidvoidvoid基本类型基本类型基本类型基本类型整型整型整型整型字符型字符型字符型字符型实型实型实型实型常量常量变量变量常量常量变量变量常量常量变量变量floatfloat(7)(7)、doubledouble(16)(16)、long doublelong double(19)(19)自动按常量范围自动按常量范围决定其数据范围决定其数据范围(类型),默认(类型),默认intint(P29P29)十进制:十进制:3276832768、7878、101101L L、891891l l八进制八进制:前缀前缀0 0,符号,符号:0:07 7十六进制十六进制:前缀前缀0 x0 x或或0X0X,符号,符号:0:09 9和和a a f f或或A A F F先定义,再使用先定义,再使用带符号带符号:intint、shortshort、longlong无符号无符号:unsignedunsigned、unsigned longunsigned long、unsigned shortunsigned short小数:小数:1.21.2、-11.-11.、.78.78、23.423.4F F、876.43876.43l l指数指数:AeNAeNAeNAeN:1.8e-3:1.8e-3、-123e-6-123e-6、-.1e-3-.1e-3、e3e3、2.1e3.52.1e3.5、7.+e27.+e2-3.e3-3.e3、e e、0.5e20.5e2f f、3.6e53.6e5L L只有十进制数形式,默认双只有十进制数形式,默认双精度。指数形式时:字母精度。指数形式时:字母e e(或或E)E)之前必须有数字,且之前必须有数字,且e e后面的指数必须为整数。后面的指数必须为整数。单字符:单字符:字符串:字符串:“ahyf456ahyf456ahyf456ahyf456“C program!C program!C program!C program!“n376day“xab “n376day“xab 多存储了结多存储了结束标志束标志 00 char char char char 单字符单字符单字符单字符存储的是存储的是ASCIIASCII码值(附录码值(附录A A),与),与整形相互赋值整形相互赋值类型符类型符 变量名变量名表;表;可在定可在定义时初义时初始化始化 单字符单字符 M M minmin 6 6 9898 ASCIIASCII码值码值(0(0255)56 1 254 255 255)56 1 254 255 转义字符转义字符(P25)(P25)n 143 n 143 x41x41符号常量符号常量符号常量符号常量:#define P27#define P27 例例例例2.22.2字符字符型与型与整形整形可相可相互转互转换换四则运算运算符的优先级运算符的优先级运算符的结合性运算符的结合性2.3 C的运算符和表达式运运运运算算算算符符符符赋值运算符赋值运算符赋值运算符赋值运算符关系运算符关系运算符关系运算符关系运算符条件运算符条件运算符条件运算符条件运算符算术运算符算术运算符算术运算符算术运算符基本算术:基本算术:自增自增/自减:自减:自动类型转换:自动类型转换:P42 P42 P42 P42 图图图图2-82-82-82-8强制类型转换强制类型转换:(类型标识符(类型标识符(类型标识符(类型标识符)表达式表达式表达式表达式 右、单右、单逻辑运算符逻辑运算符逻辑运算符逻辑运算符()()()()*/%/%/%/%表达式表达式表达式表达式1 1 运算符运算符运算符运算符 表达式表达式表达式表达式2 2 左,双左,双+-+-+-+-+-+-+-+-变量变量变量变量 运算符运算符运算符运算符 或或或或 运算符运算符运算符运算符 变量变量变量变量 右、单右、单基本:基本:=变量变量变量变量 运算符运算符运算符运算符 表达式表达式表达式表达式 右、双右、双复合:复合:+=-=*=/=%=+=-=*=/=%=+=-=*=/=%=+=-=*=/=%=变量变量变量变量 运算符运算符运算符运算符 表达式表达式表达式表达式 右、双右、双=!=表达式表达式表达式表达式1 1 1 1 运算符运算符运算符运算符 表达式表达式表达式表达式2 2 2 2 左,双,逻辑值左,双,逻辑值&|表达式表达式表达式表达式1 1 运算符运算符运算符运算符 表达式表达式表达式表达式2 2 左,双,逻辑值左,双,逻辑值&表达式表达式1=01=0时,结束时,结束 !运算符运算符运算符运算符 表达式表达式表达式表达式 左,单,逻辑值左,单,逻辑值|表达式表达式1=11=1时,结束时,结束?:?:?:?:表达式表达式表达式表达式1 1?表达式表达式表达式表达式2 2:表达式:表达式:表达式:表达式3 3 右,三右,三逗号运算符逗号运算符逗号运算符逗号运算符强制类型转换运算符强制类型转换运算符强制类型转换运算符强制类型转换运算符其他运算符其他运算符其他运算符其他运算符,表达式表达式表达式表达式 1,1,表达式表达式表达式表达式 2,2,,表达式,表达式,表达式,表达式n n 左,左,多多多多优先级优先级结合性结合性双目或单目双目或单目P33P33表表2-52-5求字节数:求字节数:sizeof(sizeof(sizeof(sizeof(表达式表达式表达式表达式)sizeof()sizeof()sizeof()sizeof(类型名类型名类型名类型名)右、单右、单指针:指针:*&()()()()!+强类强类强类强类*&sizeofsizeof*/%*/%+=!=!=&|?:?:=+=+=*=/=%=*=/=%=,double floatdouble floatlonglongunsignedunsignedint short,charint short,char本本章章所所学学算算术术运运算算符符的的优优先先级级不同类型不同类型数据混合数据混合运算时,运算时,自动转换自动转换规则规则 3*5+10/5%(8-6);float x,y;y=(x%3)/10;+a;b-;c-d;(b-c)+;a=b-2=a+b;a=(b=5*10)/(c=10/2);a*=4+12;a*=b%=5*6;a+=3+(a%=1+a/2);3=2=1+3;k=a+b!=c+d;!(a=b)&(a!=6);(a8);a%2=0&b%2!=0;a+d=b+c?m=ab:n!=cd;ab?(x=6):(x=7);d=(c=a+,c+,b*a*c,b/=a*c);y=2+16/10;sizeof(16/1.0);sizeof(16/10);2.3 C的运算符和表达式运运运运算算算算符符符符赋值运算符赋值运算符赋值运算符赋值运算符关系运算符关系运算符关系运算符关系运算符条件运算符条件运算符条件运算符条件运算符算术运算符算术运算符算术运算符算术运算符基本算术:基本算术:自增自增/自减:自减:自动类型转换:自动类型转换:y=2+16/10y=2+16/10强制类型转换强制类型转换:(long)x*y (long)x*y (double)(a/b)(double)(a/b)逻辑运算符逻辑运算符逻辑运算符逻辑运算符()()*/%/%3*5+10/5%3*5+10/5%(8-68-6)+-+-+-+-+a b-c-d +a b-c-d (b-c)+b-c)+基本:基本:=复合:复合:a=b-2=a+b a=(b=5*10)/(c=10/2)a=b-2=a+b a=(b=5*10)/(c=10/2)+=-=*=/+%=+=-=*=/+%=a*=4+12 a*=b%=5*6 a+=3+(a%=1+a/2)a*=4+12 a*=b%=5*6 a+=3+(a%=1+a/2)=2=1+3 k=a+b!=c+d3=2=1+3 k=a+b!=c+d&|!&|!(a=b)&(a!=6)(a8)a%2=0&b%2!=0!(a=b)&(a!=6)(a8)a%2=0&b%2!=0?:?:a+d=b+c?m=ab:n=cd ab?(x=6)a+d=b+c?m=ab:n=cd ab?(x=6):(x=7):(x=7)逗号运算符逗号运算符逗号运算符逗号运算符强制类型转换运算符强制类型转换运算符强制类型转换运算符强制类型转换运算符其他运算符其他运算符其他运算符其他运算符,d=(c=a+,c+,b*a*c,b/=a*c)d=(c=a+,c+,b*a*c,b/=a*c)表达式的值表达式的值表达式中所有变量的值表达式中所有变量的值表达式值的类型表达式值的类型求字节数:求字节数:sizeof(16/1.0)sizeof(16/1.0)sizeof(16/10)sizeof(16/10)指针:指针:x=&a x=&a y=*by=*b 2.4 C的输入与输出输输输输入入入入与与与与输输输输出出出出格格格格式式式式输输输输入入入入输输输输出出出出 putchar(putchar(putchar(putchar(c c c c)字符型常量或变量字符型常量或变量字符型常量或变量字符型常量或变量 putchar(56);putchar(89);putchar(56);putchar(89);putcharputchar(=);(=);putcharputchar(a);(a);变量名变量名变量名变量名=getchar()=getchar()=getchar()=getchar()无参数无参数无参数无参数,得到的字符可以赋给字符或整形变量得到的字符可以赋给字符或整形变量得到的字符可以赋给字符或整形变量得到的字符可以赋给字符或整形变量 char c;char c;intint d;d;c=getchar();d=getchar();c=getchar();d=getchar();单单单单字字字字符符符符的的的的输输输输入入入入输输输输出出出出printf(printf(printf(printf(“普通字符普通字符普通字符普通字符 或或或或%格式控制符格式控制符格式控制符格式控制符”,输出表列,输出表列,输出表列,输出表列);普通字符:原样输出普通字符:原样输出普通字符:原样输出普通字符:原样输出 ASCII ASCII 转义字符转义字符转义字符转义字符 unicodeunicode 格式控制:控制输出数据的格式格式控制:控制输出数据的格式格式控制:控制输出数据的格式格式控制:控制输出数据的格式%附加格式字符附加格式字符附加格式字符附加格式字符 (P48 P48 表表表表2-7 2-7 表表表表2-82-8)输出表列:需要输出的数据(输出表列:需要输出的数据(输出表列:需要输出的数据(输出表列:需要输出的数据(表达式表达式表达式表达式),多个时用逗号分隔),多个时用逗号分隔),多个时用逗号分隔),多个时用逗号分隔scanfscanfscanfscanf(“(“普通字符普通字符普通字符普通字符 或或或或%格式控制符格式控制符格式控制符格式控制符”,&输入项地址表列输入项地址表列输入项地址表列输入项地址表列);普通字符:原样输入普通字符:原样输入普通字符:原样输入普通字符:原样输入 格式控制:控制输入数据的格式格式控制:控制输入数据的格式格式控制:控制输入数据的格式格式控制:控制输入数据的格式%格式字符格式字符格式字符格式字符 (P48 P48 表表表表2-7 2-7 表表表表2-82-8)地址表列:变量的地址,或字符串的首地址,多个时用逗号分隔地址表列:变量的地址,或字符串的首地址,多个时用逗号分隔地址表列:变量的地址,或字符串的首地址,多个时用逗号分隔地址表列:变量的地址,或字符串的首地址,多个时用逗号分隔 输入多个数据时,数据之间的分隔输入多个数据时,数据之间的分隔输入多个数据时,数据之间的分隔输入多个数据时,数据之间的分隔 intint a,da,d;char b;float c;char b;float c;scanf(“%dscanf(“%d%c%f d=%c%f d=%d”,&a,&b,&c,&dd”,&a,&b,&c,&d););printf(“cprintf(“c program!n”);program!n”);printf(“aprintf(“a=%d b=%d a*b=%=%d b=%d a*b=%f”,a,b,af”,a,b,a*b);*b);printf(“%d,%d”,i,iprintf(“%d,%d”,i,i+);+);表达式求解时,表达式求解时,按右至左顺序求解,按右至左顺序求解,按左至右顺序输出按左至右顺序输出配对配对分析程序运行结果:#includevoid main()int i,j;i=j=10;printf(i=%d,j=%dni(8)=%o,j(16)=%xn,i,j,i,j);#includevoid main()int a,d,b,c;scanf(“%d%d%d%d”,&a,&b,&c,&d);C的输入与输出练习分析以下程序运行结果#includevoid main()int a,b,c,d;scanf(%d%d%d%d,&a,&b,&c,&d);printf(a%d%d%d%dn,a,b,c,d);课本49页:例2.262.40C的输入与输出练习C的输入与输出练习%d%d%mdmd%mdmd%0md%ld%0md%ld intint a=5680;long b=32769;a=5680;long b=32769;printf(“printf(“%d%dn”,an”,a););printf(“aprintf(“a=%8d%8dn”,a);n”,a);printf(“aprintf(“a=%8d8dn”,a);n”,a);printf(“aprintf(“a=%08d%08dn”,a);n”,a);printf(“bprintf(“b=%ld%ld n”,bn”,b););%s%s%ms%ms%ms%ms%m.nsm.ns%-%-m.nsm.ns printf(“printf(“%s,%8s,%3s%s,%8s,%3sn”,”China”,”China”,”China”);n”,”China”,”China”,”China”);printf(“printf(“%7.2s,%.4s,%-5.3s%7.2s,%.4s,%-5.3sn”,”China”,”China”,”China”);n”,”China”,”China”,”China”);%c%c%mc%mc%mcmcchar m=126,n=#;char m=126,n=#;printf(“printf(“%c%c%d dn”,m,nn”,m,n););printf(“printf(“%3c%2c%3c%2cn”,m,n);n”,m,n);printfprintf(“(“%3c%-2c3c%-2cn”,m,n);n”,m,n);printfprintf()()函数常用的格式符和附加格式说明符:函数常用的格式符和附加格式说明符:%f%f%mf%mf%mf%mf%m.nfm.nf%-%-m.nfm.nf double f=123.456,g=123456.78;double f=123.456,g=123456.78;printf(“printf(“%f%f,%10f,%10.2f,%.2f,%-10.2f,%10f,%10.2f,%.2f,%-10.2fn”,f,f,f,f,f);n”,f,f,f,f,f);printf(“printf(“%e%e,%.8.3e,%6.0e,%.1e,%.8.3e,%6.0e,%.1en”,g,g,g,g);n”,g,g,g,g);56805680 5680 56805680568000005680000056803276932769 35 35#123.456000,123.456000,123.46,123.46,123.46 123.456000,123.456000,123.46,123.46,123.46 1.23457e+05,1.23e+05,1.23457e+05,1e+051.23457e+05,1.23e+05,1.23457e+05,1e+05例2.2(P27)编写求一个半径编写求一个半径r=3.0的球的体积的球的体积和表面积的程序。和表面积的程序。开始开始定义定义r、v、sr=3.0结束结束输出结果输出结果#include#define PI 3.14159void main()float r,v,s;r=3.0;v=4.0/3.0*PI*r*r*r;s=4.0*PI*r*r;printf(“v=%f,s=%fn”,v,s);例:字符常量与变量分析下面程序的运行结果。分析下面程序的运行结果。#include void main()char c1=6,c2=0;printf(“Chinan101tn”);printf(“CHINA”);printf(“n376day“xabn“)printf(“%d%cn”,10+30,10+30);printf(“%d,%cn”,A,A);printf(“%c,%c,%d,%dn”,c1,c2,c1-c2,c1+c2);字符常量与变量分析下面程序的运行结果。分析下面程序的运行结果。#include void main()char c=A;int i=10;c=c+10;i=c/i;printf(“%c,%dn”,c,i);例:字符常量与变量分析下面程序的运行结果。分析下面程序的运行结果。#include void main()char c1=B,c2=Y;c1=c1+10;c2=c2-10;printf(“%d,%dn”,c1,c2);printf(“%d,%dn”,c1-1,c2+1);C算术运算符和表达式设变量设变量x、y的值分别为的值分别为12.2和和52.6,求下面,求下面算式的值。算式的值。#include void main()float x=12.2,y=52.6,m;m=(x+y)/2-31;printf(“%fn”,m);开始开始定义定义x=12.2,y=52.6,m结束结束输出结果输出结果C算术运算符和表达式求下面算式的求下面算式的C语言表达式。语言表达式。x=(-b+sqrt(b*b-4*a*c)/(2*a)(2*3.14159*r+exp(-3)*log(x)C自增自减运算符和表达式分析下面程序的运行结果。分析下面程序的运行结果。#include void main()int i=8;printf(“%d ”,+i);printf(“%d ”,-i);printf(“%d ”,i+);printf(“%d ”,i-);printf(“%d ”,-i+);printf(“%d ”,-i-);printf(“%d ”,i+i);printf(“%d ”,(i+)+(i+)+(i+);printf(“%dn”,i);9 8 8 9-8-916 27 12C自增自减运算符和表达式分析下面程序的运行结果。分析下面程序的运行结果。#include void main()int i=3,j=5,k=3,m,n;m=(+k)*j;n=(i+)*j;printf(“m=%d n=%d”,m,n);m=20 n=15例:C赋值运算符和表达式已知已知a=2,b=5,求解表达式,求解表达式x=y=a+b的值。的值。#include void main()int a=2,b=5,x,y;x=y=a+b;printf(“%d%dn”,x,y);已知已知a,b,c均为整形变量,求解表达式均为整形变量,求解表达式a=(b=32)/(c=7)的值。的值。#include void main()int a,b,c;a=(b=32)/(c=7);printf(“%dn”,a);7 74例:C算术复合赋值运算符和表达式#include void main()int x=2,y=0,z;x*=3+2;printf(“%d ”,x);x*=y=z=4;printf(“%dn”,x);#include void main()int a,b,c;a=(b=65)/(c=6);a+=3+(a%=1+a/2);c*=b+=12;printf(“%d,%d,%d”,a,b,c);10 4011,77,462分析下面程序的运行结果。分析下面程序的运行结果。C关系运算符和表达式#include void main()int a=1,b=2,c=3,d=4;printf(“%dn”,ac+d);printf(“%dn”,a-b=d-c);printf(“%dn”,a90+3*c);printf(“%dn”,d=c=b+5);printf(“%dn”,acb);分析下面程序的运行结果。分析下面程序的运行结果。10 101C逻辑运算符和表达式#include void main()int a=4,b=5,c=0;float d=65.55;printf(“%d,”,!a);printf(“%d,”,a&b);printf(“%d,”,a|c);printf(“%d,”,!d);printf(“%d,”,a&b);printf(“%d,”,(d3.5);printf(“%d,”,(a=b)&(a=0);printf(“%d,”,(ac)|(b=60);分析下面程序的运行结果。分析下面程序的运行结果。0,1,1,0,1,1,0,1,C逻辑运算符和表达式#include void main()int a=5,b=60;printf(“%d/n”,a%2=0&b%2!=0);printf(“%d/n”,53&a|54-!0);分析下面程序的运行结果。分析下面程序的运行结果。0/n1/nC逻辑运算符和表达式#include void main()printf(“%d”,14&47);printf(“%d”,14&74);printf(“%d”,25);printf(“%d”,!(13)|(25);printf(“%d”,!(4=6)&(3=7);分析下面程序的运行结果。分析下面程序的运行结果。10110例:C逻辑运算符和表达式#include void main()int a=-1,b=4,k;k=(+a0)&!(b-=0);printf(“%d%d%dn”,k,a,b);分析下面程序的运行结果。分析下面程序的运行结果。0 0 4例:C逻辑运算符和表达式#include void main()char ch1=g,ch2=R,ch3=H,ch4=p;printf(“%d/n”,(ch1=A)&(ch1=A)&(ch2=A)&(ch3=A)&(ch4=Z);分析下面程序的运行结果。分析下面程序的运行结果。0110C逻辑运算符和表达式#include void main()int c,x=1,y=1;c=x+|y+;printf(“%d%d%dn”,x,y,c);分析下面程序的运行结果。分析下面程序的运行结果。2 1 1C逻辑运算符和表达式如何用如何用C语言表示如下关系式:语言表示如下关系式:10y-10 x的值在的值在0,9axz判断字符型变量判断字符型变量ch的值为大写字母的值为大写字母y=-10 x=0&x=a&x=A&ch=Z#include void main()int a=1,b=2,c=3,d=4,e=5,m=1,n=1;printf(“%dnr”,a=0?-1:1);printf(“%dnr”,m=n?a:b);printf(“%dnr”,a=b?(e-c):(e-d);C条件运算符和表达式分析下面程序的运行结果。分析下面程序的运行结果。取表达式取表达式2 2的值的值表达式表达式1?1?真真假假取表达式取表达式3 3的值的值111#include void main()int a=1,b=2,c=3,d=4,m=7,n=7;printf(“%d,%d,%dnr”,m,n,a+d=b+c?m=ab:n=cd);m=n=8;printf(“%d,%d,%dnr”,m,n,a+d!=b+c?m=ab:n=cd);C条件运算符和表达式分析下面程序的运行结果。分析下面程序的运行结果。0,7,08,0,0#include void main()int a=1,b=2,x;printf(“%d,%d,%d,%dn”,a,b,x,ab?(x=6):(x=7);例:C条件运算符和表达式分析下面程序的运行结果。(嵌套)分析下面程序的运行结果。(嵌套)1,2,5,5#include void main()int x=5,y=8,a=34,b=12;printf(“%d”,xy?x+y:ab?a-b:a+b);22#include void main()int a;printf(“%dnr”,(55+8,7+9,10-5);printf(“%dnr”,(a=3*5,4*a);例:C逗号运算符和表达式分析下面程序的运行结果。分析下面程序的运行结果。560#include void main()int a=5,b=3,c,d;d=(c=a+,c+,b*=a*c,b/=a*c);printf(“%d%d%d%dn”,a,b,c,d);例:C逗号运算符和表达式分析下面程序的运行结果。分析下面程序的运行结果。6 3 6 31、如果、如果int a=2,b=3;float x=3.5,y=2.5;,则表达式,则表达式(float)(a+b)/2+(int)x%(int)y的结果是的结果是_。2、假定、假定x和和y为为double型,则表达式型,则表达式x=2,y=x+3/2的值是的值是_。3、float a=12.2,b=32.6;int c=10;,求表达式,求表达式(int)(a+b)、(int)a+b和和(double)c/4。例:C类型转换运算符位位是是计计算算机机内内部部数数据据储储存存的的最最小小单单位位。来来自自英英文文bitbit,音音译译为为“比比特特”,表表示二进制位。示二进制位。字字节节是是计计算算机机中中数数据据存存储储的的基基本本单单位位。来来自自英英文文ByteByte,音音译译为为“拜拜特特”,习习惯惯上上用用大大写写的的“B”B”表表示示。计计算算机机中中以以字字节节为为单单位位存存储储和和解解释释信信息息,规定一个字节由八个二进制位构成。规定一个字节由八个二进制位构成。字字是是计计算算机机进进行行数数据据处处理理时时,一一次次存存取取、加加工工和和传传送送的的数数据据长长度度称称为为字字(wordword)。一个字通常由一个或多个(一般是字节的整数倍)字节构成。)。一个字通常由一个或多个(一般是字节的整数倍)字节构成。例:C求字节数1字节(字节(byte)=8比特(比特(bit)1字字=2字节字节1GB=1024MB 1MB=1024KB 1KB=1024字节字节 求字节数:求字节数:sizeof(表达式表达式)或或 sizeof(类型名类型名)#include void main()printf(%d,sizeof(int);printf(%d,sizeof(5*9);printf(%d,sizeof(34L);printf(%d,sizeof(short);printf(%d,sizeof(unsigned short);printf(%d,sizeof(float);printf(%d,sizeof(double);printf(%d,sizeof(3.6+9.87);printf(%dn,sizeof(37.6F+0.6);printf(%dn,sizeof(37.6F+0.6L);例:C求字节数分析下面程序的运行结果。分析下面程序的运行结果。4 4 4 2 2 4 8 8 8 16int x=2,y,*p;short a=6,b,*m;p=&x;m=&a;y=*p;b=*m;例:C指针变量值变量值指针:指针:*&2000200220042006200820102012地址地址内存存储器内存存储器.0 0 1 1 0 0 0 0 1 1 0 0 1 0 1 0.变量变量x变量变量y变量变量a变量变量b#include void main()char ch1,ch2,ch3,ch4;printf(“input a letter:”);ch1=getchar();ch2=ch1+32;ch3=ch1-1;ch4=ch1+1;putchar(ch1);putchar(n);putchar(r);putchar(ch2);putchar(ch3);putchar(ch4);putchar(n);例:C的输入与输出编程:由键盘输入一个大写字母,求对应的编程:由键盘输入一个大写字母,求对应的小写字母及它的前驱和后继。小写字母及它的前驱和后继。printf(“%cnr%c%c%cn”,ch1,ch2,ch3,ch4);开始开始char ch1,ch2,ch3,ch4Ch1+32ch2Ch1-1 ch3Ch1+1 ch4结束结束输出结果输出结果由键盘输入大写由键盘输入大写字母到字母到ch1P5556 例例2.35例:C的输入与输出编程:由键盘输入三角形的编程:由键盘输入三角形的3条边长,用海伦公式求三条边长,用海伦公式求三角形的面积。(注意角形的面积。(注意3条边长能够成三角形)条边长能够成三角形)开始开始定义三边长定义三边长a,b,c结束结束输出结果输出结果由键盘输入三边的值由键盘输入三边的值数据类型作业数据类型作业习题集P3 一、单选题 120(除7)P6 49 P7 52 P8 59P9 二、填空题 115P10 39算术、赋值、关系、强制类型转换运算符作业算术、赋值、关系、强制类型转换运算符作业习题集P46 一、单选题 2129、3436、38、42、45、46、47、48P68 50、53、54、55、56、58 P910 二、填空题 1624、34、36、37P10 38、40P12 三、编程题 1、2、31 0 0 0 0 0 0 0 0 0 0 0 0 0 1 00 0 1 0 0 0 1 1 1 1 0 1 1 0 1 1