实验2 C语言表达式编辑应用及输入输出函数
实验1
#include <stdio.h> int main () { int a = 5, b = 7, c =100, d, e, f; d = a/b*c; e = a*c/b; f = c/b*a; printf("d=%d,e=%d,f=%d\n",d,e,f); return 0; }
对应数学计算式:1. a÷b×c 2. a×c÷b 3. c÷b×a
计算结果不同原因:c语言中乘和除是同级运算,运算时从左往右计算,而a,b,c均为整型变量,除法运算时只保留整数部分,导致运算结果不同。
实验2
#include <stdio.h> int main() { int x = 1234; float f = 123.456; double m = 123.456; char ch = 'a'; char a[] = "Hello,world!"; int y = 3, z = 4; printf("%d %d\n", y, z); printf("y=%d, z=%d\n", y, z); printf("%8d,%2d\n", x,x); printf("%f, %8f, %8.1f, %0.2f, %.2e\n", f, f, f, f, f); printf("%1f\n", m); printf("%3c\n", ch); printf("%s\n%15s\n%10.5s\n%2.5s\n%.3s\n", a, a, a, a, a); return 0; }
格式符用法:%cd(c为常数)表示该整形变量占c格,若输出变量长度不及c,则前补空格,若长度大于等于c,则原样输出;%.mf表示该浮点变量保留后m位;%.ms表示该字符串变量长度保留m位。
实验3
#include <stdio.h> int main() { double x,y; char c1,c2,c3; int a1,a2,a3; scanf("%d%d%d",&a1,&a2,&a3); printf("%d,%d,%d\n",a1,a2,a3); scanf("%c%c%c",&c1,&c2,&c3); printf("%c%c%c\n",c1,c2,c3); scanf("%lf,%lf",&x,&y); printf("%f,%lf\n",x,y); return 0; }
实验4
#include <stdio.h> int main() { char x; x = getchar(); if(x >= 48 && x <= 57) printf("%c是数字字符\n",x); else if(x >= 65 && x <= 90 || x >= 97 && x <= 122) printf("%c是英文字母\n",x); else printf("%c是其它字符\n",x); return 0; }
实验5
#include <stdio.h> int main() { char ans1,ans2; printf("复习了没?(输入y或Y表示复习了,输入n或N表示没复习):"); ans1 = getchar(); getchar(); printf("敲代码了没?(输入y或Y表示敲了,输入n或N表示木有敲):"); ans2 = getchar(); if((ans1 == 'y' || ans1 == 'Y' )&&( ans2 == 'y' || ans2 == 'Y')) printf("\n罗马不是一天建成的:)\n"); else printf("\n罗马不是一天毁灭的。。。\n"); return 0; }
实验6
#include <stdio.h> #include <math.h> main() { int n; long sum; scanf("%d",&n); sum = pow(2,n)-1; printf("n = %d 时,sum = %d",n,sum); }
实验7
#include <stdio.h> #define Num 1 #define Lin 9 #define Blk 4 #define Sum 5 main() { int n, s, t, i, l, c, a, b; for(i = 1,c = 0; i <= Lin; i ++, i ++, c ++) { n = s = t = 10; for(l = Sum - c; l <= Blk; l ++) { printf("\t"); } for(n -= i; n >= Num; n --) { printf(" O\t"); } printf("\n"); for(a = Sum - c; a <= Blk; a ++) { printf("\t"); } for(s -= i; s >= Num; s --) { printf("<H>\t"); } printf("\n"); for(b = Sum - c; b <= Blk; b ++) { printf("\t"); } for(t -= i; t >= Num; t --) { printf("I I\t"); } printf("\n\n"); } }