本周,我们进行了第二次上机实验,有了上一次的实验铺垫,这次实验感觉还好,自己写了个程序,输出的字你们可能看不懂,想看懂的留言。以后但任要继续努力,认真巩固C语言编程能力。本次实验如下。
Part1:格式化输出函数printf()和格式化输入函数scanf()。
这道编程是在已给的编程下操作,所以问题不大。
#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; }
修改错误后的编程:
#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("%lf,%lf\n",x,y); return 0; }
%d是整型输出,表示把数按十进制整型输出,数字5表示的是输出宽度,即输出的数值大于5位,按原数输出,如果小于5位,在数的左边补空格。
%ld长整型输出,%o以八进制书形式输出整数,%lf是double类型用于格式化输入输出时对应的格式符号。
%x以十六进制数形式输出整数或输出字符串,%u以十进制输出unsigned型数据,%c用于输出一个字符,%s用于输出一个字符串。
%f用于输出实数,以小数形式输出,默认情况下保留小数点100位。%6.2f表示无论结果有多少位,输出结果至少占六个制表符,即六个位置,不够的用空格补满,可以超过,且保留两位小数。
%e以指数形式是输出实数,%g根据大小自动选f格式或e格式,且不输出无意义的零。
Part2:单个字符输出函数putchar()和单个字符输入函数getchar()
int main() { char ch; ch = 'A'; putchar(ch); putchar(ch+32); putchar('\x41'); putchar('\n'); return 0; }
#include <stdio.h> int main() { char ch; ch = getchar(); putchar(ch); printf("%c",ch); return 0; }
这一部分只要细心做,应该没问题。
Part3:if语句体验练习
1.单分支if语句
#include <stdio.h> int main() { int a,b; int t; printf("输入两个整数给a和b:\n"); scanf("%d%d",&a,&b); if(a>b) { t=a; a=b; b=t; } printf("a=%d,b=%d\n",a,b); return 0; }
2.两分支if语句
#include <stdio.h> int main() { int n; printf("输入一个整数给n:\n"); scanf("%d",&n); if(n%2==1) printf("n是奇数.\n"); else printf("n是偶数.\n"); return 0; }
3.多分支if语句
#include <stdio.h> int main() { int level; printf("输入现在状态等级(1-5):"); scanf("%d",&level); if(level == 1) printf("high翻了:)\n"); else if(level == 2) printf("low爆了:(\n"); else printf("一言难尽,无法概括。。。\n"); return 0; }
Part4:switch语句体验练习
#include <stdio.h> int main() { int level; printf("输入现在开始报数(1-5):"); scanf("%d",&level); switch(level) { case 1: printf("1.one:)\n");break; case 2: printf("2.吐:(\n");break; default: printf("YES,SIR。。。\n"); } return 0; }
去除case1和case2里的break后运行
这一部分语句稍微改变一下还挺好玩的。
Part5:简单编程小练习
#include <stdio.h> int main() { int choice; printf(" 输入一个答案选项(A,B,C,D任意一个): "); scanf("%c",&choice); switch(choice) { case'A': printf("tuohurtalliding维语\n");break; default: printf("hatatalliding维语\n"); } return 0; }
Part6:拓展练习
#include <stdio.h> int main() { /*你好吗?我是KendjiGirac,我是一个歌手,很高兴认识你!*/ printf("yahximsiz?manKendjiGirac,mannahxiqi,siznikvrginimdibakhox "); return 0; }
实验的总结与体会:
这次实验感觉还好,我又熟悉了一些语句,自己改写的挺好玩的。其实C语言这门课是可以学好的,重要的是看心态。我认为我还有很多下功夫的地方,所以,继续努力。