浅谈程序设计和C语言
学前必备知识
程序:一组计算机能识别和执行的指令。
计算机语言:计算机工作基于二进制,计算机只能识别和接受由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语言的更多相关文章
- 浅谈单片机中C语言与汇编语言的转换
做了一单片机设计,要用C语言与汇编语言同时实现,现将这次设计的感受和收获,还有遇到的问题写下,欢迎感兴趣的朋友交流想法,提出建议. 单片机设计:基于51单片机的99码表设计 软件环境:Proteus8 ...
- 浅谈javascript和python语言的深拷贝
深拷贝: 之前在开发中我遇到一个很大的bug,经过我多次调试之后我发现原本应该有保存数据的地方数据全部被清空,仔细一看发现原来是被人为删除,明明操作的是一个副本,为什么原本也会跟着一起被删除呢?经过了 ...
- 新手码农浅谈观察者模式(java语言简单实现)
一:什么是观察者模式: 官方定义:定义对象间一种一对多的依赖关系.当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新. 举个例子,很多人都会订阅天气预报,当气象台获得明天的天气情况( ...
- 浅谈C语言中断处理机制
一.中断机制 1.实现中断响应和中断返回 当CPU收到中断请求后,能根据具体情况决定是否响应中断,如果CPU没有更急.更重要的工作,则在执行完当前指令后响应这一中断请求.CPU中断响应过程如下:首先, ...
- 浅谈c语言结构体
对于很多非计算机专业来说,c语言课程基本上指针都不怎么讲,更别说后面的结构体了.这造成很多学生对结构体的不熟悉.这里我就浅谈一下我对结构体的认识. 结构体,就是我们自己定义出一种新的类型,定义好之后, ...
- Web服务器和动态语言如何交互--CGI&FastCGI&FPM浅谈
一个用户的Request是如何经过Web服务器(Apache,Nginx,IIS,Light)与后端的动态语言(如PHP等)进行交互并将结果返回给用户的呢? 本文浅谈个人观点,可能有误,欢迎拍砖,共同 ...
- 浅谈C语言中的强符号、弱符号、强引用和弱引用
摘自http://www.jb51.net/article/56924.htm 浅谈C语言中的强符号.弱符号.强引用和弱引用 投稿:hebedich 字体:[增加 减小] 类型:转载 时间:2014- ...
- 浅谈Java语言环境搭建-JDK8
title: 浅谈Java语言环境搭建-JDK8 blog: CSDN data: Java学习路线及视频 1.What's the JDK,JRE JDK(Java Development Kit ...
- 【转载】浅谈游戏开发之2D手游工具
浅谈游戏开发之2D手游工具 来源:http://www.gameres.com/459713.html 游戏程序 平台类型: iOS Android 程序设计: 其它 编程语言: 引擎/SDK ...
随机推荐
- 一次Ubuntu16.04 虚拟机挂起,ping不到网络引发的思考
虚拟机挂起 无网络 情况复现 can@ubuntu:~$ ping www.baidu.com ping: unknown host www.baidu.com 挂起重开虚拟机,遇到无网络状态: 首先 ...
- 剑指 Offer 58 - I. 翻转单词顺序 + 双指针
剑指 Offer 58 - I. 翻转单词顺序 Offer_58_1 题目描述 方法一:使用Split函数 package com.walegarrett.offer; /** * @Author W ...
- PAT-1154(Vertex Coloring )+map使用+vector建图+set的使用
Vertex Coloring PAT-1154 #include<iostream> #include<cstring> #include<string> #in ...
- 【HTB系列】 Lame
出品|MS08067实验室(www.ms08067.com) 本文作者:shavchen 01 前言 这次挑战的靶机是Lame,距今900天+,历史感十足 靶机描述 Lame is a beginne ...
- Shell脚本控制docker容器启动顺序
1.遇到的问题 在分布式项目部署的过程中,经常要求服务器重启之后,应用(包括数据库)能够自动恢复使用.虽然使用docker update --restart=always containerid能够让 ...
- 通达OA 前台任意用户登录漏洞复现
漏洞描述 通达OA是一套办公系统.通达OA官方于4月17日发布安全更新.经分析,在该次安全更新中修复了包括任意用户登录在内的高危漏洞.攻击者通过构造恶意请求,可以直接绕过登录验证逻辑,伪装为系统管理身 ...
- Percona XtraDB Cluster之流量控制
什么是流量控制? Percona XtraDB Cluster具有一种称为流控制的自调节机制.该机制有助于避免集群中最弱/最慢的成员明显落后于集群中其他成员的情况. 当集群成员在写数据很慢(同时又继续 ...
- Spring AOP的源码流程
一.AOP完成日志输出 1,导入AOP模块 <dependency> <groupId>org.springframework</groupId> <arti ...
- Python数据格式:%s字符串,%d整型,%f浮点型
格式化符% name="Tom" age=int(input("age")) pt2="%s你的年龄是%d"%(name,age) prin ...
- Python基础学习【day2】
运算符 运算符有哪些? 加 + 减 - 乘 * 除 / 幂 ** 取余 % ...