[程序设计入门——C语言]笔记&代码-2021.08.20

程序设计入门——C语言 from Shiroki

1.1 计算机和编程语言

计算机语言:程序是用特殊的编程语言洗出来表达如何解决问题的。不是用编程语言和计算机交谈,而是描述它如何做事情的过程或方法。
算法:我们让计算机做计算,就需要像这样找出计算的步骤,然后用编程语言写出来。计算机做的所有事情都叫做计算。
程序的执行:a.解释:接触一个程序,那个程序能试图理解你的程序,然后按照你的要求执行。b.编译:借助一个程序,就像一个翻译,把你的程序翻译成计算机真正能懂的语言(机器语言)写的程序,然后这个机器语言写的程序就能直接执行了。
解释语言VS编译语言:语言本无编译/解释之分,只有常用的执行方式而已。区别在于,解释型语言有特殊的计算能力,但编译型语言有确定的运算性能。

编程语言排名:https://www.tiobe.com/index.php/content/paperinfo/tpci/index.html


1.2 C语言

C语言-B语言-BCPL语言-Fortran
C语言的发展-K&R,也叫经典C

C的发展和版本
1989-ANSI发布第一个标准:ANSI C
1990-ISO接受ANSI标准:C 89
C的标准在1995年和1999年两次更新:C95和C99
所有当代编译器都支持C99

C语言用在哪里?:操作系统,嵌入式系统,驱动系统,底层系统,图形引擎,图像处理,声音效果

C:编译→运行:需要编辑器,编译器或者IDE(集成开发环境)

1.3第一个程序

使用的软件:Dev C++
第一个C程序:Hello World!

#include <stdio.h>
int main()
{
    printf("Hello World!\n");

    return 0;
}

程序框架

#include <stdio.h>
int main()
{

    return 0;
}

①相加

#include <stdio.h>
int main()
{
    printf("23+45=%d\n",23+45);

    return 0;
}

②计算找零

#include <stdio.h>
int main()
{
    int price = 0;
    printf("请输入支付的金额(元):");
    scanf("%d",&price);

    int change = 100 - price;
    printf("找零%d元。\n",change);

    return 0;
}

2.1 计算:变量

变量:变量是一个保存数据的地方,当我们需要在程序里保存数据时,就需要一个变量来保存它。用一个变量保存了数据,他才能参加到后面的计算中,比如计算找零。

变量定义:变量定义的一般形式就是:<类型名称><变量名称>
eg:
int price;
int amount;
int price,amount;

变量的名字:变量需要一个名字,变量的名字是一种“标识符”,意思是它是用来识别这个和那个的不同的名字。
原则:标识符只能由字母、数字、下划线组成,数字不可以出现在第一个位置上,C语言的关键字(保留字)不可以用做标识符。

赋值:a=b:将b的值赋值给a。

初始化:当赋值发生在定义变量的时候,就是变量的初始化。C语言是没有强求做初始化,但是所有的变量在第一次被使用的时候(出现在赋值运算符的右边)之前应该被赋值一次。

变量初始化:<类型名称><变量名称>=<初始值>
eg:
int price = 0;
int amount = 100;
组合变量定义的时候,也可以在这个定义中单独给单个变量赋初值,比如:
int price = 0,amount=100;

变量类型
int price = 0; 定义了一个变量,变量的名字是price,类型是int,初始值是0.
C是一种有类型的语言,所有的变量在使用之前必须定义or声明,所有的变量必须具有确定的数据类型。数据类型表示在变量中可以存放什么样的数据,变量中只能存放指定类型的数据,程序运行过程中也不能改变变量的类型。

读整数:scanf("%d",&price);是要求scanf这个函数读入下一个整数,读到的结果赋值给变量price,小心前面的&

#include <stdio.h>
int main() 
{
    int a;
    int b;

    printf("请输入两个整数:");
    scanf("%d %d",&a,&b);
    printf("%d+%d=%d\n",a,b,a+b);

    return 0;
}
#include <stdio.h>
int main()
{
	const int AMOUNT = 100;
	int price = 0;

	printf("请输入金额(元):");
	scanf("%d", &price);

	int change = AMOUNT - price;

	printf("找您%d元。\n", change);

	return 0;
}
#include <stdio.h>
int main()
{
	printf("请分别输入身高的英尺和英寸,"
		"如输入\"5 7\"表示5英尺7英寸:");

	double foot;
	double inch;

	scanf("%lf %lf", &foot, &inch);

	printf("身高是%f米。\n", 
		((foot + inch / 12) * 0.3048));

	return 0;
}

2.2计算:数据类型

浮点数:带小数点的数值。浮点本意指的是小数点是浮动的,是计算机内部表达非整数(分数、无理数)的一种方式。另一种方式叫做定点数,不过在C语言中不会遇到定点数。人们借用浮点数这个词来表达所有带小数点的数。
eg:
(foot+inch/12) * 0.3048;
(foot+inch/12.0) * 0.3048;
浮点数和整数放一起运算时,C将整数换成浮点数,进行浮点数运算。

double:双精度浮点数。float:单精度浮点数

数据类型
整数:int,printf("%d",…),scanf("%d",…)
带小数点的数:double,printf("%f",…),scanf("%lf",…)

2.3 计算:表达式

运算符:指进行运算的动作,比如加法运算符“+”,减法运算符“-”。
算子:指参与运算的值,这个值可能是常数,也可能是变量,还可能是一个方法的返回值。

运算符优先级
a*+b 单目不变,自右向左
a*-b 单目取负,自右向左

赋值运算符:赋值也是运算,也有结果
eg:a=6的结果是a被赋予的值,也就是6
a=b=6 → a=(b=6)

嵌入式赋值:不利于阅读,容易产生错误
eg:int a = 6;
int b;
int c = 1+(b=a);

结合关系:一般自左向右;单目±和赋值=自右向左
eg:
result=a=b=3+c;
result=2;
result=(result=result*2)6(result=3+result);
这样的表达式太复杂,不容易阅读和理解,容易造成读程序时的误解。所以要避免写出这样复杂的表达式。这个表达式应该被拆成若干个表达式,然后以明显的正确的顺序来进行计算。

复合赋值:5个算术运算符,±/%,可以喝赋值运算符=结合起来,形成复合赋值运算符:+=、-=、=、/=、%=,注意两个运算符中间不要有空格
eg:
total+=(sum+100)/2; total=total+(sum+100)/2;
total*=sum+12; total=total*(sum+12);

递增递减运算符:++、–。是单目运算符,这个算子还必须是变量。这两个运算符分别是递增和递减运算符,作用是给变量+1或者-1;
count++; count+=1; count=count+1;

前缀后缀:++、–可以放变量前面(前缀形式)也可以放后面(后缀形式)。
a++的值是a+1以前的值,++a的值是加了1以后的值,无论哪个,a自己的值都加了1了。

表达式 运算 表达式的值
count++
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Shiroki 1.0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值