在信息化、智能化的世界里,可能很早很早 我们就听过许多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. String字符串性能优化的探究

    一.背景 String 对象是我们使用最频繁的一个对象类型,但它的性能问题却是最容易被忽略的.String 对象作为 Java 语言中重要的数据类型,是内存中占用空间最大的一个对象,高效地使用字符串, ...

  2. vue-cli3使用jq

    第一步安装 npm install jquery --save 第二部配置vue.config.js, 没有这个文件就创建 主要是框框出来的那些: 忽略我配置的另一个uglifyjs-webpack- ...

  3. C++语言学习之STL 的组成

    STL有三大核心部分:容器(Container).算法(Algorithms).迭代器(Iterator),容器适配器(container adaptor),函数对象(functor),除此之外还有S ...

  4. c#导入文件以后查看制定值

    //Console.ReadKey(); ceshi("3.ini", "用户名"); ceshi("3.ini", "IP地址& ...

  5. delphi 设置默认控件得到焦点

    如果同一窗体有多个按钮的话,追踪源码发现最后是taborder来的 如: 在空白窗体上拖入两个button (btn1,btn2) 如果在btn2设置default = True 运行后,默认焦点还是 ...

  6. CSS兼容性总结一点点

    CSS3的兼容性,除了前缀.还有参数格式的区分,因为仍在变化中,不在这篇文章中讨论. 很想总结一下IE 6 7 8 9 10的兼容性问题,但是我实在不喜欢IE 6 7 8,在Web开发上也很少再调整到 ...

  7. JS函数命名规范

    语法规范: 任何合法的javascript标识符都可以作为函数的名称. 约定俗成的内容:(非ECMAScript语法,但是为了便于开发者理解和识别,约定的函数命名规范.) 命名方法: 小驼峰式命名法 ...

  8. Jenkins - Linux下启动Jenkins报错hudson.WebAppMain#contextDestroyed: Shutting down a Jenkins instance that was still starting up

    报错截图 在Linux下直接运行jenkins.war报错,导致启动失败 报错原因 运行端口已被其他进程占用 解决方法 换个启动端口就可以啦!

  9. nginx&http 第二章 ngx 事件event配置等初始化

    event事件模块,配置分为两层:ngx_events_module 事件模块 和 ngx_event_core_module 事件核心模块.ngx_events_module:模块类型NGX_COR ...

  10. MYSQL 存储引擎(面)

    存储引擎是MySQL的组件,用于处理不同表类型的SQL操作.不同的存储引擎提供不同的存储机制.索引技巧.锁定水平等功能,使用不同的存储引擎,还可以获得特定的功能. 使用哪一种引擎可以灵活选择,一个数据 ...