在信息化、智能化的世界里,可能很早很早 我们就听过许多IT类的名词,C语言也在其中,我们侃侃而谈,到底C程序是什么样子?让我们先看简单的一个例子:

1
2
3
4
5
6
7
8
9
#include<stdio.h>                 /*引入头文件*/
int main(void)                  /*一个简单的C程序*/
{
    int number;            /*定义个名字叫做number的变量*/
    number=2014;                /*给number赋一个值*/
    printf("Hello ! I am dotcpp.com\n");    /*调用printf()函数*/
    printf("This year is %d\n",number);
    return 0;
}

这个简单的程序作用是向屏幕上输出两句话,如果想看到实际的运行结果的话,我们需要使用编译器编译这段代码然后运行最后的可执行程序,如果顺利话,将看到运行结果为:

1
2
Hello ! I am dotcpp.com
This year is 2014

怎么样?一切如我们所预料吧? 
可是...为什么... 
也许您还有很多个疑问,很多个为什么,比如什么头文件、main、int、\n、%d都是什么东西?都是干什么用的? 
以及您可能感觉为什么写的这么奇怪? 
不用着急~ 好,让我们一起先来大致看一遍。

1
#include<stdio.h>  /* 包含另一个文件 */

本行代码将告诉编译器引入一个stdio.h的文件(就像我们电脑中的123.txt一样)的全部内容。stdio.h文件是所有C语言编译器的标准部分,用来提供输入和输出的支持。

1
int main(void/*主函数*/

C程序规定一个程序中有一个或多个函数,他们是C程序的基本模块。但必须有且只有一个main函数。因为C程序的执行将从main函数开始,到main函数结束而停止。 
再回头看看我们的这个简单实例吧,他只有一个名为main的函数,名字后面的圆括号()表明main()是一个函数的名字,括号里面的void表示空的,这里指不接受任何参数。而前面的int表示main()这个函数在执行完成后返回一个整数(int表示整数,即英文integer的缩写)。有关更详细的知识,我们会在后面进入更深入的讲解。而此时,我们只需要把int和void看作是用来定义main()函数的标准即可。

1
/*一个简单的C程序*/

这不是代码,是一句注释,符号/*和*/中包含的话不被编译器编译处理,而是给我们看的,帮助我们理解程序,你可以认为是笔记~

1
{

这个开始花括号标志着函数的开始,而后面的结束花括号}则标志着函数的结束。

1
int number;

这个语句表明告诉编译器,我们将使用一个叫做number的变量,并且它是int(整数)类型。

1
number=2014;

这条语句表示,给number这个变量赋值为2014。

1
printf("Hello ! I am dotcpp.com\n");

这是一个函数调用语句,在屏幕上显示“Hello ! I am dotcpp.com”,\n表示让光标另起一行。这里的printf()是C标准库里的一部分。用术语来讲,它是一个函数。在一个程序中使用另一个函数(如我们在main()函数当中调用了printf()函数),术语称之为调用了一个函数。

1
printf("This year is %d\n",number);

又是一个函数调用语句。但不同的是并不是输出“This years is %d”换行,而是输出"This year is 2014"换行,此刻的%d表示输出number值的位置和形式。

1
return 0;

C函数可以给它的使用者提供或返回一个数值。此时 我们只需理解这一句是用来满足C标准的要求而已。

1
}

结束的花括号,函数名后{ 和 }之间的部分称之为函数体。 

好的,这就是我们的第一个简单的C程序以及其简单的介绍,希望大家好好理解并消化,更详细的讲解我们将会在下节展开!

程序演示:C语言第一个简单实例的更多相关文章

  1. 留念 C语言第一课简单的计算器制作

    留念 C语言第一课简单的计算器制作 学C语言这么久了.  /* 留念 C语言第一课简单的计算器制作 */   #include<stdio.h>  #include<stdlib.h ...

  2. Hibernate笔记——第一个简单实例

     1. 首先进行框架配置 导包 hibernate配置xml文件 ======================= 2. 创建并配置POJO类 Hibernate是操作持久化层的框架,和数据库打交道,其 ...

  3. c语言指针的简单实例

    c语言的指针的存在使得c语言对硬件的操控,以及灵活性得到了极大的提高. 但是指针的使用存在着很多难点问题. #include<stdlib.h> #include<stdio.h&g ...

  4. Win32 API 多线程编程——一个简单实例(含消息参数传递)

    Win32 API进行程序设计具有很多优点:应用程序执行代码小,运行效率高,但是他要求程序员编写的代码较多,且需要管理所有系统提供给程序的资源,要求程序员对Windows系统内核有一定的了解,会占用程 ...

  5. 【C语言C++编程学习笔记】基础语法,第一个简单的实例编程入门教程!

    C语言/C++编程学习:一个简单的实例 让我们来看一个简单的C语言程序.从下面的程序可以看出编写C语言程序的一些基本特征.   如果你能知道该程序将会在显示器上显示一些内容,那说明你还是知道一些的! ...

  6. SignalR代理对象异常:Uncaught TypeError: Cannot read property 'client' of undefined 推出的结论 SignalR 简单示例 通过三个DEMO学会SignalR的三种实现方式 SignalR推送框架两个项目永久连接通讯使用 SignalR 集线器简单实例2 用SignalR创建实时永久长连接异步网络应用程序

    SignalR代理对象异常:Uncaught TypeError: Cannot read property 'client' of undefined 推出的结论   异常汇总:http://www ...

  7. C++ 容器的综合应用的一个简单实例——文本查询程序

    C++ 容器的综合应用的一个简单实例——文本查询程序 [0. 需求] 最近在粗略学习<C++ Primer 4th>的容器内容,关联容器的章节末尾有个很不错的实例.通过实现一个简单的文本查 ...

  8. 关于《数据格式修改》的简单应用程序(C语言)

    关于<数据格式修改>的简单应用程序(C语言) 至亲爱的博友: 大家好,好久不见了.由于博主还是一名大学在校生,不可避免的需要和指导教师共同完成一些项目,因此前一段时间暂时停止了博客的更新. ...

  9. 用C语言编写一个简单的词法分析程序

    问题描述: 用C或C++语言编写一个简单的词法分析程序,扫描C语言小子集的源程序,根据给定的词法规则,识别单词,填写相应的表.如果产生词法错误,则显示错误信息.位置,并试图从错误中恢复.简单的恢复方法 ...

随机推荐

  1. 手撸ORM浅谈ORM框架之Delete篇

    快速传送 手撸ORM浅谈ORM框架之基础篇 手撸ORM浅谈ORM框架之Add篇 手撸ORM浅谈ORM框架之Update篇 手撸ORM浅谈ORM框架之Delete篇 手撸ORM浅谈ORM框架之Query ...

  2. Java踩坑记系列之Arrays.AsList

    java.util.Arrays的asList方法可以方便的将数组转化为集合,我们平时开发在初始化ArrayList时使用的比较多,可以简化代码,但这个静态方法asList()有几个坑需要注意: 一. ...

  3. Nginx跳转配置

    1.携带目录调转到后端,后端无目录,location配置如下 例子: i2.jusdacfj.com/ideas_edi/--10.0.2.137:7040/10.0.2.138:7040 locat ...

  4. Kubernetes K8S之affinity亲和性与反亲和性详解与示例

    Kubernetes K8S之Node节点亲和性与反亲和性以及Pod亲和性与反亲和性详解与示例 主机配置规划 服务器名称(hostname) 系统版本 配置 内网IP 外网IP(模拟) k8s-mas ...

  5. System.Net邮件发送功能踩过的坑

    System.Net邮件发送功能踩过的坑 目录 System.Net邮件发送功能踩过的坑 1.EazyEmail邮件发送类库 2.邮件发送授权码与邮件密码 3.通过邮件密码来发送邮件 4.Wiresh ...

  6. Table is marked as crashed and should be repaired 解决办法

    遇到这个问题几个敲命令轻松搞定 1.首先进入mysql命令台: mysql -u root -p 回车  输入密码 2.查询所有的库 mysql> show databases; 3.进入数据库 ...

  7. 学习笔记——ESP8266项目的例子编译时发生cannot find -lstdc++问题的解决

    在尝试对进行ESP8266项目的例子进行编译时发生cannot find -lstdc++问题 第一想法是安装libstdc++,结果安装时又发生了下面的情况: 再次查找原因,最后发现当前安装的交叉编 ...

  8. 批处理最小二乘法 python

    参考:系统辨识与自适应控制MATLAB仿真(修订版) 庞中华 崔红 仿真实例2.5 import numpy as np import matplotlib.pyplot as plt from mx ...

  9. 最全总结 | 聊聊 Python 办公自动化之 Word(中)

    1. 前言 上一篇文章,对 Word 写入数据的一些常见操作进行了总结 最全总结 | 聊聊 Python 办公自动化之 Word(上) 相比写入数据,读取数据同样很实用! 本篇文章,将谈谈如何全面读取 ...

  10. 缩点Tarjan算法解析+[题解]受欢迎的牛

    (注:我在网上找了一些图,希望原博主不要在意,谢谢,(。☉౪ ⊙。)) 首先来了解什么是强连通分量 有向图强连通分量:在有向图G中,如果两个顶点vi,vj间(vi>vj)有一条从vi到vj的有向 ...