学前必备知识

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

计算机语言:计算机工作基于二进制,计算机只能识别和接受由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. go map嵌套 map的value可以是任意类型

    在日常编程中,除了使用内置的数据类型,还会使用一些复杂的自定义数据类型,比如map K为string,V为数组.先了解一下go对map的基本设定: map的key可以是任意内置的数据类型(如int), ...

  2. python3中post请求 json 数据

    post请求 #!/usr/bin/env python # -*- coding:utf-8 -*- import requests import json headers = { "Us ...

  3. 自动化测试工具(基于WordCount作业)

    本自动化测试的程序用于自动化测试WordCount作业,采用Java开发(基于jdk1.8+),基于Maven来管理项目. 支持的语言和开发进度 语言 进度 Java 已测试并投入运行 C++ 开发完 ...

  4. PTA 将数组中的数逆序存放

    7-1 将数组中的数逆序存放 (20 分)   本题要求编写程序,将给定的n个整数存入数组中,将数组中的这n个数逆序存放,再按顺序输出数组中的元素. 输入格式: 输入在第一行中给出一个正整数n(1). ...

  5. 【linux】系统编程-4-共享内存

    目录 前言 6. 共享内存 6.1 概念 6.2 操作函数 6.2.1 shmget() 6.2.2 shmat() 6.2.3 shmdt() 6.2.4 shmctl() 6.3 例子 参考: 前 ...

  6. ls(list)命令详解及生产使用示例

    文件有文件名与数据,在linux上被分为两个部分:用户数据(user data)与元数据(metadata) 用户数据,即文件数据块(data block),数据块是记录文件真实内容的地方,我们将其称 ...

  7. 使用python制作大数据词云

    1 from wordcloud import WordCloud 2 import PIL.Image as image 3 import numpy as np 4 import jieba 5 ...

  8. ternux的ssh和ftp

    ssh的连接 pkg install ssh ssh -p 8022 username@hostname_ip ftp的创建 安装python 升级pip python -m pip install ...

  9. 二、python学习-函数

    类型判断 1.type()直接获取类型 2.isinstance 用法一:isinstance(值,类型) 返回真或假 用法二:isinstance(值,(类型1,类型2 ...)) 有一个类型满足 ...

  10. BBR拥塞算法的简单解释

    TCP BBR的ACM论文中,开篇就引入了图1,以此来说明BBR算法的切入点: 为何当前基于丢包探测的TCP拥塞控制算法还有优化空间? BBR算法的优化极限在哪儿? 图1 为了理解这张图花了我整整一个 ...