简单C实例详细解释

  1. #include<stdio.h>  
  2.   
  3. int main(void)  
  4.   
  5. {  
  6.   
  7.     int num;  
  8.   
  9.     num=1;  
  10.   
  11.     printf("I am a lively boy");  
  12.   
  13.     printf("Do you like me?\n");  
  14.   
  15.     printf("My favorite number is %d, because it is first.\n",num);  
  16.     /* getchar ();*/  
  17.     return 0;  
  18.  }

    1.#include指令和头文件

    #include这行代码是一条预处理器指令,目的是将stdio.h文件中的内容“拷贝-粘贴”到该行代码所处的位置。#符号表明,c处理器在编译器接手之前先处理该条指令。

    stdio.h文件为头文件,该文件是标准输入/输出。头文件指的是c程序顶部的信息集合,在头文件中,可以定义一些常量,声明一些函数以及如何使用它。

    c编译器在创建可执行代码时,要对源代码进行预处理,预处理器指令和头文件可以帮助编译器把程序正确的组合在一起。

2.main函数

    int main(void)

    该行函数表明main是一个函数。main是一个普通的名称,但是是唯一的选择。所有的c程序一定是从main函数开始执行程序。而且函数是程序的基本模块。

    圆括号()表明main()是一个函数。int表示函数返回值的数据类型,int表示返回整数,另外还有一些其他的数据类型,在后面会详细说明。圆括号()中的内容是传入函数的信息,该例中无传递信息,故圆括号里是单词void。

    对于一些旧式的c代码,会有一些类似于  main()或者void main()等形式,在一些编译器上无法正常编译,建议使用标准形式书写。

3.注释

    /*这是一个简单的程序*/

    在程序中,被/*  */两个符号括起来的部分就是程序的注释。可以再同一行,也可以在不同行。它可以放在程序的任意部分。在编译器进行编译时,将其自动忽略。

    //符号可用于单行注释。

    举例如下:

    /*这是一条正确注释*/

    /*

            这也是一条正确的注释

  */

  /*这条注释无效,因为缺少结束符号(*/)

/*

    想注释点掉这一行

    y=400;

/*     a=234  ;*/

    上面的注释会将【想注释掉这一行     y=400;      a=234】同时注释掉,因为c程序会将代码中的第一个/*符号和第一个*/符号进行配对,注释掉两个符号之间的内容。

4.花括号、函数体和块

    {

        .......................

    }

    花括号把函数体的语句括起来,表示函数的开始和终止,不可以省略。且只有花括号({})有这种作用,方括号([])和圆括号(())都没有这种作用。

    花括号还可以用于将函数体中的语句合并为一个单元或块。

5.声明

    int num;

    该行代码为一个声明。它的作用是定义变量名称和变量数据类型。编译器使用这些信息为变量num在计算机内存中分配存储空间。

    int为关键字,表示一种基本的数据类型。关键字就是语言定义的,具有特点用处的单词,不能作为其他用处。例如不可用来生命变量和函数。

    num为一个标识符,就是变量、函数和其他实体的名称。

    总的来说,声明将变量与计算机内存中的特定位置联系起来,同时也确定了储存在计算机内存特定位置的变量名称和数据类型。特别要注意的是所有的变量只有在声明后才可以被使用。在以前的c语言中,要求将所需的变量全部声明在函数块之前。现在c99允许将声明放在块的任意位置,但是必须在变量的第一次使用之前对其进行声明。但是现在很多编译器不支持c99。

~~~~~~~~~~~~~数据类型~~~~~~~~~~~~~~~~~~~~~~

    c中的数据类型包括整数、浮点数和字符。只有正确的声明变量,计算机才能对数据进行着正确的存储、读取、解释。将会在之后的内容中对其进行具体解释。

~~~~~~~~~~~~~命名~~~~~~~~~~~~~~~~~~~~~~~

    在对变量进行声明时,习惯上采取有意义的变量名称。比如在定义星星的数目时,应该使用stars而不是x。也可以使用注释具体说明。

    c99和c11标准最多允许使用63个字符。对于外部字符(有兴趣可自行查阅外部字符表)最多允许使用8个。

    标识符有数字,字母和下划线( _ )构成。名称的第一个字符必须是数字或下划线。

    由于操作系统和c库常用一或两个下划线来命名标识符。故在我们平时自己的程序编写中应避免这样的操作。

    c语言的名称区分大小写,即stars/Stars/STARS是三个不同的变量名称。

6.赋值

    num=1;

    这是赋值表达式语句。作用是把1赋给变量num,即将1存储到之前计算机为变量num分配的空间中。可以给变量num分配不同的值。注意,该表达式是从右往左进行赋值。

7.printf函数

    printf("I am a lively boy");

    printf("Do you like me?\n");

    printf("My favorite number is %d because it is frist.");

    这三行都使用了printf函数,圆括号()表示printf是一个函数名。圆括号的内容是main函数传递给printf的信息。该信息被称为实际参数(实参),即传递给函数的特定值。形式参数(形参)表示函数中用于存储数据的变量。printf函数的参数,用来查看,并在屏幕上打印双引号中的内容。

    我们通过第一行可以看出c程序中调用函数的过程,即输入函数名,再把所需的参数填入圆括号中。在程序运行过程,控制权会在函数中进行传递。当程序运行到第一函数所在行时,控制权由main转移到该函数,函数运行结束后,控制权转移到main函数。

    第二行printf函数中的\n,没有打印出,是因为\n是一个转义字符(难以表示或无法输入的符号)。它的意义是在下一行的最左边开始新的一行,相当于Enter。为什么在代码中,不直接使用Enter键?在程序中使用Enter键表示开始新的编程,没有换行的作用。其他的转义字符,如\b表示backspace键(退格键),\t表示Tab键。每个转义序列都用反斜杠字符(\)开始。

    第三行的printf函数,参数%d。我们先来看一下第三行的输出:

    My favorite number is 1 because it is first.

    我们可以看出,num变量的值1以十进制的形式替换了%d。我们可以将%d理解为一个占位符,其作用是指明printf函数中变量的打印位置和打印数据类型。即它是printf函数成为一种格式化打印函数。printf函数有多种打印类型,包括十进制、十六进制、小数。在后面的内容中会详细解释。

8.return语句

    return 0;

    在程序的最后一行为return语句。该语句由 return关键字、 返回值、分号(;) 组成。有返回值的函数必须要有return语句。

    int main(void)中的int表明main函数返回值为int(整数)形式。如果在main()函数末尾,漏点return语句,程序会在运行至右花括号的时返回0。因此,可以省略main函数中的return语句。但是建议不要省略,将其看作是一种统一的代码风格。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值