1.1计算机和编程语言
1.1.1计算机与编程语言:计算机是怎么做事情的,编程语言是什么
计算机如何解决问题?
计算机只能将每一步完美的完成,无法将步骤串起来,而我们要做的是告诉计算机怎么将每一步串起来也就是说当我们面对人的时候就是What to do,面对计算机的时候就是How to do。
计算机语言
程序是用特殊的编程语言写出来表达如何解决问题的
不是用编程语言来和计算机交流,而是描述要求它如何做事情的过程或方法
算法
我们要让计算机做计算,就需要找出计算的步骤,然后用编程语言写出来
计算机做的所有的事情都叫计算
计算的步骤就是算法
1.1.2计算机的思维方式:重复是计算机最擅长的
程序的执行
解释:借助一个程序,那个程序能试图理解你的程序,然后按照你的要求执行
编译:借助一个程序,就像一个翻译,把你的程序翻译成计算机真正能懂的语言----机器语言----写的程序,然后,这个机器语言写的程序就能执行了
解释语言VS编译语言
语言本无编译/解释之分
常见的执行方式而已
解释型语言有特殊的计算能力
编译型语言有确定的运算性能
1.2C语言
1.2.1为什么是C:C语言在工业界占有重要地位,在很多领域无可替代
C语言是在工业界使用非常广泛的语言
其他语言?
现代的编译在语法上的差异很小
几乎都是C-like语言
语言的能力/适用领域主要是由库和传统所决定的
1.2.2简单历史:关于C语言和版本的极其简单的历史
C语言
C语言是从B语言发展而来的,B语言是从BCPL发展而来的,BCPL是从FORTRAN发展而来的
BCPL和B都支持指针间接方式,所以C也支持了
C语言还受到了PL/I的影响,还和PDP-11的机器语言有很大的关系
1973年3月,第三版的Unix上出现了C语言的编译器
1973年11月,第四版的Unix(System Four)发布了,这个版本是完全用C语言重新写的
C的发展与版本-K&R
经典C
又被叫做“K&R the C”
The C Programming Language,by BrianKernighan Dennis Ritchie,2ndEdition,Prentice Hall
C语言的发展与版本-标准
1989年ANSI发布了一个标准----ANSI C
1900年ISO接受了ANSI的标准----C89
C的标准在1999年两次更新----C95和C99
所有的当代编译器都支持C99了
1.2.3编程软件:C语言的编程软件
C语言用在哪里?
操作系统
嵌入式系统
驱动系统
底层驱动
图形引擎,图像处理,声音,效果
C是一种工业语言
开发效率远远大于学习过程好开发乐趣,日常应用很少直接用C语言编写,学习C的过程主要是写练习代码
而非真实软件
编译–>运行
C需要被编译才能运行,所以你需要编辑器,编译器,或者,IDE(集成开发环境)
编程软件
Dev C++
MS Visual Studio Express(Windows)
Xcode(Mac OS X)
Eclipse-CDT
Geany(和MinGW一起)
Sublime(和MinGW一起)
vim/emacs(和MinGW一起)
1.3第一个程序
1.3.1第一个C程序如何编辑,编译和运行程序
第一步点击创建新项目
第二步点击控制台应用(C++,Windows,控制台)
第三步修改项目名称,然后点击右下角的创建
第四步右键HELLO.cpp选择删除
第五步右键源文件选择添加,选择新建项
第六步点击C++文件,修改名称后缀改为.c,点击添加
第七步将下述代码写入
#include
int main()
{
printf("Hello World");
return 0;
}
第八步点击空心的三角运行代码
结果如下:
1.3.2详解第一个程序:程序框架,printf,出错怎么办?
程序框架:
#include
int main()
{
//在这里写代码
return 0;
}
之后的每一段代码都要写在这里。
常见问题:
1.在printf(“hello world”);后面那个分号忘记加了,编译器会报错如下:
2.将分号输入成中文的分号,编译器会报错如下:
1.3.2做点计算:如何让程序输出算数结果
做计算
printf(“%d”,23+43);
%d说明后面有一个整数要输出在这个位置上
printf(“23+43=%d\n”,23+43);
四则运算
四则运算C符号意义
加+加
减-减
乘*乘
除/除
%取余
()()括号