include stdio h void main char a b
#include <stdio. h> void main ( ) { char a, b, c; a='B', b='O', c='Y'; putchar(a); 向显示器输出字符B putchar(b); putchar(c); putchar ('n'); 向显示器输出换行符 } BOY
#include <stdio. h> void main ( ) 改为int a=66, b=79, c=89; { char a, b, c; a='B', b='O', c='Y'; putchar(a); putchar(b); putchar(c); putchar ('n'); } BOY
#include <stdio. h> void main ( ) { char a, b, c; a=getchar(); 输入一个字符,送给变量a b=getchar(); c=getchar(); putchar(a); putchar(b); putchar(c); putchar('n'); B↙ } O↙ BOY B O
#include <stdio. h> void main ( ) { char a, b, c; a=getchar(); putchar(getchar()); b=getchar(); c=getchar(); putchar(a); putchar(b); putchar(c); putchar('n'); }
#include <stdio. h> void main ( ) { char a, b, c; a=getchar(); putchar(getchar()); b=getchar(); putchar(getchar()); c=getchar(); putchar(a); putchar(b); putchar(c); putchar('n'); }
#include <stdio. h> void main ( ) { char a, b, c; a=getchar(); putchar(getchar()); b=getchar(); putchar(getchar()); c=getchar(); putchar(getchar()); putchar(a); putchar(b); putchar(c); putchar('n'); }
#include <stdio. h> void main ( ) { char a, b, c; a=getchar(); putchar(getchar()); b=getchar(); putchar(getchar()); c=getchar(); putchar(getchar()); putchar(a); putchar(b); putchar(c); putchar('n'); }
2. 基本的格式字符 uc格式符。用来输出一个字符 例3. 3 用printf函数输出字符数据。 #include <stdio. h> void main() c=a, c=97 i=a, i=97 { char c='a'; int i =97; printf("c=%c, c=%dn", c, c); printf("i=%c, i=%dn", i, i); }
P 70 3. 7. 2 用简单的scanf函数输入数据 例3. 6 用scanf函数输入数据。 #include <stdio. h> void main( ) { int a, b, c; 3 4 5 ↙ � a=3, b=4, c=5 scanf(“%d%d%d”, &a, &b, &c); printf("a=%d, b=%d, c=%dn", a, b, c); }
#include <stdio. h> #include <math. h> 输入a、b、c的值 void main ( ) { double a, b, c, s, area; scanf("%lf, %lf", &a, &b, &c); 计算area s=(a+b+c)/2. 0; 计算s area=sqrt(s*(s-a)*(s-b)*(s-c)); printf("a=%fnb=%fn", a, b, c); printf("area=%fn", area); }
9. 89, 12. 65, 8. 76↙ a=9. 890000 #include <stdio. h> b=12. 65000 #include <math. h> 调用数学函数加此行 c=8. 760000 area=43. 165683 void main ( ) { double a, b, c, s, area; 数学函数,计算平方根 scanf("%lf, %lf", &a, &b, &c); s=(a+b+c)/2. 0; area=sqrt(s*(s-a)*(s-b)*(s-c)); printf("a=%fnb=%fn", a, b, c); printf("area=%fn", area); }
#include <stdio. h> void main ( ) { char c 1, c 2; c 1=getchar(); printf("%c, %dn", c 1); c 2=c 1+32; 将大写转小写 printf("%c, %dn", c 2); } A↙ A, 65 a, 97
例:输入 3个大写字母,输出相应的3 个小写字母。 #include <stdio. h> void main ( ) { printf(“%c”, getchar()+32); printf("%cn", getchar()+32); }
例:输入 3个大写字母,输出相应的3 个小写字母。 #include <stdio. h> void main ( ) { putchar(getchar()+32); putchar('n'); }
#include <stdio. h> #include <math. h> 程序中调用数学函数sqrt void main ( ) {double a, b, c, disc, x 1, x 2, p, q; scanf(“a=%lf, b=%lf, c=%lf", &a, &b, &c); disc=b*b-4*a*c; 输入a, b, c的值 p=-b/(2*a); q=sqrt(disc)/(2*a); x 1=p+q; x 2=p-q; printf("x 1=%. 2 fnx 2=%. 2 fn", x 1, x 2); }
#include <stdio. h> #include <math. h> void main ( ) {double a, b, c, disc, x 1, x 2, p, q; scanf(“a=%lf, b=%lf, c=%lf", &a, &b, &c); disc=b*b-4*a*c; 输入的是双 p=-b/(2*a); 精度型实数 q=sqrt(disc)/(2*a); x 1=p+q; x 2=p-q; printf("x 1=%. 2 fnx 2=%. 2 fn", x 1, x 2); }
a=1, b=3, c=2↙ #include <stdio. h> x 1=-1. 00� #include <math. h> x 2=-2. 00 自动转成实数 void main ( ) {double a, b, c, disc, x 1, x 2, p, q; 后赋给a, b, c scanf(“a=%lf, b=%lf, c=%lf", &a, &b, &c); disc=b*b-4*a*c; 要求输入 3个实数 p=-b/(2*a); q=sqrt(disc)/(2*a); x 1=p+q; x 2=p-q; printf("x 1=%. 2 fnx 2=%. 2 fn", x 1, x 2); }
a=1, b=3, c=2↙ x 1=-1. 00� x 2=-2. 00 #include <stdio. h> #include <math. h> void main ( ) {double a, b, c, disc, x 1, x 2, p, q; scanf(“a=%lf, b=%lf, c=%lf", &a, &b, &c); disc=b*b-4*a*c; p=-b/(2*a); q=sqrt(disc)/(2*a); x 1=p+q; x 2=p-q; printf("x 1=%. 2 fnx 2=%. 2 fn", x 1, x 2); } 小数点后输出 2列
例3. 10 有符号整数赋值给无符号整型变量, 数据会失真。 假设占 2字节 #include <stdio. h> void main ( ) { unsigned a; b 1 11111111 int b; b=-1; a=b; 1 11111111 printf("%un", a); a } 65535 输出无符号整数
例3. 11 无符号整数赋值给有符号整型变量, 注意数值范围。 假设占 2字节 #include <stdio. h> void main ( ) a { unsigned a; 1 11111111 int b; a=65535; b=a; 1 11111111 printf("%dn", b); b } -1 补码形式
在TC 2. 0下(占 2字节)的运行结果为: P 78 a=-1, 177777, ffff, 65535� b=-2, 177776, fffe, 65534 3. 9. 2 较复杂的输入输出格式控制 在VC++6. 0下(占 4字节)的运行结果为: a=65535, 177777, ffff, 65535� 例3. 12 无符号数据的输出。 b=-2, 3777776, fffffffe, 4294967294 #include <stdio. h> void main() {unsigned a=65535; int b=-2; printf("a=%d, %o, %x, %un", a, a); printf("b=%d, %o, %x, %un", b, b); }
P 78 3. 9. 2 较复杂的输入输出格式控制 例3. 13 字符串的输出。 #include <stdio. h> void main ( ) { printf("%3 s, %7. 2 s, %. 4 s, %-5. 3 sn", "CHINA", "CHINA"); } CHINA, CH, CHIN, CHI
P 78 3. 9. 2 较复杂的输入输出格式控制 123. 46 例3. 14 输出实数时指定输出两位小数。 123. 46 <stdio. h> #include void main ( ) { float f=123. 456; printf("%f %10 fn”, f, f); printf(”%10. 2 f %. 2 fn”, f, f); printf(”%-10. 2 fn", f); }�
P 78 3. 9. 2 较复杂的输入输出格式控制 例3. 15 求3个圆的周长,输出结果时上下按 小数点对齐,取两位小数。 #include <stdio. h> r 1= 1. 53 #define PI 3. 1415926 r 2= 21. 83 r 3= 123. 71 void main ( ) { double r 1=1. 53, r 2=21. 83, r 3=123. 71, s 2, s 3; s 1=2. 0*PI*r 1; s 2=2. 0*PI*r 2; s 3=2. 0*PI*r 3; printf("r 1=%10. 2 fnr 2=%10. 2 fnr 3=%10. 2 fn", r 1, r 2, r 3); }
- Slides: 100