数据对象与计算

一、标识符

标识符有点类似与我们小学数学里面,解方程的时候,设置的未知数。因为我们在编程问题的时候,会遇到很多的东西,为了表似乎他们,我们对其设置对应的xy(即未知数)。这些我们设置的这些未知数(标识符)大致分为变量名、数组名、函数名、标号及用户定义对象的名称。对于刚入大学,学习C语言的初学者,我们最初接触到的代码是关于最基础的加减法,而变量名就是用来进行加减法的数字(通过这么一个例子理解,具体要另外讨论)。数组名就是各个数组而起的名字。而数组,在我们大一的学习过程中,担当的就是存储数据的作用。同理,函数名就是给各个函数取得名字。在C语言程序里,有主函数main函数和其他的函数。主函数在工程文件夹里面有且只有一个,而其他函数则是帮助主函数实现某种功能,让主函数更加简洁。

标识符只能由字母、数字、下划线组成,且必须以字母或下划线开头。从这个角度来看,标识符则更像是我们英语里面的单词,不同类型的单词发挥着不同的作用。而主要的类型也就是上面讲的:变量名、数组名、函数名、标号及用户定义对象的名称。另外标识符的大小写非常敏感,不能乱写。并且不能使用关键字。

二、关键字

C语言的关键字,可以理解成英语里面的形容词和介词。而这些词语的用法是固定的,不能够随便使用。以下便是常见的一些关键字:

void:   声明函数无返回值或无参数,声明无类型指针,显式丢弃运算结果  
char:   字符型类型数据,属于整型数据的一种 
int:    整型数据,通常为编译器指定的机器字长 
float:  单精度浮点型数据,属于浮点数据的一种 
double: 双精度浮点型数据,属于浮点数据的一种
return: 用在函数体中,返回特定值(或者是void值,即不返回值)  
continue:结束当前循环,开始下一轮循环 
break:  跳出当前循环或switch结构  
goto:   无条件跳转语句
if:     条件语句  else:条件语句否定分支(与if连用)  
switch: 分支结构(多重分支语句)  
case:   分支结构中的分支标记 
default:分支结构中的“其他”分治,可选
for:    for循环结构,for(1;2;3)4;的执行顺序为1->2->4->3->2...循环,其中2为循环条件 
do:     do循环结构,do 1 while(2);的执行顺序是1->2->1...循环,2为循环条件 
while:  while循环结构,while(1) 2;的执行顺序是1->2->1...循环,1为循环条件

另外,C语言还是用一些标识符作为编译预处理的命令单词。编译预处理,则相当于我们在做小学解方程的题目的时候,设未知数讲题目条件的步骤。在使用的时候还要带上#,常见的单词如下:define,elif,else,endif,error,if,ifdef等。

三、数据类型

数据的基本类型如下:

在数据类型的基本类型里面,包括了字符型、整型、实型和无值型。很多初学者在学C语言的时候,面临的问题就是不知道这些类型是用来干什么的。总而言之,这五个单词(charintfloatdoublevoid)发挥的是英语里面形容词的作用。就是告诉计算机,我们敲在屏幕上的,是一个英语单词,一个整数,还是一个小数?以下面的一个代码为例,我们在a,b前加了int,那么这两个就是整数,在后面进行的就是数学的加减乘除的运算。如果说我们把int改成char,则表示这两个数是英语单词的意思。而在计算机里面,“英语单词”也是可以进行加减法的,但并不是数学上十进制的加减法,而是根据ASCALL码来进行的加减法。

对于数据类型的基本类型,我们只需要这五个单词修饰的是什么样的数据就可以了。期末考试的时候,并没有其他的要求。

 #include <stdio.h>
 #define PI 3.1415926
 int main(){
   int a, b;
   double answer1, answer2, midu1 = 7.86, midu2 = 19.3;
   scanf_s("%d%d", &a, &b);
   answer1 = midu1 * a * a * a * PI / 6000;
   answer2 = midu2 * b * b * b * PI / 6000;
   printf("%.3f %.3f", answer1, answer2);
   return 0;
 }

构造数据类型包括数组、结构体、共用体和枚举四种。在大学学习C语言,只需要掌握前两种即可。

数组是一组连续、有序的存放在一起的具有相同类型的数据。简单来说,就是一个用来放东西的容器。以下面一个例子为例。首先,在编程里面,不管我们在程序里面写什么。用之前都必须要进行定义,就是告诉计算机我们写的东西是个啥。我们刚才说过,int是一个修饰整数的形容词,这里用来定义数组,就是说这是一个用来装整数的容器(数组)。中括号里面的1000表示,只能够容纳1000个整数;第二行的代码同理。在这里,我们只是简单说一下,数组的功能是什么,长什么样子。

int a[1000];
char b[100];

结构体则是将不同类型的数据按一定顺序存放在一起的数据结构。结构体也是一个容器,在使用的时候也需要定义。结构体和数组的区别在于,结构体是一种能够容纳信息种类更多的容器。举一个例子,以期中考试成绩单为例。数组只能够容纳表格中的一列数据,也就是说数组只能够记录学号、姓名、系别这些东西里面的其中一个。而结构体则能够容纳下一整张表格的内容,并且按照排列归纳好。

结构体的定义,是下面这样子的:

struct stdu
{
    int dex;
    char name[12];
    int Chinese;
    int Mate;
    int English;
    float aver;
};

指针类型比较复杂,所以我们在后续的文章中进行介绍。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值