实验2
Posted jxctoushou
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实验2相关的知识,希望对你有一定的参考价值。
实验结果:
ex1:
1 #include <stdio.h> 2 int main() { 3 int a=5, b=7, c=100, d, e, f; 4 5 d = a/b*c; 6 e = a*c/b; 7 f = c/b*a; 8 9 printf("d=%d, e=%d, f=%d ",d,e,f); 10 11 return 0; 12 }
line5:d=a÷b×c;line6:e=a×c÷b;line7:f=c÷b×a
变量d、e、f计算结果不同的原因是在编译过程中按顺序依次进行计算,且int整形运算无小数,影响了结果。
ex2:
1 #include <stdio.h> 2 int main() { 3 int x=1234; 4 float f=123.456; 5 double m=123.456; 6 char ch=‘a‘; 7 char a[]="Hello, world!"; 8 int y=3, z=4; 9 10 printf("%d %d ", y, z); 11 printf("y=%d, z=%d ", y,z); 12 printf("%8d,%2d ", x,x); 13 printf("%f, %8f, %8.1f, %0.2f, %.2e ",f,f,f,f,f); 14 printf("%lf ",m); 15 printf("%3c ", ch); 16 printf("%s %15s %10.5s %2.5s %.3s ",a,a,a,a,a); 17 18 return 0; 19 }
%d:按十进制整数输出已储存的变量
%md:输出m长度的的数据,若数据长度<m,则在左侧用空格补全,反则按实际输出。
%nf:对输出的实数的小数点后数据限制位数(四舍五入)。
%e:将数据按指数形式输出。
%lf:指定数据输出精度为double型
%3c:按字符输出且长度为3,长度不足左侧补空格。
%m.ns:将字符串取n个单位按m长度输出。
ex3:
1 // ex3.cpp 2 #include <stdio.h> 3 int main() { 4 double x,y; 5 char c1,c2,c3; 6 int a1,a2,a3; 7 8 scanf("%d%d%d",&a1,&a2,&a3); 9 printf("%d,%d,%d ",a1,a2,a3); 10 scanf("%c%c%c",&c1,&c2,&c3); 11 printf("%c%c%c ",c1,c2,c3); 12 scanf("%lf,%lf",&x,&y); 13 printf("%.1f,%.1lf ",x,y); 14 15 return 0; 16 }
ex4:
1 #include <stdio.h> 2 int main() { 3 char x; 4 5 x = getchar(); 6 7 if(x>=‘1‘&&x<=‘9‘) 8 printf("%cê?êy×?×?·? ", x); 9 else if(x>=‘a‘&&x<=‘z‘||x>=‘A‘&&x<=‘Z‘) 10 printf("%cê?ó¢??×??? ", x); 11 else 12 printf("%cê????ü×?·? ", x); 13 14 15 return 0; 16 }
ex5:
1 // ex5.cpp 2 #include <stdio.h> 3 int main() { 4 char ans1, ans2; 5 6 printf("复习了没? (输入y或Y表示复习了,输入n或N表示没复习) : "); 7 ans1 = getchar(); // 从键盘输入一个字符,赋值给ans1 8 9 getchar(); // 思考这里为什么要加这一行 10 11 printf(" 动手敲代码了没? (输入y或Y表示敲了,输入n或N表示木有敲) : "); 12 ans2 = getchar(); 13 14 if((ans1==‘y‘||ans1==‘Y‘)&&(ans2==‘y‘||ans2==‘Y‘)) 15 printf(" 罗马不是一天建成的:) "); 16 else 17 printf(" 罗马不是一天毁灭的。。。 "); 18 19 return 0; 20 }
line9中的getchar是为了在程序执行时按任意键继续显示下一个问题(猜的)
ex6:
1 # include<stdio.h> 2 # include<math.h> 3 int main() 4 { 5 int sum,n; 6 scanf("%d",&n); 7 sum=(1-pow(2,n))/(1-2); 8 printf("n=%d时,sum=%d",n,sum); 9 return 0; 10 }
实验总结:
格式化输入与输出在函数执行时的细节要求真滴严格,还是得自己多敲敲啊
以上是关于实验2的主要内容,如果未能解决你的问题,请参考以下文章
使用 React 实验性中继片段:缺少属性 '"$fragmentRefs"'
[NTUSTISC pwn LAB 7]Return to libc实验(puts泄露libc中gadget片段定位)