第二次C语言实验
Posted bnuikl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第二次C语言实验相关的知识,希望对你有一定的参考价值。
Part1:
printf(),scanf()函数的用法
/* C语言程序设计教程学习指导》p119 实验内容(2) 这是一个格式化输入输出函数及格式符使用练习 找出两处错误,修改并运行程序 为a1,a2,a3,c1,c2,c3,x,y输入数据,使得: a1=1,a2=2,a3=3,c1=‘a‘,c2=‘b‘,c3=‘c‘, x=1.5, y=2.5 */ #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:按十进制整型输出
%f:用来输出实数,以小数形式输出,默认情况下保留小数点6位。
%c:用来输出一个字符。
%e:以指数形式输出实数。
%s:用来输出一个字符串。
%5d:表示按十进制输出数据,最小输出宽度为5个字符,右对齐,如果输出的数据小于5个字符,前补空格。如果超过5个字符,按实际数据长度输出。
%f:表示以double型格式输入或输出变量的值。
%.3f表示单精度浮点型,保留3位小数。
%lf表示双精度浮点型
%6.2f表示输出结果总共占6个字符,包含3位小数。
输入输出双精度类型数据的时候必须要用%lf
part4:
/* switch语句使用示例 输入1,2,3...的不同整数,显示不同提示信息 */ #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; }
有break情形
无break情形
/* switch语句使用示例 输入1,2,3...的不同整数,显示不同提示信息 */ #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; }
不同之处:
有break的时候,程序跳出这一层的switch语句结构,转到其结构后面的语句执行,即输入1执行case1的语句,输入2执行case2的语句,不执行case1,
当没有break语句时,程序就会一直执行下去,直到遇到break语句或该switch结构结束。
part5:
简单编程小练习
/*要求用户从键盘输入x(A,B,C,D之一),如果用户答案是‘A‘,则输 出提示信息"Binggo, you are right~",否则,输出提示信息" try again~"。 */ # include <stdio.h> int main() { int ch; printf("输入字母‘A‘-‘D‘ "); scanf("%c",&ch); switch(ch){ case ‘A‘: printf("Binggo, you are right~"); break; case ‘B‘: case ‘C‘: case ‘D‘: printf("try again~"); break; } return 0; }
用if语句编写
/*要求用户从键盘输入(A,B,C,D之一),如果用户答案是‘A‘,则输 息"Binggo, you are right~",否则,输出提示信息" try again~"。 */ # include <stdio.h> int main() { int ch; printf("输入字母‘A‘-‘D‘ "); scanf("%c",&ch); if(ch==‘A‘) printf("Biggo, you are right~"); else printf("try again~"); return 0; }
总结与体会
输入函数scanf()中要有地址符&,格式符使用时要注意各格式符的意思不能乱用,而且要根据实际情况正确使用。
对于if语句的使用还有点不熟,难以正确定义变量,就part5我觉得用if语句比较简单,但是最初我是用switch语句,因为开始的时候用if语句时我只定义了变量ch
也没有提示输入,这点应该是我输入函数没有理解好,对于变量的输入也没有明确表示,还有一个经常犯的毛病就是字符型常量忘记加单引号。
if语句尚未理解透彻,还需多加练习。switch语句我觉得还没有完全理解透彻,有些细节性的东西还要多多练习。
以上是关于第二次C语言实验的主要内容,如果未能解决你的问题,请参考以下文章