C《二》

开始阅读谭浩强的C语言程序设计。

编译一个程序,除了语法以外,还需要管理内存,就是数据结构,学习如何高效的利用内存;数据关系的处理。例如学生管理系统的开发,但是数据关系是有最优解的,也就是可以学会的,因此学习主线就是沿着C语言的设计主线来推理C。

接着对上次1+1的程序的探索,int i,j,k都是CPU写入内存,CPU由两部分组成,一个是自己的内存,一个是自己的逻辑处理问题的结构。k = i + j是把两个数据的和读入然后写入内存存储起来,并将结果放在内存里边。

k等价于申请的两个内存的标号或者数据,也就是变量。首先讲数据如何在内存中存储。

计算机是二进制的世界0和1,一个字节有8位用来存储数据。

对于十进制中的0123456789的存储方式分别为:

0000-0000、0000-0001、0000-0010、0000-0011、0000-0100、

0000-0101 //5、0000-0110 //6、0000-0111 //7、0000-1000 //8、以此类推。

注意7+8=15 因此15的二进制就是1111。也就是四个字节能表示的数就是0-15,之后的就是用

0123456789ABCDEF表示。

0001 == 2^0、0010 == 2^1、0100 == 2^2、1000 == 2^3

靠,被他搞晕了,原本是知道如何对十进制转换成二进制的。

继续,char和int不仅是申请类型,而且是申明类型,开始编程:

当给i强行转换类型的时候,把i当一个字节来转换,如果字节数超过255的时候,就会出现一些有趣的现象,例如输入i为300的时候结果输出的是44,为什么?因为十进制转16进制为012C,而因为只取一个字节,为2C,在十进制中就代表44,因此输出是44。

那么为什么先取2C而不是01呢,因为在内存里面的存储方式是左边小右边大,我们人类正常的读写顺序是从左往右读取,也就从高读到低,而计算机要从低开始存储数据,则是从又到左读入数据。因此是2C开始存储。

好有意思的思维。。。

时间: 2024-10-01 02:49:07

C《二》的相关文章

C#<字段与属性的区别>

因为以前用JAVA时候习惯使用属性,然后到C#后很少使用属性,一般用公有字段来做代替,今天为了了解这些区别特意看了一下这方面的知识. 从两者的声明上来看,公共字段只是类用public修饰符所公开的简单公共变量,而属性则是对字段的封装,它使用get和set访问器来控制如何设置或返回字段值. 由于属性是get.set方法,它的本质是方法来进行修改赋值,所以在使用上,公有字段的效率要比属性传递更快. 但是,按照面向对象的要求来说,属性是通过get().set()来给外界调用的,而字段是给类内部使用的.

字段和属性的区别

可以理解为字段是类内部用的,属性是类外部用的. 下面是个C#写的例子,这个例子作用是可以通过属性获取时间值,但是只能通过SetTime()方法设定时间值,我想这也是为什么要分字段和属性的一大原因吧. 首先声明的是private类型的变量(字段)hours,通常字段写法都是加个"_"符号,然后声明只读属性hours. 在类内部可以通过变量(字段)对其进行读写,在类外部不能访问变量(字段),只能访问属性.而且在此例内如果想修改时间值,只能通过调用SetTime()方法往里传值(因为这里的各

c#中字段和属性的区别

在我看来(本人是C#初学者)字段实际上类似一个变量,或者就直接说字段就是一个变量.相应的属性也可以看做是一个变量,只不过多了一些限制而已. using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms; namespace l003{ class 属性的用法 { public int

字段和属性

刚到公司,坐在座位上看昨天打印的单例模式:其中分不清字段和属性的区别了,现在来复习一波 属性和字段的区别 在C#中,我们可以自由的访问公有字段,但在一些场合中,我们可能希望限制字段的赋值范围.或是要求字段只能读或只能写,或是在改变字段时能改变对象的其他一些字段值,这些单靠字段是无法做到的, 于是就有了属性,属性中包含两个块:set和get,set块负责属  性的写入工作,get块负责属性的读取工作. get和set 有两个类person: public class person//这样定义的是字

C# 字段、属性、成员变量 [转载]

一.定义与作用 1.字段(field):是C#类级别定义的,和方法同一级别. 一般用来类内部进行访问,充当一种类中的"全局变量"角色:或者配合属性来使用 2.属性:同样是C#类级别定义的,一般是供外部类访问的. 3.成员变量:"全局变量",在类中定义的变量,区别于在方法中定义的局部变量.它与字段属性不是同一级别概念,字段,属性都可以叫做成员变量. 二.使用 class Basic { private string FieldVar;//这是字段,在当前类中调用 pr

C# 字段、属性、成员变量

引言: C#与java,C++中的这些基本概念略有不同.因为容易混淆,所以这里总结下区别.希望能对初学者有帮助! 一.定义与作用 1.字段(field):是C#类级别定义的,和方法同一级别. 一般用来类内部进行访问,充当一种类中的"全局变量"角色: 或者配合属性来使用 2.属性:同样是C#类级别定义的,一般是供外部类访问的. 3.成员变量:"全局变量",在类中定义的变量,区别于在方法中定义的局部变量.它与字段属性不是同一级别概念,字段,属性都可以叫做成员变量. 二.

C# 常量,变量,字段,属性,方法

常量:指在程序编译时已经存在且在程序生命周期内不会发生改变的值,用const定义一个常量. private class TestA     --定义一个类时后边不加() { private const double Pi=3.14; private double GetPi()   --输出pi值得方法,后边带() { double t=pi; return t; } } 变量: 变量本身被用来存储特定类型的数据,可以根据需要随时改变变量中所存储的数据值.变量具有名称.类型和值.变量名是变量在程

c# 字段和属性

一.字段(field) 可以在声明字段的同时赋给它一个初始值. 二.属性(property) 1.引入 假如将字段声明为public,则在类的外部都可以对该字段进行访问和更改,违背了类的封装特性.如果声明为private,则这种形式的封装通常又过于彻底.例如,你可能希望字段从外部只读,但从内部可以更改,但需要验证对数据进行的更改. 以前,程序语言为了实现这些要求,采取的办法是将字段标记为私有,然后提供取值和赋值的方法来访问和修改数据.遗憾的是,这样做会影响类的可编程性.无法再用赋值运算符来设置类

Input的size与maxlength属性的区别

Input的size与maxlength属性的区别 最近做项目用到input的size和maxlength属性,以前只顾用没有用心去看看这2个标签的区别,今天周末baidu了一下,有所理解.特记录于此!   <p>Name: <input type="text" name="fullname" maxlength="5" /></p>   <p>Name2: <input type="

C#中的引用、字段、属性、构造函数

一.引用赋值与普通的赋值的区别 在C#中指针并没有被完全抛弃,在C#中指针叫做引用,两者很是相似但是并不是完全一样,它们的使用指针的方法是: (相同颜色注意对比) C语言中: intr*p1,*p2; int a=10,b=20: p1=&a: p2=&b; p2=p1; ------------------------------------------------------------------------------------------------- 在C#中: class