C语言课件:第8讲C语言入门_第1页
C语言课件:第8讲C语言入门_第2页
C语言课件:第8讲C语言入门_第3页
C语言课件:第8讲C语言入门_第4页
C语言课件:第8讲C语言入门_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C语言部分,C语言基础知识 基本控制结构程序设计 函数 数组及其应用 指针与动态内存分配* 字符串* 结构体、链表及其应用* 输入输出和文件操作,0,第8讲 C语言入门,C语言介绍 如何写一个C语言程序 我们的第一个C语言程序 变量和数据类型,1,什么是C 语言,C语言是一种通用的编程语言,广泛用于系统与应用软件的开发; 由美国贝尔实验室的Dennis M. Ritchie于1972年推出,1978年后,C语言先后被移植到大、中、小及微型机上; C语言绘图能力强,较高的可移植性,并具备很强的数据处理能力,适于编写系统软件,二维,三维图形和动画。,2,C 的特征,关键字 结构、联合体复合数据类型

2、 指针内存、数组 外部标准库I/O等 编译为本机代码 宏预处理机,程序设计基础,3,C 语言标准,1972 发明C语言 1978 The C Programming Language 出版(首个标准) 1989 C89标准(ANSI C或标准C) 1990 ANSI C被ISO正式通过 C90 1999 C99 2007 新的C标准C1X宣布 本课程使用的C版本:ANSI/ISO C (C89/C90),4,C 的用途,系统级编程 操作系统,如Linux、Windows 微控制器:汽车、飞机 嵌入式处理器:电话、便携式电子设备 DSP处理器:数字音频与电视系统 ,5,C 与其他编程语言,较近的

3、衍生品:C+,C# 受影响的:Java,Perl,Python C语言所缺少的: 异常处理 边界检查 垃圾回收机制 面向对象编程 多态性 较低级语言 代码执行更快,程序设计基础,6,第8讲 C语言入门,C语言介绍 如何写一个C语言程序 我们的第一个C语言程序 变量和数据类型,7,高级编程语言和编译器,高级编程语言可以简化编程过程 不必用数字代码表示指令; 所使用的指令更接近人考虑问题的方式。 高级指令是计算机不能理解的“胡言乱语” 需要编译器; 编译器是将高级语言程序解释成计算机所需的详细机器语言指令集的程序; 使用不同的编译器,可以将同一高级语言程序转换为各种不同的机器语言程序。,程序设计基

4、础,8,使用C语言的7个步骤,9,1.,2.,3.,4.,5.,6.,7.,分析程序目标,设计程序,编写代码,编译,运行程序,调试程序,修改和维护程序,在哪里编写代码? 怎么编译、调试、运行?,.o,.c,源代码文件,可执行文件 (目标代码),几类开发环境,Ubuntu(Linux) 文本编辑器:gedit Text Editor 编译器:gcc - GNU Compiler Collection 调试器:gdb Windows 集成开发环境IDE MinGW: Minimalist GNU for Windows 文本编辑器Editplus Mac OS X XCode,10,Ubuntu下

5、C代码编写,11,gedit,Ubuntu 16.04 LTS,Ubuntu下C代码编写,首先保存为 .c 文件扩展名 然后在gedit中直接编辑代码,12,Ubuntu下gcc程序编译,保存为.o 文件扩展名 编译器:gcc( C语言最权威的Lnixu编译器),13,关于gcc的几点说明,运行 gcc: $ gcc -Wall infilename.c o outfilename.o -Wall:激活编译器的报警功能 支持更复杂的编译格式 多源文件 附加路径 优化、库链接 eg:嵌入调试信息,不进行代码优化 $ gcc -g o0 -Wall infilename.c o outfilena

6、me.o,14,$ gcc -Wall infilename.c o outfilename,gcc编译示例,15,Ubuntu下使用gdb调试程序,gdb:命令行调试器 一些有用的指令 (前提$ gcc g ) break linenumber - 在特定行(行号)设置断点 break file: linenumber - 在file中的特定行设置断点 run或r- 执行该程序 c - 继续执行 next- 执行程序下一行 step- 执行程序下一行,遇到函数则进入函数内部执行 quit或q- 退出gdb print expression - 输出指定表达式的当前值 help command

7、 - 获取命令名为command的内部帮助,16,gdb命令行调试器,17,IDE 集成开发环境,Integrated Development Enviroment,简称IDE 集代码编辑器、编译器、调试工具于一体 适用于大型项目开发 常用IDEs: Eclipse(CDT) Micorsoft Visual C+ Micorsoft Visual Studio 2010/2012/2013/2015 KDevelop XCode (Mac OS X) ,18,VC+6.0中的C代码编写(IDE),19,代码编写区,编译链接信息显示区,编译 链接 运行 调试 断点,编译、运行调试指令区,第8讲

8、 C语言入门,C语言介绍 如何写一个C语言程序 我们的第一个C语言程序 变量和数据类型,20,我们的C程序: “Hello, Everyone”,掌握 .c 文件结构 基础语法 注释 宏指令 基本声明* main()函数及其函数结构 标准控制台输入输出,如puts(),21,.c 文件的基本结构,22,/* 有关当前代码功能的注释 */,#include语句与预处理定义,函数定义与函数声明(原型),Define main() function / 定义main() Function body ,Define other function / 定义其他函数 Function body .,注释,

9、注释一行: / 注释多行: /*/ 作用:提高代码的可读性 特点: 不被编译 几乎可以出现于程序任何位置,23,预处理宏 #include,预处理器发现 #include 指令后,寻找中的文件并把文件内容包含到当前文件中 #include /* 标准输入输出设备 */ 读取头文件 stdio.h 的内容 stdio.h :包含对控制台和文件的标准I/O函数,24,关于头文件(.h),头文件:包含常量、函数和其它一些声明 一些重要的头文件: stdio.h, ctype.h, math.h, stdlib.h, string.h, time.h 中的文件必须保存在include文件夹中 在gcc

10、中指定附加的include目录的命令 $ gcc -I directory #include “stdio.h” 首先查找当前目录(包括所有附加的include目录), 然后才是include目录,25,返回,变量声明,变量必须先声明后使用 变量声明:类型名 变量(表) int m, n, l; float phi; int 整型 float 浮点型(可以带有小数部分的数) 其他基本数据类型 char(字符) short(短整型) double(双精度浮点型)long(长整型),26,变量初始化,未初始化时,变量被赋予一个默认值 通过赋值运算符 “=“ 对变量进行初始化: int n; n =

11、 3; 可以在声明变量的同时进行初始化: int n = 3; float phi = 3.1415926; 可以一次声明或初始化多个变量: int a, b, c = 3, d = 4;,27,函数原型,函数也必须先声明后使用 函数原型:对函数的声明 int factorial (int); int factorial (int n); 格式:返回值类型 函数名(参数声明表); 注:函数声明结束后要加(半角)分号“;” 输入参数:局部变量,值由调用者传进来 返回值:只有一个返回值 void:表示无返回值或无输入参数 int rand(void);,28,main() 函数原型,main():

12、C程序的入口点 最简版本:无输入,成功时输出0,输出非0值表示出错 int main(void); 带2个参数的main():使用命令行参数 int main(int argc, char *argv); (更多关于char *argv 的知识以后介绍),29,返回,函数定义,返回值类型 函数名(参数声明表) 变量声明; 程序内容; 一对花括号定义一个代码块 内部变量声明写在所有语句之前,30,main()函数定义,/* helloworld.c - Our first C language program Created by Li, 05/08/2016 */ int main(void)

13、/ entry point /* write a message to the console */ puts(“Hello, world!”) ; printf (“n”); return 0; /* exit (0 - successful) */ puts函数:向标准输出设备(控制台窗口)写字符串并换行 字符串常量:用双引号括起来的字符序列 return 0;成功退出当前函数,返回数值0给调用者,31,编译运行我们的第一个程序,保存代码为helloworld.c文件 运行gcc: -$ gcc Wall helloworld.c o helloworld.o 若编译过程中不出错,则代码编

14、译完成 运行程序(2种方式): -$ ./helloworld.o OR -$ gdb helloworld.o (gdb) r,32,$ gcc -g -Wall infilename.c o outfilename.o,编译运行我们的第一个程序,33,第8讲 C语言入门,C语言介绍 如何写一个C语言程序 我们的第一个C语言程序 变量和数据类型,34,几个重要概念,数据类型 是一类数据实体的集合,由它定义的数据实体将占内存空间 C是一种弱类型语言,允许隐式类型转换和强制类型转换 运算符 指定目标内容如何被操作(算术运算符、字符串运算符) 有一元(+)、二元(+,-)、三元(?: )之分,35

15、,几个重要概念,表达式 编程语言中的表达式是一个由数值、变量、运算符、函数构成的语句 变量 变量是有名字的,它被连接或映射到系统内存中的数值,或者是一个表达式 示例:int x=0, y=0; y=x+2; x,y 是变量 y=x + 2是一个表达式,36,变量声明,变量声明的一般格式: 数据类型 变量名称 =值; 示例: char x; /* 未初始化的 */ char x=A;/* 初始化值为A */ char x=A, y=B;/* 多个变量的初始化 */ char x=y=Z;/* 多个变量的初始化 */,37,变量与常量,数据:承载信息的数字与字符 变量: 在程序运行过程中可能被赋值或变化的数据 常量: 预先设定并在整个程序运行过程中没有变化的数据,38,变量命名,命名规则: 变量名是由字母、数字、或下划线“_”组成的序列 变量名的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论