且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

《C语言程序设计》一 2.6 编程体会

更新时间:2022-09-21 22:21:38

2.6 编程体会

通过本章的学习,应该可以编写一些简单的程序了。在本章学习中,要注意以下程序设计错误:
1)忘记定义程序中要用到的变量,编译时会显示“undeclared identifier”的信息。
2)scanf()函数的第二个参数是地址表列,如scanf("%f", &fahrenheit),常出现漏写取地址符号“&”。
3)错误拼写函数的名字,如把printf()写成print(),编译时会找不到该名字。
4)格式符与所对应的变量类型不符合,如对整型变量使用%f格式符。
5)编写程序时,在变量未被赋值之前即在表达式中使用该变量,可能得到一个无意义的值。
上机实验2——简单程序设计
【实验目的】
1.熟练掌握数据的输入和输出。
2.会使用算术表达式、赋值表达式和数学函数编写简单程序。
【实验内容】
1.求三个数的平均数,程序如下:

#include<stdio.h>
int main()
{
   float a,b,c,ave;
   a = 39.5;
   b = 37.6;
   c = 40.2;
   ave = ( a + b + c)/ 3;
   printf("The average of three numbers is:%f",ave);
   return 0;
}

实验步骤与要求:
修改程序,要求三个数要在运行时由键盘输入,编译、连接、运行此程序,并与修改前的运算结果进行比较。
说明:
(1)使用如下语句代替“a=39.5; b=37.6; c=40.2; ”来输入三个实数:

scanf(“%f,%f,%f”,&a,&b,&c);

(2)运行时,输入如下数据:

39.5 , 37.6 , 40.2↙

2.输入x、y,编写程序计算z=x+|y|的值。
实验步骤与要求:
(1)程序中用scanf函数输入x和y的值,请分析以下两条语句

scanf("%f%f",x,y);
scanf("%f%f",&x,&y);

中哪一个是正确的,分别运行之,分析程序运行结果。
(2)如果用上面的“%f%f”格式控制符输入x、y,请比较以下几种输入结果:

1)6.7, −7.3↙
2)6.7↙
  −7.3↙
3)6.7 −7.3↙

(3)如果scanf函数改为下面的形式,应该怎样输入数据?

scanf("%f,%f",&x,&y);

说明:C库函数中求绝对值的函数为fabs(),在头文件math.h中说明,在程序开头要用#include把math.h包含进来。
3.编写程序,输入三角形的三边长a、b、c,求三角形的面积。
实验步骤与要求:

(1)输入前要加提示语句。
(2)输出结果前要有必要的文字说明。
(3)输入一组数据3、4、5,观察运算结果。
(4)输入另外一组数据3、4、8,观察运算结果,分析这个运算结果是否
有效。

说明:
计算三角形面积的公式为,其中s=(a+b+c)/2。
【问题讨论】
总结调用scanf()函数和printf()函数经常出现的问题及解决的方法。
习题2
2.1 下列字符串中可以做C语言程序中标识符的有哪些?

print    _3id      oodb        I\am      3pai
Line#    str_1      His.age     while      aBc

2.2 写出下面算术表达式的值。

(1)x + a % 3 * (int)(x + y)% 2 / 4,设x=2.5,a=7,y=4.7。
(2)(float)(a + b)/ 2 + (int)x % (int)y,设a=2,b=3,x=3.5,y=2.5。

2.3 写出下面程序的输出结果。

#include <stdio.h>
int main()
{   
    int i = 6 , y = 4 , z = 2;
    printf("%d\n" , i / y % z);
    return 0;
}

2.4 编写、编译和执行一个C程序,输入圆柱体的半径和高,计算圆柱体的表面积和体积。
2.5 编写、编译和执行一个C程序,计算包含在一个储钱罐中的人民币数量。这个储钱罐目前有12个5角硬币、20个5分硬币、32个1角硬币、13个2分硬币、6个1分硬币及4个1元硬币。