1、掌握自增++、自减--运算符的正确使用。
2、掌握基本的输入/输出函数的基本功能、调用方法、输入/输出格式控制规定等。
3、掌握结构化程序的算法描述方法。
4、熟练掌握C语言的运算符,即运算符的优先级和结合性、运算规则、运算对象类型等。
二、实验内容
1、2.3.3字符与ASCII码
问题注意:输出的时候西文半角会搞错
#include<stdio.h> main() { char a,b,c,d; printf("请输入一个大写字母:"); scanf("%c",&a); b=a+31; c=a+32; d=a+33; printf("小写字母为%c,%c,%c\n",b,c,d); printf("ASCII值为%d,%d,%d\n",b,c,d); }
问题分析:字符型变量用char,格式符用%c ; 大小写字母的ASCII码值相差32;
ASCII值为整型。
2、2.3.4运算符与表达式的应用
问题描述:一个3 位的正整数去表达其各个位数数字
#include<stdio.h> main() { int a,b,c,d,e; printf("请输入一个三位正整数:\n"); scanf("%d",&a); b=(int)(a/100); c=((int)(a/10)%10); d=a%10; e=d*100+c*10+b; printf("%d:%\n",a,e); }
问题注意:% 代表取余数, / 表示取整,再用乘法运算去表示。
3、2.3.5顺序结构应用程序
问题的简单描述:西文半角的切
#include<stdio.h> main() { float a,b,c,d,e,f,x,y,z;/*其中a代表西药费,b代表检查费,c代表材料费,d代表床位费,e代表观察费,f代表护理费,x表示病人应付款,y表示病人付款,z表示找回金额*/ printf("请输入西药费,检查费,材料费,床位费,观察费,护理费:\n"); scanf("%f,%f,%f,%f,%f,%f,%f",&a,&b,&c,&d,&e,&f,&y); x=a+b+c+d+e+f; z=y-x; printf("病人付款=%.2f\n",y); printf("应付款=%.2f\n",x); printf("应找回=%.2f\n",z) ; }
问题注意:注意中英文的切换
4、3.3.1数学函数的算法描述
问题的简单描述:if else语句不太会用,不知道要不要大括号
#include<stdio.h> main() { float x,y; scanf("%f",&x); if(x<1) y=x; else if(x<10) y=2*x-1; else y=3*x-1; printf("y的值为%.2f\n",y); }
问题注意:当if体的语句为一条简单的语句时,可以省略{ },多于一条时,要用{ }把这些语句括起来
5、3.3.2鸡兔同笼的算法描述
问题的简单描述:注意不要漏掉了分号
#include<stdio.h> main() { int h,f,x,y; printf("鸡兔的总数,鸡兔脚总数:"); scanf("%d,%d",&h,&f); if(h>0&&f>0) { x=(4*h-f)/2; y=(f-2*h)/2; printf("鸡有%d 兔有%d\n",x,y); } else printf("输出结果错误!\n"); }
问题注意:很容易漏掉乘号
6.3.3.3确定坐标的算法描述
问题的简单描述:根号和平方怎么表示
#include<stdio.h> main() { float x,y; printf("请输入一个点(x,y):"); scanf("%f,%f",&x,&y); if(x<0) { x=-x; } if(y<0) { y=-y; } if(((x-2)*(x-2)+(y-2)*(y-2))<1) { printf("10"); } else { printf("0"); } return 0; }
问题注意:要认真审题,根号要用sqrt。
三、实验小结
这是第二次实验课,学习C语言已经有一个多月了。 通过本次实验基本掌握了简单的算法描述;用流程图的表达算法思想;运算符的优先级、运算规则、运算对象;算法的结构等,但较之于其他同学,我还是不够好的,对于博客园的使用也不熟练。同时,在实验的过程中也有很多的问题,如if 语句不熟悉,经常在输出的时候没有注意西文半角。以上种种不足,是我花费更多的时间和精力去学习C语言的动力,我一定会在之后的学习中更加努力。
原文:https://www.cnblogs.com/LML0220/p/12499351.html