lecture2一c语言简介 绳伟光 上海交通大学微纳电子学系 2017年02月24日
lecture 2 —— C语言简介 绳伟光 上海交通大学微纳电子学系 2017年02月24日
内容 ■C特性简介 ■第一个c程序一一HelloWorld ■C开发环境 ■HelloWorld分析 ■更多示例
内容 C特性简介 第一个C程序 —— HelloWorld C开发环境 HelloWorld分析 更多示例
C是一种结构化程序设计语言 ■ 结构化编程始于60年代 结构化程序理论:利用顺序、选择及重复这三种 组合程序的方式,可以表示所有可计算函数 ■其它程序设计范式:函数式编程、面向对象、 泛型程序设计
C是一种结构化程序设计语言 结构化编程始于60年代 结构化程序理论:利用顺序、选择及重复这三种 组合程序的方式,可以表示所有可计算函数 其它程序设计范式:函数式编程、面向对象、 泛型程序设计
C语言的常见语言特性 ■基本的控制流:语句块、if-else、switch、 while、for、do while、break、goto ■数据类型:基本类型、结构、联合、指针 ■运算符/表达式种类丰富 ■ C非常依赖函数 ■C支持预处理
C语言的常见语言特性 基本的控制流:语句块、if-else、switch、 while、for、do while、break、goto 数据类型:基本类型、结构、联合、指针 运算符/表达式种类丰富 C非常依赖函数 C支持预处理
C的缺陷 ■ 不支持集合、列表,字符串、数组无range checking 不支持内存垃圾收集 ■不直接支持输入/输出 ■不支持多线程(C11已开始支持) ■不支持异常 有限的类型安全,编译时类型安全检查有限,运行 时无检查 ■不支持面向对象、泛型、函数式程序设计
C的缺陷 不支持集合、列表,字符串、数组无range checking 不支持内存垃圾收集 不直接支持输入/输出 不支持多线程(C11已开始支持) 不支持异常 有限的类型安全,编译时类型安全检查有限,运行 时无检查 不支持面向对象、泛型、函数式程序设计
第一个C程序一一HelloWorld ■C程序约定扩展名为.c ■第一个c程序包含一个文件:first.c 1 #include 2 3 int main(int argc,char *argv[]) 4{ 5 printf("Hello World!\n"); 6 return 0; 7} 8
第一个C程序 —— HelloWorld C程序约定扩展名为.c 第一个C程序包含一个文件:first.c 1 #include 2 3 int main(int argc, char *argv[]) 4 { 5 printf("Hello World!\n"); 6 return 0; 7 } 8
HelloWorld的进一步解释 ■预处理 ■函数 ■主函数 通常情况下main必不可少 必main实际可以更换 必main的参数 ■1O ■返回值 更详细的解释分析留待开发工具介绍之后
HelloWorld的进一步解释 预处理 函数 主函数 通常情况下main必不可少 main实际可以更换 main的参数 IO 返回值 更详细的解释分析留待开发工具介绍之后
HelloWorld,程序编译运行结果 wgsheng@wgsheng-PC:~/calg/helloworld wgshengdwgsheng-PC:~/calg/helloworlds ls first.c wgsheng@wgsheng-PC:~/calg/helloworlds gcc first.c-o first wgsheng@wgsheng-PC:~/calg/helloworlds ls firstfirst.c wgsheng@wgsheng-PC:~/calg/helloworlds ll total 20 drwxrwxr-x 2 wgsheng wgsheng 4096 2月 1300:08 drwxrwxr-x 3 wgsheng wgsheng 40962月 1300:06 -rwxrwxr-x 1 wgsheng wgsheng 7332 2 13 00:08 first* -rw-rw-r--1 wgsheng wgsheng 972月 13 00:08 first.c wgsheng@wgsheng-PC:~/calg/helloworlds ./first Hello World! wgsheng@wgsheng-PC:~/calg/helloworlds
HelloWorld程序编译运行结果
c开发环境(PC) Windows IDE Visual Studio Intel Parallel Studio XE ■Unix/Linux gcc编译器+make系列构建工具 ■新型编译器:LLVM ■Mac IDE xcode ■跨平台DE Eclipse Codeblocks
C开发环境(PC) Windows IDE Visual Studio Intel Parallel Studio XE Unix/Linux gcc编译器+make系列构建工具 新型编译器:LLVM Mac IDE xcode 跨平台IDE Eclipse Codeblocks
Visual Studio 全功能IDE,支持C/C+、C#.. 最新2017版,有免费版Express版 ■ 安装需要近10G空间,完全安装要60G空间 需注意开发c程序文件的扩展名一定要是.c 旗舰级开发工具,代码格式化、代码高亮等功 能非常好用 最好的文档:MSDN 缺陷:屏蔽了底层过程,不利于学习
Visual Studio 全功能IDE,支持C/C++、C#... 最新2017版,有免费版Express版 安装需要近10G空间,完全安装要60G空间 需注意开发C程序文件的扩展名一定要是.c 旗舰级开发工具,代码格式化、代码高亮等功 能非常好用 最好的文档:MSDN 缺陷:屏蔽了底层过程,不利于学习