[C]第二章| 简单的数据处理(一)
第二章| 简单的数据处理(一)
[摘要]
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里进行实验:
结果:
1.会出现警告
2.输出了两个数,但第二个数无意义
[进阶3]
//如何输出数据
//[例四]
#include<stdio.h>
int main()
{
printf("the sum is %d\n", 1+2,3*4);
return 0;
}
[分析]
该代码中有一处需要数据输出,但逗号后需被输出的数据有两个,下面我们在Xcode中进行实验。
[分析]
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