翁恺C语言程序设计网课(1)
作者:互联网
1.1.1 计算机和编程语言
1.1.2 计算机的思维方式
1.2.1 为什么是C?
1.2.2 简单历史
1.2.3 编程软件
1.3.1 第一个C程序
1.3.2 详解第一个C程序
1.3.3 做一些计算
2.1.1 无
2.1.2 变量定义
2.1.3 变量赋值与初始化
2.1.4 变量输入
2.1.5 常量vs变量
2.1.6 浮点数
1.1.1 计算机和编程语言
学习目的:理解计算机是怎样工作的
计算机怎样解决问题?把大问题拆分成小问题(如把大象放进冰箱里)
人:what to do
计算机:how to do
程序是用特殊的编程语言写出来表达如何解决问题的。
我们不是用编程语言和计算机交谈,而是描述要求他如何做事情的过程和方法。
//例:hello world!
#include<stdio.h>
int main()
{
printf("Hello World!\n");//输出“Hello World!(换行)”
return 0;
}
由 普通人能读懂的东西–程序员能懂的东西–计算机能懂的东西
计算机–程序–算法
(算法:我们想让计算机做计算,先要写出计算的步骤,然后用编程语言写出来。计算机做的所有事情都是计算;计算的步骤就是算法。)
1.1.2 计算机的思维方式
例:解方程2x+6=20 , x∈(1,10)
计算机的思维:
1)枚举法
代入x=1,不行;代入x=2,不行;代入……
2)二分法
代入x=5,小了;代入x=7……
计算机执行程序有两种方案:
1)解释:借助一个程序,那个程序可以试图理解你的程序,然后按照你的要求执行
2)编译:借助一个程序把你的程序翻译成机器语言,然后计算机就可以直接执行了。
解释语言vs编译语言:语言本无解释与编译之分,只是常用的执行方式不同。
解释型语言有特殊的计算能力;
编译型语言有确定的运算性能。
1.2.1 为什么是C?
1)在很多场合,C语言是唯一的选择
2)现代编程语言在语法上差异很小,基本都和C接近
3)语言的能力、适用领域主要是由 库 和 传统 决定的。
1.2.2 简单历史
1969
FORTRAN→BCPL→B语言→C语言
因为B和BCPL都支持指针间接方式,所以C语言也支持了
C语言还受到了PL/I的影响,还和 PDP-11的机器语言有很大关系
1973/3,第三版的Unix上出现了C语言的编译器
1973/11,第四版的Unix完全用C语言重新写的。
经典C,又叫K&R the C
1989年,ANSI发布了一个标准:ANSI C
1990年,ISO接受了ANSI的标准
C的标准在1995年和1999年两次更新
1.2.3 编程软件
C语言的用途:写操作系统、嵌入式系统、驱动程序(用来驱动U盘)、底层驱动、图形引擎、图像处理、声音效果(直接给我们提供数据的代码不是用C语言写的)、
C语言是一种工业语言,由基础人员使用。所以
开发效率>学习过程
开发效率>开发乐趣
而在日常的应用中,很少直接用C语言编写。
学习C的过程主要是写练习代码,而不是写真实软件。
C语言需要被编译才能运行,所以需要:编辑器、编译器(或者IDE,集成开发环境)
推荐的编程软件:Dev C++
1.3.1 第一个C程序
#include<stdio.h>
int main()
{
printf("Hello World!\n");
return 0;
}
梦开始的地方。
可以先自己敲进去运行玩玩
在Dev C++中打开方式:文件–新建–源代码
输入之前确保英文输入!!!
上端显示星号,说明没有保存
编译之后再运行。
1.3.2 详解第一个C程序
#include<stdio.h>
int main()
{
return 0;
}
本课程中所有的程序都需要用到这一段框架(直到学函数之前)
printf()会把" "内的内容(字符串)原封不动地输出,\n表示换行。
如果出现编译错误,会在下面用红色的error显示出来,而具体错误原因在下方窗口里。
再强调一遍,不要用中文输入法!!!
1.3.3 做一些计算
printf("%d",23+43);
%d是占位符,说明后面会有一个整数输出到这个位置上。
printf("23+43=%d",23+43);
四则运算 | C符号 | 意义 |
---|---|---|
+ | + | 加 |
- | - | 减 |
× | * | 乘 |
÷ | / | 除 |
% | 取余 | |
() | () | 括号 |
2.1.2 变量定义
找零钱问题:100-(用户输入)物品的价格=找你的钱
我们需要:
1)有地方放输入的数字;
2)有办法输入数字;
3)输入的数字参与计算。
int price=0;//定义了整形变量price,类型是int,初始值=0
printf("请输入金额(元):");
int change=100-price;
printf("找您%d元。\n",change);
变量是一个保存数据的地方。
变量定义的一般形式就是:
<类型名称><变量名称>
变量的名字叫“标识符”,基本原则只能由字母、数字、下划线构成,数字不能出现在第一个位置上。C语言的关键字(又叫保留字)不可用作字符。
如何输入:
输入也在终端窗口中。输入以行为单位进行,敲下回车,行结束。
(敲下回车之前,程序不会读到任何东西。)
2.1.3 变量赋值与初始化
int price=0;//其中=是赋值运算符,把右边的值赋给左边的变量。
和数学中不同,b=a和a=b在程序中有着相反的含义。
当赋值发生在刚定义变量时,就叫程序的初始化。虽然C语言并没有强制要求所有的变量在被定义的地方做初始化,但所有变量在第一次被使用(出现在=等号右边)前都应该被赋值一次。
如果没有初始化呢?
就是使用这个变量在内存中的那个值。
变量初始化:<类型名称> <变量名称>=<初始值>
也可以在组合变量定义中给单个变量单独赋初值,如
int a=0,b=1;
有运算符的式子就叫表达式(比如=是赋值运算符)
C语言是有类型的语言,所有变量在使用前必须先定义或声明;所有变量必须有确定的数据类型(表示在变量中可以存放什么样的数据),变量中也只能存放指定类型的数据,程序运行过程中也不能改变变量的类型。
Int charge=100-price;
//C语言
int price=0;
printf("请输入金额(元):");
scanf("%d",&price);
int change=100-price;
printf("找您%d元。\n",change);
//传统的ANSI C只能在开头的地方定义变量
int price=0;
int change=0;
printf("请输入金额(元):");
scanf("%d",&price);
change=100-price;
printf("找您%d元。\n",change);
2.1.4 变量输入
scanf函数,读到的结果赋值给后面的变量
(注意变量前的&)
如果输入非整数(比如找钱一例中:输入字母,找我100元)
这种情况后面再说。
2.1.5 常量vs变量
固定不变的数,是常数。直接写在程序里的,叫直接量
const int amount=100;
其中const是个修饰符,加在int前面,用来给这个变量加上一个const(不变的)属性。这个const属性表示这个变量的值一旦初始化,就不能再更改了
好处:1.便于理解2.修改的时候好找
编译:read-only variable is not assignable
(一般const的变量全大写)
Scanf的空格有讲究,以后再说。输入两个数,中间空格或回车,计算机读到两个数字时停止
当scanf扫描数字时输入字母,会出来很多奇怪的数字。(应该是ASCII码吧?)后面再细说。
2.1.6 浮点数
C语言中两个整数做运算得到的结果也只能是个整数(扔掉小数部分)。而10和10.0在c中是完全不同的两个数字,10.0是浮点数(浮点数指小数点时可以浮动的,是计算机中表示分数和无理数的一种方式。人们用浮点数来称呼有小数点的数)(其实还有定点数。但是在c语言中你不会碰到定点数)
当浮点数和整数放在一起运算时,计算机会自动把整数转化为浮点数计算
(如:
Int a,b;
Printf(“a/b3”);
改进为a/b3.0)
有单精度float(%f)和双精度double(%lf)
(计算机里会有纯粹的整数这种东西,原因是运算快、占地小。而且日常生活中大多也是整数运算。)
标签:变量,int,price,C语言,网课,printf,2.1,翁恺 来源: https://blog.csdn.net/jtwqwq/article/details/110248083