《C语言程序设计》复习提纲
- 格式:doc
- 大小:34.50 KB
- 文档页数:4
C语言程序设计复习提纲第一章1.了解计算机程序设计语言的发展历史与分类.2.掌握C语言程序的基本结构, main函数:(1) 每个C语言程序都是由函数组成的, 构成C语言程序的基本单位是函数;;(2) 每个C语言程序中至少要包含一个函数, 那就是main函数;(3) 任何程序都是从main函数开始执行到main结束;(4) 不像其他一些程序设计语言, C语言的函数中不能再定义函数.3.掌握标识符, C语言的关键字, C语言变量的命名规则, 注意C语言中区分大小写字母.4.运算符与表达式(1) 了解常用运算符功能,操作数的个数(即是几目运算) 以及优先级与结合方向;(2) 熟练掌握算术运算符“/”和“%”的用法, 特别注意“/”作用在整型和实型数上的差别;(3) 熟练掌握运算符“++, --”的用法及其放在变量前面与后面的区别;(4)掌握各种赋值运算符的用法及其副作用;(5) 掌握对复杂表达式求值时注意各种运算符优先级与结合方向.第二章1.了解C语言数据类型的分类, 基本数据类型的宽度(即占用内存的大小) 与sizeof运算符, 数据的定点与浮点表示法以及各种类型数据在计算机中存放方式(整型以定点方式存放; 字符类型是以ASCII码方式存放, 与整型数据通用; 实型以浮点方式存放) 等常识. 如果已知各种整型数据在内存中占用的字节数, 会计算这种数据类型所能表示数的范围.2.掌握二进制, 十进制, 八进制, 十六进制之间的转换.3.掌握C语言各种常量的书写规则.4.掌握强制类型转换运算符的使用方法.5.熟练掌握输入输出语句printf与scanf的用法, 掌握常用转义字符和格式说明符, 注意printf函数的参数计算顺序(其实任何函数参数的计算顺序都是从右到左).第三章1.了解算法的三种基本控制结构: 顺序结构, 选择结构和循环结构.2.了解算法的三个基本性质: 有效性, 确定性和有穷性.3.了解算法描述的工具流程图, N-S图与伪代码的基本用法.4.掌握C语言的关系与逻辑运算:(1) C语言中用非0表示逻辑真值, 用0表示逻辑假值;(2) 关系与逻辑运算的值只有0和1两种;(3) 注意C语言中关系运算与数学上的关系运算的区别;(4) 特别注意逻辑运算符&& 和|| 的副作用: 当由左端的值可以确定整个表达式的值时, C编译器将不再计算右边的表达式.5.掌握各种选择语句的用法, 熟练掌握与其有关的编程.6.掌握三种循环语句的用法, 熟练掌握与其有关的编程.第四章1.掌握函数的概念与函数的定义, 调用和声明的格式以及什么情况下需要使用声明, 形参与实参的概念, 参数传递规则, 传值与传址. (注意: 函数的类型即是函数返回值的类型, 若未指定, 则为int 型)2.了解递归函数的概念.3.了解变量的存储类别, 全局变量与局部变量, 动态变量与静态变量的概念.4.掌握各种类型变量的生存期与作用域. 掌握不同存储类别的变量的定义方法.5.熟练掌握静态局部变量的用法及其与自动变量的区别. (注意: 一个局部变量如果未指明存储类别, 其隐含的存储类别为auto类型).6.掌握宏命令的定义与使用方法. 熟练掌握带参宏的定义与副作用.第五章1.掌握数组的概念与定义方法, 数组初始化的方法, 数组引用的方法, 使用数组时注意下标不要越界(C语言数组的下标取值范围是0到数组大小减1).2.熟练掌握一维数组和简单的二维数组编程.3.了解数组名在C语言中的特殊含义, 掌握数组作为函数参数时参数传递的方式.4.掌握字符串的概念及其与字符数组的关系. 注意C语言中字符串占用的存储空间比它的实际长度多1, 因为任何字符串都以字符串结束标记…\0‟结尾.5.掌握字符串的初始化的方法, 字符串处理函数: gets, puts, strlen, strcpy, strcat,strcmp的用法.第六章1.了解地址与指针的概念: 任何程序实体(变量, 函数等) 的指针其含义是指其地址.2.掌握指针变量的定义, 初始化和引用的方法.3.掌握指针的赋值、比较、相减、与整数相加减等运算以及运算符“*”和“&”的互逆性.4.熟练掌握指针与数组的关系. 尤其注意一、二维数组元素的指针表示法与下标表示法的关系, 能够熟练的相互转换.5.掌握指针与函数的关系, 能够运用指针参数和返回指针的函数进行编程, 特别是要熟练掌握书中提到的各种字符串处理函数的实现方法.6.了解函数指针的基本用法.第七章1.了解结构体的概念, 掌握结构体类型与变量的定义方法, 结构体的大小与存储方式, 掌握结构体变量的使用方法, 运算符. 与-> 的用法.2.了解共用体的概念, 掌握共用体类型与变量的定义方法, 共用体的大小与存储方式.3.掌握结构体与数组, 指针, 函数的关系.4.链表的基本概念, 优缺点(与数组比较).5.了解枚举类型的概念与枚举类型变量的定义及使用方法.第八章1.了解C语言中文件的分类方法: 文本文件与二进制文件.2.了解文件操作的基本步骤, 了解函数fopen, fclose, fgetc, fputc, fgets, fputs,fread, fwrite, fscanf, fprintf 的功能与用法. 了解文件结束标记EOF与feof函数.。
C语言程序设计复习大纲一、复习目标(1掌握C的基本语法结构;(2掌握基本的程序设计算法和技巧;(3具备初步的高级语言程序设计能力二、基本考试题型(1选择题;(2填空题;(4阅读程序题;(5编程题。
三、程序设计语言(C的基本要素1、数据类型与表达式①、基本数据类型主要是int、float、double、char的常量和变量的说明方式,定义于基本数据类型之上的各种运算。
重点是以下运算及表达式::算术运算(含自增和自减操作、逻辑运算、关系运算、条件运算、赋值运算。
②、混合运算含混合运算的表达式中各种运算的优先级及结合方向。
2、语句结构①、赋值的方法②、逻辑判断的控制·选择语句(if语句:if语句的形式,if语句的嵌套·多路选择语句(switch语句、break③、循环语句·指定次数的循环(for循环、do循环、do-while循环的形式和使用·循环结束条件·循环控制变量的使用·指定次数循环的提前结束方法3、函数①、C程序的总体结构②、函数的定义、调用形式③、函数参数的形式和传递方式④、函数的嵌套调用⑤、全局变量和局部变量的区分和作用。
变量的作用域和生命期。
注意:static对全局变量和局部变量的不同作用。
4、数组·一维/多维数组类型的定义,数组元素的引用和数组变量的初始化方式。
·字符串的定义、结构和使用。
注意:字符串结束标志和内存占用、’\X’的含义和内存占用(X指n、t、代码值等5、指针、结构·指针类型的说明,指针的含义、使用·结构类型的定义、元素的引用和结构变量的初始化。
6、数据的输入/输出①、基本类型数据的输入/输出方法重点是:printf/scanf、getc/putc、gets/puts、fgetc/fputc、fprintf/fscanf、fgets/fputs 等输入/输出函数②、文件·文件的含义和定义方式·文件的打开与关闭方式·文件的基本读/写操作·文件状态的检测(文件结束、读/写出错等·文本文件与二进制文件的区别和一般的文本文件读/写程序结构7、其它①、命令行参数(argc, argv的说明,含义和使用②、编译预处理了解编译预处理的含义及宏定义(含宏函数、文件包含等的使用方法。
《C语言程序设计》课程复习大纲第3章格式化的输入输出掌握标准格式输出函数printf函数和标准格式输入函数scanf函数的使用方法。
第4章表达式掌握C语言中算术运算符,赋值运算符,自增和自减运算符,表达式求值,表达式语句的使用方法,以及运算符的优先级与结合性。
第5章选择语句掌握构建逻辑表达式的关系运算符、判等运算符和逻辑运算符的使用方法;if 分支语句的使用方法,以及它的各种变形及嵌套关系;switch 多分支语句的使用方法。
第6章循环语句掌握三种循环语句:while语句、do语句、for语句。
在for语句中的逗号运算符。
break,continue、go语句用法。
第7章基本类型掌握整形、浮点型、字符型的用法。
sizeof运算符的使用方法。
掌握如何进行类型转换,如何用tupedef定义新类型。
第8章数组掌握一维数组和多维数组的使用方法。
第9章函数掌握掌握函数的定义、调用和声明的用法。
掌握函数的实际参数的使用方法;return语句用法。
理解函数递归的实现方法。
第10章程序结构掌握局部变量的存储期限和作用域;外部变量的存储期限和作用域。
掌握如何构建C程序。
第11章指针掌握指针变量的含义和声明方法;取地址运算符和间接寻址运算符的用法。
掌握如何使用指针作为参数、返回值。
理解指针赋值的含义。
第12章指针和数组掌握指针的算术运算;掌握指针和数组的关系:指针处理数组;数组名作为指针。
理解指针和多维数组的关系。
理解C99中的指针和变长数组的关系。
第13章字符串掌握字符串字面量的用法;字符串变量的用法,字符数组和字符指针用法;用printf函数、puts函数、scanf函数、gets函数读写字符串。
掌握用指针和数组访问字符串中的字符。
掌握字符串库用法;字符串数组用法。
理解字符串惯用法。
C 语言程序设计复习提纲---基本的知识点2011.6.一、应知C程序的结构: (P5.笔记)例1:构成C程序的基本单位是什么?例2:一个C程序有几个main()函数?(P5)1.例3: 一个C“语句”什么情况下用分号“;”结尾, 什么情况下不用分号“;”结尾?( 一个典型的例子是: 函数定义P131与函数声明P137) (p5)C语言中的运算符及其运算优先级:算术运算符(P35) 自增自减运算符(P43)关系运算符(P41) 逻辑运算符(P43)条件运算符(P85) 复合运算符(P38)2.C语言中的表达式、表达式的求值及其与对应的数学表达式的相互转换:算术表达式(P36) 赋值表达式(P40)关系表达式(P41) 逻辑表达式(P43)A. 表达式的求值例:例1:P33No23.P39、P45.P55No4.P55No8例2:若有int a=1,b=2,c=3;则表达式a<b && b<c的值是什么? (Attion: p44)表达式a<b && b<c即为: 1<2 && 2<3→1 && 1→1B. C语言表达式与对应的数学表达式的相互转换例:例1: ∣x -y ∣+: C库函数4.例2: P55No.7C语言中标识符的命名规则: (P13.笔记)例1:-e, e-03, 1e3, e, e1, (a+b)++, qwe, if5.例2: P32No.56.C语言中允许的基本数据类型: (P17)7.scanf函数和printf函数的正确使用方法8.C语言中各语句的G.F.、PP以及NE9.字符常量与字符串常量的区别: (P28、P30、P177)10.C程序的三种基本控制结构、执行过程及其相关语句11.break语句和continue语句的作用与区别: (P109、P110、笔记)12.当型循环与直到型循环的区别: (笔记)13.循环的三要素(笔记)14.嵌套循环的执行过程: (笔记)一维数组和二维数组的定义、初始化规则与引用:15.(P161~P172.笔记)16.函数的定义和函数的调用均可嵌套吗?(P131~p133.P135笔记)17.函数定义与函数说明的区别: (P130、P135.笔记)18.函数的三种调用方式: (笔记)19.递归调用的二个关键和二个阶段: (笔记)函数调用中的数据传递方式:20.(值传递和地址传递: P138~P143.笔记)21.地址、指针、指针变量、指针运算符、指针运算的基本概念: (P51~P54、P200~P205、笔记)22.编译预处理的基本概念⑴编译预处理命令不是C语言中的语句。
第一部分C程序设计语言复习提纲 1一. 数据的定义 1二. 运算及流程控制 3三. 程序结构和函数 4四.数据的输入和输出 5五.编译预处理 6六.面向对象程序设计初步 6第一部分C程序设计语言复习提纲一. 数据的定义(一)数据类型1. 基本类型基本类型指整型(int)、实型(float、double)和字符型(char)。
(1)常量①八进制整数:0123 十六进制整数:0x123 长整型常量:123L②实数的浮点表示法:123.0 实数的科学计数法:1.23e2③字符的转义序列:’\n’(换行)、’\065’(’A’)、’\x61’(’a’)④符号常量:#define PI 3.14 常用符号常量NULL(空值0)、EOF(文件结束符-1)(2)变量①变量的定义:int a;变量名a为一个符号地址,编译连接时对应一个内存地址,该地址代表的内存单元能够存放一个整数。
②变量的初始化:a=3;通过变量名a找到相应的内存地址,将数据3保存在此内存单元中。
2. 构造类型构造类型包括数组和结构。
(1)数组①一维数组的定义:int a[5]; 一维数组的初始化:int a[5];={1,2,3,4,5};②二维数组的定义和初始化:int b[2][3]={1,2,3,4,5};③数组元素的引用:a[0]=1; b[1][2]=0;④一维字符数组(字符串):char c[]=”abc”;(4个元素,c[3]=’\0’)⑤二维字符数组(字符串数组):char str[3][20]={“China”,”USA”,”Russia”};(2)结构①结构类型的定义:struct rectangle{float length;float width;};②结构变量的定义和初始化:struct rectangle rec1={20.0,10.0};③结构变量成员的引用:rec1.length=25.0;3. 指针(1)指针和地址的概念变量名 a p 指针变量变量值(内存单元内容)指针变量的值(地址)内存单元地址1000(2)指针变量的定义和初始化int a,*p; p=&a;(3)通过指针引用指向实体*p=10;4. 构造类型和指针类型的混和定义及应用(1)指针、数组和地址间的关系①一维数组int a[5]={1,2,3,4,5}; int *p=a; /* p=&a[0]; 首地址*/a[i]、*(p+i)、*(a+i)等价,&a[i]、p+I、a+i等价。
C语言程序设计复习提纲一、Visual C++6.0开发环境1、了解Visual C++6.0的安装过程;2、了解Visual C++6.0的工作界面,菜单和工具栏的使用;▲二、掌握C语言程序运行的过程1、编辑:是指把按照C语法规则编写的程序代码通过编辑器(Visual C++ 6.0,Turbo C 3.0)输入计算机,并存盘。
在存盘时,C源文件的扩展名为 .c2、编译:对源程序进行编译,即将源程序转换为扩展名为.obj的二进制代码;即生成该源文件的目标代码。
3、连接:将用户程序生成的多个目标代码文件(.obj)和系统提供的库文件(.lib)中的某些代码连接在一起,生成一个可执行文件(.exe)。
4、执行:执行生成的可执行代码,并输出结果。
5、调试:是将编制的程序投入实际运行前,用手工或编译程序等方法进行测试,修正语法错误和逻辑错误的过程。
▲三、结构化程序设计的基本概念1、概念以模块化设计为中心,将待开发的软件系统划分为若干个相互独立的模块,将原来较为复杂的问题化简为一系列简单模块的设计,任何模块都可以使用一些基本的结构来实现,任何复杂的程序,都可以使用这些基本结构按一定的顺序组合起来,这些基本结构的特点都是只有一个入口、一个出口,这样的程序设计方法称为结构化程序设计。
2、基本思想结构化程序设计的基本思想是采用"自顶向下,逐步细化、模块化设计、结构化编码"的程序设计方法和"单入口单出口"的控制结构。
自顶向下、逐步细化的程序设计方法从问题本身开始,经过逐步细化,将解决问题的步骤分解为由基本程序结构模块组成的结构化程序框图;"单入口单出口"的思想认为一个复杂的程序,如果它仅是由顺序、选择和循环三种基本程序结构通过组合、嵌套构成,那么这个新构造的程序一定是一个单入口单出口的程序。
据此就很容易编写出结构良好、易于调试的程序来。
3、三种基本结构⑴顺序结构⑵选择结构⑶循环结构4、三种基本结构的特点⑴只有一个入口⑵只有一个出口⑶每一个基本结构中的每一部分都有机会执行到⑷结构内不存在“死循环”5、设计原则⑴自顶向下⑶逐步细化⑶模块化设计⑷结构化编码6、结构化程序设计方法⑴要求把程序的结构规定为顺序、选择和循环三种基本机构,并提出了自顶向下、逐步求精、模块化程序设计等原则。
C语言程序设计复习大纲第一章 C语言与程序的算法1. C 程序的基本结构1)以 # 开始的语句称为预处理器指令。
stdio.h文件中包含了有关输入输出语句的函数,在使用输入输出功能前应用使用#include<stdio.h> 。
以.h为后缀的文件被称为头文件,可以是 C 程序中现成的标准库文件,也可以是自定义的库文件。
2)C程序有且仅有一个main() 函数;main() 函数是 C 程序处理的起点;程序的执行总是从main函数开始,在main函数结束。
在函数定义的后面有一个左大括号,即{。
它表示函数的开始,后面是函数的主体。
在函数定义的结尾处有一个右大括号,即}。
大括号也可以用于将语句块括起来。
3)C 程序中的一个语句可以跨越多行,并且用分号(语句分隔符)通知编译器该语句已结束。
函数主体中的每个语句都以分号结束。
4)函数是C程序的基本构成单位5)/*...*/表示多行注释。
//表示单行注释。
2. 编译和执行C程序1)编译过程:2)源程序:是用户创建的文件,以“.c”为文件扩展名保存。
3)目标文件:是编译器的输出结果。
这类文件的常见扩展名为“.o”或“.obj”。
4)可执行文件:是连接器的输出结果。
可执行文件的扩展名为“.exe”。
5)头文件:含有函数的声明和预处理语句,用于帮助访问外部定义的函数。
头文件的扩展名为“.h”。
6)计算机不能直接执行用C语言编写的源程序。
7).obj和.exe的文件都是一个二进制文件。
.exe可以直接运行,但.obj文件不能直接运行。
3.算法的特征:算法:解决问题的具体方法和步骤1)有穷性——算法必须在执行有穷步之后结束,而且每一步都可在有穷时间内完成1)确定性——每条指令无二义性。
并且,相同的输入只能得到相同的输出;2)可行性(有效性)——对需要执行的每一步操作,必须给出清楚、严格的规定。
3)输入——算法有零至多个输入。
4)输出——算法有一个至多个输出4.流程图开始/结束处理输入/输出判断/分支连接符流程线第二章数据类型、运算符与表达式1.变量的命名规则1)组成:52个字母(A-Z, a-z),10个数字(0-9),下划线(_)2)开头:字母或下划线3)注意:不能是关键字,C 语言区分大小写2.数据类型1)基本数据类型:int,char,float,double,void2)整型整型:int (VC++中占4字节)无符号整型:unsigned (VC++中占4字节)短整型: short(VC++中占2字节)无符号短整型: unsigned short(VC++中占2字节)长整型: long(VC++中占4字节)无符号长整型: unsigned long(VC++中占4字节)3)整型常量十进制:0~9的数字,前面可添加”+“或”-“,不能以0开始八进制:0~7的数字,以0为前缀十六进制:0~9的数字和A~F的字母(大小写均可),以0X或0x为前缀数字后加L或l表示长整数数字后加U或u表示无符号数4)单精度浮点型:float(VC++中占4字节)5)双精度浮点型:double (VC++中占8字节)6)实型常量定点数:0~9数字和小数点组成指数形式:形式为:aEn(a为十进制数,E大小写均可,n为十进制整数,值为a*10n7)字符型:char(内存中以ASCII码存放,在其取值饭范围内和整数可以相互通用)如:char c='A'+10;后,c为K常见的字符相应的ASCII码:’0’:48,’A’:65 ,‘a’:97小字字母的ASCII码和大字字母的ASCII码相差32。
〈C语言〉复习提纲第1章 C 语言概述1.了解C语言的发展;2.掌握C程序的基本结构;3.了解在编辑、编译、连接和运行一个C程序的方法。
重要内容:C是一种结构化程序设计语言。
C语言的特点;C语言的结构特点和书写规则第2章数据类型、运算符、表达式1.掌握C语言的基本语法:C语言中保留字、标识符的命名规定、常量的合法表示形式;C语言的基本数据类型、定义变量及赋值方法;2.掌握运算符的功能、优先级、表达式及表达式的求值;注意以下运算符:/、%、++、--以及复合赋值符的优先级。
重要内容:1.常量(常量和符号常量);符号常量的说明2.变量,标示符规则(字母,数字和下划线,且首字符必须是字母或下划线)3.基本数据类型(整型(常量变量)实型(常量变量)字符型(常量变量)字符串常量)4.运算符(优先级)与表达式第3章顺序程序设计1.掌握getchar()函数;putchar()函数2.掌握printf()函数,正确使用主要格式转换符:%d,%md, %ld ,%f,%m.nf,%c,%s;3.掌握scanf()函数,正确使用主要格式转换符:%d,%f,%c,%s;特别要注意输入时数据的分隔。
第3章选择结构程序设计1.了解C语言表示逻辑量的方法;2.正确使用关系、逻辑运算符和表达式,注意短路运算符&&和||。
3.熟练掌握if、switch语句的使用;要注意if和else的配对关系,switch 语句中的break 的作用。
第3章循环控制1.熟悉while 、do-while 、for 语句的形式、流程图;2.掌握用三种语句实现循环控制的方法;3.了解break语句的作用。
主要内容:1.C语言语句(表达式语句;函数调用语句;控制语句;复合语句;空语句)2.算法的特性:有穷性;确定性;有零个或多个输入;有一个或多个输出;有效性3.三种基本结构(顺序,选择,循环(当型和直到型))4.结构化程序设计方法:自顶向下、逐步细化,模块化设计、结构化编码。
一、基础知识部分(选择与填空20分)
1、C语言的编译过程
2、C语言的数据类型与其对应的控制符
3、简单循环程序的运行结果
4、运算符的优先顺序
a)如s+=i+1怎样运算
5、函数的调用
6、判断表达式与if语句的对应关系
二、编程(40分)
1、编程题:重点复习实验指导书中实验5-9的第一个实验
三、分析程序(40分)
给出一段简单的小程序,考生读取程序,写出执行结果。
(程序比较简单)知识点1、for循环与break的配合使用
知识点2、函数调用与值传递的实质
知识点3、字符数组的控制
知识点4、判断表达式与if语句的功能的比较
知识点5、结构体的定义与使用
知识点6、二维数组的定义与使用
知识点7、字符型变量与ACSII码值的关系
知识点8、+= -= *= /=运算符的使用
程序分析例题:
1、有以下程序
int f(int b[][4])
{ int i,j,s=0;
for(j=0;j<4;j++) {
i=j;
if(i>2) i=3-j;
s+=b[i][j]; }
return s;
}
main( )
{ int a[4][4]={{1,2,3,4},{0,2,4,5},{3,6,9,12},{3,2,1,0}};
printf(“%d\n”,f(A) );
}
2、分析下面程序,写出运行后结果。
main()
{ int x=1,y=0,a=0,b=0;
switch(x)
{case 1:switch(y)
{ case 0:a++; break;
case 1:b++; break;
}
case 2:a++;b++; break;
}
printf("%d %d\n",a,b);
}
3、将以下程序写成三目运算表达式。
if(a>b)max=a;
else max=b;
4、阅读下列程序,写出则执行后的结果。
#include "stdio.h"
fun(int x,int y)
{ int z;
z=x;x=y;y=z;
}
main()
{ int a,b;
a=100;b=640;
fun(a,b);
printf("%d,%d\n",a,b);
}
#include "stdio.h"
fun(int x, int y)
{ int z;
z=x; x=y; y=z;
}
main()
{ int a,b;
a=100;b=640;
fun(a, b);
printf("%d, %d\n", a, b);
}
6、已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入:B33<回车>.输出结果是
#include "stdio.h"
main()
{
char a,b;
a=getchar(); scanf("%d",&b);
a=a-'A'+'0';
b=b*2;
printf("%c %c ",a,b);
}
7、以下程序运行后的输出结果是
#include "string.h"
void fun(char *s,int p,int k)
{ int i;
for(i=p;i<k-1;i++)
s[i]=s[i+2];
}
main()
{ char s[]="abcdefg";
fun(s,3,strlen(s));
puts(s);
}
point(char *p)
{
p+=3;
}
main()
{ char b[4]={'a','b','c','d'},*p=b;
point(p); printf("%c ",*p);
}
9、以下程序运行后的输出结果是
main()
{ char a[]="123456789",*p; int i=0; p=a;
while(*p)
{ if(i%2==0) *p='*";
p++;i++;
}
puts(a);
}。