学前必备知识

程序:一组计算机能识别和执行的指令。

计算机语言:计算机工作基于二进制,计算机只能识别和接受由0和1组成的指令。

计算机能直接识别和接受的二进制代码称为机器指令。机器指令的集合就是该计算机的机器语言。

一条符号语言的指令对应转换为一条机器指令。转换的过程称为“汇编”,因此符号语言又称汇编语言。

高级语言:接近于人们习惯使用的自然语言和数学语言。(它与具体的机器距离较“远”)

源程序:高级语言写的程序

目标程序:使用编译器将源程序转换为机器指令的程序。

编译方式:A、解释方式         B、编译方式

高级语言的发展阶段: 

           A、非结构化语言

           B、结构化语言

           C、面向对象语言

C语言的特点:

  1、语言简洁、紧凑、使用方便、灵活。

  2、运算符丰富。(共有34种运算符)

  3、数据类型丰富。

  4、具有结构化的控制语句。

  5、语法限制不太严格,程序设计自由度大。

  6、C语言允许直接访问物理地址,能进行bit(位)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。

  7、用C语言编写的程序课移植行好。

C语言入门程序

在屏幕上输出  I love C  program.

1 #include<stdio.h>
2 int main()
3 {
4 printf("I love C program.\n");
5 return 0;
6 }

程序分析

main()是函数的名字,表示主函数,main前面的int表示此函数的类型是int类型(整型)。即执行主函数后会得到一个值(即函数值),其值为整型。
return 0的作用是:当main函数执行结束钱将整数0作为函数值,返回到调用函数处。
\n:表示换行符。
#include<stdio.h>:调用函数库中的输入输出函数(编译系统要求程序提供有关此函数的信息)--------》预处理阶段
文件后缀名.h的意思是头文件,因为这些文件都是放在程序各文件模块的开头的。
每一个C语言程序都必须有一个主函数(main函数),函数体由花括号{}括起来。
在每个数据声明和语句的最后必须有一个分号。

程序注释符
  //:单行注释
  /**/:多行注释

运行C语言的步骤与方法
  源程序(编写程序)------》目标程序(对源程序进行编译)------》可执行程序(进行连接处理,生成可执行程序)------》运行程序------》生成结果

 

浅谈程序设计和C语言的更多相关文章

  1. 浅谈单片机中C语言与汇编语言的转换

    做了一单片机设计,要用C语言与汇编语言同时实现,现将这次设计的感受和收获,还有遇到的问题写下,欢迎感兴趣的朋友交流想法,提出建议. 单片机设计:基于51单片机的99码表设计 软件环境:Proteus8 ...

  2. 浅谈javascript和python语言的深拷贝

    深拷贝: 之前在开发中我遇到一个很大的bug,经过我多次调试之后我发现原本应该有保存数据的地方数据全部被清空,仔细一看发现原来是被人为删除,明明操作的是一个副本,为什么原本也会跟着一起被删除呢?经过了 ...

  3. 新手码农浅谈观察者模式(java语言简单实现)

    一:什么是观察者模式: 官方定义:定义对象间一种一对多的依赖关系.当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新. 举个例子,很多人都会订阅天气预报,当气象台获得明天的天气情况( ...

  4. 浅谈C语言中断处理机制

    一.中断机制 1.实现中断响应和中断返回 当CPU收到中断请求后,能根据具体情况决定是否响应中断,如果CPU没有更急.更重要的工作,则在执行完当前指令后响应这一中断请求.CPU中断响应过程如下:首先, ...

  5. 浅谈c语言结构体

    对于很多非计算机专业来说,c语言课程基本上指针都不怎么讲,更别说后面的结构体了.这造成很多学生对结构体的不熟悉.这里我就浅谈一下我对结构体的认识. 结构体,就是我们自己定义出一种新的类型,定义好之后, ...

  6. Web服务器和动态语言如何交互--CGI&FastCGI&FPM浅谈

    一个用户的Request是如何经过Web服务器(Apache,Nginx,IIS,Light)与后端的动态语言(如PHP等)进行交互并将结果返回给用户的呢? 本文浅谈个人观点,可能有误,欢迎拍砖,共同 ...

  7. 浅谈C语言中的强符号、弱符号、强引用和弱引用

    摘自http://www.jb51.net/article/56924.htm 浅谈C语言中的强符号.弱符号.强引用和弱引用 投稿:hebedich 字体:[增加 减小] 类型:转载 时间:2014- ...

  8. 浅谈Java语言环境搭建-JDK8

    title: 浅谈Java语言环境搭建-JDK8 blog: CSDN data: Java学习路线及视频 1.What's the JDK,JRE JDK(Java Development Kit ...

  9. 【转载】浅谈游戏开发之2D手游工具

    浅谈游戏开发之2D手游工具 来源:http://www.gameres.com/459713.html 游戏程序 平台类型: iOS Android  程序设计: 其它  编程语言:   引擎/SDK ...

随机推荐

  1. 痞子衡嵌入式:FlexSPI复位方式不当会导致i.MXRT系列下OTFAD加密启动失败

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是FlexSPI复位方式不当会导致i.MXRT系列下OTFAD加密启动失败问题. 本篇是<系统时钟配置不当会导致i.MXRT1xxx ...

  2. Java 面向对象 02

    面向对象·二级 构造方法Constructor概述和格式 * A:构造方法概述和作用     * 给对象的数据(属性)进行初始化 * B:构造方法格式特点     * a:方法名与类名相同(大小也要与 ...

  3. (数据科学学习手札110)Python+Dash快速web应用开发——静态部件篇(下)

    本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 这是我的系列教程Python+Dash快速web ...

  4. MongoDB -> kafka 高性能实时同步(sync 采集)mongodb数据到kafka解决方案

    写这篇博客的目的 让更多的人了解 阿里开源的MongoShake可以很好满足mongodb到kafka高性能高可用实时同步需求(项目地址:https://github.com/alibaba/Mong ...

  5. [Redis知识体系] 一文全面总结Redis知识体系

    本系列主要对Redis知识体系进行详解.@pdai Redis教程 - Redis知识体系详解 知识体系 学习资料 知识体系 知识体系 相关文章 首先,我们通过学习Redis的概念基础,了解它适用的场 ...

  6. Nginx配置静态文件服务从入门到精通

    作者:三十三重天 博客:http://www.zhouhuibo.club 通过学习和分享的过程,将自己工作中的问题和技术总结输出,希望菜鸟和老鸟都能通过自己的文章收获新的知识,并付诸实施. 引言 使 ...

  7. IPFS挖矿的成本有哪些?

    IPFS作为区块链新贵,近来风头一时无量.截止3月9日,Filecoin以257亿的流通市值超越门罗币,稳居区块链流通排行榜. 无论什么投资,其门槛一定在成本.今天就和大家细说投资市面上常见实体矿机的 ...

  8. Cup HDU - 2289

    题目传送门:https://vjudge.net/problem/HDU-2289 题意:有一个上口小于底部的圆台形水杯,告诉我们水的体积求水高度. 思路:利用高中数学知识求rr然后二分求h,具体化简 ...

  9. JSP配置虚拟路径及虚拟主机

    1.tomact解压后目录 bin:可执行文件(startup.bat   shutdown.bat) conf:配置文件(server.xml) lib:tomcat以来的jar文件 log:日志文 ...

  10. nsqlookupd:高性能消息中间件 NSQ 解析

    摘要:本篇将会结合源码介绍 nsqlookupd 的实现细节. 本篇将会结合源码介绍 nsqlookupd 的实现细节.nsqlookupd 主要流程与nsqd 执行逻辑相似,区别在于具体运行的任务不 ...