C语言程序设计考试大纲.doc_第1页
C语言程序设计考试大纲.doc_第2页
C语言程序设计考试大纲.doc_第3页
C语言程序设计考试大纲.doc_第4页
C语言程序设计考试大纲.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

C语言程序设计考试大纲 赵艳红课程的性质与设置目的一、 课程性质和特点 通过本课程的学习,使学生了解程序设计语言的成分和程序的组成,了解C语言程序的特点,学习并掌握C语言的基本语法和常用的库函数,掌握一些简单、典型算法,使学生具有一定的设计程序、阅读程序的能力,为后续课程打好基础。二、 本课程的基本要求通过本课程的学习,学生应该学会定义各种类型的变量,灵活运用各个运算符,书写表达一定含义的表达式;学生应该学会正确使用三种程序结构:顺序结构、条件结构、循环结构,并能用相应的语句描述它们;学生应该学会使用数组、结构体、指针类型的数据,学会编写各种子程序,理解递归程序设计的特点,并能熟练的实现文件的输入/出。三、 本课程与相关课程的联系: 学习本课程前应先预修以下课程: 计算机导论,高等数学,线性代数 是后续课程 等的基础课程四 各章的主要内容及基本要求:第1章 C语言概述l 主要内容:语言、程序、程序设计语言程序设计语言的发展史C语言的发展历史C语言程序的特点: 怎样编写、编译、运行一个C语言程序C语言的单词种类关键字、运算符、常数、界限符、标识符l 教学目的和要求了解C语言的特点和C程序的组成,理解程序设计的环境学会书写、编译、上机运行一个C语言程序 第2章数据类型、运算符与表达式l 主要内容C语言的数据类型 符号常量和直接常量整数类型和整型数据的存储 整型常量和整型变量的定义 十进制、八进制、十六进制整型常数实数类型和实型数据的存储 实型常量和实型变量的定义 实型常数的小数表示法和指数表示法字符类型和字符类型数据的存储 字符按ASCII码在内存存放 字符常量和转义字符 字符串常数和它的存储结构 区分字符常数与字符串常数的区别,如a与“a” 字符型数据的特殊处理:可以赋值为整数,可与整数运算,可按整数格式输入输出运算与表达式 算术运算 + - * / % + - 强制类型转换 (类型)(表达式)赋值运算 变量=表达式 复合赋值运算 += -= *= /= %= 赋值运算表达式 逗号运算符和逗号表达式 表达式1,表达式2l 教学目的和要求学习C的简单数据类型、基本运算和各种表达式的含义掌握各种类型的数据在内存的存储方式各种整数类型和数值范围字符常数与字符串的区别各种运算的优先级和结合方向i+ 与 +i 的差异赋值运算时的类型转换变量的值与表达式的值的区分标识符的用途:用户标识符、关键字、库函数名第3章最简单的C程序设计l 主要内容 C语句 if(e) s else s ; for(e) s ; while(e) s ; 控制语句 do s while (e) continue ; break ; switch goto return 表达式语句 函数调用语句 赋值语句 其它表达式语句 空语句 复合语句顺序结构数据的输出 putchar(字符) printf(格式控制,输出表列) 学会数据输出的各种格式 d格式 %d %md %ld %mld o格式 %o %mo %lo %mlo x格式 %x %mx %lx %mlx u格式 %u %mu %lu %mlu c格式 s格式 %s %ms %-ms %m.ns %-m.ns f格式 %f %m.nf %-m.nf e格式 %e %m.ne %-m.ne g格式 数据的输入 getchar() scanf(格式控制,地址表列) 格式字符 d o x c s e f 附加的格式说明符 l %ld %lf %lo %lx %le h %hd %ho %hx m * l 教学目的和要求熟练掌握数据的输入/出函数,灵活运用各种数据格式符号第4章分支结构l 主要内容关系运算符和关系表达式 关系运算符 = = = != 关系运算符的优先级和结合方向 C中以 1 或 非0 表示逻辑真 以 0 表示逻辑假 逻辑运算符和逻辑表达式 ! & | 逻辑运算符的优先级和结合方向 if语句 if (表达式)语句 if(表达式)语句1 else 语句2 if(表达式1) 语句1 else if(表达式2) 语句2 else if(表达式3) 语句3 . else if(表达式n) 语句n else 语句n+1 条件表达 表达式1 ?表达式2 :表达式3 优先级:高于赋值运算 低于关系和算术运算 结合方向:从右向左switch语句 switch (表达式) case 常量表达式1:语句串1 case 常量表达式2:语句串2 。 case 常量表达式n:语句串n default :语句串n+1 l 教学目的和要求理解程序中的分支结构,学会正确表达各种条件,学会使用if、switch语句。第5章循环结构l 主要内容 goto语句 格式:goto 语句标号; while语句 格式:while(表达式) 语句; 语义:先判断表达式的真假,为真时执行语句do-while语句 格式:do 语句串; while(表达式); 语义:先执行,后判断 for语句 格式:for(e1;e2;e3) s 语义: e1; loop: if(e2) s else goto next; e3; goto loop; next: 或:e1; while(e2) s; e3; 表达式e1、e3可以省略 省略e2是一个死循环break与 continue语句 break语句作用: 跳出switch语句,执行switch后面的语句 跳出循环体,执行该循环语句后面的语句 continue语句作用:结束本次循环,继续下一次循环l 教学目的和要求理解循环结构,学会各种循环语句的语法,正确使用循环语句。使用循环结构时,理清循环重复的内容、循环重复的条件、循环结束的条件分清各种循环的差别第6章数组l 主要内容数组的定义和使用 定义格式: 类型 数组名常量表达式1常量表达式2。 用一个标识符作数组名 常量表达式的个数为数组的维数,每一维的下标从0开始,到常量表达式-1为止 C语言只有静态数组 数组在内存按行存放数组的初始化 用static和extern说明的数组若未赋初值,每个分量均为0 可以只给一部分分量赋初值 在长度确定的情况下,可以不指定最高维的长度数组的使用 一般原则:只能对数组元素逐个使用,不能整体赋值 数组元素的格式:数组名下标1下标2 下标应是整型表达式 注意:下标溢出 未初始化的非static数组元素无初值(天知道)字符数组 基类型为char字符串 C语言中没有专门的字符串类型,而是用字符数组来表示字符串 但字符数组的长度与字符串的长度不同 字符数组的长度在定义该数组时就指定了 而字符串的长度是可以变化的 以0表示字符串的结束 一个字符串应存放在比它的长度多1的字符数组中字符数组的输入与输出字符串处理函数1puts(字符串) 作用:将一个字符串输出到屏幕2gets(字符数组) 作用:从键盘输入一个字符串到字符数组3.strcat(字符数组1,字符数组2) 作用:将两个字符串合并成一个字符串,放在字符数组1中4.strcpy(字符数组1,字符串2 ,个数) 作用:将字符串2中的一部分或全部字符复制到字符数组1中5.strcmp(字符串1,字符串2) 作用:比较两个字符串.比较的方法为: 从左到右依次比较两个下标相同的字符, 直到:(1)全部相同或 (2)出现不同为止 返回0(相同) 或对应字符的ASCII码值之差6.strlen(字符串) 作用:计算字符串的长度7.strlwr(字符串) 作用:将字符串中大写字母转换成小写字母8.strupr(字符串) 作用:将字符串中小写字母转换成大写字母l 教学目的和要求 理解数组是类型相同用同一个标识符标识的一组数 学会定义、使用数组,并掌握查找、排序算法第7章函数l 主要内容函数的格式 类型函数名(形式参数表列) 形式参数说明 声明部分 语句 1无参函数2空函数3有参函数4隐含类型函数 隐含类型的函数其类型为int 5无类型函数(空类型函数)6有类型函数 所有的函数都是并列关系 每个函数都是独立定义的 函数不能嵌套定义 程序的执行都是从main函数开始 一个C程序可以由多个源程序文件组成函数的参数 形参与实参必须类型一致 形参与实参之间的数据传递形式为值传递 调用函数时给形参分配存储单元 把实参的值送到形参单元 退出函数时,释放分配的形参存储单元 数组名表示数组的首地址 调用函数时把实参数组的首地址送给形参数组名 形参与实参数组占用相同的存储空间函数的返回值1有类型的函数,由return语句将返回值带到调用函数2隐含类型的函数,可以有return语句,也可以没有 没有return语句表示返回一个无意义的整数3无类型的函数,不需要返回值,也不带回任何函数的调用 函数调用的一般形式 函数名(实参表列) 实参与形参个数、类型应该一致 函数调用方式 无类型函数作为一个函数语句 有类型函数或隐含类型有返回值的函数作为表达式的一部分 对被调用函数的说明 库函数,应在程序开头写上相应的include命令 用户自定义函数 (1)先定义后使用 (2)先使用后定义,必须事先声明函数的嵌套调用 函数不能嵌套定义,可以嵌套调用:递归调用 自己调用自己 直接递归调用 间接递归调用 递归的要素: 。递归结束的条件 。自己调用自己局部变量与全局变量 在一个函数中定义的变量为内部变量,其作用域:定义他的函数,故又称局部变量 主函数中定义的变量也是局部变量 形参也是局部变量 在一个复合语句中也能定义变量,该变量也是局部变量,作用域为该复合语句 不同的函数中可以使用相同的变量 在函数外面定义的变量称为外部变量,其作用域:从定义开始到程序结束 故又称为全局变量 在同一个源程序中,若外部变量与局部变量同名, 那么在局部变量的作用域中外部变量不起作用 变量应定义后使用,若在定义之前要引用外部变量,则应在函数中作外部变量说明变量的存储类别静态存储方式: 在程序运行期间给变量分配固定的存储空间 外部变量采用这种存储分配方式 存放在静态存储区动态存储方式: 在程序运行期间,根据需要进行存储分配: 即要用到某个变量时才给它分配存储空间, 不再使用时释放已分配的存储空间 C中以函数为单位进行存储分配 局部变量和形参一般存放在动态存储区局部静态变量 在函数中用static加以说明的局部变量自动变量(局部动态变量) 在函数中未用static说明或用auto说明的局部变量外部全局变量 在另一个源程序的函数的外部定义, 要在本源程序中使用的变量 存放在静态存储区静态外部变量 只能在本源程序中使用,不能在其他源程序中使用的外部变量寄存器变量内部函数和外部函数内部函数 定义函数时在函数名前用static说明,该函数为内部函数或称静态函数 只能在本源程序中被其他函数调用,因此不同源程序中可以定义同名的函数外部函数(default) 定义函数时在函数名前用extern说明,该函数称为外部函数 可以被其他源程序的函数调用l 教学目的和要求 理解函数的用途,学会定义和调用函数 理解递归函数的实现 学会局部变量和全局变量的定义和使用函数的形参和实参之间的数据传递数组名做实参时,形参数组与实参数组是同一个数组函数的递归调用变量的存储类别第8章编译预处理 C语言程序中可以使用的一些命令,在通常的编译之前先执行这些命令 再将命令处理结果与源程序一起进行编译l 主要内容宏定义 不带参数的宏定义 格式:#define 标识符 字符序列 printf(“PI=%d”,PI); 带参数的宏定义 格式:#define 宏名(参数表) 字符序列文件包含 格式:#include “文件名” #include 条件编译l 教学目的和要求 为了增加程序的可读性和通用性,在程序编译之前处理预编译命令。 通过本章的学习,使学生了解文件包含命令的作用,学会使用宏定义。 第9章指针l 主要内容指针的概念 指针的含义、指针变量的定义与使用指针变量作形参指向数组的指针变量 数组的指针是数组的首地址 数组元素的指针是数组元素的地址 数组名作函数的参数指向多维数组的指针 指向字符串的指针变量指向函数的指针变量 函数的入口地址就是函数的指针 函数名表示函数的入口地址返回地址的函数 类型 *函数名(参数表)指针数组 每一个元素是指针的数组指向指针的指针 char *pp;指针数组做main函数的形参 main(int argc, char *argv ) argc是命令行中参数的个数(包括命令名) argv 是指向参数的指针数组l 教学目的和要求 通过指针的学习,了解间接对数据进行操作的方式, 学会运用各种类型的指针对数据进行操作l 本章重点和难点 认识以下说明的含义与使用方法: int *p; int *p; int *p4; int (*p)4; int *p( ); int (*p)( );了解何时使用何种形式的指针 对一维数组操作时,用int *p; 对二维数组操作时,用int (*p) ;或int *p; 对单个字符串操作时,用char *p; 对多个字符串操作时,用char *p ; 及char *pp;防止指针悬空 指针不能代替数据的存在,即不能只定义指针而不定义数据 int a10, b1020; int *p, *pp, *s10, (*t)20; p=a; pi 、*(p+i)都是ai p=bi; *(p+j)、 pj都是 bij; p=b0; (p+i*20+j) 也是 bij; t=b+i; *(*t+j) 也是bij 必须有如下操作:si=bipp=s; 才能通过pp或s对数组b进行操作 第10章结构体与共用体l 主要内容结构体 结构体类型的定义 结构体类型变量的定义、初始化和使用结构体数组指向结构体类型数据的指针 结构体变量在内存的首地址为其指针 指向结构体数组的指针 结构体变量做函数的参数 返回指向结构体指针的函数链表 建立和打印链表 插入和删除、查找结点共用体 共用体类型的定义 共用体类型变量的使用枚举类型 枚举类型及枚举类型变量的定义 枚举类型变量的使用定义类型标识符l 教学目的和要求 通过本章的学习,学会使用结构体类型的数据,能建立和维护链表。结构体类型变量不能直接输入输出 各域名对应的分量可以与同类型的变量一样看待掌握链表的特点:由若干个结点构成每个结点是一个结构体类型的数据有链结构体中一定有同一结构体类型的指针由链首对链表进行操作,链尾指针用NULL表示,链首丢失,这个链表就找不到了能编程实现链表的建立和插入、删除结点掌握共用体类型的特点 各成员的地址相同 任一时刻只有一个成员起作用 成员之间相互覆盖 共用体变量不能初始化 共用体变量不能做函数参数掌握用typedef定义类型的一般方法: 第11章位运算l 主要内容按位运算& | 位段l 教学目的和要求 了解位运算的作用,灵活使用位运算按位与&: 取一个数中的若干位 若干位清零按

温馨提示

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

评论

0/150

提交评论