c语言基础理解(原创)
家中小女初上大学开学计算机课程,学习C语言时遇到困难,为帮助她尽快入门,特写了这篇基本概念理解,希望帮她快速认识清楚C语言的本质。发到博客园上,也帮助同样的C语言初学者轻松掌握C语言的本质。
程序运行过程
- 程序员写完代码后,先交给编译链接程序编译成机器代码。
- 机器代码程序可由执行程序(操作系统或执行程序(如java的jvm虚拟机) )来运行
c语言执行程序操作对象
- 代码语句。如 int a=1+2;
- 数值。如3.14、“h”、"26"等整数或小数或字符,执行程序可根据要求把这些数放入指定存储单元中,这称为赋值
- 存储单元。如语句 int a1; a1=3; 这两句意思是首先在内存中申请4个字节大小的内存存储单元用于放置整数,然后在这个存储单元中放置整数数值3。我们把这些小存储单元称为变量,相当于盛放数值的容器。
注:存储单元根据放置数值的类型分为整数、小数、字符、指针等。用于放置内存地址的存储单元我们称之为指针变量
根据以上解释,c语言代码程序经编译后,执行程序执行代码语句时,操作对象只有两个,一个是存储单元,另一个是数值。数值是执行程序自己生成,无需程序员操心,因此程序员所关注的只有一个对象,即存储单元。因此可以说,c语言主要功能是用于操作存储单元赋值和取值的语言
什么是变量和变量名?
- 变量的本质是在内存中申请的一小块存储单元,按申请类型决定大小;
- 变量的用途其实是一个容器,它的作用在于可以起到一个临时存储数据。
- 变量名是给变量起的名字,是给人类和编译程序看的,程序代码经编译程序编译后,变量名就会消失。因为执行程序不需要变量名
什么是常量和常量名
- 常量本质是个不会改变的数据值,可以命名以方便操作和识别
- 常量名是给常量起的名字,是给人类和编译程序看的。习惯上常量名称使用大写定义
常量与变量的区别
- 常量因为是数值,所以定义时必须要有初始值,而且值不允许被修改,
- 变量因为是个存储单元,所以无初始值,但定义时可同时赋值,以后可以多次赋值。
后记:学习离不开上网查阅资料记录笔记,为方便记录网页资料记录笔记,本人为chrominmu类浏览器如chrome、edge等开发了个名为网风笔记的扩展插件,可方便帮助采撷记录网页的文章、段落、图片、多媒体等,并提供文章管理后台以方便整理收藏。特别是针对某sdn,某网页图书馆等限制复制的网页有良好的辅助作用。除此之外,网风笔记还有音视频下载、截图涂鸦、一键提取文章、自由点选段落、快捷打印成A4格式文档、网页笔记编辑整理、定向发布等等功能,可以说是喜欢网上学习采集资料的好帮手,现免费提供给大家使用。喜欢的朋友可自行百度搜索下网风笔记安装使用。
c语言基础理解(原创)的更多相关文章
- 《MSSQL2008技术内幕:T-SQL语言基础》读书笔记(下)
索引: 一.SQL Server的体系结构 二.查询 三.表表达式 四.集合运算 五.透视.逆透视及分组 六.数据修改 七.事务和并发 八.可编程对象 五.透视.逆透视及分组 5.1 透视 所谓透视( ...
- 《MSSQL2008技术内幕:T-SQL语言基础》读书笔记(上)
索引: 一.SQL Server的体系结构 二.查询 三.表表达式 四.集合运算 五.透视.逆透视及分组 六.数据修改 七.事务和并发 八.可编程对象 一.SQL Server体系结构 1.1 数据库 ...
- R语言基础:数组&列表&向量&矩阵&因子&数据框
R语言基础:数组和列表 数组(array) 一维数据是向量,二维数据是矩阵,数组是向量和矩阵的直接推广,是由三维或三维以上的数据构成的. 数组函数是array(),语法是:array(dadta, d ...
- OC语言基础知识
OC语言基础知识 一.面向对象 OC语言是面向对象的,c语言是面向过程的,面向对象和面向过程只是解决问题的两种思考方式,面向过程关注的是解决问题涉及的步骤,面向对象关注的是设计能够实现解决问题所需功能 ...
- php面试题之三——PHP语言基础(基础部分)
三.PHP语言基础 1. strlen( )与 mb_strlen( )的作用分别是什么(新浪网技术部) strlen和mb_strlen都是用于获取字符串长度. strlen只针对单字节编码字符,也 ...
- Object Pascal 语言基础
Delphi 是以Object Pascal 语言为基础的可视化开发工具,所以要学好Delphi,首先要掌握的就是Object Pascal 语言.Object Pascal语言是Pascal之父在1 ...
- C#语言基础——7月21日
C#语言基础 一.语言基础 (一).函数的四要素: 名称,输入,输出,加工(二).主函数.输出语句.输入语句: Static void Main(string[] args)//下划 ...
- java语言基础02
一.Java语言基础(常量的概述和使用)(掌握) 1:什么是常量 就是在程序的执行过程中其值不发生改变的量. 2:Java中常量的分类 (1):字面值常量 (2):自定义常量(面向对象部分讲解) 3: ...
- 李洪强iOS开发之OC语言基础知识
OC语言基础知识 一.面向对象 OC语言是面向对象的,c语言是面向过程的,面向对象和面向过程只是解决问题的两种思考方式,面向过程关注的是解决问题涉及的步骤,面向对象关注的是设计能够实现解决问题所需功能 ...
- 【quick-cocos2d-x】Lua 语言基础
版权声明:本文为博主原创文章,转载请注明出处. 使用quick-x开发游戏有两年时间了,quick-x是cocos2d-Lua的一个豪华升级版的框架,使用Lua编程.相比于C++,lua的开发确实快速 ...
随机推荐
- 通过linux-PAM实现禁止root用户登陆的方法
前言 在linux系统中,root账户是有全部管理权限的,一旦root账户密码外泄,对于服务器而言将是致命的威胁:出于安全考虑,通常会限制root账户的登陆,改为配置普通用户登陆服务器后su切换到ro ...
- 快速上手Mybatis项目
快速上手Mybatis项目 思路流程:搭建环境-->导入Mybatis--->编写代码--->测试 1.搭建实验数据库 CREATE DATABASE `mybatis`; USE ...
- HNOI2008GT考试
题目链接 考虑dp,f(i,j)表示做到了第i位(共n位),当前的后缀串与A1~Aj相匹配 接下来的方案数.转移的话枚举一个k=0~9表示这位选什么,如果选了以后,匹配的位置会改变到 j' ,j'可以 ...
- 一篇了解全MVCC
一.什么是MVCC MVCC,全称Multi-Version Concurrency Control,即多版本并发控制,是一种并发控制的方法,一般用在数据库管理系统中,实现对数据库的并发访问,比如在M ...
- AIR32F103(四) 27倍频216MHz,CoreMark跑分测试
目录 AIR32F103(一) 合宙AIR32F103CBT6开发板上手报告 AIR32F103(二) Linux环境和LibOpenCM3项目模板 AIR32F103(三) Linux环境基于标准外 ...
- c++ 模板 指针类型偏特化
一步步来,先简单点. 目标:我们要实现一个模板类,例化后,可以通过get_val获取到值,通过get_ptr获取到指针.具体什么意思结合例子来看看吧. 例子: struct A{ int data; ...
- 【红队技巧】Windows存储的密码获取
[红队技巧]Windows存储的密码获取 免责声明: 使用前提 支持版本 利用方式 参考: 免责声明: 本文章仅供学习和研究使用,严禁使用该文章内容对互联网其他应用进行非法操作,若将其用于非法目的,所 ...
- 面试 个人摸底监测 考察考察JS三座⼤⼭ 1. 原型和原型链 2. 作⽤域与闭包 3. 异步和单线程 (第四天)
01.如何判断⼀个变量是不是数组? let arr = [1,2,3,4] function fun(){ return arr instanceof Array } 02.如何使⽤class实现继承 ...
- Go语言核心36讲52
你好,我是郝林. 专栏到这里,就要结束了. 差不多在半年以前(2018年的第二个季度),极客时间的总编辑郭蕾找到我,说想让我写一个关于Go语言的技术专栏. 我那时候还在轻松筹担任大数据负责人,管理着四 ...
- 8、将两个字符串s1,s2进行比较,如果s1>s2,则输出一个正数。如果s1 = s2,输出零。如果s1 < s2, 输出一个负数,不用strcmp函数,输出的正数或者负数的绝对值应该是比较两字符串相应字符的ascii码的差值。
/* 将两个字符串s1,s2进行比较,如果s1>s2,则输出一个正数.如果s1 = s2,输出零.如果s1 < s2, 输出一个负数,不用strcmp函数,输出的正数或者负数的绝对值应该是 ...