例 # 例 int a=123; printf(“%o,%#o,%
X,%#X\n”,a,a,a,a); //173,0173,7B,0X7B例 l 例 long a=65536; printf(“%d,%8ld\n”,a, a); //0, 6553600 00 00 00 00 00 00 01 00 00 00 00 00 00 00 0014 2014-6-27
格式化输入的要点例 字符串输入的截取 例 scanf(“%3c%2c”,&c1,&c2); 输入 abcde 则‘a c1, d c2 数字输入的截取 scanf(“%4d%2d%2d”,&yy,&mm,&dd); 输入 19991015 则1999 yy, 10 mm, 15 dd 空格和回车作结束分隔 scanf(“%2d %*3d %2d”,&a,&b); 输入 12 345 67 则12 a, 67 b
例 屏蔽符*的应用 例 scanf(“%3d%*4d%f”,&k,&f); 输入 12345678765.43 则123 k, 8765.43 f 例 其它字符原样输入 scanf(“%d,%d”,&a,&b) 输入 3,4 则3 a, 4 b
例 其它字符原样输入 scanf(“a=%d,b=%d,c=%d”,&a,&b,&c); 输入 a=12,b=24,c=36 则12 a, 24 b, 36 c 其中空格对应
2014-6-27
例 其它字符原样输入 scanf(“%d:%d:%d”,&h,&m,&s); 输入 12:30:45 则12 h, 30 m, 45 s
注意:此处&不可少!
2.5 不同类型间的数据转换隐式转换 转换场合 运算转换 赋值转换 输出转换 函数调用转换
P54
int max(int x, int y) int a; { float f=1.2; } i=(int)x; 例: char ch; int i; float f; double d; long l; a=f; int a=65; char ch='A'; float f=6.57; …… printf(“x=%f,i=%d”,x,i); a的值为 printf("a=%c,ch=%d,f=%d",a,ch,f); int a; ? } - (f+i) + 10+ a + i*f - d/l ch/I + f*d 1 输出结果: a=A,ch=65,f=6 a=max(3.14, 'A'); 结果:x=3.600000,i=32014-6-27
例 unsigned (int)(x+y) 例 main() { float x; (int)x+y (double)(3/2) int i; 低 int char,short (int)3.6 x=3.6;
高 double float 显式转换 (强制转换 ) 形式:( 类型名)(表达式) 得到所需类型的中间变量, long 原变量类型不变
2.6 算术运算符与算术表达式 包括符号– 基本算术运算符: + - * / % – 自增和自减运算符:++ -例 例 5/2 = 2 -5/2.0 = -2.5 例 5%2 -5%2 1%10 5%1 5.5%2 = 1 = -1 = 1 = 0 ( ) j=3; j=3; j=3; j=3; a=3; a=3;
P52
学习运算符时掌握什么?1. 目:运算对象的个数2. 功能 3. 优先级
4. 结合方向(难点)k=++j; k=j++; printf(“%d”,++j); printf(“%d”,j++); b=5;c=(++a)*b; b=5;c=(a++)*b; //j=4,k=4 //j=4,k=3 //4 //3 //a=4,c=20 //a=4,c=15
例 -i++ -(i++) i=3; printf(“%d”,-i++); //-32014-6-27
例 j+++k; (j++)+k;17
2.7 赋值运算符和赋值表达式 包括符号
P59
例 3=x-2*y; (×) a+b=3; (×)
– 基本运算符:= – 复合运算符:+= -= *= /= %= <<= >>= &= ^= |=例 a=3; d=func(); c=d+2; a+=3 a=a+3 x*=y+8 x=x*(y+8) x%=3 x=x%3 例则
float f; int i; i=10; f=i; f=10.0例 int i; i=2.56; //结果i=2;
例: a=12; a+=a-=a*a; //a=-264 等价于a=a+(a=a-(a*a))
例 int a=2; a%=4-1; a+=a*=a-=a*=3; //a=0 等价于a=a+(a=a*(a=a-(a=a*3))) 例: a=b=c=5 a=(b=5) a=5+(c=6) a=(b=4)+(c=6) a=(b=10)/(c=2) //表达式值为5,
a,b,c值为5 //b=5,a=11 //表达式值为11,c=6,a=11 //表达式值10,a=10,b=4,c=6 //表达式值5,a=5,b=10,c=2
2014-6-27
2.8 逗号运算符和逗号表达式例 a=3*5,a*4 //a=15,表达式值60 a=3*5,a*4,a+5 //a=15,表达式值20 x=(a=3,6*3) //赋值表达式,表达式值18,x=18 x=a=3,6*a //逗号表达式,表达式值18,x=3 a=1;b=2;c=3; printf(“%d,%d,%d”,a,b,c); //1,2,3 printf(“%d,%d,%d”,(a,b,c),b,c); //3,2,3
例: /*Ex02_05.c*/ #include <stdio.h> main() { int x,y=7; float z=4; x=(y=y+6,y/z); printf("x=%d\n,y=%d",x,y); } 2014-6-27
运行结果:x=3,y=1319
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说医药卫生C语言N02 C语言基本数据类型 2学时+2学时(2)在线全文阅读。
相关推荐: