c语言计数
① c语言计数
写一个小延时函数
delay();//里面用两个for循环累加就好
然后把数码管的译码放在数组里
共阴数码管的译码为
0 0x3f
1 0x06
2 0x5b
3 0x4f
4 0x66
5 0x6d
6 0x7d
7 0x07
8 0x7f
9 0x6f
A 0x77
B 0x7c
C 0x39
D 0x5e
E 0x79
F 0x71
把这些放入数组
int led[16]={0x3f,0x06,0x4f,0x66,0xd,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}
然后送入你接数码管的io口
例如
for(i=0;i<16;i++)
{
p1=led[i];
delay();
};
共阳极数码管的话,你换下数组的数值就好
② C语言怎么计算一个数有多少位
c语言怎么计算一个数有多少位的方法:
1.
输入待计算的数x
2.
定义一个数位的变量int
n=0;
3.
循环,x每次缩小10倍,n=n+1;
最终x会变成0,循环结束
4.
输出n值
代码:
#include
void main()
{
int x,m,n=0;
printf("input x: ");scanf("%d", &x );
m=x; //备份原数,供输出用
do {
n++;
x /= 10 ;
} while( x>0 );
printf("%d 是%d位数\n", m, n );
}
③ C语言中strlen函数是怎么计数的
char str[]=" ab 12\""
字符1: 转义字符:水平制表符 ,其ASCII 值9(十进制)
字符2、3:ab
字符4: 转义字符,换行符,其ASCII 值10(十进制)
字符5: 12 转义字符,其中012是8进制数,其ASCII值 同 .
字符6:\ 转义字符 反斜杠,其ASCII值 92(十进制)
字符7:" 转义字符 双引号",其ASCII值 34(十进制)
2. printf("%d ", strlen("IBM 0121\"));
字符1、2、3: IBM
字符4: 转义字符
字符5、6、7:012
字符8:1 其ASCII值 1(8进制).
字符9:\ 转义字符 反斜杠,其ASCII值 92(十进制)
3.printf("%d ",strlen(" "