第二章| 简单的数据处理(一)


[摘要]
1.如何输出数据
2.定义变量
3.简单的运算

第一部分. 如何输出数据


1. 首先,我们来看一个代码例子。

//如何输出数据
//[例一]
#include<stdio.h>
int main()
{
	printf("the sum is %d\n", 1+2);
	return 0;
}

2. 下面是代码分析

该代码的运行结果为:

the sum is 3

printf(“the sum is %d\n”, 1+2);
[分析]
输出的内容为双引号中的内容,其中%d处输出的是逗号后1+2的结果数据。

[进阶1]下面我们来看一个其他的例子。

//如何输出数据
//[例二]
#include<stdio.h>
int main()
{
	printf("the sum is %d,%d\n", 1+2 ,3*4);
	return 0;
}

该代码的运行结果为:

3 , 12

printf(“the sum is %d,%d\n”, 1+2 ,3*4);
[分析]
此处有两个%d,即有两处数据输出,数据输出的地方与被输出的数据前后对应。
[进阶2]

//如何输出数据
//[例三]
#include<stdio.h>
int main()
{
	printf("the sum is %d,%d\n", 1+2);
	return 0;
}

[分析]

这段代码中,有两处地方需要输出数据,但被输出的数只有一个,那么会出现怎样的结果呢?

下面我们在xcode里进行实验:

c 数据分析实例详解 c语言怎么做数据分析_知识整理


结果:

1.会出现警告

2.输出了两个数,但第二个数无意义

[进阶3]

//如何输出数据
//[例四]
#include<stdio.h>
int main()
{
	printf("the sum is %d\n", 1+2,3*4);
	return 0;
}

[分析]

该代码中有一处需要数据输出,但逗号后需被输出的数据有两个,下面我们在Xcode中进行实验。

c 数据分析实例详解 c语言怎么做数据分析_知识整理_02


[分析]

1.会出现警告

2.输出一个数据(前一个)

3.format specifiers for the function printf()

看了之前的例子,我们知道了输出整数可以用%d,那么我们又该如何输出其他的数据类型呢?请看下面的表格。

data type

format

char

%c

signed integer

%d

unsigned integer

%u

long long

%lld

unsigned long long

%llu

float

%f

double

%lf

string

%s

pointer

%p

octal number

%o

hexadecimal number

%x

第二部分. 定义变量


1.首先,我们来看一个代码例子

#include<stdio.h>
int main()
{
	//数据定义
	int num1;
	num1 = 1;
	double num2;
	num2 = 2;
	printf("the number:\n%d\n%lf\n",num1,num2);
	return 0;
}

2.下面是代码分析

该代码的输出结果为:

the number:
1
2.000000

[分析]
[第1点] int num1;
定义了一个变量,变量名为num1,变量类型为整数型。
[第2点] num1 = 1;
这里的=为赋值符号(不是等于号),意思是把=后面的值赋给前面的变量。
[第3点] double num2;
定义了一个变量,变量名为num2,变量类型为double型。
[第4点] printf(“the number:\n%d\n%lf\n”,num1,num2);
输出,num1输出到%d处,num2输出到%lf处。
注:变量的类型与输出时用的类型(如:%d或%lf等)需对应。(对应表见上面)

[进阶1]
除了像上面那样定义变量,我们还可以这样写。

#include<stdio.h>
int main()
{
	//数据定义2
	int num1 = 1;
	double num2 = 2;
	printf("the number:\n%d\n%lf\n",num1,num2);
	return 0;
}

输出结果与上面的代码一样。

[进阶2]
下面展示另一种定义方法。

#include<stdio.h>
int main()
{
	//数据定义3
	int num1 = 1 , num2 = 2;
	printf("the number:\n%d\n%d\n",num1,num2);
	return 0;
}

运行结果:

the number:
1
2

3. 常用的变量类型

int(整数,分正负)
unsigned int (整数,只有整数)
double (如:2.123456就是double型的,有正负数,输出时默认为输出6为小数)
char (字符)
long long (整数,范围与int不同)

其余的不一一列举了

4.变量名

取变量名时我们要注意:
1.同一字母的大小写形式认为是不同的。(如:Q ,q 为两个不同的变量)
2.不能以数字开头
3.不能用保留字(reserved word)(如:int)
4.不允许双下划线开头或单下划线加大写字母开头(如:__hello , _Hello 是不正确的写法)
5.standard identifiers shall not be redefined by users (如:printf)

here are some examples

identifier

right/wrong

for

wrong

num1

right

__com

wrong

sta2

right

第三部分. 简单的运算


1.首先,我们来看一个代码例子

在这段代码中我们将进行加减乘除的运算。

#include<stdio.h>
int main()
{
    //数据定义
    int num1 = 2 , num2 = 3 , num3;
    //加法
    num3 = num1 + num2;
    printf("%d\n",num3);
    //减法
    num3 = num1 - num2;
    printf("%d\n",num3);
    //乘法
    num3 = num1 * num2;
    printf("%d\n",num3);
    //除法
    num3 = num1 / num2;
    printf("%d\n",num3);
    return 0;
}

2.代码分析

该代码运行的结果为:

5
-1
6
0

[分析] num3 = num1 + num2;
我们以加法为例,num1与num2的和赋给了num3。
加 + 减 - 乘 * 除 /
注意乘除号的写法
[进阶1]复合运算

#include<stdio.h>
int main()
{
    //数据定义
    int num1 = 2 , num2 = 3 , num3;
    num3 = (num1 + num2)*num1;
    printf("%d\n",num3);
    return 0;
}

运行结果为:

10

[进阶2]运算符mod(%)
该运算符的意思是取余数,如:9%8的结果为1

#include<stdio.h>
int main()
{
	printf("the result is %d\n", 12%5);
	return 0;
}

运行结果为:

the result is 2