C_运用do
源码:
# include <math.h>
# include <stdio.h> /* 数学函数库 */
int main()
{
/* 用s表示多项式的值,用t表示每一项的值 */
double s, t, x; // 此处用双精度声明变量
int n;
printf("please input x: ");
scanf("%lf", &x); // %lf 代表用双精度输入
/* 赋初值 */
t = x;
n = 1;
s = x;
/* 进行叠加运算 */
do
{
n = n + 2 ;
t = t * (-x*x)/((float)(n)-1)/(float)(n);
s = s + t;
} while (fabs(t)>=1e-8); // 本来是要大于0,但也可大于一个很小的数即可
printf("sin(%f) = %lf\n", x, s);
return 0;
}
相关文档:
例:#define NELE(a) (sizeof(a) / sizeof(a[0]))
int main() {
char str[] = {'E', 'M', 'C'};
for (int d=-1; d<=(NELE(str)-2);d++)
printf("%c",str[d+1]);
return 0;
}
判断printf()输出的是什么,结果可能出乎意料,什么也没有输出,原因呢?原因 ......
提出问题:
回调函数是基于C编程的Windows SDK的技术,不是针对C++的,程序员可以将一个C函数直接作为回调函数,但是如果试图直接使用C++的成员函数作为回调函数将发生错误,甚至编译就不能通过。
分析原因:
普通的C++成员函数都隐含了一个传递函数作为参数,亦即“this”指针,C++通过传递一个指向自身的指 ......
源码:
# include <stdio.h>
int main()
{
/* 定义字符型变量,并给它们付初值 */
char c1, c2, c3, c4, c5, c6, c7;
c1 = 'C';
c2 = 'h';
c3 = 'i';
c4 = 'n';
& ......
源码:
# include <stdio.h>
int main()
{
/* 定义一个整形指针p */
int *p;
int begin, end;
begin = 10;
/* 给指针p赋初值 */
p = &begin;
& ......
源码:
# include <stdio.h>
int main()
{
int num;
/* 下面定义的各变量,分别代表个位,十位,百位,千位,万位,十万位以及位数 */
int indiv, ten, hundred, thousand;
int ten_thousand, hundred_thous ......