学术篇之APS105编程小课堂

みなさん~开学快乐呀~

又到了我们轻松愉快的EF小课堂时间啦~

开学已经三个多星期啦,每门功课也渐入佳境,labs、quizzes、assignments、reports的巨浪也慢慢向岸上扑来。不知道各位大一的萌新们对刚刚接触到的APS105编程课有什么feeling?是带着一份新鲜感?还是说,对这门新接触的科目有着未知的恐惧和担心?

别虚,別怂,这次的EF小课堂就是来帮助各位,让大家更快适应这门大一的重点课的。本次EF小课堂会带领大家从最基础的variable types讲起,逐渐涉及到integer division,最后为大家介绍一下 if statement 的结构和作用。希望能让各位萌新们更快更好的找到编程的学习方法,步入coding世界的正轨。

本次小课堂的安排:

1. Variable Types

- integer

- double/float

2. Naming Rules

3. Variable Calculation

- integer division

- Casting

okay, 废话不多说啦! 赶紧开始吧

Variable Types

c语言的变量有三种类型: char, int, float, double。其中char是用来贮存字符的,比如说A,%, !等能在键盘上找到的文字。而int是用来贮存整数的,int分为unsigned、signed等。double和float都是用来贮存小数和整除不了的分数的,不同点是两种type所能贮存的数字大小不一样。

这次小编我主要带领大家来看看int type和double(float)type。char type的vairable会在几个星期之后的string和array当中接触,这次就不做详细的介绍。

Integer Type

整型数是C语言当中最为常见也是最为基础的variable type之一。声明用法为:

int a;

int b =3;

int c = 3+5;

如果在int 前面加上不同的修饰符,整型数有以下几种类型:

* 注明:位数为int的storage size。 16 代表了16个bits,或者2个bytes。

其中我们最常用的为int和long int。这两种vairable均为signed type,是可以储存负数的。

Double/float Type

浮点型的variable一般是用来贮存小数或者无法整除的分数。在C语言当中,浮点数主要分为以下的两种:

float 单浮点数:

float的字节长度为4 bytes,32 bits的二进制数(1 byte = 8 bits)。

double 双浮点数:

double的字节长度为8 bytes, 64 bits的二进制数。

double type 的数据类型比float type的数据类所能储存数的范围大。浮点数均分有符号浮点数,不存在无符号的浮点数。声明方法为:

double pi=3.1415926;

float my_score = 49.9999;

float zero = 0;

***浮点数也可以贮存整数。

Naming Rules

变量的命名规则:

变量名可以由字母、数字_(下划线)组合而成。

变量名不能包含除_以外的特殊字符,、如:%、#、逗号、空格等。

变量名必须以字母或_(下划线)开头

变量名不能包含空白字符(换行符、空格、制表符称为空白字符)。

C语言中的某些词(e.g. int和float等称为保留字,具有特殊意义,不能用作变量名称)。

Figure1. C语言当中的常见保留字符

6. C语言区分大小写,因此变量price与变量PRICE是两个不同的变量。

Variable Calculation

C语言中的变量计算是极具迷惑性的,比如说int/int和double/int的计算思路是不一样的,这也是APS 105 midterm当中的考点之一,下面就让我们一起来看看如何更快更好的理解变量计算这个小难点。

变量计算

在做C语言的变量计算这种题目时,我们要注意两点:

最后答案的variable type

进行运算的所有数的variable type

如果最终答案是整数型object的话,需要注意把计算后的精确答案抹掉小数点后的所有数字,只保留整数,记住是抹掉不是四舍五入哦~如果最终答案是浮点型的object的话,需要注意运算数是否均是int type。如果均是int type的话,最终答案还是只能保存整数,把小数点后全部抹掉。

下面要我们看几个栗子来巩固理解一下:

int a = 5;

int b = 2;

double c = 4.5;

double d = 5.6;

int e = a + c; // e = 5 + 4.5 = 9.5 = 9

int f = a / b; // f = 5 / 2 = 2.5 = 2

double g = c * d; // g = 4.5 * 5.6 = 25.2

double h = a / b; // h = 5 / 2 = 2

double i = d / b; // i = 5.6 / 2 = 2.8

不知道大家有没有完全理解上面的所列举出来的栗子呢?如果有疑问的话,可以用netbeans试试看,多多在电脑上尝试也是学习编程的一种好方法呦~

Casting

强制类型转换(Casting)是把变量从一种类型转换为另一种数据类型。如果你想在变量计算当中得到你想要的精确答案时,可以使用强制类型转换运算符来把值显式地从一种类型转换为另一种类型,如下所示:

(type_name) expression

下面我们再来看几个栗子,来学习如何在C语言当中运用这个知识点:

e.g.1:

int x;

x = (int) 7.8;// (int) 7.8 = 7 -> x = 7

e.g.2:

int x = 2, y = 3;

double a, q;

z = (double) y / x;// z = 3.0 / 2 -> z = 1.5

q = (double) (y / x);// q = (double) (3 / 2)

// q = (double) (1)

// q = 1.0

这次的EF小课堂就到这里啦~不知道大家有没有通过这次的学习发现自己的不足之处?有没有加深对编程的兴趣?EF这学期也为各位准备了APS105升级版精品周课神秘的APS105导师,她将手把手地带领大家来领略编程的乐趣和DEBUG的快感,请大家尽请期待~

小课堂的最后,希望各位经过小课堂的介绍以及自己的努力,可以在未来学习编程语言的时候,热爱上这个极具魅力的领域,和各种各样的BUG轻松SAY GOODBYE!

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180123G09ZW500?refer=cp_1026

相关快讯

扫码关注云+社区