1.掌握C语言几种基本数据类型,如整型(int)、字符型(char)、单精度型(float)、双精度型(double),以及由这些基本类型构成的变量和常量的使用方法。
2.掌握C语言的运算符和表达式的正确使用。
3.掌握自增(++)和自减(--)运算符的正确使用。
4.掌握基本的输入/输出函数scanf()、getchar()、printf()和putchar()函数的基本功能、调用方法、输入/输出格式控制规定等。
5.能独立编写顺序结构程序并调试通过。
6.用表达式语句、输入/输出语句解决简单的应用问题并上机实现。
7.掌握结构化程序的算法描述方法。
8.了解C语言的基本语法要素,能熟练地将算法描述转化为C语言程序。
9.熟练掌握C语言的运算符,即运算符的优先级和结合性、运算规则、运算对象类型等。
从键盘输入一个大写字母,要求转换成小写字母输出,并输出这个小写字母相邻的两个字母,以及它们的ASCII码值。
#include<stdio.h>
main()
{
char a,b,c;
printf("请输入一个大写字母\n");
scanf("%c",&a);
b=a+31;
c=a+33;
a=a+32;
printf("小写字母为:%c,%c,%c\n",b,a,c);
printf("ASCII值为:%d,%d,%d",b,a,c);
}
我在写代码的时候,没有弄清a、b、c的位置式子关系,输出的结果是错误的。后面发现,a赋值的式子应该放在后面而不是前面,否则b与c式子中的a会变成赋值后的a。
从键盘输入一个3位整数,将输出该数的逆序数。例如,输入123,输出321.
/*sy2-4.c*/
# include <stdio.h>
int main ()
{
int a,b,c,x,y;
printf("请输入一个3位的正整数:\n");
scanf("%d",&x);
a=int(x/100);/*求x的百位数*/
b=int((x%100)/10);/*求x的十位数*/
c=x%10;/*求x的个位数*/
y=c*100+b*10+a;
printf("%d:%d\n",x,y);
return 0;
}
两个整数相除(/),结果只取整数部分。所以求x的百位数时,只需要令a=int(x/100)。“%”表示的是模取余,所以x的百位数c=x%10。求x的十位数b是最复杂的一步,要先求出x除以100后取余数,再除以10取整数,所以b=int((x%100)/10)。
要编写一个程序,用于医院收费处出纳算账。
/*sy2-5.c*/
#include <stdio.h>
int main()
{
float x,j,c,hj,fk,zh,cw,g,f;
/*其中,x代表西药费;j代表检查费;c代表材料费;cw代表床位费;g代表观察费;
f代表护理费;hj代表应付款;fk代表病人付款;zh代表应找回的金额;*/
printf("输入西药费,检查费,材料费,床位费,观察费,护理费:\n") ;
scanf("%f,%f,%f,%f,%f,%f",&x,&j,&c,&cw,&g,&f);
hj=(x+j+c+cw+g+f);
printf("应付款(元):%.2f",hj);
printf("病人付款(元):");
scanf("%f",&fk);
zh=fk-hj;
printf("计算结果:\n");
printf("病人付款=%6.2f元\n应收款=%6.2f元应找回=%6.2f元\n",fk,hj,zh);
return 0;
}
在本次实验中,要分清不同的变量,并用式子表示出它们的关系。不然,就会造成编写的代码错误。
用C语言编写程序检验一函数输入x值时输出y的值。函数为x<1时,y=x;1<=x<10时,y=2x-1;x>=10时,y=3x-1。
#include <stdio.h>
main ()
{
floatx,y;
printf("请输入x的值:");
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语句与else的嵌套关系错误。else要嵌于if语句中,再使用else if与else。
鸡兔同笼问题。将鸡和兔子关在同一个笼子里,假如知道鸡和兔的总头数h,鸡和兔总脚数f,设计算法能计算出鸡和兔分别有多少只。
#include <stdio.h>
main ()
{
int h,f,x,y;
printf("鸡兔总数,鸡兔总脚数:");
scanf("%d,%d",&h,&f);
if (x>0&&y>0)
{
x=(4*h-f)/2;
y=(f-2*h)/2;
printf("鸡:%d 兔:%d\n",x,y);
}
else
printf("输入错误!\n");
}
不能直接输入4h和2h,而要在4与h之间加上“*”号。而且应该是 if (h>0&&f>0),而不是书上写的 if (x>0&&y>0)。
根据平面坐标,输出圆塔的高度。
#include <stdio.h>
#include <math.h>
main()
{
int h=10;
float x1=2,y1=2,x2=-2,y2=2,x3=-2,y3=-2,x4=2,y4=-2,x,y,d1,d2,d3,d4;
printf("请输入一个点(x,y)");
scanf("%f,%f",&x,&y);
d1=sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1));
d2=sqrt((x-x2)*(x-x2)+(y-y2)*(y-y2));
d3=sqrt((x-x3)*(x-x3)+(y-y3)*(y-y3));
d4=sqrt((x-x4)*(x-x4)+(y-y4)*(y-y4));
if(d1>1&&d2>1&&d3>1&&d4>1)
h=0;
printf("该点高度为:%d",h);
}
首先要有数学的头文件,这是不能缺少的。其次数的平方要用到sqrt、并列条件要用到&&。
在这次做实验的过程中,我发现有些知识我掌握地不够熟练,在实际操作的时候会忘记。比如,代码中有时要包含数学的头文件、if语句与else的嵌套关系、赋值后的式子位置关系以及用*表示乘号。还有,我写代码的时候不够仔细,会忘记打一些符号,还需要多练习。做过这六个实验之后,我知道了在什么条件下是要用int、float等数据类型以及寻址符&,对书上的内容有了更深的了解。而且,我发现了书上的内容有时候也会有错误,所以不能完全照书上的去写。还有,算法在编写代码的时候可以使问题更简便。当这些程序运行出来的时候,我觉得很开心,有一种自豪感。在接下来的实验过程中,我会更加仔细,争取每次都能有所进步。
原文:https://www.cnblogs.com/youthyee/p/10585916.html