十进制常整数没有前缀,即对什么数据做什么操作

本文介绍基本类型和数组的赋值,Java中基本类型、数组、对象的赋值有明显不同,基本上就是告诉计算机要操作的数据和执行的指令序列,即对什么数据做什么操作,整型常量,整型常量,(1)十进制整常数,十进制常整数没有前缀,C语言中可用一个标识符来表示一个常量,符号常量在使用之前必须先定义后使用

图片 15

管理器程序的构思逻辑 (2),思维逻辑

赋值

上节大家说了数据类型和变量,通过评释变量,每种变量赋予二个数据类型和二个有含义的名字,大家就报告了微型Computer我们要操作的数据。

有了多少,大家能做过多操作。但本文只说说对数据做的率先个操作:赋值。申明变量之后,就在内部存款和储蓄器分配了一块地方,但以此任务的内容是不解的,赋值正是把那块地方的剧情设为一个分明的值。

Java中着力项目、数组、对象的赋值有综上可得差别,本文介绍中央项目和数组的赋值,关于指标后续作品会详述。

我们先来说基本项目标赋值,然后再说数组的赋值。

中心项目标赋值

大背头档期的顺序

子弹头品类有byte, short,
int和long,分别占领52%/4/8个字节,取值范围分别是:

类型名 取值范围
byte -2^7 ~ 2^7-1
short -2^15 ~ 2^15-1
int -2^31 ~ 2^31-1
long -2^63 ~ 2^63-1

咱俩用^表示指数,2^7即2的7次方。这些限制大家无需记的那么驾驭,有个差没多少范围认知就可以了,大好些个平常使用,一般用int就足以了。后续小说会从二进制的角度更是深入分析表示范围为啥会是这么的。

赋值方式很轻便,直接把熟练的数字常量格局赋值给变量就可以,对应的内部存款和储蓄器空间的值就从一窍不通产生了显著的常量。但常量不能够抢先对应项目标意味范围。举例:

byte b = 23;
short s = 3333;
int i = 9999;
long l = 32323;

而是,在给long类型赋值时,假使常量当先了int的表示范围,须要在常量前边加大写或小写的L,即L或l,比如:

long a = 3232343433L;

其一是出于数字常量默感到是int类型。

小数类型

小数类型有float和double,占用的内部存款和储蓄器空间分别是4和8个字节,有两样的取值范围和精度,double代表的限制越来越大,精度越来越高,具体来讲:

类型名 取值范围
float

1.4E-45 ~ 3.4E+38

-3.4E+38 ~-1.4E-45

double

4.9E-324 ~1.7E+308

-1.7E+308 ~ -4.9E-324

取值范围看上去很想获得,一般我们也没有必要记住,有个大致影象就足以了。E表示以10为底的指数,E前边的+号和-号代表正指数和负指数,举例:1.4E-45意味着1.4加倍10的-43遍方。后续文章会越发解析小数的二进制表示。

 对于double,直接把纯熟的小数表示赋值给变量就能够,比如:

double d = 333.33;

但对此float,必要在数字背后加大写F或小写f,例如:

float f = 333.33f;

以此是由于小数常量默以为是double类型。

除去小数,也足以把整数直接赋值给float或double,举例:

float f = 33;
double d = 3333333333333L;

boolean类型

这一个相当粗略,直接运用true或false赋值,分别代表真和假,比如:

boolean b = true;
b = false;

字符类型

字符类型char用于表示贰个字符,这些字符可以是中文字符,也得以是克罗地亚共和国(Republic of Croatia)语字符。在内部存款和储蓄器中,Java用七个字节表示三个字符。赋值时把常量字符用单引号括起来,不要使用双引号,比如:

char c = 'A';
char z = '中';

关于字符类型有部分细节,后续文章会越来越深度剖判。

一些表明**
**

地点介绍的赋值都以一直给变量设置叁个常量值。但也得以把变量赋给变量,举个例子:

int a = 100;
int b = a;

变量能够拓展各样运算(后续小说疏解),也足以将变量的演算结果赋给变量,举例:

int a = 1;
int b = 2;
int c = 2*a+b; //2乘以a的值再加上b的值赋给c

下面介绍的赋值都以在注解变量的时候就进展了赋值,但那不是必须的,能够先评释变量,随后再拓展赋值。

数组类型

赋值语法

基本类型的数组有二种赋值格局,如下所示:

1. int[] arr = {1,2,3};

2. int[] arr = new int[]{1,2,3};

3. int[] arr = new int[3];
    arr[0]=1; arr[1]=2; arr[2]=3;

先是种和第三种都以先行理解数组的剧情,而第三种是先分配长度,然后再给各种成分赋值。

其二种样式中,尽管没有给各样成分赋值,各种成分也皆有贰个暗中认可值,那些私下认可值跟数组类型有关。数值类型的值为0,boolean为false,
char为空字符。

数CEO度能够动态鲜明,如下所示:

int length = ... ;//根据一些条件动态计算
int arr = new int[length];

固然能够动态鲜明,但定了随后就不得以变,数组有一个length属性,但只可以读,不可能改。

贰个小细节,不能够在给定伊始值的同不时常间还给定长度,即如下格式是不允许的:

int[] arr = new int[3]{1,2,3}

那是能够通晓的,因为初阶值已经调整了长短,再给个长度,假设还分裂,Computer将心神不属。

数组和大旨项目标差距

多少个为主类型变量,内部存款和储蓄器中只会有一块对应的内部存款和储蓄器空间。但数组有两块,一块用于存款和储蓄数组内容本身,另一块用于存款和储蓄内容的职责。

用一个例证来表达,有二个int变量a,和三个int数组变量arr,其代码,变量对应的内部存款和储蓄器地址和内部存款和储蓄器内容如下所示:

代码 内存地址 内存数据
int a = 100; 1000 100
int arr = {1,2,3}; 2000 3000
  3000 1
  3004 2
  3008 3

宗旨类型a的内部存款和储蓄器地址是一千,这一个职位存款和储蓄的正是它的值100。

数组类型arr的内部存款和储蓄器地址是2000,这么些职位存款和储蓄的值是三个职位三千,3000先导的地点存款和储蓄的才是实际的数额1,2,3。

怎么数组要用两块空间

不可能只用一块空间吧?大家来看上边那一个代码:

int[] arrA = {1,2,3};

int[] arrB = {4,5,6,7};
arrA = arrB;

本条代码中,arrA初步的长度是3,arrB的长度是4,后来将arrB的值赋给了arrA。要是arrA对应的内部存款和储蓄器空间是直接存款和储蓄的数组内容,那么它将未有丰富的空中去容纳arrB的具备因素。

用两块空间存款和储蓄,那几个就总结的多,arrA存款和储蓄的值就改成了和arrB的均等,存款和储蓄的都以数组内容{4,5,6,7}的地方,此后访谈arrA就和arrB是一样的了,而arrA
{1,2,3}的内部存款和储蓄器空间由于无人引用会被垃圾回收,如下所示:

arrA        {1,2,3} 
      \
        \
arrB  ->  {4,5,6,7}

由上,也得以看来,给数组变量赋值和给数组夷则素赋值是五回事。给数组桐月素赋值是改换数组内容,而给数组变量赋值则会让变量指向一个例外的地方。

上面大家说数组的长度是不得以变的,不可变指的是数组的剧情空间,一经分配,长度就无法再变了,可是足以更换数组变量的值,让它指向一个长度不一致的上空,就好像上例中arrA后来本着了arrB同样。

小结

给变量赋值正是将变量对应的内部存款和储蓄器空间设置为二个显眼的值,有了值之后,变量能够被加载到CPU,CPU能够对这几个值举办各类运算,运算后的结果又能够被赋值给变量,保存到内部存款和储蓄器中。

多少年足球以拓展什么样运算?如何进展览演出算呢?

—————— 

未完待续,查看最新篇章,敬请关心微教徒人号“老将说编制程序”,深入显出,探寻Java编程及计算机本领的精神。原创小说,保留全体版权。

图片 1

 

(2),思维逻辑 赋值
上节大家说了数据类型和变量,通过注脚变量,各种变量赋予三个数据类型和二个有含义的名字…

数据

数据是什么?数据在Computer内部都以二进制,不便利操作,为了方便操作数据,高等语言引进了”数据类型”和”变量”的定义。

整型变量:变量是CPU为顺序开拓的一块内部存款和储蓄器地址空间的代号,由此其实质存款和储蓄形式是二进制(即数值是以01代码样式积攒在那块内部存款和储蓄器空间中的,是以补码情势表示的)。三个字节Byte

8bit即8位。补码:正数的补码即为其原码;负数的补码为其原码按位取反,再加1。(所以注意内部存款和储蓄器溢出的气象)

/#include <stdio.h>
void main()
{
int a, b, c;
a = 32767;
b = a + 1;
printf(“%d, %d\n”, a, b)
}
//输出 32767(0111111111111111), -32768(1000000000000000)
//这里内部存款和储蓄器溢出了,因为再补码中,最左侧第一人代表的是符号位(0表示“+”,
1表 示“-”),当a=32767时即为在13人下所能表示的最大数值,尽管再+
1,则吸引内存溢 出,形成0111111111111111 + 1 ==
1000000000000000,即为-32768(因为在内部存款和储蓄器中数值的意味方法为补码,正数的补码即为本人,所以011111111111111
== 32767; 而 一千000000000000象征的是负数,其的反码为
1111111111111111 ==
(1)111111111111111,所今后十五人再+1,即为1000000000000000 ==
32768,再算上首先位符号位,即为-32768)

整型的归类:1)基本型:类型表明符为int,占2字节;
2)短整型:类型表达符为short int 或 short,占2字节
3)长整型:类型表达符为long int 或 long, 占4字节
4)无符号整形:类型表明符为unsigned

1.1.2 字符型:字符常量,字符变量,字符串常量。
字符常量定义:用单引号括起来的多个字符(不可以是字符串)。举个例子:’a’,
‘+’, ‘?’, ‘=’ 都是合法字符常量。
字符常量具有以下特征:1)字符常量只可以用单引号括起来,不能够用双引号或另外括号;2)字符常量只好是单个字符,不可能是字符串;3)字符可以是字符聚焦的即兴字符,不过数字被定义为字符常量后就不可能参与数值运算。例,’5’和5是例外的,’5’是字符常量,不能出席数值运算,可是5还是能够。
转义字符:转义字符是一种新鲜的字符常量。以反斜杠”\”开端,后边跟贰个或多少个字符。转义字符具备独特的含义,
差别于字符原来的意义。比方,”\n”表示回车。(注:这里是行使的双引号,所以它又差异字符串常量。)指标:用来代表一般字符不便于代表的调控代码。

图片 2

image.png

字符变量定义:字符变量用来囤积字符常量,即单个字符。字符变量的品类表明符是char,在函数中定义字符变量即:char
a, b;
字符型数据在内部存款和储蓄器中的仓库储存格局及采纳方法:种种字符型变量被分配三个字节的内部存款和储蓄器空间,由此只好存储三个字符型常量,且该字符型常量是以ASCII码的花样寄存在该变量的累积空间中的。例,char
a = ’A’;
则a所代替的内部存储器空间中寄放的是’A’的ASCII码65的二进制情势01000001。

/#include <stdio.h>
void main()
{
Char a, b;
a = 65;
b = 66;
printf(“%c, %c\n”, a, b)
printf(“%d, %d\n”, a, b)
}
//输出:A, B
65, 66
//在该例中,a与b是字符型变量,当赋值时给予整型数据a = 65,b =
66,因而输出时取决于printf函数中要求输出的格式,如要求输出”%c”即字符型时,即根据65,
66的ASCII码输出相呼应的字符型常量’A’,
‘B’;假设供给输出”%d”即整型时,即依据原本的赋值输出65,66(注:这里的65,66是整型)。

字符串常量定义:是有一对双引号括起来的字符连串(其长度可以为三个字符也能够是一个字符)。
字符常量与字符串常量的分别:1)字符常量用单引号,字符串常量用双引号;2)字符常量只能是单个字符,字符串常量能够分包三个或多少个字符;3)字符常量只占1个字节,而字符串常量占笔者字节长度+1,增加的二个字节是为着存放转义字符”\O”(字符串结束的标记);4)能够把贰个字符常量赋值给字符变量,可是不可能把七个字符串常量赋值给字符变量(因为,字符变量唯有1字节的内部存款和储蓄器空间,而字符串常量往往至少占2个字节,由此会变成内部存款和储蓄器溢出)。

图片 3

image.png

1.1.3
浮点型:浮点型常量,浮点型变量。(注:在浮点数总结中须求留心舍入测量误差,因而在不一致精度数字总计时索要先将低精度转化为高精度(Computer内部举办),再举行计算)。
浮点型常量只使用十进制。有二种样式:十进制小数情势:由数码0~9和小数点组成;指数形式:由十进制数,加阶码标记“E”或“e”及阶码(阶码必须为十进制整数)组成(合法指数格局为3.11E5
== 3.11 * 10^5 ==
31一千)。注:浮点型常量可拉长后缀,首要根据其品种来拉长。
浮点型变量:

图片 4

image.png

浮点型变量分类:1)单精度(float)一般编写翻译器中占4个字节(三13位)内部存款和储蓄器空间(注:根据区别编写翻译器,所占内部存款和储蓄器字节数也许会有生成),数值范围为3.4E-38
~
3.4E38,只可以提供7位有效数字;2)双精度(double)占8个字节(陆拾几位)内部存款和储蓄器空间,其数值范围为(1.7E-308
~ 1.7E308)提供16为使得数字;3)长双精度(long double)

1.2 指针类型:指针是一种新鲜的,同期又是颇具非常重要作用的数据类型。
其值用来代表有些变量在内部存款和储蓄器储器中的地址。即使指针变量的取值类似于整型量,不过那多少个品类是一点一滴不一样的量。
1.3
构造类型:构造类型是基于现已定义的二个或多少个数据类型用构造的主意来定义的。正是说,
二个构造类型的值能够分解为几个“成员” 或
“成分”。而种种“成员”都以三个宗旨项目只怕又是叁个构造类型。
1.4 空类型:在调用函数值时,
经常应向调用者重临三个函数值。那一个重临的函数值时怀有自然的数据类型的,应在函数定义及函数表明中予以表达。可是也可以有一类函数,调用后并没有供给向调用者再次回到函数值,
这种函数能够定义为“空类型”。其项目表达符为void。
1.5 常量与变量:
常量定义:在程序实行进度中,其值不发出改动的量成为常量。
标识常量:用标志符代表二个常量。在使用前必须先定义:#define 标识符 常量

/#define PRICE 30
void main()
{
int num, total;
num = 10;
total = num * PRICE;
printf(“total = %d”, total);
}

这里的#define
时一条预处理命令,称为宏定义命令,其遵从时把该标记符定义为后来的常量值。一经定义,今后在程序中有所现身该标志符的地点均以该常量值替代(#define前面包车型地铁常量值一改则全改)。注:习于旧贯上符号常量的标志符用大写字母,变量标志符用小写字母。

变量定义:其值能够转移的量成为变量。

图片 5

image.png

那边的“k”
即为变量。注:变量定义必须放在变量使用在此以前,且一般放在函数体的起底部分。

1.6 各种数值型数据里面包车型客车插花运算:
在分化数值类型数据开始展览混合运算时,供给先把它们的数值类型转换为同样种类,才具举办下一步运算。有二种转移情势:(1)自动转变;(2)强制转变
(1)自动转变:1)若参与运算的数据的项目不相同,先转移为同一品种,再运算(在自动转变的意况下,如(1)char
a = ‘A’; int b =2; printf(“%c”, a + b); 输出:C。 (2)char a = ‘A’; int
b =2; printf(“%d”, a + b); 输出:67。 (3)float a = 2.33; int b =2;
printf(“%f”, a + b); (a,b转变为double类型再相加)输出:4.3两千0。
(4)float a = 2.33; int b =2; printf(“%d”, a +
b);(编译时会warning,输出错误数字,因为在编写翻译时计算机将a,b自动调换为double类型,然后相加,当供给输出int类型时需求强制调换,不然出错。
(5)long a = 23; int b =2; printf(“%d”, a +
b);(编写翻译时会warning,输出正确数字25,
因为在编写翻译时计算机将a,b自动调换为long int类型,然后相加得到long
int类型的25,由此输出int类型仍为25)
);2)根据数据长度增添的取向拓展转移,以担保精度不下滑。例,int和long数据相加时,先把int数据转变来long再开始展览演算;3)全部的浮点运算都以以双精度举行的,即便具有的元素皆以float类型,也都要先调换来double再拓展览演出算(保险数值的最低舍入引用误差)。4)char和short参预运算时务必先转移为int(注:char型依照其ASCII码实行改造,假诺char
a =
‘5’,要以5开始展览演算的话需能够拓展机动调换(因为字符’5’对应的ASCII码表中的数值也是5)也能够开始展览强制转变(直接a
=int(a),得出数字5));5)在赋值运算中,赋值号两侧的数据类型差异一时间,赋值号侧边的值的类型调换为赋值号右侧的变量的连串。当赋值号左边的数据类型的尺寸长于左侧时,将会遵守四舍五入的主意来减少局地精度(即错失部分数据)。(例:char
a = 65;
这里的a是char型,而65是int型,因而要将65转变为其所对应的ASCII码0一千001,再转变来对应的字符型’A’然后赋给a)。

图片 6

image.png

//例
/#include <stdio.h>
void main()
{
float PI = 3.14159;
int s, r = 5;
s = r * r * PI;
Printf(“s = %d\n”, s)
}
\输出:s = 79
\算算时,首先PI和r都调换为double,然后相乘,获得的double型数值四舍五入成int型赋给s。

(2)强制转变:转变情势:(类型表明符)(表明式)。
其功能是把表明式的运算结果强制调换来类型表明符所表示的项目。
例,(float) a 将a强制转变来float类型
(int) (x + y) 将x,
y强制转变来int(注,这里的x和y都要用括号括起来,因为x,y都要强制调换)
行使强制调换的注意事项:
1)类型表达符和表明式都得加括号(表达式为单个变量能够不加),举例把(int)
(x+y)写成(int) (x) + y则改为先把x强制调换来int再与y相加。
2)无论是强制转变依然自动转变,都是临时的,都不会改换多少证实时对该变量定义的连串(例,int
a = 3, b =5; float c; c = (float) (a + b); 但是a和b依然是int类型)。

1.7 算术运算符和算术表明式
算数运算符:算数运算符分1)单目运算符;2)双目运算符;3)三目运算符
运算符优先级:

图片 7

image.png

运算符结合性:1)左结合性(自左向右)(如”-”,”+”);2)右结合性(自右向左)(如赋值运算符”=”,
x = y = z,即x = (y = z))。

图片 8

image.png

赋值运算的类型调换注意事项:当赋值运算符左右两侧类型差异的时候,系统自动实行类型调换,将左边的类型调换为侧边的等级次序:1)浮点型赋予整型,舍去小数部分;
2)整型赋予浮点型,数值不改变,但以浮点型式寄放(小数部分的值为0);3)字符型赋予整型,因为字符型为1个字节,而整型为2个字节,因而将字符的ASCII码值放在整型变量的低柒个人,高陆人全为0。整型赋给字符型,只把低八个人赋给字符变量(由此三个字符变量贮存的int值范围为-128~256,这里必要留心的是最左侧第一位为标志位,当输入负值时,另外位求反再加1得补码(其实通超过实际际测量试验,当输入为正数时,然则输入值超过127时,printf(“%d”,
a)输出的是三个负值,因为127 == 01111111,而128 ==
一千00000(编写翻译器自动感到是负数),即(1)0000000求反(1)1111111,再+1得(1)一千0000
== – 128))。
再赋值运算符”=”在此以前拉长另外二目运算符能够整合复合运算符,如 +=, -=, *=,
/=, %=, <<=, >>=, &=, ^=, !=等。

逗号运算符 “,”, 功效是把七个表明式连接起来组成二个表明式。
诚如情势是:表明式1, 表明式2;
其求值进程是,分别求出2个表明式的值,然后以表明式2的值作为全体逗号表明式的值(扩充到公布式n,则发挥式n的值即为全体逗号表明式的值)。

//例
/#include <stdio.h>
void main()
{
int a = 2, b = 3, c = 4, x, y;
y = (x = a + b), b + c;
printf(“y = %d, x = %d”, y, x);
}
//输出:y = 7, x = 5

字符串常量和字符常量是分化的量.他们有以下分别

  • 字符常量是由单引号括起来的,字符串常量是由双引号括起来的
  • 字符常量只可以是单个字符,字符串常量则带有叁个火多个字符.
  • 可以吗多个字符常量付给二个字符变量,但不能把一个字符串常量付给一个字符变量.在C语言中从未相应的字符串变量。大家用一个字符数组在寄放叁个字符变量。
  • 字符占一个字节的内存空间.字符串常量占的内存字节数等于字符串中的字节数加一.扩充的贰个字节用于存放字符’\0′,那是字符串的终结标记。

字符型

出于字符是按其代码(整数)方式累积的,由此C99把字符型作为整型的一种。字符型数据满含字符常量和字符变量。

#include <stdio.h>

int main()
{
  int i = 97;
  char c = 'a';
  printf("%d %c\n", i, i);
  printf("%d %c\n", c, c);
  return 0;
}

字符与字符代码实际不是任性写三个字符,程序都能够识别的,只可以采取系统的字符集中的字符,近些日子好些个系统利用ASCII字符集。各个字符集的基本集都不外乎1三十几个字符。

图片 9

转义字符

字符是以整型(字符的ASCII代码)存放在内部存款和储蓄器单元中的。字符的ASCII代号最多用7个二进制位就足以代表,全部1二十六个字符都足以用7个二进制位表示。所以在C中,钦点用1个字节(8位)存款和储蓄两个字符。此时,字节中的第壹位为0。

图片 10

字符型1和整型1

  • 字符常量只可以用单引号
  • 字符常量只可以是单个字符不能够是字符串
  • 字符能够是字符集中大肆字符

图片 11

字符型数据的存放空间和值的界定

字母大小写转换

#include <stdio.h>

int main()
{
  char c,result;
  printf("please input a char for convert format:\n");
  scanf("%c",&c);

  if(c>=97 && c<129){
    result = c - 32;
  }else if(c>=65 && c<97){
    result = c + 32;
  }

  printf("result is %c\n", result);

  return 0;
}

变量

为了操作数据,须求把数量寄放到内存中,所谓内部存款和储蓄器在程序看来正是一块有地点编号的连天的长空,放到内存中的有些地方后,为了方便地找到和操作这几个数目,要求给那么些岗位起贰个名字。编程语言因此变量其一定义来表示那几个历程。

扬言二个变量,比方 int
a其实正是在内部存款和储蓄器中分配了三个空间,那么些空间寄存int数据类型,a指向那几个内部存款和储蓄器空间所在的地方,通过对a操作就能够操作a指向的内部存款和储蓄器空间,比如a=5那么些操作就能够将a指向的内部存款和储蓄器空间的值改为5。

之所以叫量,是因为它意味着的是内部存储器中的职位,那么些职位存放的值是足以生成的。

虽说变量的值是可以转移的,但名字是不改变的,这么些名字应该代表技师心目中那块内部存款和储蓄器地方的意义,这几个意义应该是不变的,比方说那几个变量int
second表示石英钟秒数,在差别时期能够被赋予分化的值,但它意味着的正是石英钟秒数。之所以说应该是因为那不是必须的,假设你非要起多少个变量名为age但赋予它身高的值,Computer也拿你不能。

驷不比舌的话再说壹回!变量便是给多少起名字,方便找不相同的多少,它的值能够变,但意义不应变。再比方三个合同,能够有五个变量:

  • first_party: 含义是甲方
  • second_party: 含义是乙方
  • contract_body: 含义是合同内容
  • contract_sign_date: 含义是合同签字日期

那么些变量表示的意思是规定的,但对差别的合同,他们的值是例外的。

初学编制程序的人日常使用像a,b,c,hehe,haha这种肤浅的名字,给变量起三个有意义的名字吧!

经过证明变量,每一个变量赋予二个数据类型和三个有意义的名字,大家就告诉了计算机大家要操作的数目。

有了多少,怎么对数据开始展览操作呢?


未完待续,查看最新篇章,敬请关怀微信公众号“老将说编制程序”,深入显出,研究Java编程及Computer本事的真相。原创小说,保留全体版权。

图片 1

 

(1),思维逻辑
程序大概是怎么回事
Computer正是个机器,这些机器首要由CPU、内部存款和储蓄器、硬盘和输入输出设备组成。总计…

image.png

C语言的数据类型:基本数据类型、构造数据类型、指针类型、空类型。

  • 组织数据类型:是依据已定义的贰个或多少个数据类型用构造方法来定义的。叁个构造类型的值能够分解成若干个“成员”或“成分”
  • 指针类型:
    指针是一种独特的,同不平时候又是享有关键意义的数据类型。其值用来表示有个别变量在内部存款和储蓄器储器中的地址。

C程序设计

$ vim sin.c
#include <stdio.h>
#include <math.h>

int main()
{
  double x,y;
  printf("please input number:\n");
  scanf("%lf", &x);

  y = sin(x);
  printf("sine of %lf is %lf\n", x, y);

  return 0;
}
$ gcc sin.c -o sin
$ sin.exe
please input number:
1
sine of 1.000000 is 0.841471

求两数中的最大值

#include <stdio.h>
#include <math.h>

int max(int x, int y);

int main()
{
    int x,y,z;
    int max(int x, int y);

    printf("please input two numbers:\n");
    scanf("%d%d", &x, &y);
    z = max(x,y);
    printf("max = %d\n",z);

    return 0;
}

int max(int x, int y)
{
  return x>y ? x : y;
}

次第差不离是怎么回事

微型计算机正是个机械,那个机器首要由CPU、内部存款和储蓄器、硬盘和输入输出设备组成。Computer上跑着操作系统,如Windows或Linux,操作系统上运转着各个应用程序,如Word,
QQ等。

操作系统将时刻分为非常多细小的年月片,七个光阴片给三个顺序用,另三个时光片给另三个先后用,并反复地在程序间切换。但是,在应用程序看来,整个机器财富好像都归她使,操作系统给她提供了这种假象。
对程序猿而言,大家写程序,基本不用怀恋其余应用程序,大家想好如何是好和煦的事就足以了。

应用程序看上去能做过多思想政治工作,能读写文书档案,能播放音乐,能促膝交谈,能玩游戏,能下围棋
……
但真相上,Computer只会试行预先写好的命令而已,这么些指令也只是操作数据只怕配备。所谓程序,基本上正是报告Computer要操作的数额和实践的授命系列,
即对哪些数据做什么样操作。

比如说:

  • 读文书档案,正是将数据从磁盘加载到内部存款和储蓄器,然后输出到显示屏上
  • 写文书档案,就是将数据从内部存款和储蓄器写回磁盘。
  • 广播音乐,正是将音乐的数目加载到内部存款和储蓄器,然后写到声卡上。
  • 闲谈,正是从键盘接收聊天数据,放到内部存储器,然后传给网卡,通过网络传给另一人的网卡,再从网卡传到内部存款和储蓄器,展现在显示屏上。

基本上,全数数据都亟待停放内部存款和储蓄器进行管理,程序的十分大学一年级些干活便是操作在内部存款和储蓄器中的数据。

正文首要就说说那个”数据”。(以Java为例)

图片 13

常量与变量

运算符

图片 14

算术运算符

字符型与整型数据运算

#include <stdio.h>

int main()
{
  char c1, c2;
  c1 = 'A';// 将字符的ASCII编码存入c1变量
  c2 = c1 + 32;
  printf("%c\n%d\n", c2, c2);

  return 0;
}

图片 15

字符型与整型数据运算

自增自减

#include <stdio.h>

int main()
{

  int i,j,k;
  i = 0;
  j = ++i;
  k = i++;
  printf("%d\n%d\n%d\n", i, j, k);// 2 1 1

  return 0;
}