【C语言】以深厚地基筑伟岸高楼-基础知识篇(一)

计算机运算思维–枚举

对于一些数学运算而言,计算机本身并不会去寻找一个特定的方法来解决这一类的问题,它更倾向于把可能性一个一个的列举出来,从而得到一个正确的答案,这种不断尝试,一个个列举的方法,就叫:枚举。

C语言的简单程序框架

强调,在写代码过程中,所有代码,符号,均需要使用英文输入法。

#include <stdio.h>
int main()
{
	
	return 0;
}

所有的程序都需要这个框架,在使用函数之前,所有的代码都需要被写在这个花括号内,**return0; **之前
对于C语言的代码来讲,程序中有用的,能够起作用的代码,都需要在其后加上“;”分号。

输出

printf可以使计算机输出我们想让它输出的内容,简单使用方法如下:

printf("Hello World!");

两个"内的内容叫做字符串,printf会将两个双引号中的内容原封不动地输出。

输入

首先定义一个变量t,然后运用输入函数scanf,使我们可以在终端上输入一些数据来给与变量t。

int t;
scanf(" %d " , &t);

“%d”的作用就是讲计算机需要在这里读取一个整数来赋给其后的变量(t)。
“%lf”的作用就是讲计算机需要在这里读取一个含小数点的数(浮点数)来赋给其后的变量(t)。

scanf中必须存在符号==&==,放在接受输入值的变量之前,例如&t

当我们需要输入多个变量时如何使用scanf

举例:

int a = 0 , b = 0 ;
scanf("%d %d", &a , &b);

我们在输入两个数字时要注意严格按照scanf括号中的格式来进行输入
如上所示,两个(%d)之间有一个空格间隔,那么我们输入的两个数字之间也需要有一个空格间隔。
如果两个(%d)之间没有空格,那么我们输入两个数字的时候,中间也不需要有空格。
在输入完两个数字之后按下回车键,使程序接着往下运行即可。

或者我们用下边的方式来进行输入:

int a = 0 ;
scanf("%d" , &a );
int b = 0;
scanf("%d" , &b );

这样可以避免需要注意空格的情况,但是需要我们输入一个数字就按一个回车键,这两种输入方式看个人的代码阅读习惯。

定义一个变量

在定义一个变量的过程中,尽量使用一些易懂的英文单词来表达一个变量,例如 price表示价格,bill 表示账单之类的。

例如这一行代码:

int price = 0;

初学者仅仅需要知道,这一行代码,定义了一个变量。这个变量的名字是price,这个变量的类型是 int(整型) ,其被定义的初始值为0。
它的意义为将等号右边的值交给了等号左边的(或是将等号右边的值赋予等号左边的值)

此赋值过程为初始化

我们定义一个变量,必须要有 类型+变量名称 也可以再加上对于变量的赋值。

变量是一个保存数据的地方,当我们需要在一个程序中保存一些数据时,就可以进行变量的定义,例如上边这一行代码所示,意思为,定义price(价格)为0。这样,我们就可以用这个变量来参与后面的程序运行或者计算当中。

与变量相对的,是为常量

固定不变的数,是常数。在程序中不可改变,直接写在程序里,也称作直接量(literal)。

举例应用:

首先,定义一个变量 价格=100

int price = 100

在我们写代码的过程中,偶尔会因为代码写的比较多,从而忘记之前已经定义过的一个变量,导致我们再次对同一个变量进行定义,当然,如果这个变量在程序中扮演一个可以改变的角色,那当然是没有问题的,但是如果这个变量不能被更改呢? 那我们在运行程序之后,往往会得到与我们的预期完全不同的结果。

例如:

int price = 100;
int price = 200;

很显然,最后运行程序得出的结果,一定是 价格为200。 因为我们在对价格定义为100之后,再次对其进行了定义,将其赋值为了200。

那么,如果我们想得到一个固定不变的量,我们该在程序中如何写代码呢?
此时我们就需要定义一个常量

例如:

conse int price = 100;

当我们在程序中用上const int 之后,我们所定义的就是一个常量,固定不变的量。
const是一个修饰符,加在int的前面,用来给这个变量加上一个const(不变的)的属性。
这个const的属性表示这个变量的值一旦初始化,就不能再修改了。
并且如果你尝试对这个具有const属性的变量进行修改,在编译过程中,这个修改就会被编译器发现,并被编译器指出为一个错误。

浮点数

在计算机中,两个整数的运算结果只能使整数,就像是10/3,在计算机的运算结果中,它只会得出3的结果,而不是得出一个3.333……的结果
那么,这是为什么呢?
因为,带小数点的数,与整数,是完全不同的两种数。
就比如在计算机中,10 不等于 10.0 。

来看一个运算:

printf(" %d " , 10/3*3);

在我们正常看来,10/3 * 3的运算结果应该是10
但是在计算机的运算下,10/3 * 3的结果是9
而出现这种情况的原因是,在计算机的运算过程中,10/3 * 3从左到右一步一步算的结果是:10/3=3,3 * 3=9
这就是计算机运算下得出结果9的原因。
那么应该怎样得到正常的运算结果呢?
我们应该先来明白为什么10/3会等于3 这仅仅是因为上边所提到的,在计算机中,两个整数的运算结果,只能是整数,所以10/3,得到的是3,而不是3.333。
为了得到正确的运算结果,我们来引入新的概念:
浮点数 即带小数点的数。浮点这个词的本意就是指小数点是浮动的,是计算机内部表达非整数(包含分数和无理数)的一种方式。另一种方式叫做定点数,不过在C语言中,不会遇到定点数。人们借用浮点数来表达所有带小数点的数。
注意浮点数的应用

int a = 10.0;
printf("%f" , a);
scanf("%lf" , &a);

在运用浮点数时,printf中的%d应该为%f
scanf中的%d应该为%lf。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值