易截截图软件、单文件、免安装、纯绿色、仅160KB

C/C++学习笔记[01].纵向打印整数

#include <stdio.h>
#include <string.h>
#include <math.h>
#define BASE 10
int intlen(long n);
int main()
{
int i, j, num, sz;
i = j = num = sz = 0;
if (!scanf("%d", &num) || num <= 0) {
printf("invalid input\n");
return 1;
}
sz = intlen(num);
for (i = sz; i > 0; i--) {
for (j = 1; j <= num; j++) {
printf("%d",(j % (int) (pow(BASE,i))) / (int) (pow(BASE,i - 1)));
}
printf("\n");
}
return 0;
}
int intlen(long n)
{
return log10(fabs(n)) + 1;
}
/* vim: set ts=4 sw=4: */

从标准输入接收一个大于0的整数,竖向打印1-这个数之间的数
用到了对数函数取整数的位数,取模运算,整除运算,指数运算


相关文档:

C的内存分配释放方式学习

一个由C/C++编译的程序占用的内存分为以下几个部分
1、栈区(stack)— 由编译器自动分配释放

,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。
2、堆区(heap) — 一般由程序员分配释放

若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方 ......

C位运算

12.1       位运算符C语言提供了六种位运算符:
    &          按位与
    |          按位或
    ^     &nb ......

C的TXT电子书阅读器(DOS)

可惜MS-DOS不是中国人写的,不支持中文。
/* Note:Your choice is C IDE */
#include "stdio.h"
main(int argc, char *argv[])
{
FILE *fp;
char ch;
int num=0,max;
int line=0;
if((fp=fopen(argv[1],"rt"))==NULL)
{
printf("\nCannot open file strike any key exit!");
getch();
exit(1);
......

LINUX下进行C语言编程

源程序编译  

Makefile的编写  

程序库的链接  

程序的调试  

头文件和系统求助  


1.源程序的编译  

在Linux下面,如果要编译一个C语言源程序,我们要使用GNU的gcc编译器.   下面我们以一个实例来说明如何使用gcc编译器.  
......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号