今天敲了一些程序:
求1-1000的完数
#include <stdio.h>
int main()
{
int i;
int j;
int sum = 0;
for(i = 1; i <= 1000; i++)
{
for(j = 1; j <= i / 2; j++)
{
if(i % j == 0)
{
sum = sum + j;
}
}
if(sum == i)
{
printf("%d\n",i);
}
sum = 0;
}
return 0;
}
求1-100中9出现的次数:
#include <stdio.h>
int main()
{
int i;
int num;
int sum = 0;
for(i = 1; i <= 100; i++)
{
num = i;
while(num != 0)
{
if(num % 10 == 9)
{
sum++;
}
num = num / 10;
}
}
printf("%d\n",sum);
return 0;
}
关于linux编译器gcc:
编译过程:预处理(头文件展开,宏替换,条件编译),编译(语法检查,词法分析),汇编(生成汇编文件),链接(目标文件和系统库文件进行链接)
静态库和动态库的区别:
1.执行效率:动态库执行效率低 编译时间短 静态库编译效率低 执行效率高;
2.所占内存:动态库可执行代码少占用内存少 静态库可执行文件多 比较臃肿比较占内存;
3.代码升级:动态库容易升级 静态库不易升级;
4.代码布局:动态库代码布局差 静态库布局好效率高;
求1-1000的完数
#include <stdio.h>
int main()
{
int i;
int j;
int sum = 0;
for(i = 1; i <= 1000; i++)
{
for(j = 1; j <= i / 2; j++)
{
if(i % j == 0)
{
sum = sum + j;
}
}
if(sum == i)
{
printf("%d\n",i);
}
sum = 0;
}
return 0;
}
求1-100中9出现的次数:
#include <stdio.h>
int main()
{
int i;
int num;
int sum = 0;
for(i = 1; i <= 100; i++)
{
num = i;
while(num != 0)
{
if(num % 10 == 9)
{
sum++;
}
num = num / 10;
}
}
printf("%d\n",sum);
return 0;
}
关于linux编译器gcc:
编译过程:预处理(头文件展开,宏替换,条件编译),编译(语法检查,词法分析),汇编(生成汇编文件),链接(目标文件和系统库文件进行链接)
静态库和动态库的区别:
1.执行效率:动态库执行效率低 编译时间短 静态库编译效率低 执行效率高;
2.所占内存:动态库可执行代码少占用内存少 静态库可执行文件多 比较臃肿比较占内存;
3.代码升级:动态库容易升级 静态库不易升级;
4.代码布局:动态库代码布局差 静态库布局好效率高;