Data types 数据类型
C has several types of variables, but there are a few(一些) basic types:
-
Integers (整型)- whole numbers which can be either positive(正数) or negative(负数)(要么...要么). Defined using
char
,int
,short
,long
orlong long
. -
Unsigned integers(无符号整型) - whole numbers which can only be positive. Defined using
unsigned char
,unsigned int
,unsigned short
,unsigned long
orunsigned long long
. -
Floating point numbers(浮点数) - real numbers实数 (numbers with fractions). Defined using
float
anddouble
. -
Structures(结构体) - will be explained later, in the Structures section.(稍后将在“结构”一节中解释。)
The different types of variables define their bounds(界限). A char
can range(范围) only from -128 to 127, whereas a long
can range from -2,147,483,648 to 2,147,483,647 (long
and other numeric data types(数字数据类型) may have another range on different computers, for example - from –9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 on 64-bit computer).
Note that C does not have a boolean type(布尔类型). Usually, it is defined using the following notation(符号):
#define BOOL char
#define FALSE 0
#define TRUE 1
C uses arrays of characters(字符数组) to define strings(字符串), and will be explained in the Strings section.
Defining variables 定义变量
For numbers(数字), we will usually use the type int
, which an integer in the size of a "word"(字)the default number size of the machine which your program is compiled on. On most computers today, it is a 32-bit number, which means the number can range from -2,147,483,648 to 2,147,483,647.
To define the variables foo
and bar
, we need to use the following syntax(语法):
int foo;
int bar = 1;
The variable foo
can be used, but since we did not initialize(初始化) it, we don't know what's in it. The variable bar
contains(包含) the number 1.
Now, we can do some math. Assuming(假设) a
, b
, c
, d
, and e
are variables, we can simply use plus, minus and multiplication(乘法) operators in the following notation, and assign(分配,赋值) a new value to a
:
int a = 0, b = 1, c = 2, d = 3, e = 4;
a = b - c + d * e;
printf("%d", a); /* will print 1-2+3*4 = 11 */
Exercise
In the next exercise, you will need to create a program which prints out the sum of the numbers a
, b
, and c
.
原:
#include <stdio.h>int main() {int a = 3;float b = 4.5;double c = 5.25;float sum;/* Your code goes here */printf("The sum of a, b, and c is %f.", sum);return 0;
}
改:
#include <stdio.h>int main() {int a = 3;float b = 4.5;double c = 5.25;float sum;/* Your code goes here */sum = a + b + c ;printf("The sum of a, b, and c is %f.", sum);return 0;
}