




已阅读5页,还剩54页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言辅导班课表 08年9月 通过NCRE四大法宝及五要求 1 学习计划2 熟悉大纲3 上机练习4 模拟训练 要求 1 准备吃苦拼命 不足一个月 2 不要旷课 认真听课 及时完成课后作业3 力争做完上机100套 不要打游戏 4 考前2周强化公共基础记忆 5 做2 4套模拟题 笔试 法宝 专题之一C程序设计的基本概念 西南石油大学计算机科学学院主讲 张耀文 本章内容 1 1程序设计1 2C程序结构和格式1 3常量和变量1 4算术表达式1 5赋值表达式1 6自加 自减运算符和逗号运算 考点考核说明 考点1程序设计 源程序 高级语言编写的程序称为 源程序 目标程序 由二进制代码表示的程序称为 目标程序 编译程序 是指可以把源程序转换成目标程序的软件 C源程序文件的后缀名为 c C目标文件 obj C可执行文件 exe 1 C程序 算法是指为解决某个特定问题而采取的确定且有限的步骤 一个算法应当具有以下5个特性 2 算法的5个特性 1 有穷性 2 确定性 3 可行性 4 有0个或多个输入 5 有一个或多个输出 程序的三种基本结构顺序结构 选择结构 循环结构已经证明 任何程序均可只用这三种结构实现只用这三种结构的程序 叫结构化程序程序 必须 符合结构化规则 3 结构化程序和 模块化 设计 结构化程序设计的核心思想 采用 自顶向下 逐步求精 和模块化的方法进行结构化程序设计 历年真题分析 真题1 下列叙述中错误的是 2006 4 A C语言源程序经编译后生成后缀为 obj的目标程序B C程序经过编译 连接步骤之后才能形成一个真正可执行的二进制机器指令文件C 用C语言编写的程序称为源程序 它以ASC 码形式存放在一个文本文件中D C语言中的每条可执行语句最终都将被转换成二进制的机器指令真题2 下列叙述中错误的是 2006 4 A 算法正确的程序最终一定会结束B 算法正确的程序可以有零个输出C 算法正确的程序可以有零个输入D 算法正确的程序对于相同的输入一定有相同的结果 考点2C程序的结构和格式 任何一个有效的程序都有且只能有一个main 函数 main函数具有以下3个特点 1 C语言规定必须用main作为主函数名 其后的一对圆括号中间可以是空的 但不能省略 2 程序中main 是主函数的起始行 也是C程序执行的起始行 每一个程序都必须有一个且只能有一个主函数 3 一个C程序总是从主函数开始执行 到main函数体执行完后结束 而不论main函数在整个程序中的位置如何 1 main函数 先看一个简单的C程序例子 include 函数功能 计算两个整数相加之和 intAdd inta intb return a b 主函数 main intx y sum 0 printf Inputtwointegers scanf d d 输出x和y相加之和 在一个C程序中放在符号 和 之间的内容 称为对程序的注释 注释是对程序的说明 编写注释时应遵循以下5条规则 1 符号 和 必须成对出现 和 两者之间不可以有空格 2 注释可以用英文 中文 可以出现在程序中任意合适的地方 3 在注释之间不可以再嵌套 和 例如 形式是非法的 4 注释从 开始到最近的一个 结束 期间的任何内容都被编译程序忽略 换句话说 注释只是为了更好地看懂程序而做的标记 不对程序产生任何影响 5 在VC环境也可以采用 注释 但只能注释一行 2 程序中的注释 3 源程序的书写格式C程序书写格式自由 但是每个语句和数据定义的最后必须由一个分号 结束 分号是C语句的一部分 不是语句之间的分隔符 4 C语言的风格 5 标识符 所谓标识符就是C语言中的变量名 函数名 数组名 文件名 类型名等 C语言合法标识符的命名规则是 1 标识符由字母 数字和下划线组成 2 第一个字符必须为字母或下划线 3 大写字母与小写字母被认为是两个不同的字符 4 C语言规定了一个标识符允许的字符个数 即标识符的前若干个字符有效 超过的字符将不被识别 建议不要超过8个字符 C语言标识符可分为3类 1 关键字C语言预先规定了一批标识符 它们在程序中都代表着固定的含义 不能另作他用 这些字符称为关键字 例如 int double if else while for等 2 预定义标识符即预先定义并具有特定含义的标识符 3 用户标识符由用户根据需要定义的标识符称为用户标识符 又称自定义标识符 一般用来给变量 函数 数组等命名 C语言关键字 由ANSI标准定义的共32个 autodoubleintstructbreakelselongswitchcaseenumregistertypedefcharexternreturnunionconstfloatshortunsignedcontinueforsignedvoiddefaultgotosizeofvolatiledoifwhilestaticTurboC2 0扩展的共11个asm cs ds es sscdeclfarnearhugeinterruptpascal 预定义标识符 标准库函数数学函数 sqrt fabs sin cos pow等输入输出函数 scanf printf gets puts等编译预处理命令define endef include ifdef endif line if else等 C语言中 库函数名和头文件中所定义的一些标识符都统称为预定义标识符 用户定义标识符时 应注意避免和预定义标识符重名 否则原预定义标识符就失去了原有的作用 以下不能用作用户标识符的是 A 26B caseC scanfD Double 注意 合法的用户标识符可以由字母 数字和下划线组成 其中关键字不能作为用户的标识符 且开头的第一个字符必须为字母或下划线 用户定义的标识符最好不要与预定义符号相同关键字不能作为用户标识符 答案 B 历年真题 真题7 下列叙述中正确的是 2007 9 A C语言程序将从源程序中第一个函数开始执行B 可以在程序中由用户指定任意一个函数作为主函数 程序将从此开始执行C C语言规定必须用main作为主函数名 程序将从此开始执行 在此结束D main可作为用户标识符 用以命名任意一个函数作为主函数真题8 以下叙述中正确的是 2008 4 A C程序中的注释只能出现在程序的开始位置和语句的后面 B C程序书写格式严格 要求一行内只能写一个语句C C程序书写格式自由 一个语句可以写在多行上D 用C语言编写的程序只能放在一个程序文件中 历年真题 真题5 按照C语言规定的用户标识符命名规则 不能出现在标识符中的是 2007 4 A 大写字母B 连字符C 数字字符D 下划线真题6 对于一个正常运行的C程序 下列叙述中正确的是 2007 4 A 程序的执行总是从main函数开始 在main函数结束B 程序的执行总是从程序的第一个函数开始 在main函数结束C 程序的执行总是从main函数开始 在程序的最后一个函数中结束D 程序的执行总是从程序中的第一个函数开始 在程序的最后一个函数中结束 历年真题 真题3 下列不合法的用户标识符是 2006 4 A j2 KEYB DoubleC 4dD 8 真题4 下列定义变量的语句中错误的是 2006 9 A int int B doubleint C charFor D floatUS 真题4 可在C程序中用作用户标识符的一组是 2007 9 A andB Date 2007y m dC HiD caseDr TomBigl 考点3常量和变量 1 下面不能作为C语言常量的是 05年9月第12题 A 0 xA5 B 2 5e 2 C 3487 D 05832 与十进制数200等值的十六进制数为 04年9月第1题A A8B A4C C8D C43不能作为合法常量的是 05年4月第15题A 1 234e04B 1 234e0 4C 1 234e 4D 1 234e04以下四组常量中均为合法的一组是 A 1B 986 012C e3D 01x12 1608 E50778017770 5e3 50 xgf0 xffef0 00 35x102OXabc 先看下面的例子 注意 数值型常量各数值之间不能有其他字符如空格和逗号等八进制数是以数字 0 开始的整型常量 十六进制是以 0 x 或者 0X 开始的整型常量指数形式表示的数 e或E之前必须有数字 之后必须是整数 如3 5e6或 3e 2 答案 1 D2 C3 B4 A 常量 Constant 整型常量18 31长整型常量123l 123L 123456l 123456L无符号型常量123u 123U浮点常量十进制小数形式123 45 456 78指数形式1e 2 4 5e3单精度实型常量123 45f 456 78F 1e 2f 4 5e3F长双精度型常量123 45l 456 78L 1e 2l 4 5e3L 八进制与十六进制常量 进制转换 以数字 0 开始的整型常量是八进制数022 037010和10大小不一样因为八进制并不常用 所以此种表示法比较少见以 0 x 或者 0X 开始的整型常量是十六进制A F和a f用来表示十进制的10 15十六进制的形式比较常用 尤其在进行位一级的控制的时候0 x12 0 x1F 0 x1f 字符 Character 常量 字符常量的表示方法 a A 5 单引号内只能有一个字符 除非用 开头就是一个普通整数 也可以参与各种数学运算每个字符具有一个0 255之间的数值 可从ASCII表查出注意 5 和整数5的区别字符的数学运算在密码学内用得比较多 字符常量 转义字符一些特殊字符 无法从键盘输入或者另有它用 用转义字符表示 字符串 String 常量 用双引号括住的由0个或多个字符组成的字符序列 Iamastring 表示空字符串转义字符也可以在字符串中使用引号只作为字符串开始和结束的标志C语言内部用 0 表示字符串的结束除注释外 是唯一可以出现中文的地方 x 和 x 是不同的里定义了一系列专门的字符串处理函数 枚举 Enumeration 常量 一个被遗忘的角色从程序来窥其一斑enumweeks MON TUE WED THU FRI SAT SUN enumweekstoday enumresponse no yes none enumresponseanswer today TUE answer yes if answer yes printf TodayisTuesday n elseprintf TodayisNOTTuesday n 宏常量 宏常量也称符号常量一般采用大写字母表示 define标识符字符串不是语句 而是一种编译预处理命令宏替换 MacroSubstitulition include definePI3 14159 defineR5 3main printf area f n PI R R printf circumference f n 2 PI R 2007年10月省级考试第21小题 以下程序的输出结果是 include definef x x x voidmain inti1 i2 i1 f 8 f 4 i2 f 4 4 f 2 2 printf d d n i1 i2 以下程序的输出结果是 include definef x x xvoidmain inti1 i2 i1 f 8 f 4 i2 f 4 4 f 2 2 printf d d n i1 i2 A 64 28B 4 4C 4 3D 64 64 2007年10月省级考试第40小题 3分 以下程序的输出结果是 include defineFUN x y x y y xvoidmain intx 5 y 10 z z 10 FUN x y x y printf d n z A 100B 150C 15D 60 const常量 用const修饰定义的变量为常量constfloatpi 3 1425926 常量只能在定义时赋值 然后不能再改变其值常量 const常量 宏常量和枚举常量 都可以用来表示一个永远不会改变的数前者不建议直接使用 而用后三者代替 变量 变量的定义其值可以改变的量称为变量 一个变量应该有一个名字 在内存中占据一定的存储单元 在该存储单元中存放变量的值 请注意区分变量名和变量值这两个不同的概念 见图 变量的赋值 初始化 在c语言中 要求对所有用到的变量作强制定义 也就是 先定义 后使用 inta b z a b inta b a 3 b 6 历年真题 真题1 下列不合法的数值常量是 2006 4 A 011B lelC 8 0E0 5D 0 xabcd真题2 有下列程序 Main inta 0 b 0 a 10 给a赋值b 20 给b赋值 printf a b d n a b 输出计算结果 程序运行后的输出结果是 2006 9 A a b 10B a b 30C 30D 出错 真题3 有下列程序 其中 u表示按无符号整数输出 main unsignedintx 0 xFFFF x的初值为十六进制数 printf u n x 程序运行后的输出结果是 2007 4 A 1B 65535C 32767D 0 xFFFF真题5 下列选项中 合法的一组C语言数值常量是 2007 9 A 028B 12 C 177D 0 x8A 5e 30 xa234el 510 000 0 xf4 5e00abc3 e5 真题6 下列关于long int和short类型数据占用内存大小的叙述正确的是 2007 9 A 均占4个字节B 根据数据的大小来决定所占内存的字节数C 由用户自己定义D 由C语言编译系统决定真题7 设变量已正确定义并赋值 以下正确的表达是 2008 4 A x y 5 x zB int 15 8 5 C x y z 5 yD x 25 5 0 考点4算术表达式 加 减 乘 除运算四则混合运算中 先算乘除 后算加减 按从左向右的顺序计算 左结合 求余运算 常用的标准数学函数 算术运算需要注意地方 1 两个整数相除的结果为整数 如5 3的结果值为1 舍去小数部分 2 除数 被除数有一个为负数 一般采用 向零取整 3 参与 运算的两个数中有一个数为实数 则结果是double型 4 求模运算 结果的符号由被除数决定 5 如 运算符要求其两侧均为整型量 若x为float型 则 x 3 不合法 必须用 int x 3 强制类型转换运算优先于 运算 算术表达式 用算术运算符和一对圆括号将运算数 或称操作数 连接起来的 符合C语言规则的表达式称为算术表达式 算术表达式的返算规则和要求如下 在算术表达式中 使用多层圆括号 但左右括号必须配对 运算时从内层圆括号开始 由内向外依次计算 在算术表达式中 若包含不同优先级的运算符 则按运算符的优先级由高到低进行 若表达式中运算符的级别相同 则按运算符的结合方向进行 历年真题 真题1 下列不能正确计算代数式1 3sin2 1 2 值的C语言表达式是 2005 9 A 1 3 sm 1 2 sin l 2 B sln 0 5 sin 0 5 3C pow sin o 5 2 3D 1 3 0 pow sin 1 0 2 2 真题2 设有定义 intk l m 2 f1oatf 7 则下列选项中错误的表达式是 2005 9 A k k kB k C k int f D k f m 历年真题 真题8 下列选项中 值为1的表达式是 2006 9 A 1 0 B 1 0 C 1 0D 0 0 真题9 设有定义 f1oatx 123 4567 则执行下列语句后的输出结果是 2006 9 printf f n int x 10 0 5 100 0 真题10 下列选项中 当x为大于l的奇数时 值为0的表达式是 2007 4 A x 2 1B x 2C x 2 0D x 2 0 考点5赋值表达式 1 赋值运算符有 赋值 自反加赋值 自反减赋值 自反乘赋值 自反除赋值 自反模赋值 类似的还有如 注意其结合方向为自右向左 例 c b a 3按自右向左原则 相当于下面三步 a 3 b b a 3 c b 举例 例3 inta 12 问 a a a a之后 a的值是多少 例 main inti 5 i i i 6 printf d n i 结果是什么 例4 设i j初值分别为3和4 则执行j i 1 后i j的值为多少 i 2 j 6 例5 若x 7 则x x x x的值是多少 解法 从右到左 先做x x x x 7 再做x x x 14 思考题 若题中各变量已正确定义并赋值 下面符合C语法的表达式是 A a 7 6 B a a 7 b cC Int 12 3 4D a c b a 7 答案 B 2 赋值中的类型转换 1 实型数赋给整型变量 舍弃小数部分2 整型数赋给实型变量 数值不变 3 字符型 整型与无符号类型的赋值 如下 内存字节数相同的 原样赋值内存字节数不同的 4 字符型 整型与有符号类型的赋值 如下 历年真题 真题1 下列叙述中错误的是 2005 9 A C语句必须以分号结束B 复合语句在语法上被看作一条语句C 空语句出现在任何位置都不会影响程序返行D 赋值表达式末尾加分号就构成赋值语句真题2 下列能正确定义且赋初值的语句是 2005 9 A intnl n2 10 B charc 32 C floatf f 1 1D doublex 12 3E2 5 历年真题 真题3 若变量x y已正确定义并赋值 下列符合C语言语法的表达式是 2006 9 A x y x B x 1 yC x x 10 x yD double x 10真题4 若变量均己正确定义并赋值 下列合法的C语言赋值语句是 2007 9 A x y 5 B x n 2 5 C x n i D x 5 4 1 真题5 以下定义语句中正确的是 2008 4 A inta b 0 B charA 65 1 b b C f1oata 1 b b 1 1 考点6自加 自减运算符和逗号运算 n n n n 让参与运算的变量加1 让参与运算的变量减1作为后缀运算符时 先取n的值 然后加 减1作为前缀运算符时 先加 减1 然后取n的值m n 等价于m n n m n 等价于n m n 自加 自减运算 又如 i 3 printf d i 则输出 4 若改为printf d i 则输出 3 注意 1 自增运算符 和自减运算符 只能用于变量 而不能用于常量或表达式 a b 能否实现 无变量可供存放 2 和 的结合方向是 自右至左 如果有 i 负号运算符和 运算符同优先级 而结合方向为 自右至左 右结合性 即它相当于 i 如果有printf d i 则先取出i的值3 输出 i的值 3 然后i增值为4 3 和 优先级别高于算术运算符 4 自增 减 运算符常用于循环语句中 使循环变量自动加1 也用于指针变量 使指针指向下一个地址 这些将在以后的章节中介绍 1自动类型转换 整型 实型 字符型数据间可以混合运算不同类型的数据要先转换成同一类型 然后才进行运算 数据类型转换 转换的规则 1 图中横向向左的箭头表示必定的转换2 图中纵向的箭头表示当运算对象为不同类型时转换的方向 2强制类型转换 1必须把类型名放在一对括号内才能构成强制类型转换符 2若要把表达式的值进行强制转换 必须把整个表达式放在一对括号内 3强制类型转换符应出现在运算对象左边 4强制转换类型得到的是一个所需类型的中间量 原表达式类型并不发生变化 注意事项 例如 double a 将a转换成double型 int x y 将x y转换成int型 float 5 2 将5转换成实型 除以2 2 5 逗号表达式 C语言中逗号可作分隔符使用 将若干变量隔开如inta b c 又可作运算符使用 将若干独立的表达式隔开 并依次计算各表达式的值 其一般形式表达式1 表达式2 表达式n逗号表达式的求解过程 先求表达式1的值 再求表达式2的值 最后求表达式n的值 整个逗号表达式的值是最后一个表达式n的值 在C语言所有运算符
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学前教育机构师资队伍建设与管理中的家庭教育协同研究报告
- 安全师年试题及答案
- 安全规程教育试题及答案
- 零售业数字化供应链协同与供应链协同平台建设实践报告
- 中国区域划分及省份课件
- 法治安全教育主题班会
- 公文管理课件
- 中国八大景点课件
- 护理职业生涯规划
- 防疫培训系列课件下载
- 大棚钢结构工程施工方案
- 村卫生室工作分工协议书范文
- 数学史简介课件可编辑全文
- 研学旅行市场营销智慧树知到答案2024年青岛酒店管理职业技术学院
- 金川公司社会招聘试题
- 起重吊车吊装施工方案
- 12G614-1 砌体填充墙结构构造
- 广东省汕头市金平区2024年统编版小升初考试语文试卷(解析版)
- DL∕T 1474-2021 交、直流系统用高压聚合物绝缘子憎水性测量及评估方法
- 劳动合同中止执行协议
- 福建省初中历史八年级期末下册通关试卷详细答案和解析
评论
0/150
提交评论