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

(c primer plus第五版) 学习笔记

第二章 c语言概述
一个简单的实例
#include <stdio.h>
int main(void)
{
   int num;   /*定义变量num*/
      num = 1;  /*给变量num赋值*/
 
      printf("I am a simple"); /*使用printf()函数*/
      printf("computer.\n");
      printf("My favorite number is %d because it is first.\n",num);
 
      return 0;
}
简单分析如下:
第一个语句:#include<stdio.h> 告诉编译器本源文件包含stdio.h中的所有信息包含函数、变量等
第二个语句:int main(void) 定义main函数类型为int,不接受任何参数(void)
第三和第四个语句:定义了int类型变量num,并赋值给num
第五、六和七语句:调用了stdio.h文件中的printf()函数
第六个语句:返回语句,返回值为0
 
 
深入分析:
第一:#include是c语言的预处理器指令(preprocessor directive),c编辑器在编译前要对源代码做一些准备工作,这称为预处理
 
第二:int main()函数,几乎所有的c程序都是从这个函数开始执行的,main()是c程序的基本模块 , 而int则声明函数返回的是整数,返回给操作系统,其他声明main的形式:
main()  /* c90标准会支持这种形式,c99则不支持,最好不要这样声明*/
Void main() /*无返回值,最好也不要这样声明 */
 
第三:int num 定义了整型变量num,在c程序中,所有变量在使用之前必须定义而且必须给出类型,不然编译器通不过,会提示编译错误
第四:调用了c语言标准函数printf(),其中括号里面的是参数,当程序调用了printf()函数,将控制权交给prinft()函数,当完成调用了,就将控制权交给main()函数
最后一个语句:return 0;因为main函数是整数类型,所以必须返回一个整数类型的值,没有给出返回语句,相对c99标准来说编译器会提示编译错误


相关文档:

c头文件最后要加一个空行,知道为什么嘛?

 以前学生时代的时候就有遇到过这个问题,不过没去深究;
现在也是老问题,其实很简单,就是为了防止#include两个头文件的时候,把第一个头文件的最后一行和 第二个头文件的第一行拼接成一行;呵呵,其实很多问题都很简单,而且很隐蔽,只是我们很多时候没去注意! ......

C函数返回结构体在汇编下的实现

原文链接:http://blog.csdn.net/sytstarac/archive/2009/08/05/4411519.aspx
编译器:vc++6.0(因为此种实现依赖编译器处理)
此处只简要叙述一下机制。并附部分关键指令序列。
准备:
1,关于EBP:称做栈基址指针。为什么这样说呢?我们先来看看函数调用的过程:
参数从右到左压栈。
call指令执行,该指令将导致EIP压 ......

Linux c的popen()

进程I/O函数,与pclose函数一起使用。
表头文件
  #include <stdio.h>
函数定义
  FILE * popen
( const char * command
, const char * type
);
  int pclose
( FILE * stream
);
函数说明
  
popen() 函数通过创建一个管道,调用 fork 产生一个子进程,执行一个 shell 以运行命令来开启一 ......

MATLAB与C/C++混合编程之MATLAB调用C程序

通过把耗时长的函数用c语言实现,并编译成mex函数可以加快执行速度。Matlab本身是不带c语言的编译器的,所以要求你的机器上已经安装有VC,BC或Watcom C中的一种。如果你在安装Matlab时已经设置过编译器,那么现在你应该就可以使用mex命令来编译c语言的程序了。如果当时没有选,就在Matlab里键入mex -setup,下面只要根据提示 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号