学前必备知识

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

计算机语言:计算机工作基于二进制,计算机只能识别和接受由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. 12张图打开JMeter体系结构全局视角

    JMeter是Java技术栈工具,在软件测试领域应用非常广泛,无论是性能测试还是接口测试,技术都很成熟和稳定.它有一个突出特点:开源,适合做二次开发,以阿里为代表的Java技术栈公司都对它青睐有加.在 ...

  2. dom_bom学习

    1. bom是什么? browser object model(浏览器对象模型) 在浏览器中 window指的就是bom对象 //网页重定向 // window.location.href=" ...

  3. JS时间格式转成字符串

    formatNumber = n => { n = n.toString(); return n[1] ? n : '0' + n }; // 时间格式化 formatTime = date = ...

  4. 奇思妙想 CSS 文字动画

    之前有些过两篇关于字体的文章,是关于如何定义字体的: 你该知道的字体 font-family Web 字体 font-family 再探秘 本文将会和这篇 -- CSS 奇思妙想边框动画类似,讲一些文 ...

  5. 零投资!零风险!手把手教你挖pi币

    为什么说PI币属于区块链4.0代币呢?我们先从人类社会的生产力生产关系的递进来做一波有利的证明! 原始社会--封建王朝--君主立宪--资本主义--社会主义 原始社会:社会物质财富分配既有弱肉强食也有按 ...

  6. python基础学习之描述符和装饰器

    描述符的了解: 描述符协议: python描述符是一个"绑定行为"的对象属性,在描述符协议中,它可以通过方法重写属性的访问.这些方法有: __get__, __set__, 和__ ...

  7. 【java框架】MyBatis-Plus(1)--MyBatis-Plus快速上手开发及核心功能体验

    1.MyBatis-Plus入门开发及配置 1.1.MyBatis-Plus简介 MyBatis-Plus(简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变, ...

  8. canvas-修改图片亮度

    canvas操作-修改图片亮度 目录 canvas操作-修改图片亮度 图片亮度的概念 下面用ps截图举一个例子: 调整图片亮度的方案 实现方案一 从RGB到HSV的转换 转换的公式 javascrip ...

  9. python-实现链式栈

    7 """ 8 用一个类来实现一个节点 9 """ 10 class Node(object): 11 def __init__(self, ...

  10. 白话解读 WebRTC 音频 NetEQ 及优化实践

    NetEQ 是 WebRTC 音视频核心技术之一,对于提高 VoIP 质量有明显的效果,本文将从更为宏观的视角,用通俗白话介绍 WebRTC 中音频 NetEQ 的相关概念背景和框架原理,以及相关的优 ...