分段函数编译程序
㈠ c++初学者,如图,分段函数编程
对于C++类,一些关键字只要写在.h中就好,cpp中就不用再加上了,比如virtual、static等关键字,如果再cpp中多写,编译器会报错。比如如下的虚接口与静态成员变量的定义,只要在头文件中声明就可以了。
class shape
{
virtual Draw();
//...
static int nLevel;
}
2、函数参数的默认值写到函数实现中了
带有参数默认值的函数,默认值是加在函数声明处的,函数实现处的参数是不需要带上的。为了方便查看代码,在函数实现处的参数中,将默认值注释起来。正确的做法是,头文件中有默认值:
BOOL CreateConf( const CString& strConfName, const BOOL bAudio = FALSE );
在函数实现处的参数中不用添加默认值:
BOOL CreateConf( const CString& strConfName, const BOOL bAudio/* = FALSE*/ );
{
// ......
}
3、在编写类的时候,在类的结尾处忘记添加";"分号了
在类的结尾处忘记添加分号,编译会报错,新人们有可能找了半天也没找出引起编译错误的原因。其实很简单,在类的结尾处忘记添加分号了。
class Shape
{
// ...
};
4、只添加了函数声明,没有函数实现
在添加类的函数时,只在类的头文件中添加了函数声明,但在cpp中却没有添加函数的实现。如果其他地方调用到该函数,在编译链接的时候会报 unresolved external symbol错误。因为没有实现,所有没有供链接使用的obj文件。
5、cpp文件忘记添加到工程中,导致没有生成供链接使用的obj文件
在添加C++类时,我们一般会添加.h头文件和一个.cpp源文件。结果忘记把.cpp文件添加到工程中了,即没有参与编译,没有生成供链接使用的obj文件。如果有代码调用到该C++类的接口,则在编译链接的时候会报 unresolved external symbol错误,即链接不到该C++类对应的接口。
㈡ 怎么用c语言编程一个分段函数
实验报告
1、有一分段函数:
设计一程序完成, 主控函数main()输入X的值并输出Y值.函数VAL计算Y的值。
1.需求规格说明
本题要求掌握C语言的数据类型,程序结构,基本输出输入,函数应用知识,问题的要求用到两个函数,要求利用主控函数main()输入X的值并输出Y值.并用函数VAL计算Y的值。
2.设计
2.1 设计思想
用两个储存空间分别存放主函数和被调用函数,在主函数中控制输入输出,在调用函数中对数据进行处理. 本程序需要用到实型变量作为数据主要数据类型.
2.2 设计表示
本程序有两大模块,主函数MAIN()和被调用函数VAL()
2.3实现注释
程序开发环境为“Windows XP sp2中文版“为操作系统,运行环境turbo c/vc 6.0等等可以运行C语言程
2.4详细设计
3.用户手册
用户打开turbo c/vc 6.0的界面,启动本程序,然后按ALT+R运行程序,用户根据提示输入x值, 然后按回车键,最后用ALT+F5看运行结果。
4.调试报告
在调试过程中,如果在主函数中没有调用函数y=VAL(x),结果可以运行,但不能得到正确的结果.由此可知,我们在做主控函数时,一定要注意调用函数的重要性.
5.源程序清单
#include<stdio.h>
void main()
{float VAL(float x);
float x,y;clrscr();
printf("input x=");
scanf("%f",&x);
y=VAL(x);
printf("y= %f",y);
}
float VAL(float x)
{float y;
if(x<1)
y=x;
else if(x>=1&&x<10)
y=2*x-1;
else
y=3*x-11;
return(y);
}
㈢ 关于C语言,用if语句写数学的分段函数
#include<stdio.h>
intmain()
{
intx,y;
printf("请输入一个X的值:");
scanf("%d",&x);
if(x==0)
y=x=0;
elseif(x>0)
y=x=1;
elseif(x<0)
y=x=-1;
printf("x=%d,y=%d",x,y);
return0;
}
//--------------------------------以上是本人根据你的意思修改的大意,添添加加而已,呵呵。
//在这里,我指出你的错误,可以对你有很大的帮助。
//第一、if语句连续使用,只执行成功的那一个,如果后面有,就不会再执行了。
//第二、不用每次都printf("x=%d,y=%d",x,y);,在最后就可以了。以上是我修改的。我还发现你的(x<0)前面没有if保留字。
//--------------------------------如果在你的程序上边,加几个范围标识符就可以{}下面是第二个程序。
#include<stdio.h>
intmain()
{
intx,y;
printf("请输入一个X的值:");
scanf("%d",&x);
if(x==0)
{
y=x=0;
printf("x=%d,y=%d",x,y);
}
elseif(x>0)
{
y=x=1;
printf("x=%d,y=%d",x,y);
}
elseif(x<0)
{
y=x=-1;
printf("x=%d,y=%d",x,y);
}
return0;}
//还有哦,=是贬值,==是判断,你看看你的判断是=,呵呵,是错误的哦。
//2个程序的意思结果是一样的,写法不是很一样,你可以和你的对比对比,充分理解这2个程序。那么就证明你掌握啦。
㈣ 用C语言中的if语句怎么编译一个分段函数
因为分段函数需要对定义域范围进行判定,所以需要用到级联式if else语句。
标准格式:
if (条件1)
{语句组1}
else if (条件2)
{语句组2}
... ...
else //这里包括了所有不在前面提到的条件中的情况,不需要单独说明。
{}
流程图如下:
再写一个简单的例子吧,x>0 --> f(x) = x & x<0 --> f(x) =-x ;
if (x > 0)
f = x;
else
f = -x;
㈤ 编程:求下列分段函数的值:当x≥0时,y=2x+1; 当x<0时,y=2x-1
#include<stdio.h>
void main()
{
float x,y;
printf("请输入x的值:");
scanf("%f",&x);
if(x<0)
y=2*x-1;
else
y=2*x+1;
printf("x=%f,y=%.2f\n",x,y);
}
㈥ C语言:如何使用switch语句编写图中的分段函数
C语言使用switch语句,编写图中的分段函数:
#include<stdio.h>
voidmain()
intx,y,flag;
printf("请输入x:");
scanf("%d",&x);
flag=x<0?-1:(x<10?1:2);
switch(flag)
case-1:y=x;break;
case1:y=2*x-1;break;
case2:y=3*x-1;
printf("y=%d ",y);
简介
C语言是一门面向过程的计算机编程语言,与C++、C#、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
C语言描述问题比汇编语言迅速、工作量小、可读性好、易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编语言代码生成的目标程序效率低10%-20%。因此,C语言可以编写系统软件。