




已阅读5页,还剩88页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
NCREC语言二级考试复习 考试要求考试形式考试内容应掌握的算法 考试要求 二级 1 具有计算机的基础知识 2 了解操作系统的基本概念 掌握常用操作系统的使用 3 掌握基本数据结构和常用算法 熟悉算法描述工具 流程图的使用 4 能熟练地使用一种高级语言或数据库语言编写程序 调试程序 考试形式 笔试 90分钟 满分100分 其中含公共基础知识部分的30分笔试内容 选择题60分 填空题40分上机 90分钟 满分100分上机操作内容 填空 改错 编程 考试内容 一 C语言的结构1 程序的构成 main函数和其他函数 2 头文件 数据说明 函数的开始和结束标志 3 源程序的书写格式4 C语言的风格 例 编写一个程序 求两个整数的和 要求从键盘输入两个整数 用一个函数计算两个整数的和 includeintadd inta intb returna b voidmain intx y sum printf Enterxandy scanf d d C语言程序在结构上的特点 main函数 函数 函数 函数 C语言程序的书写格式 一 每行可写一个和若干个语句 二 每个语句用分号 结束 三 两个原则成对原则 括号 花括号成对 缩进原则 相关的判断 循环结构要缩进 C语言程序的具体实现 一 创建源程序文件二 编译 连接源程序文件三 运行程序 二 数据类型及其运算 1 C的数据类型 基本类型 构造类型 指针类型 空类型 及其定义方法 2 C运算符的种类 运算优先级和结合性 3 不同类型数据间的转换与运算 4 C表达式类型 赋值表达式 算术表达式 关系表达式 逻辑表达式 条件表达式 逗号表达式 和求值规则 C的数据类型 数据类型决定 1 数据占内存字节数2 数据取值范围3 可进行的操作 整型常量 整常数 三种形式 十进制整数 由数字0 9和正负号表示 如123 456 0八进制整数 由数字0开头 后跟数字0 7表示 如0123 011十六进制整数 由0 x开头 后跟0 9 a f A F表示 如0 x123 0Xff 例 12与12L 整型常量的类型根据其值所在范围确定其数据类型在整常量后加字母l或L 认为它是longint型常量 实型常量 实数或浮点数 表示形式 十进制数形式 必须有小数点 如0 123 123 123 0 0 0 123 指数形式 e或E之前必须有数字 指数必须为整数 如12 3e3 123E2 1 23e4 e 5 1 2E 3 5 实型常量的类型默认double型在实型常量后加字母f或F 认为它是float型 13 字符常量定义 用单引号括起来的单个普通字符或转义字符 字符常量的值 该字符的ASCII码值 转义字符 斜线后面跟一个字符或一个代码值表示 字符常量与字符串常量不同 字符串常量定义 用双引号 括起来的字符序列存储 每个字符串尾自动加一个 0 作为字符串结束标志 符号常量 用标识符代表常量定义格式 define符号常量常量一般用大写字母是宏定义预处理命令 不是C语句 例 definePI3 1415926 defineMAXNUM10000 注意 NULL是在stdio h里定义的预定义符 代码值为0 标识符定义 用来标识变量 常量 函数等的字符序列组成 只能由字母 数字 下划线组成 且第一个字母必须是字母或下划线大小写敏感不能使用关键字长度 最长32个字符命名原则 见名知意 注意不应混淆如1与I或l o与0 整型变量占字节数随机器不同而不同short int long可用sizeof 类型标识符 测量 实型变量floatdouble 字符型变量字符变量存放字符ASCII码char与int数据间可进行算术运算 没有字符串变量 字符串用字符数组存放 includemain charc1 c2 c1 290 10010001000100010 34 c2 300 10010110000101100 44 printf c c n c1 c2 printf d d n c1 c2 字符型数据和整型数据是通用的 字符数据只占一个字节 它只能存放0 255范围内的整数 0 127128 255 256 最高位被截去 输出 3444 显式转换 强制转换 一般形式 类型名 表达式 例 int x y int x y double 3 2 int 3 6说明 强制转换得到所需类型的中间变量 原变量类型不变 例 main floatx inti x 3 6 i int x printf x f i d x i 结果 x 3 600000 i 3 精度损失问题 三 基本语句 1 表达式语句 空语句 复合语句 2 数据的输入和输出 输入输出函数的调用 3 GOTO语句和语句标号的使用 运算符和表达式 学习运算符应注意 1 运算符功能2 与运算量关系要求运算量个数要求运算量类型3 运算符优先级别4 结合方向5 结果的类型 四 选择结构程序设计 1 用if语句实现选择结构 2 用switch语句实现多分支选择结构 3 选择结构的嵌套 if语句的三种形式 形式一 格式 if expression statement执行过程 例 if x y printf d x 形式二 格式 if expression statement1elsestatement2执行过程 例 if x y max x elsemax y 形式三 格式 if expr1 statement1elseif expr2 statement2elseif expr3 statement3 elsestatementn if语句嵌套的一般形式 if if if else else else if expr1 if expr2 statement1elsestatement2 内嵌if 如果if和else的数目不一样 可以加花括弧来确定配对关系 if if statement1 elsestatement2 if else配对原则 缺省 时 else总是它上面离它最近的未配对的if配对 条件运算表达式 表达式 表达式 表达式 先计算表达式 如果表达式 为非 计算表达式 得到整个表达式的结果如果表达式 为 计算表达式 得到整个表达式的结果 例 a 3 b 6 max a b a b switch 表达式 caseE1 语句组1 break caseE2 语句组2 break caseEn 语句组n break default 语句组 break 一般形式 五 循环结构程序设计 1 for循环结构 2 while和dowhile循环结构 3 continue语句和break语句 4 循环的嵌套 for语句一般形式 for expr1 expr2 expr3 循环体语句 各表达式的作用 expr1 赋初值expr2 执行循环的条件expr3 步长 while语句一般形式 while 表达式 循环体语句 执行流程 注意 循环体有若干几语句 用 括起来 do while语句一般形式 do循环体语句 while 表达式 执行流程 辅助控制语句break语句功能 在循环语句和switch语句中 终止并跳出循环体或开关体说明 1 break只能终止并跳出最近一层的结构 2 break不能用于循环语句和switch语句之外的任何其它语句之中 continue语句功能 结束本次循环 跳过循环体中尚未执行的语句 进行下一次是否执行循环体的判断仅用于循环语句中 功能 无条件转移语句说明 不能用整数作标号只能出现在goto所在函数内 且唯一只能加在可执行语句前面限制使用goto语句 goto语句一般格式 goto语句标号 标号 语句 goto语句 六 数组的定义和引用 1 一维数组和多维数组的定义 初始化和引用 2 字符串与字符数组 一维数组 数据类型数组名 常量表达式 数组的大小是固定的常量表达式的值 不能包含变量 例 intn 15 inta n 例 inta 6 注意 数组名必须是合法标识符 常量表达式表示元素个数 数组名表示内存首地址 是地址常量 数组在内存中占连续内存空间 数组必须先定义 后使用只能逐个引用数组元素 不能一次引用整个数组数组元素表示形式 数组名 下标 其中 下标可以是常量或整型表达式 例intdata 5 data 5 10 无法检查出语法错误 C语言对数组不作越界检查 例inta 10 printf d a 必须for j 0 j 10 j printf d t a j 二维数组理解 例 inta 3 4 a 0 0 a 0 1 a 0 2 a 0 3 每个元素a i 由包含4个元素的一维数组组成 二维数组a是由3个元素组成 字符串 C中无字符串数据类型 用字符数组处理字符串 在字符数组中添加 0 标识有效字符结束 0 后面的数组元素未被使用 ch 10 charch 10 Program 0 字符串的输入输出逐个字符I O c整个字符串I O s 例 用 cmain charstr 5 inti for i 0 i 5 i scanf c 例 用 smain charstr 5 scanf s str printf s str 用字符数组名 不要加 输入串长度 数组维数遇空格或回车结束自动加 0 用字符数组名 遇 0 结束 使用scanf函数输入多个字符串 以空格分隔charstr1 5 str2 5 str3 5 scanf s s s str1 str2 str3 从键盘输入 Howareyou 七 函数 1 库函数的正确调用 2 函数的定义方法 3 函数的类型和返回值 4 形式参数与实在参数 参数值的传递 5 函数的正确调用 嵌套调用 递归调用 6 局部变量和全局变量 7 变量的存储类别 自动 静态 寄存器 外部 变量的作用域和生存期 8 内部函数与外部函数 应掌握的库函数 scanf printf getchar putchar gets puts sqrt isupper islower abs exp log strcmp strcat strcpy strlen fputc fgetc fputs fgets fread frwite fprintf fscanf rewind fseek malloc free calloc 返回语句形式 return 表达式 或return表达式 或return 功能 使程序控制从被调用函数返回到调用函数中 同时把返回值带给调用函数说明 函数中可有多个return语句若无return语句 遇 时 自动返回调用函数若函数类型与return语句中表达式值的类型不一致 按前者为准 自动转换 函数调用转换void型函数 调用形式函数名 实参表 说明 实参与形参个数相等 类型一致 按顺序一一对应 调用方式函数语句 例 printstar printf Hello World n 函数表达式 例 m max a b 2 函数参数 例 printf d max a b m max a max b c 函数说明对被调用函数要求 必须是已存在的函数库函数 include用户自定义函数 函数类型说明函数说明一般形式 函数类型函数名 形参类型 形参名 或函数类型函数名 作用 告诉编译系统函数类型 参数个数及类型 以便检验函数定义与函数说明不同函数说明位置 程序的数据说明部分 函数内或外 下列情况下 可不作函数说明若函数返值是char或int型 系统自动按int型处理被调用函数定义出现在主调函数之前 形参与实参形式参数 定义函数时函数名后面括号中的变量名实际参数 调用函数时函数名后面括号中的表达式 例 比较两个数并输出大者 main inta b c scanf d d 说明 实参必须有确定的值形参必须指定类型形参与实参类型一致 个数相同若形参与实参类型不一致 自动按形参类型转换 函数调用转换形参在函数被调用前不占内存 函数调用时为形参分配内存 调用结束 内存释放 参数传递方式 值传递方式方式 函数调用时 为形参分配单元 并将实参的值复制到形参中 调用结束 形参单元被释放 实参单元仍保留并维持原值特点 形参与实参占用不同的内存单元单向传递 主函数的两种形式 main main intargc char argv 例如 执行myc exe时若输入命令 myexeOK GOOD 回车 则argc的值为3argv 0 指向 myexe argv 1 指向 OK argv 2 指向 GOOD argv argc 由系统置 0 注意 输入命令时各参数之间由空格符或TAB符分隔 若某参数中含有空格 用双引号把该参数括起来 递归调用定义 函数直接或间接的调用自身叫函数的递归调用 intf intx inty z z f y return 2 z 变量的属性数据类型 变量所持有的数据的性质 操作属性 存储属性存储器类型 寄存器 静态存储区 动态存储区生存期 变量在某一时刻存在 静态变量与动态变量作用域 变量在某区域内有效 局部变量与全局变量变量的存储类型auto 自动型register 寄存器型static 静态型extern 外部型变量定义格式 存储类型 数据类型变量表 如 intsum autointa b c registerinti staticfloatx y 局部变量定义 在函数内定义 只在本函数内有效说明 main中定义的变量只在main中有效不同函数中同名变量 占不同内存单元形参属于局部变量可定义在复合语句中有效的变量局部变量可用存储类型 autoregisterstatic 默认为auto floatmax min floataverage intn inti floatx scanf f inta 3 b 5 max inta intb intc c a b a b return c main inta 8 printf a d n b d n max d n a b max a b 全局变量与局部变量同名时 在内部变量的作用域中 全局变量被屏蔽 例 运行结果 a 8 main中的a b 5 main中的b max 8 全局变量的作用域可以通过关键字 extern 来扩展 intmax intx inty intz z x y x y return z main externinta b printf max d max a b inta 13 b 8 运行结果 max 13 externinta b intmax intz z a b a b return z main printf max d max inta 13 b 8 变量的存储类别 动态变量与静态变量动态变量 动态存储类别的变量当进入定义它的函数或复合语句时被分配存储空间 当离开时所占内存空间被释放 静态变量 静态存储类别的变量在源程序编译的时候被分配固定的存储空间 从程序开始执行到程序运行结束 一直占用该内存空间 直至程序运行结束 才被释放内存空间 生存期 变量存在 在内存有存储空间 的时间段 静态变量 从程序开始执行到程序结束动态变量 从包含该变量定义的函数开始执行至函数执行结束 静态的 static 如 staticinti 下次再调用该函数时 static变量仍使用原来的存储单元 仍使用原来存储单元中的值 分配内存后 赋初值 并且只被赋初值一次 未赋值的内部static变量 系统自动给它赋值为0 被分配在内存的静态存储区中 staic变量在内存的静态存储区占用的固定的内存单元 即使它所在的函数被调用结束后 也不释放存储单元 它所在单元的值也会继续保留 因此 虽然staic变量在整个程序运行期间都是存在的 但在它的作用域外 它是不可见的 也就是说其它函数是不能引用它的 内部函数和外部函数 外部函数外部函数是可以被程序中的其它文件所调用的函数 定义格式如下 extern数据类型函数名 形式参数表列 说明部分 执行部分 外部函数是C语言默认的函数类型 若没有特别的声明为extern类型 系统也会默认为外部函数 内部函数内部函数是只能被本文件中其它函数调用 而不能被其它文件调用的函数 它的定义格式如下 static数据类型函数名 形式参数表列 说明部分 执行部分 八 编译预处理 1 宏定义 不带参数的宏定义 带参数的宏定义 2 文件包含 处理 作用 对源程序编译之前做一些处理 生成扩展C源程序种类宏定义 define文件包含 include格式 开头占单独书写行语句尾不加分号 带参数宏定义一般形式 define宏名 参数表 宏体 例 defineS r PI r r相当于定义了不带参宏S 代表字符串 r PI r r 宏展开 形参用实参换 其它字符保留宏体及各形参外一般应加括号 例 defineS a b a b area S 3 2 宏展开 area 3 2 不能加空格 例 definePOWER x x xx 4 y 6 z POWER x y 宏展开 z x y x y 一般写成 definePOWER x x x 宏展开 z x y x y 功能 用自定义名字为已有数据类型命名类型定义简单形式 typedeftypename 例typedefintINTEGER 类型定义语句关键字 已有数据类型名 用户定义的类型名 例typedeffloatREAL 类型定义后 与已有类型一样使用 例INTEGERa b c REALf1 f2 九 指针 1 指针与指针变量的概念 指针与地址运算符 2 变量 数组 字符串 函数 结构体的指针以及指向变量 数组 字符串 函数 结构体的指针变量 通过指针引用以上各类型数据 3 用指针作函数参数 4 返回指针值的指针函数 5 指针数组 指向指针的指针 MAIN函数的命令行参数 指针 即地址 注意 内存单元的地址与内存单元中的数据是两个完全不同的概念 内存地址 内存中存储单元的编号 与 运算符含义 取变量的地址 取指针所指向变量的内容 i pointer 指针变量 它的内容是地址量 i pointer 指针的目标变量 它的内容是数据 i pointer 指针变量占用内存的地址 i i pointer i i pointer i 一般形式 基类型 指针名 合法标识符 指针的目标变量的数据类型 表示定义指针变量不是 运算符 例 int p1 p2 float q 注意 1 int p1 p2 与intp1 p2 2 指针变量名是p1 p2 不是 p1 p23 指针变量只能指向定义时所规定类型的变量4 指针变量定义后 变量值不确定 应用前必须先赋值 例 main inti 10 int p p i printf d p 例 main inti 10 k int p p 指针变量必须先赋值 再使用 注意 执行语句中 p指指针p所指向的变量的值 此时 为运算符 而在说明语句中 为修饰符 用来说明p是一个指针名 指针的算术运算 p i p p p i p i p i p i等p1 p2无意义 例 p指向float数 则p 1 1 例 voidmain inta 5 8 7 6 2 7 3 inty p 输出 56 注意指针变量的运算 6 如果先使p指向数组a p a p 使p指向下一元素 即a 1 p 等价于 p 先得到p指向的变量的值 即 p 然后再使p p 1 p 与 p 作用不同 p 表示p所指向的元素值加1 如果p当前指向a数组中第i个元素 则 p 等价于a i p 等价于a i p 等价于a i 二维数组元素的指针表示 行 列数组都用指针表示例 inta 3 2 a i j i为0 2 j为0 1行用下标表示 列用指针表示 a i j i为0 2 j为0 1行用指针表示 列用下标表示 a i j i为0 2 j为0 1已知数组首元素地址 用一级指针表示数组元素 a 0 0 2 i j 注意 a i 与a i 等价 通过一个指针数组引用二维数组元素 int p 3 a 3 2 i j for i 0 i 3 i p i a i p i j 与 a i j 等价 p i j 与 a i j 等价 p i j 与 a i j 等价p i j 与a i j 等价 注 p是一个数组 它的每个元素是基类型为int的指针 通过一个行指针引用二维数组元素 int prt 2 a 3 2 i j prt a prt i j 与 a i j 等价 prt i j 与 a i j 等价 prt i j 与 a i j 等价prt i j 与a i j 等价 注 prt是一个指针 它的基类型是一个包含有两个int元素的数组 用指针数组来指向字符串 char name Followme BASIC GreatWall 对使用字符指针变量和字符数组的讨论 1 字符数组有若干个元素组成 每个元素中放一个字符 而字符指针中存放的是地址 字符串的首地址 决不是将字符串放到字符指针变量中 2 赋值方法错误 charstr 14 正确 char a str IloveChina a IloveChina 3 对字符指针变量赋初值 char a IloveChina char a a IloveChina 对数组的初始化 不能等价 charstr 14 charstr 14 IloveChina str IloveChina 数组可以在变量定义时整体赋初值 但不能在赋值语句中整体赋值 注意 指针变量作为函数参数 地址传递 swap int p1 int p2 intp p p1 p1 p2 p2 p main inta b int pointer 1 pointer 2 scanf d d 十 结构体 即 结构 与共用体 即 联合 1 结构体和共用体类型数据的定义方法和引用方法 2 用指针和结构体构成链表 单向链表的建立 输出 删除与插入 十一 位运算 1 位运算符的含义及使用 2 简单的位运算 十二 文件操作 只要求缓冲文件系统 即高级磁盘I O系统 对非标准缓冲文件系统 即低级磁盘I O系统 不要求 1 文件类型指针 FILE类型指针 2 文件的打开与关闭 fopen fclose 3 文件的读写 fputc fgetc fputs fgets fread frwite fprintf fscanf函数 文件的定位 rewind fseek函数 文件类型指针指针变量说明 FILE fp 用法 文件打开时 系统自动建立文件结构体 并把指向它的指针返回来 程序通过这个指针获得文件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 灯具产品知识培训感想课件
- 灯光知识培训总结
- 灌装酒专业知识培训总结课件
- 达标测试人教版八年级上册物理声现象《声音的特性声的利用》专项训练试题(详解)
- 解析卷人教版八年级上册物理声现象《声音的特性声的利用》定向攻克试卷(含答案解析)
- 滨江村消防安全知识培训课件
- 食品安全与日常饮食题库及答案解析
- 月嫂岗前培训考试班及答案解析
- 三类安全管理考试题库及答案解析
- 关于珍爱生命演讲稿合集15篇
- 2024年秋季新教材三年级上册PEP英语教学课件:含视频音频U3-第1课时-A
- 公安涉警舆情课件
- 医院培训课件:《类风湿关节炎的治疗与康复》
- DB34∕T 3790-2021 智慧药房建设指南
- 实验小学六年级上学期素养竞赛语文试卷(有答案)
- 2024至2030年中国石晶地板行业市场调查研究及投资前景展望报告
- 景区标识标牌投标方案
- 2023年自考中国古代文学史试卷及答案
- T-CPQS C010-2024 鉴赏收藏用潮流玩偶及类似用途产品
- 一年级下册美术教案 -第五课 由小变大的画 ︳湘美版
- HSK 2标准教程(完整版)
评论
0/150
提交评论