计算机二级C语言.ppt_第1页
计算机二级C语言.ppt_第2页
计算机二级C语言.ppt_第3页
计算机二级C语言.ppt_第4页
计算机二级C语言.ppt_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

全国计算机等级考试 二级C语言程序设计 万程教育 考试方式及时间 全国计算机等级考试包括笔试和上机操作考试两部分 每年分上 下半年举行两次考试 上半年开考一 二 三级 时间在4月的第一个星期六 下半年开考一 二 四级 时间在9月倒数第二个星期六考试方式1 笔试 90分钟 满分100分 其中含公共基础知识部分的30分 2 上机 90分钟 满分100分 上机操作包括 1 填空 2 改错 3 编程 万程教育 课程安排 第一讲 C语言基础知识第二讲 程序的三种基本结构第三讲 数组第四讲 指针第五讲 函数第六讲 函数 指针 数组之间的关系第七讲 字符串第八讲 C语言的深入讨论 结构体与共用体 文件第九讲 公共基础知识 知识点串讲 应试技巧 万程教育 计算机二级C语言程序设计 C语言基础知识 第一章C语言基础知识 程序 是以计算机能执行的指令形式出现的 能完成具体工作任务的详细步骤 程序设计 是用户根据具体的工作任务编写出能让计算机高效地完成该任务的程序的过程 万程育 第一章C语言基础知识 简单的程序设计一般包含以下几个部分 1 确定数据结构 分析具体任务 确定输入数据和输出数据 确定数据的逻辑结构和存储结构 2 确定算法 根据确定的数据结构确定解决问题的方法 即完成任务的一步一步的步骤 3 编写程序 根据确定的数据结构和算法 使用选定的计算机语言编写程序代码 简称 编程 4 调试程序 将编写好的程序输入到计算机内存中 对程序进行测试并修正 直到程序符合任务要求 5 整理文档资料 根据数据结构和程序整理编写相关的文档资料 第一章C语言基础知识 程序设计语言 是用户与计算机交流时需要使用计算机能理解的语言 分为如下三大类 1 机器语言 所有的指令都由二进制数字0或1编码组成 2 汇编语言 采用人们容易记忆的符号和标记来表示机器语言指令 使程序具有一定的可读性 3 高级语言 由人们容易理解的自然语言和数学语言中一些简单的符号和单词组成 语句功能强大 可读性好 编程效率最高 万程教育 第一章C语言基础知识 以下关于C语言程序编译的知识叙述正确的是 Ac语言的源程序不通过编译即可执行Bc源程序经编译形成二进制代码可以直接运行Cc语言中的函数不可以单独进行编译Dc语言中的每条语句最终都将被转换成二进制机器指令 第一章C语言基础知识 算法 为解决某一特殊问题而采取的确定而有限的操作步骤 称为算法 一个算法应具备以下五个基本特征 1 确定性 2 可行性 有效性 3 有穷性 4 有零个或多个输入 5 有一个或多个输出 万程教育 第一章C语言基础知识 请思考 1 C程序由什么构成 标识符的作用是什么 2 在C程序中 数据存放在哪里 3 C程序中 什么代表着计算机指令 4 函数为什么要区分声明部分和执行部分 5 表达式和标识符有什么不同 6 关键字特殊在哪里 7 main函数的特殊作用是什么 C程序中没有main函数可不可以 万程教育 第一章C语言基础知识 C语言的构成 涉及的术语 注释 函数 main函数 函数名 函数调用 函数体 参数 子符串涉及的符号 万程教育 C语言的构成 新涉及的术语 变量 数据类型 赋值 表达式 语句 声明部分 执行部分新涉及的符号 int 万程教育 C语言的构成 新涉及的术语 函数定义 标准库函数 自定义函数 标识符 万程教育 C语言的构成 总结一下 C程序是由多个函数构成必须提供main函数的定义 上面3个例子程序都有个main函数main函数是程序的入口和出口自己编写的函数 必须先定义再使用变量名 函数名必须是合法的标识符 标识符就是一个名字 C语言规定标识符只能由字母 数字和下划线三种字符构成 并且第一个字符必须是字母或下划线 C语言不允许同时定义两个完全相同的标识符 C语言是大小写敏感的 因此grade和Grade不是相同的标识符 万程教育 C语言的构成 总结一下 C语言中有一些特别的标识符 他们的用途已经事先规定好了 程序远不能再将它们另做它用 这些特别的标识符被称为关键字 也称保留字 我们见过的关键字有 int和main 以后随着学习的深入 我们将会遇到越来越多的关键字 不能用关键字来命名变量和函数函数包含两个部分 声明部分和执行部分 且这两部分顺序不能颠倒 也不能有交叉 也就是说 我们不能在执行部分定义变量 万程教育 第一章C语言基础知识 经典例题详解 1 一个C程序中 A main函数必须出现在所有函数之前B main函数可以在任何地方出现C main函数必须出现在所有函数之后D main函数必须出现在固定位置 正确答案 B 知识点 C语言程序的构成及格式 试题分析 构成C程序的基本单位是函数 一个C程序中有且只有一个main函数 main函数在程序中没有固定的位置 万程教育 第一章C语言基础知识 2 以下叙述正确的是 A 用C程序实现的算法必须要有输入和输出操作B 用C程序实现的算法可以没有输出但必须要有输入C 用C程序实现的算法可以没有输入但必须要有输出D 用C程序实现的算法可以没有输入和输出 正确答案 B算法具有的五个特性是 有穷性 确定性 可行性 有0个或多个输入 有一个或多个输出 万程教育 第一章C语言基础知识 3 下列说法正确的是 A main函数必须放在程序的开头B main函数可以放在程序的最后C main函数可以放在程序的中间部分 即在一些函数之前在另一些函数之后 但在执行C程序时总是从程序的开头开始执行的D main函数可以放在程序的中间部分 即在一些函数之前在另一些函数之后 但在执行C程序时总是从main函数开始执行的 正确答案 D 万程教育 第一章C语言基础知识 4 一个C程序可以包含任意多个不同名的函数 但有且仅有一个 A 函数B 主函数C includeD 过程5 C语言规定 必须用 做主函数的名A stdioB includeC mainD function6 在C语言中 每个语句和数据的定义是用 结束的A 括号B 句号C 分号D 逗号 正确答案 BCC 万程教育 第一章C语言基础知识 7 下列选项中合法的C语言关键字是 A VARB cherC integerD default8 下列选项中合法的C语言关键字是 A swicthB cherC CaseD default 正确答案 D关键字必须是小写字母 注意非法关键字 万程教育 第一章C语言基础知识 9 以下选项中合法的用户标识符是 A longB 2testC 3DmaxD A bat10 以下选项不能被定义为用户标识符是 A scanfB VoidC 3com D int 正确答案 BDC语言规定标识符只能由字母 数字和下划线三种字符构成 并且第一个字符必须是字母或下划线 不能使用关键字 Scanf是预定义标识符 可以作为用户标识符 万程教育 第一章C语言基础知识 C语言中的关键字 万程教育 基本数据类型 运算符和表达式 常量和变量程序的主要任务是处理数据 输入输出和加工 数据在程序中有两种表征形式 变量和常量 常量 表示数据的值 常量仅仅代表某个值 它的值不能被改变 变量 表示数据的值 而且还占用内存单元 具有自己的名字 它的值可以改变 C语言区分两种常量 值常量和符号常量 12 3 5等都是值常量 符号常量是一种具有名字的常量 需要单独定义 它的定义格式 defineNUM30有了上行 NUM就代表30 但30在这里有个名字叫NUM 在C语言程序中 值常量可以直接使用 符号常量和变量必须先定再使用 定义了一个变量 程序就为这个变量分配 安排 了一个大合适的内存单元 注意 符号常量名最好用大写字母并且有明确含义 define命令没有分号 万程教育 基本数据类型 运算符和表达式 整型数据1 整型常量的表示方法常量的表示方法是指常量数值的表示形式 C语言中提供了3种表示整数常量的方法 1 10进制整数 比如 10 23 89 2 8进制整数 C语言规定 以数字0开头的数是8进制数 比如 017实际上是 17 8 相当于10进制数的15 011相当于10进制数 9 3 16进制整数 C语言规定 以0 x或0X开头的数是16进制数 比如 0 x18实际上是 18 16 相当于10进制数的24 有了上面3种整数表示方法 我们可以这样定义整数的符号常量 defineNUM130 defineNUM2026 defineNUM30 x1a其中常量NUM1的值是30 常量NUM2的值是22 常量NUM3的值是26 注意 019是错误的整数常量 因为9不能作为8进制数的数位值 万程教育 基本数据类型 运算符和表达式 2 整型变量的定义定义格式 int变量名 必须用分号结尾 有空格必须是合法标识符例如 inta 如果想一次定义多个整型变量 可以这样 inta b c 变量间用逗号分隔上面一行定义等价于下面3行 但形式却简洁一些 inta intb intc 万程教育 基本数据类型 运算符和表达式 2 整型变量的定义当程序员定义了一个变量时 计算机会为这个变量分配一个大小合适内存单元 因此 这个变量是有值的 它的值就是对应的内存单元的值 但这个值却是程序员无法预知的 如果要确保变量在定义时就具有某个特定值 那么就需要在定义变量时 为变量赋初值 具体方法就是在变量名后面增加 数值 比如 下面定义了3个变量 并为变量b赋初值为21 inta b 21 c 赋初值 万程教育 基本数据类型 运算符和表达式 3 整型变量的分类整型变量的基本类型符是int C语言允许程序员在定义整型变量时 在int前面增加两类修饰符 一类是控制变量是否有符号 包括 signed和unsigned另一类控制整型变量的值域范围 包括short和long 比如 可以这样定义一个整型变量 unsignedlonginta 这样就形成了6类整型变量 万程教育 基本数据类型 运算符和表达式 万程教育 基本数据类型 运算符和表达式 C语言程序中 变量的定义必须放在函数的声明部分 比如 defineSUM25main 下面定义了4个整数变量 inta b 10 unsignedintu 0 xff u的值是255 longL a SUM 这时a的值是25 L 30 这时L的值是30 printf a d n a printf b d n b printf u d n u printf L d n L 万程教育 基本数据类型 运算符和表达式 4 整型常量的分类C语言根据整型常量的值来决定整型常量的类型 具体规则如下 1 如果整型常量的值位于 32768到32767之间 C语言认为它是int型常量 2 如果整型常量的值位于 2147483648到2147483647之间 C语言认为它是long型常量 3 常量无unsigned类型 4 在10进制数表示的常量后面加上字母l或L 则认为是longint型常量 比如 123L 33l 万程教育 基本数据类型 运算符和表达式 实型数据1 实型常量的表示方法实数 realnumber 又称为浮点数 floating pointnumber 因此 实型又称为浮点型 C语言中 实型常量有两种方法表示 1 10进制小数形式 这种实型常量由数字和小数点组成 比如 1 2 33 24 0 0等等 但也可以省去整数部分 只保留小数点和小数部分 比如 24 2等等 但绝对不能没有小数点 2 指数形式 比如 123 4e2表示123 4x102 22E13表示22x1013 用指数形式表示实型常量时要注意 e或E前面必须有数字 后面必须是整数 e3 e5 12e3 5都是错误的指数形式 万程教育 基本数据类型 运算符和表达式 2 实型变量的分类和定义 1 单精度实型 数据类型符是float 这种变量占用4个字节 32位 内存 变量绝对值的取值范围是10 37 1038 例如 floatf 2 14 F 2 双精度实型 数据类型符是double 这种变量占用8个字节 64位 内存 变量绝对值的取值范围是10 307 10308 例如 doublex y 3 长双精度实型 数据类型符是longdouble 这种变量占用16字节 128位 内存 变量绝对值的取值范围是10 4931 104932 例如 longdoublex y 注意 longfloat实际上就是double 因此 没有longfloat类型 以上3种类实型数据类型中 float型精度最低 longdouble型精度最高 所有的实型常量按照double类型处理 万程教育 基本数据类型 运算符和表达式 3 实型数据的精度很多情况下 我们无法用一个2进制数精确表示一个10进制实数 这具体体现在float double和longdouble这3种类型数据中只用有限数位存放小数 存放小数部分的位数越多 数据的精度越高 实型数据的精度决定了实型变量所能表示的有效数字的个数 下表列出了3种实型数据所能精确表示的数字个数 万程教育 基本数据类型 运算符和表达式 字符型数据和字符串常量计算机的基本任务 数学计算 整型和实型数据显示和输入文本 字符型数据 字符型数据就是那些用来表征英文字母 符号 汉字的数据 字符型数据实际上就是整数数据 但它只占用1个字节 8位 的内存单元 虽然字符型数据可以参与算术运算 但计算机通常对它不进行数值式解释 而进行文本式解释 每一个字符都对应着一个值 被称为字符的ASCII码 美国国家标准局为每个字符都规定了固定的数值 详见ASCII码表 万程教育 基本数据类型 运算符和表达式 1 字符型常量和字符串常量的表示方法 1 字符常量有两种表示方法 对于那些可以直接输入的字符 可以用单引号将其括起来表示其常量 例如 A 是代表字母A的字符常量 a 是代表字母a的字符常量 是代表符号 的字符常量 3 是代表数字字符3的常量 对于那些无法直接输入的字符以及某些特殊字符 需要用单引号括起来的转义字符来表示 比如 r n 万程教育 基本数据类型 运算符和表达式 万程教育 基本数据类型 运算符和表达式 1 字符型常量和字符串常量的表示方法 2 字符串常量的表示方法 用单引号括起来的是字符常量 用双引号括起来的被称为字符串常量 字符串实际上是连续存放的一组字符 但最后一个字符的值是0 比如 字符串 HELLO 在内存中是这样存放的 下面列出了一些包含转义字符的字符串常量 ab cD 表示字符串 abcD Say bye 表示字符串 Say bye d borlandc bin 表示字符串 d borlandc bin 万程教育 基本数据类型 运算符和表达式 经典例题详解 1 以下符合C语言语法的实型常量是 A 1 2E0 5B 3 14159EC 5E 3D E152 以下不合法的数值常量是 A 011B 1e1C 8 0e0 5D 0 xabcd 正确答案 CC指数形式表示实型常量时要注意 e或E前面必须有数字 后面必须是整数 万程教育 基本数据类型 运算符和表达式 3 在C语言中 合法的长整型常数是 A 0LB 4962710C 324562 D 16D 正确答案 A长整型常数后需带后缀L或l 不带后缀的常数 即使在长整型表示范围内也不是合法的长整型常数 4 以下选项中不属于C语言的类型是 A signedshortintB unsignedlongintC unsignedintD longshort 正确答案 D 万程教育 基本数据类型 运算符和表达式 数据的简单输出C语言必须调用标准库函数来完成数据的输出任务 库函数的调用格式 函数名 参数列表 要想调用一个库函数 比如printf函数 首先写出函数名后面跟着一对圆括号 如果函数有参数 就将参数写在圆括号中间 如果有多个参数 参数之间用逗号分开 最后在右圆括号后面加上分号 以便构成C语句 比如 用逗号分开 printf variablea d a 函数名参数参数分号 万程教育 基本数据类型 运算符和表达式 数据的简单输出 如果调用printf函数时只提供第一个参数 printf函数就将第一个参数的字符串显示输出 比如 下面一行的执行结果是显示 Howareyou printf Howareyou 如果想调用printf函数在屏幕上显示 variableais326 其中 326是程序中int型变量a的值 那么 就必须这样调用printf函数 printf variableais d a 其中 variableais会原样输出 d的位置上会显示a的值 实际上 d是一种格式控制字符 它不能原样显示 在它的位置上会显示第二个参数的值 万程教育 基本数据类型 运算符和表达式 数据的简单输出函数printf在显示不同类型数据的值时使用不同的格式控制字符 显示int型数据使用 d 显示unsignedint型数据使用 u 显示float型数据使用 f 显示char型数据使用 c 显示字符串数据使用 s 万程教育 基本数据类型 运算符和表达式 C语言的运算能力体现在提供了大量的运算符 这些运算符按照需要的操作数的个数分为 三目运算符 双目运算符和单目运算符 1 赋值运算符和赋值表达式赋值运算符 运算符的作用 设置变量的值 实际上是将特定的值写到变量所对应的内存单元中 运算符目数 双目运算符a b 待赋值的变量要赋的值 可以是常量 变量或表达式 用 连接起来的式子称为赋值表达式 赋值表达式的值就是 右边表达式的值 赋值表达式加上分号就构成了赋值语句 表示赋值 不是代数中的相等的意思 赋值表达式a b只是表示将b的值赋给a 并不说明a的值永远和b相等 万程教育 基本数据类型 运算符和表达式 1 赋值运算符和赋值表达式C语言允许在一个表达式中对多个变量连续赋值 例如 a b c 22 连续赋值的表达式的运算顺序是从右向左 又称为右结合性 因为 右边的表达式未求值之前 无法对 左边的变量赋值 注意 左边不能是表达式 因为表达式不对应内存单元 下面的赋值表达式是非法的 3 a 22a b 2 10 万程教育 基本数据类型 运算符和表达式 2 算术运算符和算术表达式C语言提供的算术运算符包括 加 减 乘 除 和取余 这些运算赋是双目运算符 利用算术运算符连接起来的式子称为算术表达式 运算符既可用于整型数据的算术运算 又可用于实型数据的算术运算 但 只能用于整数 注意 当算数运算符两边的操作数是相同数据类型的表达式时 运算的结果将保持原来的数据类型 因此 5 2的值是2 不是2 5 因为表达式5 2是整型表达式 不能用于float型数据 2 5 2是非法表达式 和 比 优先级高 同优先级 同优先级算术运算符具有左结合性与赋值运算符和类型强制转换运算符相比 算术运算符的优先级比赋值运算符高 但比类型强制转换运算符低 万程教育 基本数据类型 运算符和表达式 不同优先级运算符连用时 先处理优先级高的 同级运算符具有相同的结合性 连用时 按照结合性的顺序计算 例如 表达式3 5 2 3 2的求解过程是 先计算5 2 值为10 再计算3 2 值为1 然后计算3 10值为13 最后计算13 1 值为12 如果表达式这样书写 3 5 2 3 2 那么表达式的值将是15 又如 执行下面的语句后 a的值是7 inta a int 2 5 2 3 万程教育 基本数据类型 运算符和表达式 3 自增自减运算符和负号运算符C语言中 减号 既是一个算术运算符 又是一个负号运算符 负号运算符是一个单目运算符 例如 a 23 那么 a的值就是 23 负号运算符的优先级比较高 与强制类型转换运算符是同一个优先级 C语言还提供了另外2个用于算术运算的单目运算符 和 的作用是使变量自己增1 而 的作用是使变量自己减1 的优先级与负号运算符的优先级相同 但 和 有个特点 就是它们既可以位于变量名的左边 又可以位于变量名的右边 但结果却不一样 例如 已知a 20 表达式b a的值是21 而b a 的值却是20 表达式b a的值是19 而b a 的值却是20 这是因为 位于a左边时 要先将a自增1后 再计算表达式的值 就是a的值 而当 位于a的右边时 要先计算表达式的值 就是a的值 再将变量自增1 运算符也是一样 万程教育 基本数据类型 运算符和表达式 4 强制类型转换运算符强制类型转换运算符的一般形式如下 类型声明符 表达式 其功能是将表达式的运算结果强制转换为类型声明符所表示的类型 例如 int 3 5 结果为 3强制类型转换运算符的优先级和自增 自减 结合性是自右向左 万程教育 基本数据类型 运算符和表达式 6 条件运算符和条件表达式条件表达式的一般形式如下 表达式1 表达式2 表达式3首先计算表达式1 如果非0 真 则计算表达式2 表达式2的值作为条件表达式的值 如果表达式1的值为0 假 则计算表达式3的值 表达式3的值作为条件表达式的值 例如 计算x y x y z y z 的值假设x 1 y 2 z 3表达式的值为 3 万程教育 基本数据类型 运算符和表达式 4 逗号运算符和逗号表达式一种特殊的运算符 逗号运算符 逗号运算符可以将两个表达式连接起来 用逗号连接起来的表达式称为逗号表达式 逗号表达式的一般形式是 表达式1 表达式2 表达式k比如 a 3 b 3 b 逗号运算符的优先级是最低的 并且具有左结合性 逗号表达式的求值顺序是 从左向右依次计算用逗号分隔的各表达式的值 最后一个表达式的值就是整个逗号表达式的值 比如 逗号表达式3 5 6 7的值是13 又如 表达式a 3 b a 3 b 的表达式的值是6表达式a 3 b a 3 b的表达式的值是7 万程教育 万程教育 经典试题 1 以下选项中 与k n 完全等价的表达式是 A k n n n 1B n n 1 k nC k nD k n 12 设有intx 11 则表达式 x 1 3 的值是 A 3B 4C 11D 123 有以下定义语句doublea b intw longc 若各变量已正确赋值 则下列选项中正确的表达式是 A a a b b B w int a b C c w int aD w a b 正确答案 AAC 万程教育 经典试题 4 变量a是int型 并执行了语句a A 1 6 则正确的叙述是A a的值是字符cB 不允许字符型和浮点型相加C a的值是浮点型D a的值是 A 的ACSII值加上1 正确答案 D字符型数据在内存中存放的是该字符的ACSI

温馨提示

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

评论

0/150

提交评论