sng函数c语言 用c语言编写sgn函数

求vb6.0函数和语句大全~!一、Val 函数
返回包含于字符串内的数字sng函数c语言,字符串中是一个适当类型的数值 。
语法
Val(string)
必要的 string 参数可以是任何有效的字符串表达式.
说明
Val 函数 , 在它不能识别为数字的第一个字符上,停止读入字符串 。那些被认为是数值的一部分的符号和字符,例如美圆号与逗号,都不能被识别 。但是函数可以识别进位制符号 O(八进制)和 H(十六进制) 。空白、制表符和换行符都从参数中被去掉 。
下面的返回值为 1615198sng函数c语言:
Val(" 1615 198th Street N.E.")
在下面的代码中,Val 为所示的十六进制数值返回十进制数值 -1 。
Val("HFFFF")
注意 Val 函数只会将句点(.)当成一个可用的小数点分隔符 。当使用不同的小数点分隔符时,如在国际版应用程序中,代之以 CDbl 来把字符串转换为数字 。
'=====================================
Val 函数示例
本示例使用 Val 函数返回字符串中所含的数值 。
Dim MyValue
MyValue = https://www.04ip.com/post/Val("2457") ' 返回 2457 。
MyValue = https://www.04ip.com/post/Val(" 2 45 7") ' 返回 2457 。
MyValue = https://www.04ip.com/post/Val("24 and 57") ' 返回 24 。
参考资料:MSDN VB参考
二、Str 函数
返回代表一数值的 Variant (String) 。
语法
Str(number)
必要的 number 参数为一 Long,其中可包含任何有效的数值表达式 。
说明
当一数字转成字符串时,总会在前头保留一空位来表示正负 。如果 number 为正,返回的字符串包含一前导空格暗示有一正号 。
使用 Format 函数可将数值转成必要的格式,如日期、时间、货币或其他用户自定义格式 。与 Str 不同的是,Format 函数不包含前导空格来放置 number 的正负号 。
注意
Str 函数只视句点 (.) 为有效的小数点 。如果使用不同的小数点(例如,国际性的应用程序),可使用 CStr 将数字转成字符串 。
for example:Str 函数示例
本示例使用 Str 函数来将一个数字转成字符串 。当数字转成字符串时,字符串的第一个位一定是空格或是正负号 。Dim MyStringMyString = Str(459)\' 返回 " 459" 。MyString = Str(-459.65)\' 返回 "-459.65" 。MyString = Str(459.001)\' 返回 " 459.001" 。
三、CStr 函数
说明
传回一个转换为 String 资料型态的运算式 。
语法
CStr(expression)
引数 expression 可以是任何有效的运算式 。
注解
通常,您可以使用资料型态转换函数,以特定的资料型态,取代预设的资料型态来进行运算 。例如,使用 CStr 来强制将执行结果以 String 资料型态表示 。
您可以使用 CStr 函数而非 Str 函数,在任何语言的版本中,让任何一个资料型态转换至 String 资料型态 。例如 , 不同的小数点分隔符号,会依据您系统的国别设定来做适当的确认 。
引数 expression 将决定函数传回值为何,请叁考下表:
若 expression 内容为 传回值
Boolean 包含 "True" 或 "False" 的字串 。
Date 包含一个日期的字串,其格式为您系统的简短日期格式 。
Null 产生执行时期错误 。
Empty 一个长度为 0 的 字串 ("") 。
Error 包含一个英文字 "Error" 以及一个错误代码的字串 。
其他数值 包含这个数值的字串 。
(一)类型转换类函数
1. CType(X)
[格式]:
P=CBool(X)
' 将X转换为“布尔”(Boolean)类型
P=CByte(X)
' 将X转换为“字节”(Byte)类型
P=CCur(X)
' 将X转换为“金额”(Currency)类型
P=CDate(X)
' 将X转换为“日期”(Date)类型
P=CDbl(X)
' 将X转换为“双精度”(Double)类型
P=CInt(X)
' 将X转换为“整型”(Integer)类型
P=CLng(X)
' 将X转换为“长整型”(Long)类型
P=CSng(X)
' 将X转换为“单精度”(Single)类型
P=CStr(X)
' 将X转换为“字符串”(String)类型
P=Cvar(X)
' 将X转换为“变体型”(Variant)类型
P=CVErr(X)
' 将X转换为Error值
[ 范例 ]:
(1). CStr(13) CStr(23)
' 数值转换成字符串后,用" "号连接,结果:1323
(2). CInt("12") 12
' 字符串转换成整型后与12相加 , 结果:24
(3). P=CInt(True)
' 输出结果为-1
' 布尔值与数值的转换时要注意,布尔值只有True和False,其中True在内存中为-1,False存为0
(4). CBool(-0.001)
' 输出结果为True
' 将数值转换为布尔型时 , 等于0的数值将得到False,不等于0的数值得到True.
2. Int(X),Fix(X):取X的整数值
[格式]:
P=Int(X) ' 取=X的最大整数值
P=Fix(X) ' 取X的整数部分,直接去掉小数
[范例]:
(1) Int(-54.6)
' 结果为-55,取=-54.6的最大整数
(2) Fix(54.6)
' 结果为54 , 取整数并直接去掉小数
(二)常用数学函数
[格式]:
1. Abs(N) 取绝对值
例:Abs(-3.5) 结果:3.5
2. Cos(N) 余弦函数
例:Cos(0) 结果:1
3. Exp(N) e为底的指数函数
例:Exp(3) 结果:20.068
4. Log(N) 以e为底的自然对数
例:Log(10) 结果:2.3
5. Rnd[(N)] 产生随机数
例:Rnd 结果:0--1之间的数
6. Sin(N) 正弦函数
例:Sin(0) 结果:0
7. Sgn(N) 符号函数
' 说明:取正负号 。Y=Sgn(X) 既 X0 则Y=1;X=0 则Y=0;X0 则Y= -1
8. Sqr(N) 平方根
例:Sqr(9) 结果:3
9. Tan(N) 正切函数
例:Tan(0) 结果:0
10.Atn(N) 反切函数
例:Atn(0) 结果:0
[注意]:在三角函数中 , 以弧度表示 。
(一)字符串类函数:
1. ASC(X),Chr(X):转换字符字符码
[格式]:
P=Asc(X) 返回字符串X的第一个字符的字符码
P=Chr(X) 返回字符码等于X的字符
[范例]:
(1)P=Chr(65)
‘ 输出字符A,因为A的ASCII码等于65
(2)P=Asc(“A”)
‘ 输出65
2. Len(X): 计算字符串X的长度
[格式]:
P=Len(X)
[说明]:
空字符串长度为0,空格符也算一个字符,一个中文字虽然占用2 Bytes,但也算一个字符 。
[范例]:
(1) 令X=”” (空字符串)
Len(X) 输出结果为0
(2) 令X=”abcd”
Len(X) 输出结果为4
(3) 令X=”VB教程”
Len(X) 输出结果为4
3. Mid(X)函数:读取字符串X中间的字符
[格式]:
P=Mid(X,n)
由X的第n个字符读起,读取后面的所有字符 。
P=Mid(X,n,m)
由X的第n个字符读起 , 读取后面的m个字符 。
[范例]:
(1) X=”abcdefg”
P=Mid(X,5)
结果为:P=”efg”
(2) X=”abcdefg”
P=Mid(X,2,4)
结果为P=”bcde”
4. Replace: 将字符串中的某些特定字符串替换为其他字符串
[格式]:
P=Replace(X,S,R)
[说明]:将字符串X中的字符串S替换为字符串R,然后返回 。
[范例]:
X=”VB is very good”
P=Replace(X,good,nice)
输出结果为:P=”VB is very nice”
5. StrReverse:反转字符串
[格式]:
P=StrReverse(X)
[说明]:
返回X参数反转后的字符串
[范例]:
(1)X=”abc”
P=StrReverse(X)
输出结果:P=”cba”
6. Ucase(X) , Lcase(X):转换英文字母的大小写
[格式]:
P=Lcase(X)
‘ 将X字符串中的大写字母转换成小写
P=Ucase(X)
‘ 将X字符串中的小写字母转换成大写
[说明]:除sng函数c语言了英文字母外,其他字符或中文字都不会受到影响 。
[范例]:
(1) 令 X=”VB and VC”
则Lcase(X)的结果为”vb and vc”,Ucase(X)的结果为”VB AND VC”
7. InStr函数:寻找字符串
[格式]:
P=InStr(X,Y)
从X第一个字符起找出Y出现的位置
P=InStr(n,X,Y)
从X第n个字符起找出Y出现的位置
[说明]:
(1) 若在X中找到Y,则返回值是Y第一个字符出现在X中的位置 。
(2) InStr(X,Y)相当于InStr(1,X,Y) 。
(3) 若字符串长度 , 或X为空字符串 , 或在X中找不到Y,则都返回0 。
(4) 若Y为空字符串,则返回0 。
日期时间类函数:
1. Year(X),Month(X),Day(X):取出年,月,日
[格式]:
P=Year(X)
取出X“年”部分的数值
P=Month(X)
取出X“月”部分的数值
P=Day(X)
取出X“日”部分的数值
[说明]:Year返回的是公元年,若X里只有时间,没有日期,则日期视为#1899/12/30#
2. Hour,Minute,Second函数:取出时,分,或秒
[格式]:
P=Hour(X)
取出X“时”部分的数值
P=Minute(X)
取出X“分”部分的数值
P=Second(X)
取出X“秒”部分的数值
[说明]:Hour的返回值是0---23之间
[范例]:
X=10:34:23
P=Hour(X)
Q=Minute(X)
R=Second(X)
则输出结果:P=10 , Q=34 , R=23
3. DateSerial函数:合并年,月,日成为日期
[格式]:DateSerial(Y,M,D)
其中Y是年份,M为月份 , D为日期
[说明]:
(1) M值若大于12,则月份从12月起向后推算M-12个月;若小于1,则月份从1月起向后推算1-M个月 。
(2) 若日期D大于当月的日数 , 则日期从当月的日数起,向后推算D-当月日数;若小于1,则日期从1日起向前推算1-D日 。
[范例]:
P=DateSerial(2000,02,02)
则结果为P=2000/02/02
4.TimeSerial函数:合并时,分,秒成为时间
[格式]:P=TimeSerial(H,M,S)
其中H为小时数,M为分钟数,S为秒数
[说明]:推算原理同上面的DateSerial
[范例]:
P=TimeSerial(6,32,45)
结果为:P=6:32:45
5.Date,Time,Now函数:读取系统的日期时间
[格式]:
P=Date()
P=Time()
P=Now()
[说明]:这三个函数都无参数
[范例]:
若当前时间为2003年8月29日晚上19点26分45秒,则
P=Now()
结果为:P=2003-08-29 19:26:45
6.MonthName:返回月份名称
[格式]:P=MonthName(X)
[说明]:X参数可传入1---12 , 则返回值为“一月”、“二月”…… , 但是在英文Windows环境下 , 返回的是”January”,”February”……
[范例]:
P=MonthName(1)
则P=“一月”
7.WeekdayName:返回星期名称
[格式]:P=WeekdayName(X)
[说明]:X参数可传入1—7,则返回值为“星期日”,“星期一”……,但是在英文windows环境下,返回的是”Sunday”,”Monday”……
[范例]:
P=WeekdayName(1)
结果为:P=”星期日”
VB中Integer(整型)和Long(长整型)有什么区别?一、存储的数据长度不一样 , 不同的数据类型表示的数的范围不同,Integer(整形)变量存储为16位的数值形式,其范围为-32,768到32,767之间 。
整型值可以用十进制,十六进制或八进制符号指定 , 前面可以加上可选的符号(- 或者) 。是一种智能的计算方式 。Integer的类型声明字符是百分比符号(%) 。
二、Long(长整型)变量存储为32位有符号的数值形式 , 长整型是计算机程序语言,是程序设计中数据类型的一种表现方式 , 一般情况下用long 表示长整型 。long 有符号64位整数,范围是-2^63-2^63 -1 Int64 。
在C语言里用的变量是long long 。Long的类型声明字符为和号() 。最前一位是符号位 。
扩展资料:
Visual Basic(简称VB)是Microsoft公司开发的一种通用的基于对象的程序设计语言,为结构化的、模块化的、面向对象的、包含协助开发环境的事件驱动为机制的可视化程序设计语言 。是一种可用于微软自家产品开发的语言 。
“Visual” 指的是开发图形用户界面 (GUI)
的方法——不需编写大量代码去描述界面元素的外观和位置 , 而只要把预先建立的对象add到屏幕上的一点即可 。“Basic”指的是 BASIC
语言,是一种在计算技术发展历史上应用得最为广泛的语言 。
Visual Basic源自于BASIC编程语言 。VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建Active X控件,用于高效生成类型安全和面向对象的应用程序。
参考资料:百度百科-Visual Basic
百度百科-长整型
百度百科-整型
某广义被控过程传递函数为G(s)=21/[(s 1)(2s 1)(5s 1)(10s 1)],要求:不难,如果你的输入是单位阶跃的话,那么K=21(稳态值和输入信号幅值之比),T就是上升到稳态值63.2%的时间,你自己从图上看,滔我记得就是T,好像概念是一样的(也可能是我记错了)
第二步的话,先要接一个单位负反?。?让系统闭环 。然后再对象前面加一个比例环节,调节比例系数,直到系统输出是等幅振荡,然后记下这时候的比例系数和等幅振荡的周期 。最后根据这两个参数进行PID的参数整定 。有一些经验公式,你可以看看这个网页,里面公式也有
注意网页里的比例度指的是比例系数的倒数,不是指比例系数本身 。
我单位的电脑里没有MATLAB,不方便做 , 不过方法告诉你了,lz自己做吧 。
用51单片机编写城市道路交通灯c语言程序,有左转右转#includereg51.h
#define uchar unsigned char
#define uint unsigned int
sbit RED_A=P3^0; //东西向指示灯
sbit YELLOW_A=P3^1;
sbit GREEN_A=P3^2;
sbit RED_B=P3^3; //南北向指示灯
sbit YELLOW_B=P3^4;
sbit GREEN_B=P3^5;
sbit KEY1=P1^0;
sbit KEY2=P1^1;
sbit KEY3=P1^2;
//延时倍数 , 闪烁次数,操作类型变量
uchar Flash_Count=0,Operation_Type=1,LEDsng,LEDsns,LEDewg,LEDews,discnt;
uint Time_Count=0,time;
uchar ledtab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff};
void displaysn()
{
LEDsng=((time-Time_Count)/20);
LEDsns=((time-Time_Count)/20)/10;
LEDewg=0x10;
LEDews=0x10;
}
void displayew()
{
LEDewg=((time-Time_Count)/20);
LEDews=((time-Time_Count)/20)/10;
LEDsng=0x10;
LEDsns=0x10;
}
//定时器0 中断函数
void T0_INT() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%6;
switch(Operation_Type)
{
case 1: //东西向绿灯与南北向红灯亮
if((Time_Count )==0)displayew();
RED_A=0;YELLOW_A=0;GREEN_A=1;
RED_B=1;YELLOW_B=0;GREEN_B=0;
if(Time_Count!=time) return;
Time_Count=0;
Operation_Type=2;
break;
case 2: //东西向黄灯开始闪烁,绿灯关闭
LEDewg=0x0;
LEDews=0x0;
if(Time_Count!=8) return;
Time_Count=0;
YELLOW_A=~YELLOW_A;GREEN_A=0;
if(Flash_Count!=10) return; //闪烁
Flash_Count=0;
Operation_Type=3;
break;
case 3: //东西向红灯与南北向绿灯亮
if((Time_Count )==0)displaysn();
RED_A=1;YELLOW_A=0;GREEN_A=0;
RED_B=0;YELLOW_B=0;GREEN_B=1;
if(Time_Count!=time) return;
Time_Count=0;
Operation_Type=4;
break;
case 4: //南北向黄灯开始闪烁,绿灯关闭
LEDsng=0x0;
LEDsns=0x0;
if(Time_Count!=8) return;
Time_Count=0;
YELLOW_B=~YELLOW_B;GREEN_A=0;
if(Flash_Count!=10) return; //闪烁
Flash_Count=0;
Operation_Type=1;
break;
}
}
void t1_isr() interrupt 3
{
TR1=0;
TH1=(65536-3000)/256;
TL1=(65536-3000)%6;
TR1=1;
switch(discnt)
{
case 0:
P2=0x02;
P0=ledtab[LEDewg];
break;
case 1:
P2=0x01;
P0=ledtab[LEDews];
break;
case 2:
P2=0x08;
P0=ledtab[LEDsng];
break;
case 3:
P2=0x04;
P0=ledtab[LEDsns];
break;
default:discnt=0;break;
}
discnt;
discnt=0x03;
}
void delay()
{
uint i;
for(i=0;i1000;i);
}
//主程序
void main()
{
TMOD=0x11; //T0 方式1
EA=1;
ET0=1;
TR0=1;
TH1=(65536-3000)/256;
TL1=(65536-3000)%6;
TR1=1;
ET1=1;
time=100;
Time_Count=100;
Time_Count=0;
Operation_Type=1;
while(1)
{
if(KEY1==0)//按一下加1S
{
delay();
if(KEY1==0)
{
while(KEY1==0);
TR0=0;
time =20;
LEDsng=(time/20);
LEDsns=(time/20)/10;
LEDewg=0x10;
LEDews=0x10;
}
}
if(KEY2==0)//按一下减1S
{
delay();
if(KEY2==0)
{
while(KEY2==0);
TR0=0;
time-=20;
if(time==0)time=20;
LEDewg=(time/20);
LEDews=(time/20)/10;
LEDsng=0x10;
LEDsns=0x10;
}
}
if(KEY3==0)//启动
{
delay();
if(KEY3==0)
{
while(KEY2==0);
TR0=1;
Time_Count=0;
}
}
}
}
单片机C语言程序,要求南北亮绿灯22S , 东西亮红灯25S,求大神指导图看不太清楚sng函数c语言,你可以参考这个程序sng函数c语言,如果IO口有所差别,稍作修改就可以了 。
#includereg51.h
#define uchar unsigned char
#define uint unsigned int
sbit RED_A=P3^0; //东西向指示灯
sbit YELLOW_A=P3^1;
sbit GREEN_A=P3^2;
sbit RED_B=P3^3; //南北向指示灯
sbit YELLOW_B=P3^4;
sbit GREEN_B=P3^5;
sbit KEY1=P1^0;
sbit KEY2=P1^1;
sbit KEY3=P1^2;
//延时倍数 , 闪烁次数 , 操作类型变量
uchar Flash_Count=0,Operation_Type=1,LEDsng,LEDsns,LEDewg,LEDews,discnt;
uint Time_Count=0,timeew,timens;
uchar ledtab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff};
void displaysn()
{
LEDsng=((timens-Time_Count)/20);
LEDsns=((timens-Time_Count)/20)/10;
LEDewg=0x10;
LEDews=0x10;
}
void displayew()
{
LEDewg=((timeew-Time_Count)/20);
LEDews=((timeew-Time_Count)/20)/10;
LEDsng=0x10;
LEDsns=0x10;
}
//定时器0 中断函数
void T0_INT() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%6;
switch(Operation_Type)
{
case 1: //东西向绿灯与南北向红灯亮
if((Time_Count )==0)displayew();
RED_A=0;YELLOW_A=0;GREEN_A=1;
RED_B=1;YELLOW_B=0;GREEN_B=0;
if(Time_Count!=timeew) return;
Time_Count=0;
Operation_Type=2;
break;
case 2: //东西向黄灯开始闪烁,绿灯关闭
LEDewg=0x0;
LEDews=0x0;
if(Time_Count!=10) return;
Time_Count=0;
YELLOW_A=~YELLOW_A;GREEN_A=0;
if(Flash_Count!=10) return; //闪烁
Flash_Count=0;
Operation_Type=3;
break;
case 3: //东西向红灯与南北向绿灯亮
if((Time_Count )==0)displaysn();
RED_A=1;YELLOW_A=0;GREEN_A=0;
RED_B=0;YELLOW_B=0;GREEN_B=1;
if(Time_Count!=timens) return;
Time_Count=0;
Operation_Type=4;
break;
case 4: //南北向黄灯开始闪烁,绿灯关闭
LEDsng=0x0;
LEDsns=0x0;
if(Time_Count!=8) return;
Time_Count=0;
YELLOW_B=~YELLOW_B;GREEN_A=0;
if(Flash_Count!=10) return; //闪烁
Flash_Count=0;
Operation_Type=1;
break;
}
}
void t1_isr() interrupt 3
{
TR1=0;
TH1=(65536-3000)/256;
TL1=(65536-3000)%6;
TR1=1;
switch(discnt)
{
case 0:
P2=0x02;
P0=ledtab[LEDewg];
break;
case 1:
P2=0x01;
P0=ledtab[LEDews];
break;
case 2:
P2=0x08;
P0=ledtab[LEDsng];
break;
case 3:
P2=0x04;
P0=ledtab[LEDsns];
break;
default:discnt=0;break;
}
discnt;
discnt=0x03;
}
void delay()
{
uint i;
for(i=0;i1000;i);
}
//主程序
void main()
{
TMOD=0x11; //T0 方式1
EA=1;
ET0=1;
TR0=1;
TH1=(65536-3000)/256;
TL1=(65536-3000)%6;
TR1=1;
ET1=1;
timeew=20*25;
timens=20*22;
Time_Count=0;
Operation_Type=1;
while(1)
{
if(KEY1==0)//按一南北下加1S
{
delay();
if(KEY1==0)
{
while(KEY1==0);
TR0=0;
timens =20;
LEDsng=(timens/20);
LEDsns=(timens/20)/10;
}
}
if(KEY2==0)//按一东西加1S
{
delay();
if(KEY2==0)
{
while(KEY2==0);
TR0=0;
timeew =20;
LEDewg=(timeew/20);
LEDews=(timeew/20)/10;
}
}
if(KEY3==0)//启动
{
delay();
if(KEY3==0)
{
while(KEY2==0);
TR0=1;
Time_Count=0;
}
}
}
}
【sng函数c语言 用c语言编写sgn函数】sng函数c语言的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于用c语言编写sgn函数、sng函数c语言的信息别忘了在本站进行查找喔 。

    推荐阅读