C语言计算10的阶乘?
分析下程序,阶乘可以用递归做,也可以用循环做,这里就放上这两种代码了。
一.递归:
#include <stdio.h>
int f(int t)
{
if (t==1)
return 1;
else
return t*f(t-1);
}
思路:先定义一个函数求一个数的阶乘,接着依次从1到10调用该函数就1到10的阶乘并输出。
参考代码:#include<stdio.h>int fun(int n){//定义函数求n的阶乘 if(n==0||n==1) return 1;else return n*fun(n-1);} int main(){int i;for(i=1;i<=10;i++)printf("%d的阶乘为:%d\n",i,fun(i));return 0;} /*输出:1的阶乘为:12的阶乘为:23的阶乘为:64的阶乘为:245的阶乘为:1206的阶乘为:7207的阶乘为:50408的阶乘为:403209的阶乘为:36288010的阶乘为:3628800*/
c语言中一个十进制数占几个字节?
一个字节等于8个bit,也就可以放8个2进制。4个2进制足以表示一个10进制,所以一个字节可以表达2个10进制。 一个字节能表示的最大带符号十进制数为 一个字节能表示的最大带符号十进制数为 127。 八进制整常数以 0 开头,十六进制整常数以 0x 开头。3.0在内存中占 8 个字节,double d在内存中占 8 个字节。 表达式12345==12345/3*3的值为 1 。 表达式4>10?(5>3?(4,2):3):(6,7)的值为 7 。 在C语言中用 0 代表"***",用 1 代表"真"。但只要是 非0 则都认为是"真"。
一个C程序总是从 main函数 开始执行的。 已知在某进制下有2*4=10,根据这一规则3*5在该进制下应等于 17 。 一个C程序的执行是从本程序的 主函数 开始到 主函数 结束。 C语言中的标识符只能由字母、数字和下划线三种字符组成且第一个字符必须为 非数字 。 C语言中的实型变量分为两种,它们是 float 和 double 。 C语言提供的三种逻辑运算符是&&、 || 、 ! 。 程序的三种基本控制结构是顺序结构 、 循环 结构 、 分支 结构 。
在C语言中(以16位PC机为例),一个float型数据在内存中所占字节。 数为 8 ,一个int型数据在内存中所占字节数为 8 。 表达式98&&8&&31&1的值为 0 。
已知字母A的ASCII码是65,则执行语句:char ch='A'+3; 后ch的值为 68 。 在C语言中用 0 代表"***",用 1 代表"真"。
但只要是 非0 则都认为是"真"。
在C语言中,二维数组元素在内存中的存放顺序是 顺次存放 。 设有数组定义:char a[]=”China”;则数组a所占空间为 6 个字节。 设有数组int num [5] = {10,20,30,40,50};则num[3]的值为 40 。