C语言程序设计基础 第一讲
- 格式:ppt
- 大小:1.48 MB
- 文档页数:9
《C语言程序设计》基本知识点第一章C语言基本知识1.C源程序的框架尽管各个C源程序的功能千变万化,但框架是不变的,主要有:编译预处理、主函数()、函数n()等,主函数的位置不一定在最前面,可以在程序的中部或后面,主函数的名字固定为main。
2.C语言源程序的书写规则:(1)C源程序是由一个主函数和若干个其它函数组成的。
(2)函数名后必须有小括号,函数体放在大括号内。
(3)C程序必须用小写字母书写。
(4)每句的末尾加分号。
(5)可以一行多句。
(6)可以一句多行。
(7)可以在程序的任何位置加注释。
3.语句种类语句是程序的基本成分,程序的执行就是通过一条条语句的执行而得以实现的,根据表现形式及功能的不同,C语言的基本语句可以分为五大类。
(1)流程控制语句流程控制语句的功能是控制程序的走向,程序的流程有三种基本结构:顺序结构、分支结构和循环结构,任何复杂的程序都可以由这三种基本结构复合而成。
其中后两种结构要用特定的流程控制语句实现。
(2)表达式语句表达式语句的形式是:表达式;,即表达式后跟一分号“;”,分号是语句结束符,是一个语句必不可少的成分。
表达式和表达式语句的区别在于表达式代表的是一个数值,而表达式语句则代表一种动作。
最常见的表达式语句是赋值语句。
(3)函数调用语句函数调用语句实际上也是一种表达式语句,形式为:在一次函数调用的小括号后面加上一个分号。
(4)空语句空语句的形式就是一个分号,它不代表任何动作,常常作为一个意义转折点使用。
(5)复合语句复合语句从形式上看是多个语句的组合,但在语法意义上它只相当于一个语句,在任何单一语句存在的地方都可以是复合语句。
注意复合语句中最后一个语句末尾的分号不能少。
复合语句右大括号后面没有分号。
4.运算符用来表示数据各种操作的符号称为运算符。
运算符实际上代表了一种类型数据的运算规则。
不同的运算符具有不同的运算规则,其操作的数据类型必须符合该运算符的要求,运算结果的数据类型也是固定的。
C语言程序设计第一讲:C程序的基本结构和创建C程序的创建和运行过程⏹创建源程序文件⏹编译生成可执行文件⏹运行可执行文件⏹调试C程序的创建和运行过程(续)C程序的创建工具和环境⏹常用的编辑工具、编译系统和运行环境⏹Windows + MS VC++ IDE⏹Linux + vi + gcc⏹常用的调试工具⏹MS VC++ IDE⏹gdb, dddC程序的创建工具和环境(续)⏹C编译器和C++编译器⏹C++是C的超集⏹常用的编译器一般都支持C和C++⏹有些环境下对编译器的调用取决于编译命令⏹有些环境下对编译器的调用取决于源文件后缀⏹C++编译器支持两种格式的注释⏹/* … … */⏹//C语言的版本异同⏹常见的版本⏹K & R C⏹最早的经典⏹ANSI C (C89)⏹标准化的结果⏹C99:目前尚未有支持全部特性的编译系统⏹基本相同⏹小有差异⏹对常见的简单程序影响不大C语言的版本异同(续)⏹主要差异之处⏹函数原型:变元作为函数声明的一部分⏹新增关键字:enum、const、volatile、… …⏹语法的少量扩充⏹语义的轻微改变⏹讲述对象⏹以ANSI C为主最简单的C程序int main()// 函数头,C程序的入口{return 0; // 语句,程序结束并返回值}// 说明执行结束时的状态执行结果:无C程序的基本结构/* a simple prog that does something */#include <stdio.h>// 预处理命令int main()// 函数头{// 函数体开始printf(“Hello, world\n”);// 输出语句return 0;// 程序结束语句,0表示正常}// 执行结果:在屏幕上输出Hello, world并换行C程序的基本结构(续)⏹主函数⏹程序执行的起点,必须命名为main⏹一般应定义如下:int main(){… …return 0;}⏹主函数执行完毕程序即结束C程序的基本结构(续)⏹语句⏹程序执行的基本单元⏹一般包含在函数定义中⏹以分号结束int main(){printf(“hello\n”);// 函数调用return 0;// 函数返回}C程序的基本结构(续)⏹预处理命令⏹对源文件编译前必要的处理⏹#include …⏹引入对库函数的声明#include <stdio.h>// I/O函数库#include <stdlib.h>// 常用函数库#include <string.h>// 字符串函数库#include <math.h>// 数学函数库C程序的基本结构(续)⏹注释⏹作用:为阅读程序的人提供说明信息⏹C格式的注释⏹以/* */界定⏹例:/* print Fahrenheit-Celsius table for* fahr = 0, 20, …, 300, on KR p9*/C程序的基本结构(续)⏹注释⏹C++格式的注释⏹以//开始,到行末为止⏹例:// print Fahrenheit-Celsius table…return 0;// 正常结束C程序的基本元素⏹常量⏹变量⏹运算符⏹表达式⏹语句⏹程序执行的基本单位⏹以分号(;)结束⏹注意区分全角符号和半角符号⏹函数程序生成的基本过程⏹选择程序开发工具⏹使用集成开发环境,例如VC++IDE,GUIDE⏹使用独立的专用工具,例如vi+GCC+gdb ⏹创建任务空间⏹编辑源程序文件⏹编译源文件生成可执行文件⏹执行程序,检查程序运行结果⏹跟踪和调试程序程序生成的过程中的错误⏹语法错误⏹程序描述不符合C语言的语法要求⏹例:括号不匹配、变量未定义即使用、… …⏹在程序编译时由编译系统报错⏹较容易处理的错误类型⏹语义错误⏹语法正确的代码描述错误⏹设计错误⏹设计不符合任务要求程序错误的处理⏹语法错误⏹根据编译系统的错误信息修改代码⏹语义错误⏹根据设计文档检查代码⏹针对错误现象对程序进行调试⏹设计错误⏹根据设计目标对程序进行全面的测试⏹根据测试结果对程序进行修改编译器产生的错误信息⏹主要报告语法错误⏹语法错误的等级⏹error和warning⏹错误的类型⏹错误出现的位置⏹不一定准确⏹不同编译器产生的错误信息可能不同编译器产生错误信息的例#include <stdio.h>int main(){printf("Hello, world!\n")return 0}first_prog.c(5) : syntax error : missing ';' before 'return' first_prog.c(6) : syntax error : missing ';' before '}'编译器产生错误信息的例(续)#include <stdio.h>int main(){printf("Hello, world!\n);return 0;}first_prog.c(4) : newline in constantfirst_prog.c(5) : syntax error : missing ')' before 'return'编译器产生错误信息的例(续) #include <stdio.h>int main()printf("Hello, world!\n");return 0;}first_prog.c(4) : syntax error : identifier 'printf' first_prog.c(4) : syntax error : ';'first_prog.c(4) : syntax error : 'string'first_prog.c(5) : syntax error : 'return'first_prog.c(6) : syntax error : '}'语法错误处理的基本原则⏹按顺序逐一解决⏹重点分析和解决第一条语法错误信息⏹第一条错误信息往往在实际错误附近⏹第一个语法错误可能引发其它的错误信息⏹彻底消除所有的语法错误⏹使编译系统输出所有的错误信息⏹gcc -Wall⏹warningLinux/Unix上的基本工具⏹编辑器:vi⏹vi <source file name>⏹编译系统:gcc,(cc, g++)⏹gcc [options] <source file name>⏹程序运行⏹./<exec file name>⏹程序调试:gdb⏹gdb <exec file name>Linux/Unix上的基本工具(续)⏹集成开发环境⏹集编辑、编译、运行和调试于一体⏹使用图形界面(GUI)⏹Linux/Unix上的集成开发环境⏹KDevelop⏹GUIDE:北航GAIT开发⏹… …编辑器Vi的常用命令⏹Vi 的工作方式⏹光标移动方式⏹字符插入方式⏹插入方式的进入:a, o, i ⏹插入方式的退出:<esc>编辑器Vi的常用命令(续)⏹光标移动命令:⏹h, j, k, l,⏹w, b⏹H, M, L⏹:<行号>⏹删除命令:x, dd, dw⏹恢复命令:u⏹查找命令:/<string>, n, N编辑器Vi的常用命令(续)⏹写入文件命令::w [<file name>]⏹退出命令::q⏹强制性后缀:!⏹例::q!编译器gcc的使用⏹基本调用格式⏹gcc <source_file_1> [<source_file_2> …]⏹gcc hello.c⏹生成可执行文件a.out⏹常用选项⏹-o <exec_file>⏹-l<lib_name>⏹例:gcc -o hello hello.cgcc -o my_prog file1.c file2.c -lmLinux/Unix上的调试工具⏹字符型交互界面调试工具⏹gdb⏹很多图形界面调试工具的基础⏹图形界面调试工具⏹xxgdb⏹ddd⏹GUIDEWindows上的工具⏹集成开发环境⏹MS VC++ IDE⏹GUIDE⏹使用方式简便,无需创建任务空间⏹适用于由单个源文件构成的程序VC++IDE的基本功能⏹创建任务空间和源文件⏹程序编译和运行选项的设置⏹程序的编译⏹程序的执行⏹程序的跟踪和调试⏹设置断点⏹观察变量⏹程序执行的控制VC++IDE的使用方法⏹程序任务的创建⏹File→New→Project→Win32 ConsoleApplication⏹输入Project Name⏹选定Location(目录)并按OK⏹选定An empty project 并按Finish 和OKVC++IDE的使用方法(续)⏹程序源文件的创建⏹File→New→File→C++ File/Text File⏹输入文件名,加.c后缀⏹编辑文件⏹保存文件VC++IDE的使用方法(续)⏹程序的编译⏹Build→Build /快捷键⏹程序的执行⏹Build→!Execute /快捷键⏹程序的调试⏹Build→Start debug→Go /快捷键⏹断点的设置⏹单步执行:Debug→Step over/快捷键练习和考试工具⏹基于网络⏹Web页面⏹自动处理⏹公布题目⏹提交答案⏹答案评测⏹成绩分发练习和考试工具(续)⏹使用方法⏹网址:⏹:8765⏹先注册,后使用⏹注册:即日起至第3周。