实验二
part 1: 格式化输入和输入函数
(1)printf函数的应用
#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("%lf\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; }
(2)scanf函数的应用
这个原来代码的错误在于double类型数据的输入和输出,都应该用%lf型(千万要牢记住)
part 2:单个字符输出(putchar)和输入字符(getchar)
(1)单个字符输出putchar
#include <stdio.h> int main() { char ch; ch = 'A'; putchar(ch); putchar(ch+32); putchar('\x41'); putchar('\n'); return 0; }
表明了几种不同方式的字符变量赋值方法,第一种是直接输出‘’中的字符,第二种是进行变小写字母后的输出,第三种是按十六进制的转义字符输出,接着换行
(2)单个字符输入函数getchar
#include <stdio.h> int main(){ char ch; ch = getchar(); putchar(ch); printf("%c",ch); return 0; }
定义一个字符变量,然后从键盘输入一个字符赋值给ch变量,最后两行是以printf和putchar两种不同的输出方式输出字符
part 4:switch,switch语句的运用
(1)不去掉break
#include <stdio.h> int main() { int level; printf("输入现在状态等级(1-5): "); scanf("%d",&level); switch(level) { case 1: printf("high翻了:)\n"); break; case 2: printf("low爆了:(\n"); break; default: printf("一言难尽,无法概括。。。\n"); } return 0; }
switch,switch语句和if,else if语句的意义差不多,用来表示多分支语句的情况,注意每一个case语句完成后加的break的跳过作用,以及最后的default的终结情况。
(2)我们来看看去掉break的情况
#include <stdio.h> int main() { int level; printf("输入现在状态等级(1-5): "); scanf("%d",&level); switch(level) { case 1: printf("high翻了:)\n"); case 2: printf("low爆了:(\n"); default: printf("一言难尽,无法概括。。。\n"); } return 0; }
*若在窗口中输入1
看到三个情况均依次计算
*若在窗口中输入2
我们能观察到输入2之后跳过了第一个程序,可是还是继续依次执行后面的程序。
part 5:自己编写程序
/*做选择题*/ #include<stdio.h> int main(){ char ch; printf("请输入你的答案(A,B,C or D):"); scanf("%c",&ch); if (ch=='A') printf("binggo, you are right"); else printf("try again"); return 0; }
实验内容及总结:
(1)printf输出函数的常用字符,c按字符输出,d按十进制整数输出,f按浮点数输出(小数点后自保留六位),lf按double型输出和输入,s按字符串输出,除e,x可大写,其他必须小写。
(2)控制字符长度小于实际长度时,按实际长度输出
(3)if语句里面感觉大体的框架结构已经懂了,但是实际自己操作的时候,有点懵逼,不知道括号应该怎么办,有时候会出现一点点小小的混乱,但是自己多加练习就会解决这个问题的。
(4)关于选择题自己编程的感悟,自己发现了一个问题就是,printf后面不知道到底该再如何用输入函数,但是通过这个练习后自己明白了,还有就是单语句的时候可以不加括号,当有多个语句的时候再加括号,不然这样就会显得十分冗杂。
(5)注意putchar函数后面直接加()就好了,但是getchar的使用必须先定义一个字符ch,再赋值使ch=getchar()千万不要忘记加括号了