标题:十万火急,初学者,有问题不懂得!!
只看楼主
kevenCCC
Rank: 2
等 级:论坛游民
帖 子:5
专家分:10
注 册:2016-5-20
结帖率:0
已结贴  问题点数:5 回复次数:3 
十万火急,初学者,有问题不懂得!!
首先,请大家看一下一个教科书的C语言程序
/*求圆面积程序*/
#define PI 3.14159
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<conio.h>
void main()
{
  float r,s;
  system("cls");
 printf("请输入半径R=");
scanf("%f",&r);
ig(r<0)
{
printf("输入出错,半径不能为负值!");
 exit(0);
}
s=PI*pow(r,2);
printf("半径R=%.3f时,面积S=%.3f\n",r,s);
}
问题:1.头文件conio有什么用?,system的清屏,在conio.h中定义是什么意思?
      2.如何知道什么时候使用<math.h>或者<stdlib.h>的头文件函数?头文件函数需要全部背下来吗?
      3.exit(0)停止程序执行,返回操作系统的功能在C语言中还有没有其它的表达形式,如果有,那么该表达形式需要什么条件才能出现呢?
      4.求一个圆面积为何需要使用到这么多头文件函数呢?直接#define PI 3.14159,然后简单计算不是更加简便吗?
      5.pow(r,2)是什么意思啊??哪来的???
      
搜索更多相关主题的帖子: include system 教科书 圆面积 
2016-05-20 20:04
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:3 
你的教科书有问题,估计是谭浩强写的吧

我这里没有编译器,随手写段代码,但没法验证,仅供你参考
程序代码:
#include <stdio.h>

#define M_PI 3.14159265358979323846

int main( void )
{
    double r;
    printf( "请输入半径R=" );
    if( scanf("%lf",&r)!=1 || r<0 )
    {
        printf("输入错误!");
        return 1;
    }

    double s = M_PI*r*r;
    printf( "半径R=%.3f时,面积S=%.3f\n", r, s );

    return 0;
}

2016-05-20 21:07
kevenCCC
Rank: 2
等 级:论坛游民
帖 子:5
专家分:10
注 册:2016-5-20
得分:0 
回复 2楼 rjsp
上面的教科书C程序我试过,的确可以使用且答案正确,但是,就是里面的内容不理解

小弱鸡报道~~@!@
2016-05-20 21:36
wanglianyi1
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:14
帖 子:647
专家分:2067
注 册:2015-6-18
得分:3 
问题:1.头文件conio有什么用?,system的清屏,在conio.h中定义是什么意思?
    conio.h不是C标准库中的头文件,在C standard library,ISO C 和POSIX标准中均没有定义。
conio是Console Input/Output(控制台输入输出)的简写,其中定义了通过控制台进行数据输入和数据输出的函数,主要是一些用户通过按键盘产生的对应操作,比如getch()函数等等。


      2.如何知道什么时候使用<math.h>或者<stdlib.h>的头文件函数?头文件函数需要全部背下来吗?
(1)math.h是使用一些数学公式的时候需要调用的头文件,例如你例子中的pow(r,2)这个函数就需要用这个math.h头文件,math就是数学的意思。
(2)stdlib 头文件里包含了C、C++语言的最常用的系统函数,该文件包含了的C语言标准库函数的定义。
  stdlib.h里面定义了五种类型、一些宏和通用工具函数。 类型例如size_t、wchar_t、div_t、ldiv_t和lldiv_t; 宏例如EXIT_FAILURE、EXIT_SUCCESS、RAND_MAX和MB_CUR_MAX等等; 常用的函数如malloc()、calloc()、realloc()、free()、system()、atoi()、atol()、rand()、srand()、exit()等等。

头文件不用背,用到的时候查下就可以了,但最好能记住常用的,这样毕竟方便不是嘛
      3.exit(0)停止程序执行,返回操作系统的功能在C语言中还有没有其它的表达形式,如果有,那么该表达形式需要什么条件才能出现呢?
这个用return语句应该也可以实现。应该是处理异常情况时候的一种措施。至于什么时候出现,当然是你的if()语句条件满足的时候。
      4.求一个圆面积为何需要使用到这么多头文件函数呢?直接#define PI 3.14159,然后简单计算不是更加简便吗?
#define是宏定义的意思
  .详细来说: 宏定义是用宏名来表示一个字符串,在宏展开时又以该字符串取代宏名,这只是一种简单的代换,字符串中可以含任何字符,可以是常数,也可以是表达式,预处理程序对它不作任何检查。如有错误,只能在编译已被宏展开后的源程序时发现。
宏定义不是说明或语句,在行末不必加分号,如加上分号则连分号也一起置换。
宏定义其作用域为宏定义命令起到源程序结束。如要终止其作用域可使用#undef命令。
    简单来说,在你的例子中main里遇到PI后都会直接用3.14159替换

      5.pow(r,2)是什么意思啊??哪来的???
这个是一个函数调用语句,调用的数学函数pow(r,2),包含在math.h头文件中,作用是求半径r的平方,相当于r*r;

[此贴子已经被作者于2016-5-24 12:34编辑过]

2016-05-24 11:18



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-465073-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016204 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved