c++ 语法和常识笔记

1. 数组的赋初值

double array[5]=0;// 编译报错,应加花括号
double array[5]={0};

2. 数组的声明

void allpass(double,double,double,double[]); // 函数的形参若为数组,需要加[];

void allpass(double fs,double f0,double q,double out1[]) 
{}

3. Mingw 安装

matlab生成c++ vst,提示找不到编译器,所以彻底学习一遍如何安装和配置。(0911)

  • 发现已安装的codeblock中已带有Mingw(C:\Program Files (x86)\CodeBlocks\MinGW)
  • 在这里插入图片描述

4 浮点数取整产生的误差

  cout<<(pow(10,2))<<' '<<int(pow(10,2))<<' '<<100.00000001<<' '<<int(100.00000001);

运行的结果为
在这里插入图片描述

 cout<<(pow(10,2))<<' '<<int(pow(10,2)+.00000001)<<' '<<100.00000001<<' '<<int(100.00000001);

运行的结果为
在这里插入图片描述

5 数据导出txt文件

/
      ofstream wt;
	 wt.open("xn_no1.txt");
    for(int i=0;i<fs;++i)
    {
        wt<< xn[i] << endl;
    };
   wt.close();

6 指针与二维数组

 int a[][2]={1,2,3,4,5,6};
  int (*p)[2] =a; //!!! 数组名a表示 &a[0],是一个2元行向量; *p必须加圆括号;

7.vb

LR滤波器的滤波函数错误

double filter_fo_lr(double sample,LR_coeffs l_coef,double *buf)
//  iir,差分方程求y[n],低通和高通 LR滤波器均采用此函数。
// buf为8个元素的double数组,x1-x4,y1-y4
{
	double xn = sample;
	double yn = l_coef.b0*xn + l_coef.b1*buf[0] + l_coef.b2*buf[1]+l_coef.b3*buf[2]+l_coef.b4*buf[3]
		- l_coef.a1*buf[4] - l_coef.a2*buf[5]+l_coef.a3*buf[6]+l_coef.a4*buf[7]; 

粗心,llr滤波器yn=bnxn - 所有的(anyn),y[n-k]的符号都是-号。而自己将[6] /[7]项写成了加号。导致滤波器的值无限大。

8.打印时间

#include <time.h>
time_t rawtime;
struct tm * timeinfo;
time (&rawtime);
timeinfo = localtime ( &rawtime );
printf("%s \n",asctime(timeinfo) );
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值