普通高等教育 十二五 重点规划教材 C 语言程序设计习题集 刘立君主 编 王立武朱姬凤王锦 副主编 北 京

Size: px
Start display at page:

Download "普通高等教育 十二五 重点规划教材 C 语言程序设计习题集 刘立君主 编 王立武朱姬凤王锦 副主编 北 京"

Transcription

1 社 心 版 中 出 版 学 科 术出 k.cn 技 boo 教.a 职 ww w

2 普通高等教育 十二五 重点规划教材 C 语言程序设计习题集 刘立君主 编 王立武朱姬凤王锦 副主编 北 京

3 ii C 语言程序设计习题集 内容简介 本书是为学习 C 语言程序设计的读者提供的参考书, 书中精心设计的例题和习题对读者深入掌握 C 语言极有参考价值 全书共分为 13 章, 书中的试题基本覆盖了 C 语言程序设计课程的全部内容, 满足了教育部考试中心制定的最新全国计算机等级考试的 C` 语言程序设计考试大纲中的要求 本书根据 C 语言的主要内容结构, 按章提供了大量的例题和习题, 且每章后附有习题答案 并且在后面提供了 8 套综合试卷和近年的计算机等级考试试卷 题目涉及面广, 题型丰富, 包括了近年来常见的各种考试题型, 覆盖程序设计的常用算法和基本的编程技巧 本书既可以作为高等院校学生学习 C 语言程序设计的习题集, 也可以作为 C 语言程序设计者的学习用书, 还可以作为计算机等级考试 自学考试等模拟测试用书 图书在版编目 (CIP) 数据 C 语言程序设计习题集 / 刘立君主编. 北京 : 科学出版社, 2011 ISBN Ⅰ.1C Ⅱ. 1 刘 Ⅲ. 1C 语言 程序设计 习题 Ⅳ. 1TP 中国版本图书馆 CIP 数据核字 (2011) 第 号 责任编辑 : 赵丽欣宋丽 / 责任校对 : 马英菊责任印制 : 吕春珉 / 封面设计 : 子时文化 印刷 科学出版社发行各地新华书店经销 * 2011 年 2 月第一版 开本 : / 年 2 月第一次印刷 印张 :18 3/4 印数 : 字数 : 定价 :29.80 元 ( 如有印装质量问题, 我社负责调换 ) 销售部电话 编辑部电话 版权所有, 侵权必究举报电话 : ; ; 科学出版社职教技术出版中心

4 前 言 C 语言是一种结构化程序设计语言, 也是一门通用的编程语言, 不仅是各大专院校计算机专业的必修课程, 也是理工科非计算机专业的必修课程 在全国各类计算机考试中, 几乎无一例外地包括了 C 语言的考试 全书共分 13 章 其中第 1 章至第 11 章是按照 C 语言的内容结构编排的, 依次为 C 语言概述, 数据类型 运算符与表达式, 顺序结构程序设计, 选择结构程序设计, 循环结构程序设计, 数组, 函数, 编译预处理, 指针, 结构体和共用体和文件 该部分内容循序渐进 由浅入深, 所选题目涉及面广 书中对于 C 语言各个知识点, 都附有相应的典型例题及大量习题, 涵盖了近年来各种等级 ( 水平 ) 考试中常见的各种题型 这些试题基本覆盖了 C 语言程序设计课程的全部内容, 并能满足教育部考试中心 C 语言考试大纲的要求 读者可以通过书中多种类型例题的解析, 掌握程序中的算法关键点和难点, 逐步熟悉并掌握 C 语言程序设计的方法和技巧 第 12 章为 C 语言综合试卷, 本章附有 8 套综合试卷, 这些试卷包含了 C 语言各部分的内容, 通过练习这些综合试卷, 读者可以对 C 语言全部内容进行总复习, 进一步检查对 C 语言的掌握程度 第 13 章为全国计算机二级 C 语言笔试试题, 提供了近两年全国计算机二级 C 语言试题, 有助于学生进行考前复习测试 最后本书在附录中提供了全国计算机等级考试二级 C 语言考试大纲和全国计算机等级考试二级公共基础知识考试大纲, 帮助学生通过全国计算机等级考试 本书是作者在总结了多年教学实践的基础上精心编写出来的, 书中内容涉及面广, 同时又融入了程序设计的理论并具有很强的代表性 通过对本书的学习, 读者能拓宽编程思路 本书既可作为各类大专院校相关专业 C 语言程序设计课程的教学辅导用书, 也可作为计算机等级考试和考研参考书, 还可作为计算机应用人员和计算机爱好者的自学教材 本书由刘立君任主编, 王立武 朱姬凤 王锦任副主编 刘立君编写了第 1 章 第 2 章 第 3 章 第 4 章 第 8 章 第 13 章及附录, 朱姬凤编写了第 5 章 第 6 章 第 9 章, 王锦编写了第 7 章 第 10 章 第 11 章, 王立武编写了第 12 章, 全书最后由刘立君统稿 定稿 编写者均为长期从事大学 C 语言课程教学的专任教师, 基础理论扎实, 教学经验丰富, 实践能力强, 从而保证了本书的质量 由于时间仓促及作者水平有限, 书中疏漏之处在所难免, 欢迎广大读者批评指正

5 目 录 第 1 章 C 语言概述 例题分析 习题及参考答案 2 第 2 章数据类型 运算符与表达式 例题分析 习题及参考答案 12 第 3 章顺序结构程序设计 例题分析 习题及参考答案 21 第 4 章选择结构程序设计 例题分析 习题及参考答案 29 第 5 章循环结构程序设计 例题分析 习题及参考答案 52 第 6 章数组 例题分析 习题及参考答案 90 第 7 章函数 例题分析 习题及参考答案 114 第 8 章编译预处理 129 科学出版社职教技术出版中心 例题分析 习题及参考答案 130 第 9 章指针 例题分析 习题及参考答案 147 第 10 章结构体和共用体 例题分析 习题及参考答案 172 第 11 章文件 例题分析 习题及参考答案 178

6 iv C 语言程序设计习题集 第 12 章 C 语言综合试卷 C 语言试卷 C 语言试卷参考答案 241 第 13 章全国计算机二级 C 语言笔试试题 C 语言笔试试题 C 语言笔试试题答案 287 附录 290 附录 1 全国计算机等级考试二级 C 语言考试大纲 290 附录 2 全国计算机等级考试二级公共基础知识考试大纲 292 参考文献 294

7 第 1 章 C 语言概述 1.1 例题分析 例 1 一个 C 语言程序是由 ( ) A. 一个主程序和若干子程序组成 B. 函数构成 C. 若干过程构成 D. 若干子程序构成 答案 :B 解析 : 一个 C 语言源程序文件是由一个或若干个函数组成的 例 2 一个 C 程序中 ( ) A.main( ) 函数可以在任何地方出现 B.main( ) 函数必须出现在固定位置 C.main( ) 函数必须出现在所有函数之前 D.main( ) 函数必须出现在所有函数之后 答案 :A 解析 :C 程序中有且只有一个主函数 main( ), 主函数由系统提供 main( ) 函数在程 序中所处的位置并不是固定的 例 3 一个 C 程序的执行是从 ( ) A. 本程序的 main( ) 函数开始, 到本程序的 main( ) 函数结束 B. 本程序的第一个函数开始, 到本程序的最后一个函数结束 C. 本程序的 main( ) 函数开始, 到本程序的最后一个函数结束 D. 本程序的第一个函数开始, 到本程序的 main( ) 函数结束 答案 :A 解析 : 任何 C 程序都是从主函数 main( ) 开始执行, 调用其他函数后, 回到 main( ) 函数, 在 main( ) 函数中结束程序运行 例 4 以下叙述正确的是 ( ) A. 可以在函数中定义另一个函数 B. 构成 C 程序的基本单位是函数 C.main( ) 函数必须放在其他函数之间 D. 所有被调用的函数一定要在调用之前定义 答案 :B 例 5 C 语言程序的注释可以出现在程序中的 ( ) A. 任何地方 科学出版社职教技术出版中心

8 2 C 语言程序设计习题集 B. 开始处 C. 结束处 D.main( ) 函数中答案 :A 解析 :C 程序的注释可以出现在程序基本单词之间的任何地方,C 语言程序的注释以 /* 作为开始标记, 并以 */ 作为结束标记 例 6 执行一个 C 程序的正确步骤是 ( ) A. 直接运行源程序 B. 源程序编译后即可运行 C. 先编译源程序, 生成.obj 文件 ; 再连接.obj 文件, 生成.exe 可执行文件, 然后运行 D. 源程序连接后即可运行答案 :C 解析 : 一个 C 语言程序从编写到最后得到运行结果要经历编辑 编译 连接和运行等步骤 C 语言程序的上机步骤如下 1 编辑 : 输入用 C 语言编写的源程序, 并以.cpp 作为扩展名存盘 2 编译 : 将以.cpp 为扩展名的源程序编译成以.obj 为扩展名的目标文件 3 连接 : 将以.obj 为扩展名的目标文件连接成以.exe 为扩展名的可执行文件 4 运行 : 运行产生的以.exe 为扩展名的可执行文件 1.2 习题及参考答案 习题 单项选择题 1. 一个 C 语言的源程序是由 ( ) A. 函数组成, 有且只有一个主函数 B. 若干过程组成 C. 一个主程序和若干子程序组成 D. 若干子程序组成 2. 一个 C 语言程序的基本单位是 ( ) A. 函数 B. 子程序 C. 过程 D. 命令 3. 在 C 程序中, 注释部分以符号 /* 开始, 结束的符号是 ( ) A.// B.*/ C. D. ) 4. 下列叙述中正确的是 ( ) A.C 语言编译时不检查语法 B.C 语言的子程序有过程和函数两种 C.C 语言的函数可以嵌套定义 D.C 语言的函数可以嵌套调用 5. 用 C 语言编写的 C 程序称为 ( ) A. 源程序 B. 目标程序 C. 汇编程序 D. 命令程序 6. 一个 C 语言的语句必须使用的结束符号是 ( ) A., B. C.: D.;

9 第 1 章 C 语言概述 3 7.C 语言的源程序可以在任意文字编辑器上进行编辑, 其默认的扩展名是 ( ) A..exe B..cpp C..obj D..doc 8. 一个 C 语言程序开始和结束的位置必然是 ( ) A. 主过程 B. 主函数 C. 子程序 D. 主程序 参考答案 1.A 2.A 3.B 4.D 5.A 6.D 7.B 8.B 科学出版社职教技术出版中心

10 第 2 章数据类型 运算符与表达式 2.1 例题分析 例 1 以下选项中合法的用户标识符是 ( ) A.int B._3int C.#max D.A.min 答案 :B 解析 :C 语言规定标识符只能由英文字母 数字或下画线 3 种字符组成, 且第一个 字符必须为字母或下画线 例 2 以下 ( ) 不是合法标识符 A.Float B.unsigned C.intege D.Char 答案 :B 解析 :C 语言有 32 个关键字, 每个关键字在 C 程序中都代表某一个特定的含义, 所有关键字都要用小写英文字母表示, 且这些关键字都不允许作为用户标识符使用 B 是关键字, 所以是错误的 例 3 以下选项中, 可以作为 C 语言合法常量的是 ( ) A.'ab' B.'\286' C."a" D. 8.0e 答案 :C 解析 : 本题的知识点是 C 语言常量的合法性 常量分为整型 实型 字符型和字 符串常量四种类型 字符型常量是用一对单引号括起来的一个字符, 所以 'ab' 是错误的 ; '\286' 是以一个 "\" 开头的字符序列, 称为转义字符, 但要求 '\' 后面是八进制数, 所以 '\286' 是错误的 ; 字符串常量是用一对双引号括起来的字符序列, 所以 "a" 是合法的 ; 8.0e 是 常量的指数形式的表示, 但 e 的后面不能为小数形式 也不能没有数, 所以 8.0e 也是 错误的 例 4 下述四项中, 合法的 C 语言整型常量是 ( ) A.087 B.5L C.(long) D.1.23e+2 答案 :B 解析 : 整型常量有三种表示形式 : 以 0 开头的八进制 以 0x 开头的十六进制和十 进制 在一个整型常量后面加一个字母 l 或 L, 则是长整型常量 选项 A 中 087 虽然是 以 0 开头的, 但它不是一个八进制数, 因为一个八进制数的字符在 0~7 之间 选项 B 是一个长整型常量 选项 C 是一个表达式, 不是常量 选项 D 是实型常量 例 5 以下不正确的实型常量是 ( ) A. 2. B.123E 2 C..543 D.2.1E3.5 答案 :D 解析 : 实型常量有十进制小数形式和指数形式两种 十进制小数形式表示中, 小数

11 第 2 章数据类型 运算符与表达式 5 部分或整数部分可以省略, 但不能同时省略 ; 在指数形式表示中, 尾数为十进制整数或 实数, 阶码必须是整数, 并且尾数和阶码都不能省略,'+' 号可以省略,' ' 号不能省略 D 中指数部分不是整数是错误的 例 6 以下不合法的常量是 ( ) A.'\6' B." " C.'\286' D."\286" 答案 :C 解析 : 选项 B 是字符串常量, 是空字符串, 此字符串仅占用一个字节, 用来存放字 符串结束标志 ' \ 0 ' 字符 选项 D 是由字符 '\2' '8' '6' '\0' 组成的字符串常量 选项 A 的 '\6' 是转义字符常量,ASCII 码值为 6 的字符,'\006' '\06' 和 '\6' 都代表同一个字符常量 选项 C 不是字符串常量, 也不是正确的转义字符常量 例 7 字符串常量 "ab\\c\td\376" 的长度是 ( ) A.7 B.12 C.8 D.14 答案 :A 解析 : 在字符串中 "\\" "\t" 和 "\376" 是转义字符, 转义字符是一个字符, 所以字符 串长度是 7 例 8 设有定义 int a=5,b; 执行下列语句后,b 的值不为 2 的是 ( ) A.b=a/2 B.b=a%2 C.b=6 ( a) D.b=2 答案 :B 解析 :C 语言中, 若被除数和除数为整型, 则其商为整型, 小数部分舍去, 所以 a/2 的值为 2;a%2 为求余运算, 值为 1;b=6 ( a) 等价于 (a=a 1,b=6 a),b 的值为 2 例 9 若 int a,b,c; 以下表达式中正确的 C 语言赋值表达式是 ( ) A.a=7+b=c=7 B.a=b++=c=7 C.a=(b=7,c=12) D.a=3,b=a+5,c=b 2 答案 :C 解析 : 赋值表达式中, 赋值运算符的左边必须是变量, 所以 A 和 B 是错误的,D 是逗号表达式, 不是赋值表达式 例 10 已知 ch 是字符型变量, 以下不正确的赋值语句是 ( ) A.ch="a"; B.ch = 'a'; C.ch = '\ 141'; D.ch = ' \ x61'+ 3; 答案 :A 解析 :C 语言中字符型与整型数据之间可以通用, 一个字符型数据可按字符形式和 整数形式两种方式处理 按整型数据处理时, 将字符的 ASCII 码作为整数进行处理, 所 以字符型数据可以进行算术运算 选项 C D 中的 '\141'( 八进制的 ASCII 码 ) 和 '\x61'( 十六进制的 ASCII 码 ) 是转 义字符分别表示字符常量 'a','x61'+3 代表字符常量 'd', 所以选项 B C D 是正确的 选项 A 中的 "a" 是字符串常量, 需要两个字节空间存储, 不能赋值给字符型变量 例 11 以下程序的运行结果是 ( ) #include "stdio.h" int i=4,a; 科学出版社职教技术出版中心

12 6 C 语言程序设计习题集 a=i++; printf("a=%d i=%d",a,i); A.a=4 i=4 B.a=5 i=4 C.a=4 i=5 D.a=5 i=5 答案 :C 解析 :i++ 是后置运算,a=i++ 执行过程是先执行 a=i, 再执行 i=i+1, 所以 a=4,i=5; 若执行 a=++i,++i 是前置运算,a=++i 执行过程是先执行 i=i+1, 再执行 a=i, 结果就不同了 例 12 求关系表达式 3= =5>2!=4 的值 答案 :1 解析 : 关系表达式的运算结果只有两个, 真 或 假 通常用 1 表示结果为 真, 用 0 表示结果为 假 关系表达式的求解过程如下: 1 先进行关系运算 5>2, 结果为 1, 得表达式 3= =1!=5; 2 进行关系运算 3= =1, 结果为 0, 得表达式 0!=5; 3 进行关系运算 0!=5, 结果为 1, 所以整个表达式的结果为 1 例 13 写出以下程序的运行结果 #include "stdio.h" int a=3, b=2, c=1, d; d=(a>b>c); printf("%d\n", d); 答案 :0 解析 :d=(a>b>c) 等价于 d=((a>b)>c), 先运算 a>b, 得表达式 1>c; 运算表达式 1>c, 结果为 0 例 14 求表达式 5>3&&'a' 5<4!0 的值 答案 :1 解析 : 本题知识点是运算符的优先级, 表达式的求解过程如下 : 1 逻辑运算!0 结果为 1, 得表达式 5>3&&'a' 5<4 1; 2 算术运算 4 1 结果为 3, 得表达式 5>3&&'a' 5<3; 3 关系运算 5>3 结果为 1,5<3 结果为 0, 得表达式 1&&'a' 0; 4 逻辑运算 1&&'a' 结果为 1, 得表达式 1 0; 5 逻辑运算 1 0 结果为 1, 所以整个表达式的结果为 1 例 15 写出以下程序的运行结果 #include "stdio.h" int a=1,b=2,c=3,d=4,m=1,n=1; (m=a>b)&& (n=c>d) ; printf("%d %d\n", m,n);

13 第 2 章数据类型 运算符与表达式 7 答案 :0 1 解析 : 计算表达式 a&&b 时, 只有 a 的值为真时才判断 b 的值 ; 若 a 的值为假, 表 达式的值肯定为假, 不必判断 b 的值 所以表达式 (m=a>b)&& (n=c>d) 中 m=a>b 值为假, 不必继续判断,n=c>d 没有被执行, 所以 m=0, n=1 同样计算表达式 a b 时, 只有 a 的 值为假时才判断 b 的值 ; 若 a 的值为真, 表达式的值肯定为真, 不必判断 b 的值 例 16 表达式是 ( ) A.x&&y 设 x,y 和 z 都是 int 型变量, 且 x=3,y=4,z=5, 则下面表达式中, 值为 0 的 C.x ++y&&y z 答案 :D B.x<=y D.!(x<y&&!z 1) 解析 : 该题考查逻辑与 "&&" 和逻辑或 " " 以及逻辑非 "!" 运算符的用法 选项 A 即 3&&4 为真, 选项 B 即 3<=4 为真, 选项 C 是一个逻辑或与逻辑与的混合运算, 只要执 行了逻辑或左半部分, 程序将直接停止执行逻辑或右半部分程序, 因为 x 的值为真, 此 时选项 C 变为 1&& 1 为真 选项 D 不用计算, 括号内逻辑或右边的值为 1, 因而括号 内的值为 1, 再进行逻辑非运算得 0 例 17 为 ( ) 若 x,i,j 和 k 都是 int 型变量, 则计算表达式 x=(i=4,j=16,k=32) 后,x 的值 A.4 B.16 C.32 D.52 答案 :C 解析 : 逗号表达式的要点 : 1 逗号表达式的运算过程是从左往右逐个计算表达式 ; 2 逗号表达式作为一个整体, 它的值为最后一个表达式的值 ; 3 逗号运算符的优先级别在所有运算符中最低 x 的值是逗号表达式最后一项 k=32 的值, 所以 x=32 例 18 逗号表达式 a=3*5,a*4,a+4,a 4,a*2 执行后,a 的值为 ( ) A.15 B.60 C.30 D. 不确定答案 :A 解析 : 逗号表达式的求值过程是从左侧开始顺序求解各个表达式的值, 表达式的值为最后一个表达式的值 a=3*5,a*4,a+4,a 4,a*2 的求值过程是先计算各表达式的值, 得到表达式 a=15,60,19,15,30; 其中 a=15 是赋值语句, 所以 a 的值为 15 注意区别 a 的值和逗号表达式的值 例 19 设有定义 int a=3, 求赋值表达式 a+=a =a*a 的值 答案 : 12 解析 : 根据运算符的优先级和结合方向, 表达式 a+=a =a*a 的求解过程是 : 1 先计算表达式 a =a*a 的值, 相当于 a=a a*a, 由此得 a= 6; 2 计算 a+= 6 的值, 相当于 a=a 6, 由此得 a= 12 例 20 以下程序的输出结果是 ( ) int a=0; 科学出版社职教技术出版中心

14 8 C 语言程序设计习题集 a+=(a=8); printf("%d\n",a); 答案 :16 解析 : 赋值表达式的值就是所赋值变量的值, 本题中 a+=8 相当于 a=a+8, 对表达式逐步进行求解 :a+=(a=8), 此时,a 的值由于赋值为 8, 而不是 0;a+=8;a=a+8; a=16 例 21 若运行时给变量 x 输入 12, 则以下程序的运行结果是 ( ) int x,y; scanf("%d",&x); y=x>12?x+10:x 12; printf("%d\n",y); A.0 B.22 C.12 D.10 答案 :A 解析 : 条件表达式的一般形式 : 表达式 1? 表达式 2: 表达式 3 表达式的求值是当表达式 1 的值为真 ( 非零 ), 取表达式 2 的值 ; 否则取表达式 3 的值 题中表达式 x>12 的结果为假, 所以执行的语句是 x 12, 最终 y 的值应该是 0 例 22 若有条件表达式 (exp)?a++:b, 则以下表达式中能完全等价于表达式 (exp) 的是 ( ) A.(exp= =0) B.(exp!=0) C.(exp= =1) D.(exp!=1) 答案 :B 解析 : 题中要保证表达式 exp 的值为真 ( 非 0), 所以选择答案 B 例 23 设 int a=5,b=6, 表达式 (++a= =b )?++a: b 的值是 ( ) 答案 :7 解析 : 首先判断关系表达式 ++a= =b 的值是否为真,++a 的值为 6,b 的值为 6, ++a= =b 值为真, 则整个表达式的值为 ++a 的值,++a 的值为 7 请注意前缀 ++, 和后缀 ++, 的区别, 同时注意 = 和 = = 的区别 例 24 写出以下程序的运行结果 #include "stdio.h" int a=5, b=4, c=6, d; d=a>b?(a>c?a:c):b ; printf("%d\n",d); 答案 :6 解析 :d=a>b? (a>c? a : c ) : b ; 执行步骤为 : 1 (a>c? a : c) 的值为 a; 2 d=a>b? (a>c? a : c ): b; 变为 d=a>b? a:b;;

15 第 2 章数据类型 运算符与表达式 9 3 因为 a>b 为真, 那么, 表达式的值就为 a, 即为 6 例 25 如果有变量定义 int i;float f;double d;long e; 那么, 表达式 10+'a'+i*f d/e 的执行过程如何? 答案 : 结果为 double 型 当数据之间进行混合运算时, 要遵循数据之间的转换规则 数据之间的 转换规则 如图 2.1 所示 图 2.1 不同数据之间的转换规则 1 先按 横向 进行必定的转换 :'a' 转换成 int 型的 97;f 转换成 double 型 ; 2 再按 纵向 进行转换 :i*f 转换成 double 型 ;d/e 转换成 double 型 ;10+97 结 果为 int 型 ; 最后,int + double double 的结果为 double 型 例 26 经过下述赋值后, 变量 x 的数据类型是 ( ) int x=3; double y; y=(double) x; A.int B.char C.float D.double 答案 :A 解析 : 在 C 语言中任何变量定义后, 其数据类型不能改变, 无论参加什么运算只能 使用或改变其值 强制类型转换运算符将表达式的值转换成 类型标识符 所标识的类 型, 强制类型转换运算符的使用形式 :( 类型标识符 ) 表达式 (double)x 将变量 x 的值 3 强制转换成 double 类型, 再赋值给 y 变量 x 的数据类型 还是 int 类型 例 27 若有定义 :int a=7;float x=2.5,y=4.7; 则表达式 x+a%3*(int)(x+y)%2/4 的 值是 ( ) A B C D 答案 :A 解析 :x+y 的值为实型 , 经强制类型转化成整型 7 a%3 的值为 1,1*7 的 值为 7,7%2 值为 1 1/4 的值为 0, 而非 0.25, 因而为两个整数相除的结果为整数, 舍 去小数部分 与实型 x 相加, 最终得结果为 例 28 若变量 a 是 int 类型, 并执行了语句 :a='a'+1.6;, 则正确的叙述是 ( ) A.a 的值是字符 C B.a 的值是浮点型 C. 不允许字符型和浮点型相加 D.a 的值是字符 'A' 的 ASCII 值加上 1 答案 :D 解析 : 字符 'A' 要转换成相应的 ASCII 码值, 由于运算结果要赋值给 int 型变量, 所 以对 1.6 进行取整运算, 最后 a 的值应是 66 科学出版社职教技术出版中心

16 10 C 语言程序设计习题集 例 29 下面正确的语句是 ( ) A.int x=y=25; B.int z = ( x + y ) + + ; C.x = + 8 = = 7 ; D.x % = 4.5 ; 答案 :C 解析 :C 语言中, 可以在定义变量时对变量初始化, 例如 int x=25,y=25; 但是, 不允许以选项 A 方式定义变量及对变量进行初始化 选项 B 方式 ++ 运算符不能用于表达式 (x+y) 选项 C 运算符 = = 的优先级比 = 的优先级高, 先进行 +8= = 7 运算, 其值为假 (0), 再赋值给 x, 选项 C 是正确的赋值语句 选项 D 运算符 % 的操作数只能是整型数据, 不能是 4.5 例 30 假设 a, b, x, y, z 均为 double 类型变量, 写出以下代数式的 C 语言算术表达式 (1)sin x + cos y + tg πz (x,y,z 的单位为弧度 ) (2) e x+y + x-y 3 1 a +ab (3) 6 xy+z 答案 : (1)sin ( x ) + cos ( y )+ tan ( * z ) (2)exp(x+y)+sqrt(fabs(x y)) (3)1.0 / 6 *[pow ( a, 3.0 ) + a * b )/ ( x * y + z)] 解析 :C 系统提供了一系列库函数, 库函数并不是 C 语言的一部分, 它是根据需要编制的, 不同的 C 系统提供的库函数名及功能不完全相同 ANSI C 标准提供标准库函数 数学库函数只是标准库函数中的一组函数, 使用数学库函数时应该在源文件中使用预编译命令 # include "math.h" 例 31 设 int x=1,y=1; 表达式 (!x y ) 的值是 ( ) A.0 B.1 C.2 D. 1 答案 :B 解析 :C 语言规定的运算优先级由高到低分别是逻辑非 算术运算 逻辑或 所以先计算!x, 值是 0, 然后再计算 y, 由于是后缀运算符, 所以 y 在本次运算中的值仍然是 1, 最后计算 0 1, 值为 1 例 32 若有说明语句 :char c='\72'; 则变量 c( ) A. 包含 1 个字符 B. 包含 2 个字符 C. 包含 3 个字符 D. 说明不合法,c 的值不确定答案 :A 解析 :C 语言的字符型常量中, 允许用一种特殊形式的字符常量, 就是以一个 "\" 开头的字符 其中 "\ddd" 用 ASCII 码 ( 八进制数 ) 表示一个字符, 本题中的 char c='\72' 即表示占一个字符的变量 c 的 ASCII 码值

17 第 2 章数据类型 运算符与表达式 11 例 33 表达式 0x13^0x17 的值是 ( ) A.0x04 B.0x13 C.0xE8 D.0x17 答案 :A 解析 : 运算符 ^ 表示两数的按位异或运算, 异或运算的规则是参与运算的两个运算 数中相对应的二进制位相同, 则该位的结果为 0; 否则该位的结果为 1 例 34 设有以下语句 : char x=3,y=6,z; z=x^y<<2; 则 z 的二进制值是 ( ) A B C D 答案 :A 解析 : 按位异或运算符 "^" 是参与运算的两数各对应的二进位相异或, 当两对应的二进制位相异时, 结果为 1; 否则结果为 0 x^y 结果为 左移运算符 "<<" 把 "<< " 左边的运算数的各二进位全部左移若干位, 由 "<<" 右边的数指定移动的位数, 高位丢弃, 低位补 0 并且"<<" 运算符的优先级高于 "^" 例 35 写出以下程序的运行结果 #include "stdio.h" char a,b,c; a=0x3; b=a 0x8; c=b<<2 ; printf("%x,%x\n",b,c); 答案 :b, 2c 解析 :a=0x3=0011,b= a 0x8 = =1011=bH,c=b<<2=101100=2cH 例 36 以下叙述不正确的是 ( ) A. 在 C 程序中, 逗号运算符的优先级最低 B. 在 C 程序中,APH 和 aph 是两个不同的变量 C. 若 a 和 b 类型相同, 在计算了赋值表达式 a=b 后,b 中的值将放入 a 中, 而 b 中的值不变 D. 当从键盘输入数据时, 对于整型变量只能输入整型数值, 对于实型变量只能输入实型数值答案 :D 解析 : 在 C 语言所有的运算符中, 逗号运算符的优先级最低 C 语言中区分大小写字母, 所以 APH 和 aph 是两个不同的变量 赋值表达式 a=b, 表示将 b 的值付给 a, 而 b 本身的值保持不变 ; 通过键盘可以向计算机输入允许的任何类型的数据 在选项 D 中, 当从键盘输入数据时, 对于整型变量可以输入整型数值和字符, 对于实型变量可以输入实型数和整型数值等 科学出版社职教技术出版中心

18 12 C 语言程序设计习题集 例 37 sizeof(float) 是 ( ) A. 一个双精度型表达式 B. 一个整型表达式 C. 一种函数调用 D. 一个不合法的表达式 答案 :B 解析 :sizeof( ) 是字节数运算符, 用来求任何类型的变量或表达式的值在内存中所 占的字节数, 其值是一个整型数 例 38 在 C 语言中,char 型数据在内存中的存储形式是 ( ) A. 补码 B. 反码 C. 原码 D.ASCII 码 答案 :D 解析 : 在 C 语言中, 将一个字符常量放到一个字符变量中, 实际并不是把该字符本 身放到内存单元中去, 而是将该字符的相应 ASCII 码放到存储单元中 2.2 习题及参考答案 习题 一 单项选择题 1. 下列选项中, 可以作为 C 语言标识符的是 ( ) A.3stu B.#stu C.stu3 D.stu.3 2. 下列选项中, 不可以作为 C 语言标识符的是 ( ) A.num B.turbo-c C.print D.student3 3. 下列选项中, 不可以作为 C 语言常量的是 ( ) A."abc" B.1/2 C.'M' D.13.8e 4. 以下叙述不正确的是 ( ) A.C 语言中的常量分别为整型常量 浮点常量 字符常量 符号常量 B. 整型常量在 C 语言中有十进制 八进制和十六进制 3 种不同形式 C.C 语言中, 变量必须先定义后使用 D. 变量被定义后, 变量名是固定的, 变量的值在程序运行过程中不可以随时 被改变 5. 以下叙述不正确的是 ( ) A.C 语言中的字符常量是用一对单引号 (' ') 括起来的单个字符 B. 字符串常量是用一对双引号 (" ") 括起来的字符序列 C. 字符型数据与整型数据之间不可以通用 D. 为了判断字符串是否结束, 系统在最后一个字符后面自动加上一个转义字 符 ('\0') 6. 在赋值语句中用来将运算表达式的值赋给变量的 = 称为 ( ) A. 等号 B. 赋值运算符 C. 关系运算符 D. 逻辑运算符

19 第 2 章数据类型 运算符与表达式 设 a=12,n=3, 则执行表达式 a%=n+3 后 a 的值为 ( ) A.4 B.0 C.6 D.2 8. 设 A=0,B=1, 表达式!A&&B 的值是 ( ) A.1 B.0 C.2 D.3 9. 下列不是字符串常量的是 ( ) A."1818" B."aads" C._abdc D."a" 10. 以下转义字符不正确的是 ( ) A.'\\' B."\" C.'\081' D.'\0' 11. 设 x 为 float 型变量,y 为 double 型变量,a 为 int 型变量,b 为 long 型变量,c 为 char 型变量, 则表达式 x+y*a/x+b/y+c 计算结果的类型为 ( ) A.int B.long C.double D.char 12. 设 a,c 为 int 型变量, 进行 a=(c=5,c+5,c/2) 运算后的结果为 ( ) A.2 B.5 C.2.5 D 在 C 语言中, 表示逻辑 真 和 假 的值分别是 ( ) A.0 1 B.1 2 C.1 0 D C 语言中表示 a 小于 b 或 a 小于 c 为 真 的表达式为 ( ) A.a<b<c B.a<b b<c C.a<b a<c D.a<b&&a<c 15.C 语言中表示 a 和 b 都大于 c 为 真 的表达式为 ( ) A.a>c&&b>c B.a>c b>c C.a>b b>c D.a>b&&b>c 16.C 语言中表示 a 和 b 中至少有一个小于 c 为 真 的表达式为 ( ) A.a<c b<c B.a<c&&b<c C.a<b b<c D.a<b&&b<c 17. 若有 a=2,b=3,c=4, 则表达式 a= =3 和 a=3 的值分别为 ( ) A.0 和 0 B.1 和 3 C.3 和 3 D.0 和 表达式!(1<3) (2>5) 和!(4<=8)&&(7>=3) 的值分别为 ( ) A.1 和 0 B.0 和 0 C.0 和 1 D.1 和 设 a=4, 计算表达式 a=1,a+5,a++ 的值为 ( ) A.1 B.5 C.10 D 设 x=4,y=8, 计算表达式 y=(x++)*( y) 的值为 ( ) A.28 B.32 C.40 D 设有语句 char a='\72'; 则变量包含的字符数为 ( ) A.3 B. 2 个 C.1 D 设有字符串 "\123abc"; 则该字符串包含的字符数为 ( ) A.4 B.6 C.5 D 下列叙述正确的是 ( ) A. 赋值语句中的 = 是表示左边变量等于右边表达式 B. 赋值语句中左边的变量值不一定等于右边表达式的值 科学出版社职教技术出版中心

20 14 C 语言程序设计习题集 C. 赋值语句是由赋值表达式加上分号构成的 D.x+=y; 不是赋值语句 24. 设 x,y,z 和 k 都是 int 型变量, 则执行表达式 :x=(y=4,z=16,k=32) 后,x 的值为 ( ) A.52 B.32 C.16 D 使条件表达式 (year%4= =0&&year%100!=0) (year%400= =0) 结果为假的 值是 ( ) A.1950 B.2000 C.1996 D 已知 int i=1,j; 执行语句 j= i++; 后,i 和 j 的值分别为 ( ) A.1,1 B.1, 1 C.2, 1 D.2, 下列选项中, 正确的一组语句是 ( ) A.char a; a='m'; B.char b; b='55'; C.char c; c="m"; D.char d; d="55"; 28. 已知字母 'b' 的 ASCII 码值为 98, 如 ch 为字符型变量, 则表达式 ch='b'+'5' '2' 的值为 ( ) A.e B.d C.102 D 在 C 语言中,char 型数据在内存中的存储形式是 ( ) A. 原码 B. 补码 C.ASCII 码 D. 反码 30. 关系运算中用来表示等于 不等于 小于的符号分别为 ( ) A.=,=< B.= =,=< C.=,< >,< D.= =,!=,< 31. 设 a=2,b=7.5,c= 3.6, 以下哪两个逻辑表达式的值相同 ( ) A.1) 'a'>'c' 'x'<'y' 2) b a<=c/2&&c= 3.6 B.1) 'a'>'c'&&'x'<'y' 2) a 7<b 6.5 C.1) 'a'>'c' 'x'>'y' 2) 'a'<'c'&&a>b D.1) 'a'>'c'&&'x'>'y' 2) 'a'<'c' a>c 32. 逻辑运算符的运算次序是 ( ) A.&&,,! B.&&,!, C.!,,&& D.!,&&, 33. 若 w=1,x=2,y=3,z=4, 则条件表达式 w<x?w:y<z? y:z 的结果为 ( ) A.4 B.3 C.2 D 若有定义 :int a=10,b=9,c=8; 执行下面两条语句 c=(a =(b 5));c=(a%11)+(b=3); 后, 变量 b 的值为 ( ) A.9 B.4 C.3 D.2 2 x sinx 35. 数学表达式 e + 的 C 语言表达式是 ( 2a ) A.e x +sin(x*x)/(2*a) B.exp(x)+sin(x*x)/(2*a) C.exp(x)+sin(x*x)/(2a) D.EXP(X)+SIN(X*X)/(2*A) 36. 设 x 和 y 均为 int 型变量, 则执行以下语句后的输出为 ( ) x=15;y=5;printf(" %d\n",x%=(y%2)); A.0 B.1 C.6 D.12

21 第 2 章数据类型 运算符与表达式 设 i=5; 执行 i*=i++; 后,i 的值为 ( ) A.25 B.26 C.5 D 设 a 的值为 12, 则执行表达式 a+=a =a 后 a 的值为 ( ) A.0 B.12 C.10 D 若 x 为 int 型变量, 则执行 x=6;x+=x =x*x; 语句后,x 的值为 ( ) A.36 B. 60 C.60 D 表达式 0x08>>2 的值为 ( ) 二 程序阅读题 A.2 B.8 C.1 D.4 写出程序的运行结果 1. 下列程序的运行结果是 #include <stdio.h> int i,j,m,n; i=8; j=10; m=++i; n=j++; printf("%d %d %d %d",i,j,m,n); 2. 下列程序的运行结果是 #include <stdio.h> int x=010,y=10,z=0x10; printf("%d,%d,%d\n",x,y,z); 3. 下列程序的运行结果是 #include <stdio.h> int a,b,c; a=b=c=1; b=b+c; a=a+b; printf("%d\n",(c<b)?b:a); 4. 下列程序的运行结果是 #include <stdio.h> int x=1,y=1,z=1; y=y+z; x=x+y; 科学出版社职教技术出版中心

22 16 C 语言程序设计习题集 z=x<y?y:x; printf ("%d\n",z>=y&&y>=x); 5. 下列程序的运行结果是 #include <stdio.h> #include <math.h> int a=1,b=4,c=2; float x=5.5,y=9.0,z; z=(a+b)/c+sqrt((double)y)*1.2/c+x; printf("%f\n",z); 6. 下列程序的运行结果是 #include <stdio.h> int x=3, y=4, z=4; printf("%d\n",z>=y>=x); 7. 下列程序的运行结果是 #include <stdio.h> int p=30; printf("%d\n",(p/3>0?p/10:p%3)); 8. 下列程序的运行结果是 #include <stdio.h> int a,b,d=241; a=d/100%9; b=( 1)&&( 1); printf("%d,%d",a,b); 9. 下列程序的运行结果是 #include <stdio.h> int a,b,c; a=(b=(c=3)*5)*2 3; printf("a=%d,b=%d,c=%d\n",a,b,c); 10. 下列程序的运行结果是 #include <stdio.h>

23 第 2 章数据类型 运算符与表达式 17 int m=7,n=4; 参考答案 float a=3.4,b=6.4,x; x = m/2+n*a/b+1/2; printf ("%.3f\n",x); 一 单项选择题 1.C 2.B 3.D 4.D 5.C 6.B 7.B 8.A 9.C 10.C 11.C 12.A 13.C 14.C 15.A 16.A 17.D 18.B 19.A 20.A 21.C 22.A 23.C 24.B 25.A 26.C 27.A 28.A 29.C 30.D 31.C 32.D 33.D 34.C 35.B 36.A 37.B 38.A 39.B 40.A 二 程序阅读题 , 10, ,1 9.a=27,b=15,c= 科学出版社职教技术出版中心

24 第 3 章顺序结构程序设计 3.1 例题分析 例 1 写出以下程序的运行结果 #include "stdio.h" char ch1,ch2; ch1='o'; ch2='k'; putchar(ch1); putchar(ch2); putchar('\n'); putchar(65); putchar('\t'); putchar('b'); 答案 :OK A B 解析 :putchar( ) 的功能是向显示器输出一个字符 putchar('\n'); 输出一个换行符, putchar(65); 输出 ASCII 码为 65 的字符 A,putchar('\t'); 跳到下一个制表位, 一个制表位占 8 列 putchar(ch1); 和 putchar('b'); 均输出一个字符 例 2 写出以下程序的运行结果 #include "stdio.h" char ch1,ch2,ch3; ch1=getchar(); ch2=getchar(); ch3=getchar(); putchar(ch1); putchar(ch2); putchar(ch3); 运行时从键盘输入 ABC 答案 :ABC 解析 :getchar( ) 的功能是从键盘输入一个字符 输入数据时只输入字符本身, 不要输入空格 回车 转义字符等, 它们都将作为有效字符影响运行结果 如程序运行时从

25 第 3 章顺序结构程序设计 19 键盘输入 A B C, 则 ch1='a',ch2=,ch3='b', 空格作为一个字符赋值给 ch2 例 3 写出以下程序的运行结果 #include "stdio.h" int a=15; char b='a'; float x=1234.5; printf("%d,%u,%o,%x\n",a,a,a,a); printf("%f",x); printf("%e",x); printf("%g\n",x); printf("%c",b); printf("%s\n","china"); 答案 :15,15,17,f e A China 解析 : 格式输出函数 printf( ) 的功能是在显示器上显示若干个任意类型的数据 格式为 printf( 格式控制, 输出表列 ), 格式控制符分为整型 (%d %o %x %u) 实型 (%f %e %g) 字符型(%c) 和字符串型 (%s) 例 4 写出以下程序的运行结果 #include "stdio.h" int a=1234; char b='a'; printf("%3c ",b); printf("%6d\n ",a); printf("%2d\n",a); printf("%#o\n",a); printf("%#x\n",a); 答案 : A x4d2 科学出版社职教技术出版中心 解析 : 格式输出函数 printf( ) 的附加格式说明符 # 在八进制数和十六进制数前显示前导 0 或 0x;printf("%md\n ",a); 的 m 是将数据按宽度 m 输出, 当 m> 数据长度时, 左补空格, 否则按实际位数输出

26 20 C 语言程序设计习题集 例 5 写出以下程序的运行结果 #include "stdio.h" float x= ; printf("%8.2f\n",x); printf("% 8.2 f\n",x); printf("%.2 f\n",x); printf("%8.2e\n ",x); printf("%8.3s\n","china"); printf("% 6.3s\n", "China"); printf("%.6s\n", "China"); 答案 : e+02 Chi Chi China 解析 : 格式输出函数 printf( ) 的附加格式说明符 printf("%-m.nf\n",x); 中的 "-" 将对齐方式设为左对齐 m.n 中的 n, 在 f 前指定 n 位小数, 在 e 前指定 n 1 位小数, 在 s 前指定截取字符串前 n 个字符 例 6 写出以下程序的运行结果 #include "stdio.h" int a,b,c; scanf("%d%d%d",&a,&b,&c); /* 运行时, 输入 */ printf("%d,%d,%d\n",a,b,c); scanf("%d,%d,%d",&a,&b,&c); /* 运行时, 输入 1,2,3 */ printf("%d,%d,%d\n",a,b,c); scanf("a=%d,b=%d,c=%d",&a,&b,&c); /* 运行时, 输入 a=1,b=2,c=3 */ printf("%d,%d,%d\n",a,b,c); 答案 : 输出三行相同内容 :1,2,3 解析 : 格式输入函数 scanf( ) 的功能是按照指定的格式从键盘输入各种数据, 格式为 :scanf( 格式控制符, 地址表列 ), 格式控制符由普通字符和格式说明符构成, 普通字符原样输入 注意本题中的三种输入方式的使用方法 例 7 写出以下程序的运行结果 #include "stdio.h"

27 第 3 章顺序结构程序设计 21 float a,b; scanf("a=%fb=%f",&a,&b); /* 运行时, 输入 a=1 b=2 */ printf("%f,%f\n",a,b); 答案 :1,2 解析 : 本题考核的内容是格式输入函数 scanf( ) 的使用 运行时, 当从键盘上输入 a=1 b=2 时, 运行结果正确 ; 但当从键盘上输入 a=1 b=2 时, 运行结果不正确 这种情 况下, 两个变量之间不能有分隔符 例 8 写出以下程序的运行结果 #include "stdio.h" char a,b,c; scanf("%c%c%c",&a,&b,&c); /* 运行时, 输入 xyz */ printf("%c,%c,%c\n",a,b,c); 答案 :x,y,z 解析 : 本题考核的内容是格式输入函数 scanf( ) 的使用 程序运行时, 当从键盘上输入 xyz 时, 运行结果正确 ; 若输入 x y z 时, 空格将作为字符输入 习题 3.2 习题及参考答案 一 单项选择题 1. 关于 printf 函数中格式控制部分叙述不正确的是 ( ) A. 格式控制部分是加上双引号 (" ") 的一个字符串 B. 格式控制部分可以包括需要原样输出的普通字符 C. 格式控制部分可以包括格式说明符, 且其必须与输出列表中输出项的类型相符 个数相同 D. 格式控制部分不包括转义字符 2. 下列语句正确的是 ( ) A.printf(%d%dm10,15); B.printf(" %s",'a'); C.printf(" %c",'hello'); D.double real;scanf(" %f",&real); 3. 分析下列程序的运行结果 ( ) int x=12; printf(" %d,%o,%x,%u",x,x,x,x); 科学出版社职教技术出版中心

28 22 C 语言程序设计习题集 A.12,14,c,12 B.12,12,12,12 C.12,41,c,12 D.12,012,0x12,12 4. 已定义 x 为 float 型变量,x = ;printf(" % 4.2f\n",x); 则输出为 ( ) A. 输出格式描述符的域宽不够, 不能输出 B C D #include<stdio.h> float r1=10.0,r2=20.0,r3=30.0; float i,r,u; u=120.0; r=r1*r2*r3/(r2*r3+r1*r3+r1*r2); i=u/r; printf(" u=%7.2e\n",u); printf(" i=%5.2f ",i); 可选运行结果 ( ) A.u= B.u=1.2e+02 C.1.2e+02 D.u= i=2.2e+01 i=22.00 i=2.2e+01 i= 定义变量如下 :int x;float y; 则以下正确的输入语句是 ( ) A.scanf(" %f%f",&x,&y); B.scanf("%f%d",&x,&y); C.scanf(" %f%d",&y,&x); D.scanf("%5.2f%2d",&x,&y); 7.putchar 函数可以向终端输出一个 ( ) A. 字符或字符变量的值 B. 字符串 C. 实型变量 D. 整型变量的值 8. 若有定义 :int a,b; 使用语句 scanf("%d,%d",&a,&b); 给变量 a b 分别赋值 10 和 20, 则正确的输入格式为 ( ) A.10,20 B C.10< 回车 >20 D.a=10,b=10 9.getchar 函数可以从终端输入一个 ( ) A. 字符 B. 字符串 C. 实型变量 D. 整型变量的值 二 编程题 1. 编写程序, 输入圆的半径, 输出圆的周长和面积 要求输出有提示信息, 结果 保留小数点后两位 2. 编写程序, 要求从键盘输入一个三位正整数, 求出它的个位 十位和百位数字 并显示 参考答案 一 单项选择题 1.D 2.D 3.A 4.C 5.B 6.C 7.A 8.A 9.A

29 第 3 章顺序结构程序设计 23 二 编程题 1. #include "stdio.h" float r,c,s; scanf("%f",&r); c=2*3.14*r; s=3.14*r*r; printf("c=%.2f,s=%.2f",c,s); 2. #include "stdio.h" int a,b,c,x; scanf("%d",&x); a=x%10; b=x/10%10; c=x/100; printf("%d %d %d",a,b,c); 科学出版社职教技术出版中心

30 第 4 章选择结构程序设计 4.1 例题分析 例 1 判断一个整数是奇数还是偶数, 是奇数显示 奇数, 否则显示 偶数 答案 : 编写程序代码如下为 : #include <stdio.h> int x; scanf("%d",&x); if (x%2= =0) printf(" 奇数 "); else printf(" 偶数 "); 解析 :(1)if 是双分支结构, 执行过程分两步 : 1 先计算表达式的值 ; 2 若表达式的值非 0( 为真 ) 时, 执行 if 后面语句 ; 否则执行 else 后面语句 (2)if (x%2= =0) 与 if! (x%2) 等价 if (x%2) 与 if (x%2!=0) 等价 例 2 编写一个程序, 完成的功能为 : 要求从键盘上任意输入一个实数 x, 在显示器上显示出与其相对应的 y 值 x 与 y 的对应关系为 : y= 答案 : 编写出的程序代码为 : #include <math.h> #include <stdio.h> float x, y; scanf("%f",&x); if (x<=0 ) y=fabs(pow(x, 3) 1); else y=sqrt(pow(x, 3)+1); printf ("%f \n",y ); 3 x-1 (x 0) 3 x+1 (x>0)

31 第 4 章选择结构程序设计 25 解析 : 本题是一个两段的分段函数, 是双分支结构的典型应用 例 3 编写一个程序, 完成的功能为 : 要求从键盘上任意输入一个字符, 如果是大写字母, 就将其转换为小写字母 ; 否则, 不转换 答案 : 编写出的程序代码为 : #include <stdio.h> char c; c=getchar(); if (c>='a' && c<='z') c=c+32; putchar(); 解析 : 本题为单分支结构, 是双分支结构的特例 单分支结构只处理表达式为真时情况, 其他情况不予考虑 例 4 编写一个程序, 完成的功能为 : 要求从键盘上任意输入一个实数 x, 在显示 x+3 (x<0) 器上显示出与其相对应的 y 值 x 与 y 的对应关系为 y= 1 (0=<x<2) x+2 (x>=2) 答案 :#include "stdio.h" float x,y; scanf("%f",&x); if (x>=0) if (x>=2) y=x+2; else y=1; else y= x+3; printf("%f",y); 解析 : 本题是三段函数, 双分支结构的 if 语句不能满足要求, 只能使用嵌套结构处理多分支结构 在 if 嵌套结构中,if 和 else 的配对关系是 : 从最内层开始,else 总是与它上面最近的并且没有和其他 else 配对的 if 配对 例 5 阅读程序, 写出程序的运行结果 运行程序时, 输入 :3 5+<CR> main () float x, y; char o; double r; scanf("%f%f%c", &x,&y,&o) ; 科学出版社职教技术出版中心

32 26 C 语言程序设计习题集 switch (o) case '+' : r=x+y ; break ; case ' ' : r=x y ; break ; case '*' : r=x*y ; break ; case '/' : r=x/y ; break ; printf ( " %f ", r ) ; 答案 : 程序的运行结果为 :8.0 解析 :switch 语句专门用于处理多分支结构 它的执行过程 : 先计算表达式的值 然后用其结果依次与常量表达式相比较, 若与某一个常量表达式的值相等, 则执行常量表达式所对应的语句块 在执行语句块过程中, 如果遇到 break 语句, 则退出 switch 语句 ; 如果没有遇到 break 语句, 则顺序往下执行, 直至到退出 switch 语句为止 若与任何的常量表达式的值都不相等, 则执行 default 后面的语句 例 6 下述程序, 属于正确判断的是 ( ) int x,a,b; scanf("%d",&x); if(x>0) a=10; b=20; else a= 10; b= 20; printf ("%d,%d\n",a,b); A. 输入数据 :1, 输出 :10,20 B. 输入数据 : 1, 输出 : 10, 20 C. 输入数据 :0, 输出 : 10, 20 D. 程序有语法错误, 不能通过编译 答案 :D 解析 : 当表达式 (x>0) 的值为 真 时, 执行 a=10; 语句, 如果要想当表达式的值为 真 时, 执行 a=10; 和 b=20; 语句, 那么, 必须用一对花括号 将这两个语句括起来, 形成一个复合语句 例 7 输入数据 : 1 CR, 以下程序的输出是 ( ) int x, y; scanf("%d",&x); if(x++<0) y= 1; else if(x==0) y=0; else y=1; printf("x=%d,y=%d",x,y); A.x=0,y= 1 B.x= 1,y=0 C.x=0,y=1 D.x=1,y=0 答案 :A

33 第 4 章选择结构程序设计 27 解析 : 求条件表达式 x++<0 的值, 先用 x= 1 与 0 进行比较结果为 真, 然后 x 的值自增 1(x 为 0), 所以执行语句 y= 1; 输出为 :x=0,y= 1 例 8 以下程序的输出结果为 ( ) int a=1,b=2,c=4; if(c=a+b) if(c==4) a=b=c=20; else if(c==3) a=b=c=30 ; else a=b=c=40; printf("%d,%d,%d\n",a,b,c); A.1,2,4 B.20,20,20 C.30,30,30 D.40,40,40 答案 :C 解析 : 注意区别 C 语言中的赋值号 = 和数学中的等号 =, 有人错误地把 C 语言中的赋值号 = 看成数学中的等号 = 从而选出答案 A 实际上第一个 if 语句中的表达式是一个赋值表达式, 它的值也使 c 的值为 3( 等于 a+b) 接下来执行内嵌的 if 语句, 因为 c= =4 表达式的值为 假, 所以执行 else 子句内嵌的 if 语句, 表达式 c= =3 为 真, 执行 a=b=c=30; 输出结果为 :C 例 9 以下程序的输出结果为 ( ) int x=0,a=10,b=20,c=15; if(a>b) if(b<c) x=1; else x=2; printf("%d\n",x); A.0 B.1 C.2 D.3 答案 :A 解析 : 在 if 语句的嵌套中,else 和 if 的配对的原则是 : 一个 else 应与其之前距离最 近且没有与其他 else 配对的 if 配对 本程序中的 else 是与第二个 if 配对的 因此, a>b 不成立, 立即输出 x 的值 例 10 假设 char grade='a'; 则以下程序段的运行结果是 ( ) switch(grade) case 'A' : case 'B' : case 'C' : printf(">= 60 pass!\n") ; case 'D' : printf("<60\n"); default : printf("error!\n"); 答案 :>=60 pass! < 60 科学出版社职教技术出版中心

34 28 C 语言程序设计习题集 error! 解析 :switch 后括号内表达式的值若等于某个 case 后常量表达式的值, 执行此 case 后的语句, 然后流程控制转移到下一个 case 子句继续执行, 直到执行 break 语句 ( 或 switch 末尾 ) 才结束 switch 语句 grade 的值为 'A', 执行完 printf(">=60 pass!\n") ; 语句后, 继续执行 printf("<60\n"); 和 printf("error!\n") ; 语句 例 11 以下程序段的运行结果是 ( ) int a=2, b=7, c=5 ; switch(a >0 ) case 1 : switch(b<0) case 1 : printf("@") ; break ; case 2 : printf("!") ; break ; case 0 : switch(c==5) case 0 : printf("*") ; break ; case 1 : printf("#") ; break ; default : printf("#") ; break ; default : printf("&") ; printf (" \ n " ) ; 答案 :#& 解析 :(a>0) 表达式的值为 1, 执行 case 1: 后的 swich 语句,(b<0) 表达式的值为 0, 没有与这个 0 匹配的常量表达式, 没有执行任何语句就结束了内嵌的 switch 语句, 流程控制转移到下一个 case 继续执行外层 case 0: 后面的 switch 语句 (c = = 5 ) 表达式的值为 1, 执行内嵌的 case 1: 后的语句, 输出 #, 然后执行 break; 终止内嵌的 switch 语句, 回到外层 switch 语句, 执行 default: 后的语句, 输出 & 在 switch 语句嵌套结构中的 break 语句只能结束该层 switch 语句 例 12 以下程序实现 : 输入三个整数, 按从大到小的顺序输出, 请填空 int x, y, z, t ; scanf("%d %d %d",&x,&y,&z) ; if(x<y) t=x ; x=y ; y=t ; if( 1 ) t=x ; x=z ; z=t ; if( y < z ) 2 printf(" %d, %d, %d ", x, y, z ) ; 答案 :1 x<z 2 t=y;y=z;z=t;

35 第 4 章选择结构程序设计 29 解析 : 第一个 if 语句, 如果 x<y 成立, 借助变量 t 交换 x 和 y 中的值, 先将 x 的 值送 t 中保存, 再将 y 的值赋值给 x, 最后将 t 的值赋值给 y, 达到了交换 x 和 y 的值的 目的 第二 三个 if 语句类似 例 13 下面程序的输出结果是 ( ) int x=1,a=0,b=0; switch(x) case 0: b++; case 1: a++; case 2: a++;b++; printf("a=%d,b=%d\n",a,b); A.a=2,b=1 B.a=1,b=1 C.a=1,b=0 D.a=2,b=2 答案 :A 解析 : 由于 x 的值等于 1, 所以 switch 结构中, 程序从 case 1 后面的语句开始执行, 又因为 case 1 后面的语句没有以 break 结束, 所以程序要继续往下执行 case 2 后面的语句 所以, 该程序共执行了这三条语句 :a++; a++; b++; 因此, 变量 a 和 b 最后的值应该为 2 和 1 例 14 下面程序的运行结果是 ( ) int a=2,b= 1,c=2; if(a<b) if(b<0)c=0; else c++; printf("%d\n",c); A.0 B.1 C.2 D.3 答案 :C 解析 :if 语句嵌套使用时, 应当注意 if 与 else 的配对关系,else 总是与它上面最近的 if 配对 因此, 本题中先判断 (a<b), 表达式值为 0, 则不执行下面的 if 语句, 直接跳到 printf 语句中 (c 的值不变 ) 4.2 习题及参考答案 科学出版社职教技术出版中心 习题一 单项选择题 1.C 语言中的 if 语句, 当条件表达式为真时执行的语句是 ( ) A.else 后的语句 B.if 后的语句

36 30 C 语言程序设计习题集 C. 不执行语句 D.if 后的语句和 else 后的语句都执行 2. 若分支结构的某个分支需要多个语句时, 必须使用一个复合语句, 所谓复合语句是指 ( ) A. 一个语句 B. 用 括起来的多个语句 C. 两个语句 D. 多个语句 3. 判断 char 型变量 cl 是否为小写字母的最简单且正确的表达式为 ( ) A.'a'<=cl<='z' B.(cl>=a)&&(cl<=z) C.('a'<cl)&&( 'z'>cl) D.(cl>='a')&&(cl<='z') 4. 判断 char 型变量 x 是否为数字 0~9 字符的最简单且正确的表达式为 ( ) A.'0'<=x<='9' B.(x>=0)&&(x<=9) C.('0'<x)&&( '9'>x) D.(x>='0')&&(x<='9') 5. 以下不正确的 if 语句为 ( ) A.if(x>y); B.if(x!=y) scanf(" %d", &x) else scanf(" %d", &y); C.if(x==y) x+=y; D.if(x<y) x++;y++; 6. 以下关于 switch 语句和 break 语句的描述中, 正确的是 ( ) A. 在 switch 语句中必须使用 break 语句 B.break 语句只能用于 switch 语句中 C. 在 switch 语句中, 可以根据需要使用或不使用 break 语句 D.break 语句是 switch 语句的一部分 7. 以下关于 if 语句的错误描述是 ( ) A. 条件表达式可以是任意的表达式 B. 条件表达式只能是关系表达式或逻辑表达式 C. 条件表达式的括号不可以省略 D. 与 else 配对的 if 语句是其之前最近的未配对的 if 语句 8. 程序设计的三种基本结构是 ( ) A. 顺序结构 分支结构 选择结构 B. 递归结构 循环结构 选择结构 C. 顺序结构 循环结构 逻辑结构 D. 顺序结构 循环结构 选择结构二 程序阅读题写选出程序的运行结果 1. 下列程序的运行结果为 int x=1,a=0,b=0; switch(x) case 0:b++; case 1:a++; case 2:a++;b++;

37 第 4 章选择结构程序设计 31 printf("a=%d, b=%d\n", a, b); 2. 设有说明语句 :int a=1,b=0; 则执行以下语句后的输出为 switch(a) case 1: switch(b) case 0: printf(" **0**\n"); break; case 1: printf(" **1**\n"); break; case 2: printf(" **2**\n"); break; 3. #include<stdio.h> float g;int i; printf("score? "); scanf("%f",&g); i=g/10; switch(i) case 0: case 1: case 2: case 3: case 4: case 5: printf(" fail"); break; case 6: case 7: printf(" pass\n"); break; case 8: printf("good\n"); break; case 9: case 10: printf("very good"); break; default: printf("input error"); break; 运行两次, 输入数据分别 89.5 和 79.5, 可选运行结果 : 4. 下列程序的运行结果为 int a=1,b=3,c=5; if(c=a+b) printf("yes\n"); else printf("no\n"); 5. #include <stdio.h> 科学出版社职教技术出版中心

38 32 C 语言程序设计习题集 int a, b, m, n; scanf("%d%d", &a, &b); m=1; n=1; if(a>0) m=m+n; if(a<b) n=2*m; else if(a==b) n=5; else m=m+n; printf("m=%d n=%d\n", m, n); 输入为 : 1 2< 回车 >, 输出结果为 6. 下列程序的运行结果为 float x=2.0, y; if(x<0.0) y=0.0; else if(x<10.0) y=1.0/x; else y=1.0; printf(" %f\n",y); 7. 下列程序的运行结果为 int a=2, b= 1, c=2; if(b<0) c=0; else c++; printf(" %d\n", c); 8. 下列程序的运行结果为 int a=100; if(a>0) printf("%d\n", a>100); else printf(" %d\n", a<=100); 9. 下列程序的运行结果为 int n=0,m=1,x=2; if(!n) x =1; if(m) x =2; if(x) x =3; printf("%d\n",x); 10. 下列程序的运行结果为 int m=5;

39 第 4 章选择结构程序设计 33 if(m++>5) else 三 完善程序题 选择适当的内容填在下列程序的 printf("%d\n",m); printf("%d\n",m ); 处, 使其完整正确 元和 元以上的货物, 征税 5%;5000 元到 元以下的货物, 征税 4%;1000 元到 5000 元以下的货物, 征税 3%;1000 元以下的货物免税, 输入货款, 求税金 #include<stdio.h> int x,i; float percent, tax; printf("money?"); scanf("%d",&x); ([1]) switch(i) case 0: percent=0; break; case 1: case 2: case 3: case 4: percent=0.03; break; case 5: case 6: case 7: case 8: case 9: percent=0.04; break; ([2]) : percent=0.05; break; tax=x*percent; printf("money=%d tax=%f",x,tax); 2. 判断整数 N 能否同时被 3 和 7 整除, 如果能则打印 YES!, 否则打印 NO! #include<stdio.h> int n; scanf([1]) ; if([2]) printf(" YES!"); else printf(" NO!"); 3. 输入三个整数, 按从大到小的顺序输出 #include<stdio.h> int x,y,z,c; 科学出版社职教技术出版中心

40 34 C 语言程序设计习题集 scanf("%d %d %d",&x,&y,&z); if(y<z) c=y;y=z;z=c; if([1]) c=x;x=z;z=c; if([2]) c=x;x=y;y=c; printf("%d %d %d",x,y,z): 4. 判断闰年的方法是 : 年数不能被 4 整除的不是闰年 ; 年数能被 4 整除的而不能被 100 整除的是闰年 ; 能被 100 整除的而不能被 400 整除的不是闰年 ; 能被 400 整除的是闰年, 给出年号, 判断是否是闰年 int year,rem_4,rem_100,rem_400; printf(" Enter the year to be tested."); scanf("%d",&year); rem_4= [1] ; rem_100=year%100; rem_400=year%400; if(rem_4==0&&rem_100!=0 [2] ) printf(" It is a leap year.\n"); else printf(" It is not a leap year.\n"); 5. 已知三角形的三条边为 a b c, 判断能构成三角形的条件是 a+b>c 且 a b <c, 求三角形的面积 #include<math.h> float a,b,c,p,area; printf(" please input a: b: c:\n");scanf(" %f%f%f", &a, &b, &c); [1] [2] ; area=sqrt(p*(p a)*(p b)*(p c)); printf(" area=%f\n",area); else printf(" input error!\n"); 四 程序改错题以下每题有一个错误, 选出有错误语句的行号及改正后的语句全行 ( 每行语句前的序号只标注行号, 非程序本身的内容 ) 1. 判断实数 x 是正数还是负数 (1)#include <stdio.h>

41 第 4 章选择结构程序设计 35 (2) (3) float x; (4) scanf("%f", x); (5) if(x>0) (6) printf(" 正数 "); (7) else (8) printf(" 负数 "); (9) 2. 输入 X 值后, 按下面的条件求 Y 值 TAN(X)+3.2 (X<0) Y= 1 (X=0) TAN(X+1)+3.2/(TAN(X+1.2)*TAN(X+1.2)+1.4) (1)#include<math.h> (2) (3) int x,y; (4) printf("input x:\n"); (5) scanf("%f",&x); (6) if(x<0) y=tan(x)+3.2; (7) else if(x>0) (X>0) (8) y=tan(x+1)+3.2/(tan(x+1.2)*tan(x+1.2)+1.4); (9) else (10) y=1; (11) printf("x=%f,y=%f\n",x,y); (12) 3. 求两点间的距离和中点坐标 (1)#include<math.h> (2) (3) float x1,x2,y1,y2,x3,y3,dist; (4) printf("input the first point:\n"); (5) scanf("%f%f",&x1,&y1); (6) printf("input the second point:\n"); (7) scanf("%f%f",&x2,&y2); (8) x3=(x1+x2)/2; (9) y3=(y1+y2)/2; (10) dist=sqr(pow(x1 x2,2)+pow(y1 y2,2)); (11) printf("x3=%f,y3=%f,dist=%f\n",x3,y3,dist); (12) 4. 计算本利和的公式是 :P1=P(1+R) N,P 是存款数,R 是年利率,N 是年数,P1 是 N 年后本利和 设 P=1000,R=0.05,N=3, 求三年后的本利和, 取两位小数 科学出版社职教技术出版中心

42 36 C 语言程序设计习题集 (1)#include<math.h> (2) (3) int p=1000,n=3; (4) float r=0.05,p1; (5) p1=p*pow(1+r,n); (6) printf("p1=%7.2d",p1); (7) 5. 判断整数 N 是奇数 (ODD) 还是偶数 (EVEN), 如是奇数打印 ODD, 偶数打印 EVEN (1) (2) int n; (3) scanf(" %d",&n); (4) if(n%2) printf(" EVEN\n"); (5) else printf(" ODD\n"); (6) 五 编程题 1. 从键盘任意输入 3 个数, 输出其中最小值 2. 从键盘输入一个百分制考试成绩, 输出其等级, 其中 :90~100 为 A 级,80~89 为 B 级,70~79 为 C 级,60~69 为 D 级,60 分以下为 E 级 3. 从键盘输入三个数 a b c, 按照由小到大的顺序输出 4. 有如下函数, 从键盘上输入任意一个 x 的值, 输出 y 的值 x+ 6 (x < 0) y= 1 (x=0) 3x 6 (x > 0) 5. 编程求一元二次方程 ax 2 +bx+c=0 的根 参考答案一 单项选择题 1.B 2.B 3.D 4.D 5.B 6.C 7.B 8.D 二 程序阅读题 1.a=2,b=1 2.**0** **2** 3.good pass 4.yes 5.m=2 n=

43 第 4 章选择结构程序设计 有语法错误 三 完善程序题 1.(1) i=x/1000 (2) default 2.(1) "%d",&n (2)!(n%3)&&!(n%7) 或 n%3==0&&n%7==0 3.(1) x<z (2)x<y 4.(1) year%4 (2) rem_400= =0 5.(1) if((a+b>c)&&fabs(a b)<c) (2) p=(a+b+c)/2 四 程序改错题 1. 第 4 行错正确的语句 :scanf("%d",&x); 2. 第 3 行错正确的语句 :float x,y; 3. 第 10 行错正确的语句 :dist=sqrt(pow(x1 x2,2)+pow(y1 y2,2)); 4. 第 6 行错正确的语句 :printf("p1=%7.2f ",p1); 5. 第 4 行错正确的语句 :if(!(n%2)) 或 if((n%2)==0) 五 编程题 1. float a,b,c,min; scanf("%f%f%f",&a,&b,&c); min=a; if(b<min) min=b; if(c<min) min=c; printf("\tmin=%f",min); 2. int a; scanf("%d",&a); switch(a/10) case 10: case 9: printf("a");break; case 8: printf("b");break; case 7: printf("c");break; case 6: printf("d");break; default: printf("e");break; 3. int a,b,c,temp; scanf("%d%d%d",&a,&b,&c); if(a>b) temp=a; a=b; b=temp; 科学出版社职教技术出版中心

44 38 C 语言程序设计习题集 if(a>c) temp=a; a=c; c=temp; if(b>c) temp=b; b=c; c=temp; printf(" %d, %d, %d \n",a,b,c ); 4. float x,y; scanf("%f",&x); if(x<0) y=x+6; else if(x>0) y=3*x 6; else y=1; printf("y=%.2f\n",y); 5.#include <stdio.h> #include <math.h> float a,b,c,d,x1,x2; scanf("%f %f %f",&a,&b,&c); d=b*b 4*a*c; if(d>=0) x1=( b+sqrt(b*b 4*a*c))/(2*a); x2=( b sqrt(b*b 4*a*c))/(2*a); printf("x1=%f,x2=%f\n",x1,x2); else printf(" 无实根!");

45 第 5 章循环结构程序设计 5.1 例题分析 例 1 执行完循环语句 for(i=1;i++<10; ); 后, 变量 i 的值是多少? 循环体被执行了 ( ) 次 A.i 的值是 8, 循环体执行了 9 次 C.i 的值是 10, 循环体执行了 10 次 答案 :D B.i 的值是 9, 循环体执行了 10 次 D.i 的值是 11, 循环体执行了 9 次 解析 :for 语句中表达式 1~3 可以省略, 但格式中的 ; 不能省略 本题的 for 语句中省略了表达式 3, 循环变量的改变放在表达式 2 中, 先判断表达式 i<10, 然后 i++ 当 i=10 时, 比较 i<10( 不满足条件 ) 之后执行 i++, 使 i 的值为 11, 退出循环, 此时循环体被执行了 9 次 (i=1~9 时, 执行循环体 ) 例 2 有以下程序段 : int n, t=1, s=0; scanf("%d ",&n); do s=s+t; t=t 2;while(t!=n); 为使此程序段不至于陷入死循环, 从键盘输入的数据应该是 ( ) A. 任意正奇数 B. 任意负偶数 C. 任意正偶数 D. 任意负奇数 答案 :D 解析 : 此题中 s 是属于迷惑分析者的数据 考虑到 t 的初始值为 1, 每次执行 t=t 2, 都只能使 t 得到负奇数, 则只有令从键盘输入的 n 值为负奇数, 才可能在某个时刻出现 t=n, 循环条件不成立而终止循环 例 3 有以下程序 : int y=10; while(y ) printf("y=%d\n",y); 科学出版社职教技术出版中心 程序执行后的输出结果是 ( ) A.y=0 B.y= 1 C.y=1 D.while 构成无限循环 答案 :B 解析 : 注意这个 while 语句循环体是空语句 ( 注意括号后分号构成的空语句 ), 一直 执行到 y 为 0, 只有当 y=0 的时候执行 y 才为 0, 这个时候退出循环, 但是 y 已经

46 40 C 语言程序设计习题集 是 1 分析此类题目, 可以逐一列出每次循环的循环变量值, 以助选择 例 4 执行下述程序段后, 以下叙述正确的是 ( ) int i; for(i=1; ;i++); printf("%d",i++); A. 输出 1 B. 输出 2 C. 输出 3 D. 死循环 答案 :D 解析 : 本例中 for 循环语句省略了表达式 2, 即认为循环控制条件始终为 真, 循 环体又是一个空语句, 没有 break 语句可以跳出循环, 所以, 循环是一个死循环 例 5 下述循环的循环次数是 ( ) int k=2; while(k=0) printf("%d",k); k ; printf("\n"); A. 无限次 B.0 次 C.l 次 D.2 次答案 :B 解析 : 本题中循环条件一开始就没有被满足, 所以无法进入循环, 选择 B 回答本题需注意表达式 k=0 是赋值表达式而非关系表达式, 不论 k 为何值, 表达式 0 总会使 k 为 0, 且此表达式的值也为 0, 故不能进入循环 解答此类题时只需要牢记 while 循环条件满足才可以执行循环体, 同时审题仔细, 就可以正确解答本类题目了 例 6 下列程序的输出结果是 ( ) int x=0,y=5,z=3; while(z >0&&++x<5)y=y 1; printf("%d,%d,%d\n",x,y,z); A.3,2,0 B.3,2, 1 C.4,3, 1 D. 5, 2, 5 答案 :B 解析 : 在执行 while 循环时, 先执行 z, 并判断条件 z >0, 如果不成立则直接结束循环 ; 如果成立, 则再执行 ++x, 并判断 ++x<5 是否成立, 如果成立则执行循环体语句 过程如下 第一次 :3>0&&1<5, 条件成立, 故 x,y,z 分别为 l,4,2; 第二次 :2>0&&2<5, 条件成立, 故 x,y,z 分别为 2,3,1; 第三次 :1>0&&3<5, 条件成立, 故 x,y,z 分别为 3,2,0; 第四次 : 先执行 z, 再判断条件 z >0, 因条件不成立, 也不执行 ++x 和

47 第 5 章循环结构程序设计 41 y=y 1; 语句, 循环结束, 因此, 输出结果为 3,2, 1 此类型的题, 要特别注意的是出现在循环语句条件表达式中的逻辑运算符 && 它 的运算特点是先判断前半部分, 如果为假, 则已经可以确定整个表达式为假, 不再判断后半部分的真假 ; 如果前半部分为真才会去执行后半部分 与 && 相反的是逻辑运算符, 由 构建的表达式, 在前半部分为假时才会去执行后半部分, 而如果前半部分为真, 则已经可以确立整个表达式为真, 故而不会再去执行后半部分 例 7 以下程序的输出结果是 ( ) #include <stdio.h> int x,i; for(i=1;i<=l00;i++) x =i; if(++x%2 ==0) if(++x%3 ==0) if(++x%7 ==0) printf("%d",x); printf("\n"); A.3981 B.4284 C.2668 D.2870 答案 :D 解析 :for 循环的循环控制变量 i 由 1 变化到 100, 循环体将执行 100 次 每次执行时, 首先把 i 的值赋给 x, 即在循环的过程中,x 的值由 1 变化到 100 接着执行一条嵌套的 if 语句, 在各层的条件表达式中,x 的值先自增 1, 自增后的 x 只有满足指定的条件, 才能执行下层, 直到最内层的 printf 语句 执行最外层 if 语句时 : 若表达式 ++ x%2= =0 的值为 1, 此时 x 必为偶数 ; 执行第二层 if 语句时 : 若表达式 ++ x%3= =0 的值为 1, 则 x 必定是上述偶数加 1 后能被 3 除尽的奇数, 即 3,9,15,21,27,33,39,45,51,57,63,69,75,81, 87,9,99 最内层 if 语句 : 若条件表达式 ++x%7= =0 的值为 1, 此时 x 必定是上述奇数加 l 后能被 7 除尽的偶数, 由以上列出的数中, 可以看到能满足此条件的数只有 28 和 70 例 8 为了输出如下图形, 请在程序的 处填入合适的内容 * * * * * * * * * * * * * * * * * * * * * * * * * 科学出版社职教技术出版中心

48 42 C 语言程序设计习题集 int i, j ; for(i=1;i<6;i++) for(j=1;j<6;j++) (1) ; (2) ; 答案 :(1)printf ( " * " ) (2)printf ( "\n " ) 解析 : 使用循环嵌套 外层循环变量 i 控制输出行数 ( 共 5 行 ), 内层循环变量 j 控制每行输出 * 号的个数, 此外, 还要考虑在每一行输出完后, 光标要换行, 所以, 第一个空处应该填入 printf ( " * " ), 第二个空处应该填入 printf ( " \n " ) 例 9 下面程序的功能是把 316 表示为两个加数的和, 使两个加数分别能被 13 和 11 整除, 请选择填空 #include <stdio.h> int i=0,j,k; doi++;k=316 13*i;while ; j=k/11; printf("316=13*%d+11*%d",i,j); A.k/11 B.k%11 C.k/11= =0 D.k%11= =0 答案 :B 解析 : 本循环结构的特点是 : 直到型循环结构 先执行一次循环体 语句, 再判 断 表达式, 当 表达式 值为非 0, 再执行循环体 语句, 直到 表达式 的值为 0 时停止执行循环体语句 在一般情况下, 用 while 和 do-while 语句解决同一问题时, 若二者的循环体部分是一样的, 它们的结果也一样 但当 while 后面的 表达式 一开始就为 假 时, 两种循环的结果不同 这是因为此时 while 循环的循环体不被执行, 而 do-while 循环的循环体被执行一次 本题的关键是两个加数分别能被 13 和 11 整除, 在 i=0 时, 直接将 316 赋值给 k, 当 k%11 的值为 0 时, 则不必执行循环, 将执行 j=k/11 语句, 输出结果, 所以该表达式合理的条件是 k%11 例 10 以下程序的功能是计算 :s= , 请填空 int t=0, s=0, i; for(i=1; i<=5; i++) t=i+ ; s=s+t;

49 第 5 章循环结构程序设计 43 printf("s=%d\n",s); 答案 :t*10 解析 : 可以写成 1 = 0* =1* =12* =123* =1234*10+5, 按照这种规律, 每一项就可以等于前一项乘以 10 加上循环变量 这属于循环里面比较难的题目, 需要考生找出其数据的内在规律, 并转化成计算机语言表达出来, 基本上是累加和累积两种 例 11 以下程序执行后的输出结果是 ( ) int i,j,x=0; for(i=0;i<2;i++) x++; for(j=0;j<=3;j++) if(j%2) break; x++; x++; printf("x=%d\n",x); A.x=4 B.x=8 C.x=6 D.x=12 答案 :C 解析 : 双重循环中 if(j%2) 中条件成立的时候跳出内层循环体 : 当 j=0 的时候, 执行 一次 x++; 当 j=l 的时候跳出来 也就是说,x++ 在内层循环中只执行了一次, 而又在外 层循环里执行了 2 次, 所以每次双重循环运行了 3 次 x++, 共执行 2 次外循环, 结果 x 等于 6 例 12 下述程序运行后的输出结果是 ( ) int a=l,b; for(b=l;b<=l0;b++) if(a>=8) break; if(a%2==1) a+=5; continue; 科学出版社职教技术出版中心

50 44 C 语言程序设计习题集 a =3; printf("%d\n",b) ; A.3 B.4 C.5 D.6 答案 :B 解析 : 当 a 大于等于 8 的时候, 跳出循环 ; 当 a%2 等于 1(a 是奇数 ) 的时候, 执行 a+=5, 并执行 continue, 跳过 a =3 不执行 ; 否则, 不执行 a+=5, 而是执行 a =3, 分析过程如下 第 1 次循环 :b 值为 1, a 因初始化为 1, 是奇数, 所以执行 a+=5 并且跳出本次循环后面的语句,a 值变为 6; 第 2 次循环 :b=2, 因 a 值为 6, 是偶数, 所以执行 a =3;a 值变为 3; 第 3 次循环 :b=3, 因 a 值是 3, 为奇数, 所以执行 a+=5,a 值变为 8; 第 4 次循环 :b=4, 因 a 值为 8, 满足条件 a>=8, 跳出整个循环,a 保持值为 8 所以程序的最终输出结果为显示 b 的值 4, 选答案 B 对此类题目, 可以将每一次的过程用笔记下, 逐步分析得出结果 例 13 以下叙述正确的是 ( ) A.do-while 语句构成的循环不能用其他语句构成的循环代替 B. 只有 do-while 语句构成的循环才能用 break 语句退出 C. 用 do-while 语句构成循环时, 在 while 后的表达式为零时不一定结束循环 D. 用 do-while 语句构成循环时, 在 while 后的表达式为零时结束循环答案 :D 解析 : 用 do-while 语句构成的循环和 while 语句构成的循环一样, 都是在 while 后的表达式为 0 时结束循环, 非 0 时循环继续 do-while 语句构成的循环可以用其他语句构成的循环来代替 但要注意,for 和 while 语句构成的循环, 循环体是否执行取决于对循环控制条件的设置 ; 而 do-while 构成的循环, 不管循环控制的条件如何设置, 循环体总是要执行一次 无论哪种循环, 都可以用 break 语句退出循环 例 14 设 i 和 x 都是 int 类型, 则 for 循环语句 ( ) for(i=0,x=0;i<=9&&x!=876;i++)scanf("%d",&x); A. 最多执行 10 次 B. 最多执行 9 次 C. 是无限循环 D. 循环体一次也不执行答案 :A 解析 :for 循环的执行次数取决于条件表达式 i<=9&&x!=876 的结果 只有 i<=9 且 x!=876, 循环就将继续执行 结束循环取决于两个条件 :i>9 或者 x=876, 所以至少要执行一次, 且在执行 scanf 语句时从终端输入为 876, 循环终止 如果从终端一直未输入 876, 则每执行一次循环,i 自增 1,i 值的增加使 i>9, 从而结束循环 因此,i 从 0 到 9 共执行 10 次循环后,i 的值变为 10, 不再满足条件, 循环最终也将结束

51 第 5 章循环结构程序设计 45 例 15 在下述程序中, 判断 i>j 共执行了 ( ) 次 #include<stdio.h> int i=0,j=10,k=2,s=0; for(;;) i+=k; if(i>j) printf("%d",s); break; s+=i; A.4 B.7 C.5 D.6 答案 :D 解析 : 本例的循环条件是永真式, 看似无限循环, 但程序中借助 i 累加达到 i>j 进而执行 break 语句终止循环 而判断 i>j 的执行次数, 需分析经过 i+=k 运算如何累计 i 的值 ( 每次累计 i 的值, 都会累计判别 i>j 一次 ),k=2( 执行期间没发生改变 ), 故 i 值分别 , 当 i 的值为 12 时判断 i>j 为真, 程序输出 s 的值并结束, 共判断了 6 次 例 16 以下的程序输出结果是 ( ) int i=0,s=0; do if(i%2) i++;continue; i++; s+=i; while(i<7); printf("%d\n",s); A.16 B.12 C.28 D.21 科学出版社职教技术出版中心 答案 :A 解析 : 本程序计算 0~7 之间所有奇数的和 ( 包括 7) i 初始值为 0, 不满足 do 循环里 if 语句的判断条件, 故不执行 i++;continue;, 而是执行后续的 i++; (i 先自增, 成为 1, 是奇数 ), 再 s+=i; 由于满足 while(i<7) 中的条件, 故返回到循环的开始处执行 if 语句, 这时条件满足, 执行 i++; (i 成为 2, 是偶数 ) continue; ( 跳过后续语句 i++; s+=i; ), 对 while 的条件进行第二次判断 由于奇数时被累加, 而偶数时跳过累加, 又因为是 do-while 循环, 先执行后判断, 故最后一次 i 取值为 7 时也被累加进来,

52 46 C 语言程序设计习题集 实现了 的累加 例 17 以下程序运行后的输出结果是 ( ) int i,m=0,n=0,k=0; for(i=9;i<=11;i++) switch(i/10) case 0: m++;n++;break; case 10: n++;break; default: k++;n++; printf("%d%d%d\n",m,n,k); 答案 :132 解析 : 初次进入循环时,i 的值为 9,i/10 值为 0, 故执行 m++;n++;break; 语句序列,m 值变为 1,n 变为 1 再次执行循环,i 值为 10,i/10 值为 1, 执行 k++;n++; 语句序列,k 值变为 l,n 值变为 2 继续执行循环,i 值为 11,i/10 值为 1, 执行 k++;n++; 语句,k 值变为 2,n 值变为 3 例 18 以下程序的输出结果是 ( ) #include<stdio.h> int i; for(i=1;i<=5;i++) if(i%2) putchar('<'); else continue; putchar('>'); putchar('#'); A.< > < > < > # B.> < > < > < # C.< > < > # D.> < > < # 答案 :A 解析 : 本题考查 continue 语句的基本使用方法 在程序中, 当 i%2 为真时 (i 为奇数 ), 执行输出语句 putchar('<'); 和 putchar('>');, 不执行 continue 语句 执行完 i++ 运算并判断满足循环条件后, 进入下一次循环, 此时 i 是偶数 (i%2 为 0), 不执行输出语句 putchar('<'); 和 putchar('>');, 而是执行 continue 语句, 因而无任何输出 从 1 到 5 共有 3 个奇数, 输出 3 组 < > 后, 最后循环结束, 再执行 putchar('#')

53 第 5 章循环结构程序设计 47 例 19 下述程序的输出结果是 ( ) #include <stdio.h> int k=0,m=0; int i,j; for(i=0;i<2;i++) for(j=0;j<3;j++) k++; k =j; m=i+j; printf("k=%d,m=%d",k,m); A.k =0,m =3 B.k =0,m =5 C.k =1,m =3 D.k =1,m =5 答案 :B 解析 : 本题考查重点为双重循环结构 外层循环执行两次, 过程如下 i=0 时 : 内层循环执行 3 次 (j=0,1,2), 直到 j=3 时终止 由于每次内层循环均使 k 加 1, 故循环结束时 k=3 再执行 k =j;,k=0; i=1 时 : 内层循环仍执行原操作, 使 j=3,k =0 最后, 计算表达式 i++ 后,i 的值为 2, 表达式 i<2 为假, 外层循环结束, 执行 m=i+j=2+3=5 例 20 若下述程序运行时输入的数据是 3.6, 2.4 回车, 则输出结果是 ( ) #include<math.h> #include<stdio.h> float x,y,z; scanf("%f,%f",&x,&y); z=x/y; while(1) if(fabs(z)>1.0) x=y; y=z; z=x/y; else break; priritf("%f ",y); A B C D 科学出版社职教技术出版中心

54 48 C 语言程序设计习题集 答案 :B 解析 : 本例中的循环使用 break 语句作为出口, 且只能通过 break 语句终止 程序中的主要运算是 /, 因为所涉及的数据都是浮点数, 故 / 是普通除法 具体计算步骤如下 : (1)x=3.6,y=2.4,z=1.5 (2)x=2.4,y=1.5,z=1.6 (3)x=1.5,y=1.6,z= 在最后一次的计算中,z=0.9375, 不再满足条件 if 中的条件, 转而执行 else 部分, 跳出循环, 按 %f 格式输出, 此时 y 的值即为 例 21 下述程序的输出结果是 ( ) #include<stdio.h> int i,j,x=0; for(i=0;i<2;i++) x++; for(j=0;j<=3;j++) if(j%2) continue; x++; x++; printf("x=%d",x); A.x=4 B.x=8 C.x=6 D.x =12 答案 :B 解析 : 此题的关键是要清楚嵌套 for 循环的执行步骤及 continue 语句的作用 外层 for 循环共执行两次, 每执行一次外层循环, 内层循环就执行 4 次循环 应当注意的是 : 在执行内层循环过程中, 由于循环体内的 if 语句中有 continue 语句, 因此当 j=1 或 3 时, 循环体中的 x++ 语句将不被执行, 而直接判定是否执行下一轮循环 执行 for 循环时 x 的变化如下 第一次执行外层循环 :i =0 x 增 1(x=1) j=0,x 增 1(x=2) j=2,x 增 1(x=3) x 增 1(x=4) 第二次执行外层循环 :i =1 x 增 1(x=5) j=0,x 增 1(x=6)

55 第 5 章循环结构程序设计 49 j=2,x 增 1(x=7) x 增 1(x=8) 所以, 整个循环执行完后,x 的值为 8 这道题与例 11 的区别在于 break 和 continue 作用不同, 也就有不同的结果 例 22 当执行以下程序段后,i 的值是,j 的值是,k 的值是 int a,b,c,d,i,j,k; a=10; b=c=d=5; i=j=k=0; for(;a>b;++b) i++; while(a>++c) j++; do k++; while(a>d++); 答案 :i=5, j=4, k=6 解析 : 本题包含 3 个独立的 3 种不同结构的循环 每个循环中只包含一个简单的变量 (i,j,k) 自增语句, 且这 3 个变量初值都为 0, 所以这三个变量的作用要以看作是计量各个循环的执行次数 for 循环中,a 的初值是 10,b 的初值是 5, 每循环一次,a 的值不变,b 增 1, 当 a 等于 b 时循环结束 ;b 的值依次为 , 循环执行 5 次, 当 b 的值为 10 时退出循环, 因此 i 的值为 5 while 循环中,a 的初值是 10, 因为控制表达式为 a>++c,c 必须增 1 后再与 a 进行比较,++c 的值依次为 , 循环执行 4 次, 当 ++c 的值为 10 时退出循环, 因此 j 的值为 4 在 do while 循环中,a 的初值是 10, 条件表达式为 a>d++,a 与 d 的值比较后,d 再增 1,d++ 的值依次为 , 当 d++ 的值为 10 时退出循环 ; 但是 do while 循环的特点是在进行循环控制的判断之前, 循环体总是先执行, 后判断, 所以当第五次执行完判断后,d++ 为 9, 而 d 的值为 10, 将再执行一次循环体, 这时再判断 a>d++( 此时 d++ 值为 10), 条件不再成立, 循环终止, 所以 k 的值为 6 例 23 以下程序段的输出结果是 ( ) int k,n,m; n=10; m=l; k=l; while(k<=n) m*=2; printf("%d\n",m); 答案 : 程序段无限循环, 没有输出结果 科学出版社职教技术出版中心 解析 :while 循环的控制表达式 (k<=n) 中,k 和 n 的初值分别是 l 和 10, 但在整个 wlule 循环中, 控制表达式中的变量 k 或 n 中的值都没有在循环过程中有任何变化, 因此, 表达式 k<=n 的值永远为 1, 循环将无限地进行下去 例 24 以下程序段的输出结果是 ( ) int i=0,sum=1; do

56 50 C 语言程序设计习题集 sum+=i++; while(i<5); printf("%d\n",sum); 答案 :11 解析 : 分析 do-while 循环体中的语句 sum+=i++;, 它相当于 sum=sum+i;i++;, 显然这是一个累加运算 ; 变量 sum 的初值为 1,i 的初值为 0, 每循环一次 i 的值增 1 循环中在累加时,i 的值依次为 , 当把 4 加入累加到变量 sum 中之后,i 自增变成 5, 这时不再满足循环条件, 循环终止 而 sum 则是 1 和 的累加之和 例 25 下述程序的运行结果是 ( ) #include<stdio.h> int s=0,k; for(k=7;k>4;k ) switch(k) case 1: case 4: case 7:s++;break; case 2: case 3: case 6:break; case 0: case 5:s+=2;break; printf("s=%d",s); 答案 :s=3 解析 : 本题主要考查 break 在 switch 和 for 中的用法 先看循环, 一共有 3 次,k=7 k =6 和 k=5 当 k=7 时, 执行 s++;break;, 则结束其所在的 switch, 使 s 值为 1; 当 k=6 时,break 直接终止 switch; 当 k=5 时, 执行 s+=2; break;, 终止 switch, 并使 s 值为 3 k=4 时循环终止 值得注意的是, 此题中 break 的用法 当它在循环语句中时, 终止循环的执行, 但若是嵌套在 switch 语句中时, 则其作用是终止 switch, 而不是终止循环, 也就是说它终止的是对象, 是直接包含它的那个循环语句或 switch 语句 例 26 下述程序的输出结果是 ( ) #include<stdio.h>

57 第 5 章循环结构程序设计 51 int a,b; for(a=1,b=1;a<=100;a++) if(b>=20) break; if(b%3==1) b+=3; continue; b =5; printf("%d",a); 答案 :8 解析 : 从 for 语句的条件可以看出本程序中的循环体语句最多要执行 100 次, 但是当 b>=20 时循环就结束了 第一次运算时 b=1,b%3= =1 为真, 计算 b+=3, 因为计算后 b%3= =1 还是为真, 又执行 b+=3 所以程序只是做 b+=3 的累加, 也就是整个执行期间, b 的值会陆续取 , 当 b=22 时满足 if 语句的条件, 执行 break;, 循环结束, 此时 a=8, 所以最后的输出是 8 例 27 下面程序输出结果是 ( ) #include<stdio.h> int a; for(a=0;a<6;a++) if(a%2) printf("%"); else continue: printf("@"); printf("\n"); 答案 :%@%@%@ 科学出版社职教技术出版中心 解析 : 本题考查 3 个知识点, 即 for 循环语句 if 条件分支语句和 continue 语句, 重点在于 continue 语句的理解和应用 continue 语句用于循环语句的循环体中, 它的作用是终止本次循环体的执行, 检查循环条件, 以决定是否开始下一次执行循环体 由 for(a=0;a<6;a++) 可知, 循环体部分将被执行 6 次,a 的值分别为 当 a=0 2 4 时,if 语句后面的表达式 a%2 的值为 0, 则执行 else 部分的 continue, 即什么也没有输出, 只有当 if 语句后面的表达式 a%2 的值为 1( 即 a 为奇数 1 3 5) 时才先后输出 "%" 和 "@", 最后输出结果是由三组 "%@" 构成的字符串 "%@%@%@" 例 28 在下列选项中, 没有构成死循环的是 ( ) A.int i=100;

58 52 C 语言程序设计习题集 while(1) i=i%100+1; if(i>100)break; B.for(; ;); C.int k=10000; dok++;while(k>10000); D.int s=36; while(s) s; 答案 :D 解析 : 选项 A 的循环表达式的条件永久为 1, 并且小于 100 的数与 100 取余不超过 99, 所以在循环体内表达式 i%100+1 的值永远不大于 100,break 语句永远不会执行, 所以是死循环 ; 选项 B 的括号内没有能使循环停下来的变量增量, 是死循环 ; 选项 C 中先执行 k++, 使 k=10001, 从而使循环陷入死循环 5.2 习题及参考答案 习题 一 单项选择题 1. 以下循环体的执行次数是 ( ) #include <stdio.h> int i,j; for(i=0,j=1; i<=j+l; i+=2,j ) printf("%d\n",i); A. 3 B.2 C.1 D.0 2. 有以下程序段 : int k=0; while(k =1)k++; while 循环执行的次数是 ( ) A. 无限次 B. 有语法错, 不能执行 C. 一次也不执行 D. 执行一次 3. 在以下给出的表达式中, 与 while (E) 中的 (E) 不等价的表达式是 ( ) A.(!E= =0) B.(E>0 E<0) C.(E= =0) D.(E!=0) 4. 要求通过 while 循环不断读入字符, 当读入字母 N 时结束 若变量已正确定义, 以下正确的程序段是 ( ) A.while((ch=getchar( ))!='N') printf("%c",ch);

59 第 5 章循环结构程序设计 53 B.while(ch=getchar( )!='N') printf("%c",ch); C.while(ch=getchar( )= ='N') printf("%c",ch); D.while((ch=getchar( ))= ='N') printf("%c",ch); 5. 如下程序段的输出结果是 ( ) #include <stdio.h> int n=9; while(n>6)n ;printf("%d",n); A.987 B.876 C.8765 D 以下程序中,while 循环的循环次数是 ( ) #include <stdio.h> int i=0; while(i<10) if(i<1)continue; if(i==5)break; i++; A.1 B.10 C.6 D. 死循环, 不能确定次数 7. 有以下程序段 : int n=0,p; do scanf("%d",&p); n++; while(p!=12345&&n<3); 此处 do-while 循环的结束条件是 ( ) A.p 的值不等于 且 n 的值小于 3 B.p 的值等于 并且 n 的值大于等于 3 C.p 的值不等于 或 n 的值小于 3 D.p 的值等于 或 n 的值大于等于 3 8. 语句 while(!e); 中的条件!E 等价于 ( ) A.E= =0 B.E! =l C.E! =0 D.~E 9. 对下述 for 循环的判断是 ( ) for(x=0,y=0;(y!=123)&&(x<4);x++) ; A. 是无限循环 B. 循环次数不定 C. 循环执行 4 次 D. 循环执行 3 次 10. 设变量已正确定义, 则以下能正确计算 f=n! 的程序段是 ( ) A.f=0; for(i=1;i<=n;i++) f*=i; 科学出版社职教技术出版中心

60 54 C 语言程序设计习题集 B.f=1; for(i=1;i<n;i++) f*=i; C.f=1; for(i=n;i>=1;i++) f*=i; D.f=1; for(i=n;i>=2;i ) f*=i; 11. 下述 for 循环语句 ( ) int i,k; for(i=0,k= l;k=1;i++,k++) printf("* * *"); A. 判断循环结束的条件非法 B. 是无限循环 C. 只循环一次 D. 一次也不循环 12. 以下程序执行后的输出结果是 ( ) int y=100; while(y ) printf("y=%d\n",y); A.y=0 B.y= l C.y=1 D.while 构成无限循环 13. 在 C 语言中与语句 while(1); 等价的 for 语句是 ( ) A.for(1) B.for(; ; ); C.for(; 0 ; ) D.for( ) 14. 设有 int a,b,x;, 则 for(a=0,b=0;b= 1&&a<3;a++)x=a+b; 的循环体执行的次数为 ( ) A.3 B.0 C. 无限次 D 设 i j k 均为 int 型变量, 则执行完成以下 for 语句后,k 的值是 ( ) for(i=k=0,j=10;i<=j;i++,j ) k=i+j; A.20 B.5 C.10 D 下面程序的运行结果是 ( ) int x=23; do printf("%d",x ); while(!x); A.321 B.23 C. 陷入死循环 D. 不输出任何内容 17. 以下程序输出的结果是 ( ) int x=4; int i, sum; do printf("%2d", x =2); while( x);

61 第 5 章循环结构程序设计 55 A.2 B.4 0 C.2 1 D. 死循环 18. 以下程序输出的结果是 ( ) main () int i,sum; for(i=0;i<=5;i++) sum+=i ; A.15 B.14 C. 不确定 D 运行以下程序时, 输入数据 :abcdabc<cr>, 输出为 ( ) #include "stdio.h " int a1=0,a2=0,a3=0; char c; while((c=getchar())!='\n') switch (c) case 'a': a1++; case 'b': a2++; default : a3++; printf("%d,%d,%d",a1,a2,a3); A.2,4,7 B.2,2,1 C.2,4,1 D.2,2,7 20. 对循环语句 :for( 表达式 1; 表达式 2; 表达式 3) 语句, 以下叙述正确的是 ( ) A.for 语句中的三个表达式一个都不能少 B.for 语句中的循环体至少要被执行一次 C.for 语句中的循环体可以是一个复合语句 D.for 语句只能用于循环次数已经确定的情况 21.C 语言的跳转语句中, 对于 break 和 continue 说法正确的是 ( ) A.break 语句只应用在循环体中 B.continue 语句只应用在循环体中 C.break 是无条件跳转语句,continue 不是 D.break 和 continue 的跳转范围不够明确, 容易产生问题 22.for(int x=0, y=0;!x&&y<=5; y++) 语句执行循环的次数是 ( ) A.0 B.5 C.6 D. 无数次 23. 执行以下程序时若输入 1259, 则输出结果为 ( ) #include"stdio.h" int n1,n2; scanf("%d",&n2); while(n2!=0) 科学出版社职教技术出版中心

62 56 C 语言程序设计习题集 n1=n2%10; n2=n2/10; printf("%d",n1); A.1259 B.9521 C.1 D 下列说法正确的是 ( ) A. 不能使用 do-while 语句构成循环 B.do-while 语句构成的循环必须用 break 语句才能退出 C.do-while 语句构成的循环, 当 while 语句中的表达式值为非零时结束循环 D.do-while 语句构成的循环, 当 while 语句中的表达式值为零时结束循环 25. 以下程序的输出结果是 ( ) int a=0,i; for(i=0;i<5;i++) switch(i) case 0: case 3:a+=2 ; case 1: case 2:a+=3; default:a+=5; printf("%d\n",a) ; A.41 B.13 C.10 D 设 j 为 int 型变量, 则下面 for 循环语句的执行结果是 ( ) for(j=10;j>3;j ) if(j%3) j ; j ; j ; printf("%d",j); A.3 B.4 C.5 D 设 x 和 y 均为 int 型变量, 则执行下面的循环后,y 值为 ( ) for(y=1,x=1;y<=50)

63 第 5 章循环结构程序设计 57 if (x=10) break; if(x%2==1) x=5; continue; x =3; A.1 B.4 C.6 D 有以下程序 : int x,i; for(i=1;i<=50;i++) x=i; if(x%2==0) if(x%3==0) if(x%7==0) printf("%d",i); 输出结果是 ( ) A.28 B.27 C.42 D 以下程序的输出结果是 ( ) #include <stdio.h> int num = 0; while(num<=2) num ++,printf("% d\n",num) ; A. 1 B. 1 C. 1 D 以下程序的输出结果是 ( ) #include<stdio.h> int i=0,a=0; while(i<20) for(;;) 科学出版社职教技术出版中心

64 58 C 语言程序设计习题集 if((i%10)==0)break; else i ; i+=11;a+=i; printf("%d\n",a); A.21 B.32 C.33 D 以下程序运行后的输出结果是 ( ) int j=0,k=0,a=0; while(j<2) j++; a++; k=0; while(k<=3) k++; if(k%2!=0) continue; a++; a++; printf("%d\n",a); A.4 B.5 C.6 D 以下程序实现按顺序读入 10 名学生 4 门课程的成绩, 计算每位学生的平均分并输出 #include <stdio.h> int n,k; float score,sum,ave; sum=0.0; for(n=1; n<=10; n++) for(k=1;k<=4;k++) scanf( "%f ",&score); sum+=score; ave=sum/4.0; printf("no%d:%f\n",n,ave);

Generated by Unregistered Batch DOC TO PDF Converter , please register! 浙江大学 C 程序设计及实验 试题卷 学年春季学期考试时间 : 2003 年 6 月 20 日上午 8:3

Generated by Unregistered Batch DOC TO PDF Converter , please register! 浙江大学 C 程序设计及实验 试题卷 学年春季学期考试时间 : 2003 年 6 月 20 日上午 8:3 浙江大学 C 程序设计及实验 试题卷 2002-2003 学年春季学期考试时间 : 2003 年 6 月 20 日上午 8:30-10:30 注意 : 答题内容必须写在答题卷上, 写在本试题卷上无效 一. 单项选择题 ( 每题 1 分, 共 10 分 ) 1. 下列运算符中, 优先级最低的是 A.

More information

期中考试试题讲解

期中考试试题讲解 一 选择题 ( 一 ) 1. 结构化程序设计所规定的三种基本结构是 C A 主程序 子程序 函数 B 树形 网形 环形 C 顺序 选择 循环 D 输入 处理 输出 2. 下列关于 C 语言的叙述错误的是 A A 对大小写不敏感 B 不同类型的变量可以在一个表达式中 C main 函数可以写在程序文件的任何位置 D 同一个运算符号在不同的场合可以有不同的含义 3. 以下合法的实型常数是 C A.E4

More information

网C试题(08上).doc

网C试题(08上).doc 学习中心 姓名 学号 西安电子科技大学网络与继续教育学院 高级语言程序设计 (C) 全真试题 ( 闭卷 90 分钟 ) 题号一二三总分 题分 60 20 20 得分 一 单项选择题 ( 每小题 3 分, 共 60 分 ) 1.C 语言程序的基本单位是 A) 程序行 B) 语句 C) 函数 D) 字符 2. 下列四组选项中, 均是不合法的用户标识符的选项是 A)A B)getc C)include D)while

More information

<4D F736F F D205A572D2D A1AAA1AAD4ACE7F42D43D3EFD1D4CAB5D1B5BDCCB3CC2E646F6378>

<4D F736F F D205A572D2D A1AAA1AAD4ACE7F42D43D3EFD1D4CAB5D1B5BDCCB3CC2E646F6378> 第 1 部分 Visual Studio 6.0 开发环境介绍 本书以 Visual C++ 6.0 作为 C 源程序的实践开发环境, 本章将首先介绍 Visual C++ 6.0 环境的基本操作, 包括 Visual C++ 6.0 的安装和启动,C 源程序的编辑 运行与调试 1.1 安装与启动 Visual C++ 6.0 MSDN Visual C++ 6.0 1.1 Microsoft Visual

More information

第一章三角函数 1.3 三角函数的诱导公式 A 组 ( ) 一 选择题 : 共 6 小题 1 ( 易诱导公式 ) 若 A B C 分别为 ABC 的内角, 则下列关系中正确的是 A. sin( A B) sin C C. tan( A B) tan C 2 ( 中诱导公式 ) ( ) B. cos(

第一章三角函数 1.3 三角函数的诱导公式 A 组 ( ) 一 选择题 : 共 6 小题 1 ( 易诱导公式 ) 若 A B C 分别为 ABC 的内角, 则下列关系中正确的是 A. sin( A B) sin C C. tan( A B) tan C 2 ( 中诱导公式 ) ( ) B. cos( 第一章三角函数 1. 三角函数的诱导公式 A 组 一 选择题 : 共 6 小题 1 ( 易诱导公式 ) 若 A B C 分别为 ABC 的内角 则下列关系中正确的是 A. sin( A B) sin C C. tan( A B) tan C ( 中诱导公式 ) B. cos( B C) cos A D. sin( B C) sin A sin60 cos( ) sin( 0 )cos( 70 ) 的值等于

More information

林子雨《C语言程序设计》讲义PPT

林子雨《C语言程序设计》讲义PPT C 语言程序设计 厦门大学计算机科学系 2013/3/19 林子雨 ziyulin@xmu.edu.cn 2013/3/19 厦门大学非计算机专业本科生公共课 (2012-2013 第 2 学期 ) C 语言程序设计 第 4 章选择结构林子雨 厦门大学计算机科学系 E-mail: ziyulin@xmu.edu.cn 个人主页 :http://www.cs.xmu.edu.cn/linziyu 课程提要

More information

FJXBQ

FJXBQ 高等医学院校选用教材 ( 供成人教育中医药专业 中西医结合专业使用 ) 方剂学 闫润红 主编 2 0 0 1 内容简介本书是供成人教育中医药专业 中西医结合专业使用的教材 全书分总论和各论两部分, 总论部分对中医方剂的基本理论, 如治法 君臣佐使 剂型 剂量等及其现代研究进展进行了介绍 各论部分对常用方剂的主治病证 配伍意义 临床应用 加减变化规律及现代研究概况等内容, 按分类进行了系统阐述 在保证方剂学学科知识结构完整性的前提下,

More information

1 2 / 3 1 A (2-1) (2-2) A4 6 A4 7 A4 8 A4 9 A ( () 4 A4, A4 7 ) 1 (2-1) (2-2) ()

1 2 / 3 1 A (2-1) (2-2) A4 6 A4 7 A4 8 A4 9 A ( () 4 A4, A4 7 ) 1 (2-1) (2-2) () (39mm E-Mail ( )( ), : : 1 1 ( ) 2 2 ( ) 29mm) WSK ( 1 2 / 3 1 A4 2 1 3 (2-1) 2-1 4 (2-2) 2-2 5 A4 6 A4 7 A4 8 A4 9 A4 10 11 ( () 4 A4, 5 6 7 8 A4 7 ) 1 (2-1) (2-2) () 1 2 (2-1) 3 (2-2) 4 5 6 7 (8 ) 9

More information

zyk00168ZW.PDF

zyk00168ZW.PDF () 0 4 5 (km).5 4 5.5 7 8.5 () 0 4 5 (km) 4 4.5 5 5.5 6 6.5 y5x. y0. 5x4 x y 9 5x y x y 9 5x y x x 6 x y. 55 y5x. y0. 5x4 x 0 x x y y y 5 x x x 4 y y y 5 () x y () y x x 4y 0 4x y x 0 0.4 y 0.5 0 5x y

More information

4 / ( / / 5 / / ( / 6 ( / / 7 1 2 / 3 ( 4 ( 2003 8 ( 2

4 / ( / / 5 / / ( / 6 ( / / 7 1 2 / 3 ( 4 ( 2003 8 ( 2 : / ( 6 (2003 8 : ( 1 ( ( / / (,, ( ( - ( - (39mm 29mm 2 ( 1 2 3-6 3 6-24 6-48 12-24 8-12 WSK / WSK WSK 1 4 / ( / / 5 / / ( / 6 ( / / 7 1 2 / 3 ( 4 ( 2003 8 ( 2 9 5 ( 10 3 11 / (600 4 5 AA 710 AB 720 730

More information

( CIP).:,3.7 ISBN TB CIP (3) ( ) ISBN O78 : 3.

( CIP).:,3.7 ISBN TB CIP (3) ( ) ISBN O78 : 3. ( CIP).:,3.7 ISBN 7 568 383 3.......... TB CIP (3) 334 3 37 ( ) 64536 www.hdlgpress.com.c 7879 6 9.75 479 3 7 3 7 45 ISBN 7 568 383 3O78 : 3. 995,.,.,.,. :,,,,.. :,,,,,,.,,,,.,,. ,,.,,,.,,,.,,,,.,.,,,

More information

《C语言程序设计》教材习题参考答案

《C语言程序设计》教材习题参考答案 教材名称 : C 语言程序设计 ( 第 1 版 ) 黄保和 江弋编著清华大学出版社 ISBN: 978-7-302-13599-9, 红色封面答案制作时间 :2011 年 2 月 -5 月一 选择题 1. 设有程序段 int k=10;while(k=0)k=k-1;, 则下面叙述正确的是 D 循环体语句一次也不执行 2. 设有程序段 int x=0,s=0;while(!x!=0)s+=++x;printf(

More information

:,,,, ( CIP ) /,. :, ISBN CIP ( 2001) : : 127, : : : ht t p: / / www. nwpup. com : :

:,,,, ( CIP ) /,. :, ISBN CIP ( 2001) : : 127, : : : ht t p: / / www. nwpup. com : : :,,,, ( CIP ) /,. :, 2001. 8 ISBN 7 5612 1363 8............. 0342 CIP ( 2001) 027392 : : 127, : 710072 : 029-8493844 : ht t p: / / www. nwpup. com : : 787mm1 092mm : 19. 75 : 480 : 2001 8 1 2001 8 1 :

More information

2015年计算机二级(C语言)模拟试题及答案(四)

2015年计算机二级(C语言)模拟试题及答案(四) 2015 年计算机二级 (C 语言 ) 模拟试题及答案 (4) 一 填空题 1 C 语言中基本的数据类型有 : 2 C 语言中普通整型变量的类型说明符为, 在内存中占 字节, 有符号普通整型的数据范围是 3 整数-35 在机内的补码表示为 4 执行下列语句 int a=8;a+=a-=a*a; 后,a 的值是 5 有如下语句:charA[ ]={ I am a student }; 该字符串的长度是,A[3]=

More information

科学出版社职教技术出版中心 www.aboo 科学出版社职教技术出版中心 www.aboo 科学出版社职教技术出版中心 www.aboo 科学出版社职教技术出版中心 www.aboo 科学出版社职教技术出版中心 www.aboo 科学出版社职教技术出版中心 www.aboo 科学出版社职教技术出版中心 www.aboo 科学出版社职教技术出版中心 www.aboo 科学出版社职教技术出版中心

More information

科学出版社职教技术出版中心 www.aboo 科学出版社职教技术出版中心 www.aboo 科学出版社职教技术出版中心 www.aboo 科学出版社职教技术出版中心 www.aboo 科学出版社职教技术出版中心 www.aboo 科学出版社职教技术出版中心 www.aboo 科学出版社职教技术出版中心 www.aboo 科学出版社职教技术出版中心 www.aboo 科学出版社职教技术出版中心

More information

科学出版社职教技术出版中心 www.aboo 科学出版社职教技术出版中心 www.aboo 科学出版社职教技术出版中心 www.aboo 科学出版社职教技术出版中心 www.aboo 科学出版社职教技术出版中心 www.aboo 科学出版社职教技术出版中心 www.aboo 科学出版社职教技术出版中心 www.aboo 科学出版社职教技术出版中心 www.aboo 科学出版社职教技术出版中心

More information

科学出版社职教技术出版中心 www.aboo 科学出版社职教技术出版中心 www.aboo 科学出版社职教技术出版中心 www.aboo 科学出版社职教技术出版中心 www.aboo 科学出版社职教技术出版中心 www.aboo 科学出版社职教技术出版中心 www.aboo 科学出版社职教技术出版中心 www.aboo 科学出版社职教技术出版中心 www.aboo 科学出版社职教技术出版中心

More information

( ) Wuhan University

( ) Wuhan University Email: huangzh@whueducn, 47 Wuhan Univesity i L A TEX,, : http://affwhueducn/huangzh/ 8 4 49 7 ii : : 4 ; 8 a b c ; a b c 4 4 8 a b c b c a ; c a b x y x + y y x + y x x + y x y 4 + + 8 8 4 4 + 8 + 6 4

More information

《C语言程序设计》教材习题参考答案

《C语言程序设计》教材习题参考答案 教材名称 : C 语言程序设计 ( 第 1 版 ) 黄保和 江弋编著清华大学出版社 ISBN:978-7-302-13599-9, 红色封面 答案制作时间 :2011 年 2 月 -5 月 一 选择题 1. 设已定义 int a, * p, 下列赋值表达式中正确的是 :C)p=&a 2. 设已定义 int x,*p=&x;, 则下列表达式中错误的是 :B)&*x 3. 若已定义 int a=1,*b=&a;,

More information

校园之星

校园之星 I V X V L C D M n n n X X X M M VI X X DC IV IX XL C D X V I I X V D CLXV I V X XCIX C X IC C I X X quatre vingt quatre vingt dix thousand million billion p M sinl sinl e x ii xii a ba bi MI sinl

More information

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1 C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 月 3 日 1 1 INPUTOUTPUT 1 InputOutput 题目描述 用 cin 输入你的姓名 ( 没有空格 ) 和年龄 ( 整数 ), 并用 cout 输出 输入输出符合以下范例 输入 master 999 输出 I am master, 999 years old. 注意 "," 后面有一个空格,"." 结束,

More information

Ps22Pdf

Ps22Pdf ) ,,, :,,,,,,, ( CIP) /. :, 2001. 9 ISBN 7-5624-2368-7.......... TU311 CIP ( 2001) 061075 ( ) : : : : * : : 174 ( A ) : 400030 : ( 023) 65102378 65105781 : ( 023) 65103686 65105565 : http: / / www. cqup.

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 4.4.1 逻辑运算符及其优先次序 3 种逻辑运算符 : &&( 逻辑与 ) ( 逻辑或 )!( 逻辑非 ) && 和 是双目 ( 元 ) 运算符! 是一目 ( 元 ) 运算符 逻辑表达式 用逻辑运算符将关系表达式或其他逻辑量连接起来的式子 4.4.1 逻辑运算符及其优先次序 判断年龄在 13 至 17 岁之内? age>=13 && age

More information

zt

zt 1 X X ( 1 ) ( ) ( 5 ) (10) (11) (12) (1) (14) X (17) (20) (21) (26) (29) (2) (5) (8) (40) (42) (44) (48) 2 X (50) (54) (55) () (57) () (59) () (60) (62) X (65) (67) (69) (70) (7) (76) () (79) () (80) (81)

More information

Ps22Pdf

Ps22Pdf 1, : ( ),?, :,,,, ( ), 1 180,, ( ) 1 1,, 2 180 ;,, 3 180 ;, n ( n - 2 ),, ( n - 2) 180 1 1, : ( ),.,, 2, (, ) 1 , 3 x + y = 14, 2 x - y = 6 : 1 ( ) : + 5 x = 20, x = 4 x = 4 y = 2, x = 4, y = 2 2 ( ) :

More information

林子雨《C语言程序设计》讲义PPT

林子雨《C语言程序设计》讲义PPT C 语言程序设计 厦门大学计算机科学系 2012-03-18 林子雨 ziyulin@xmu.edu.cn 2012-03-18 厦门大学非计算机专业本科生公共课 (2011-2012 第 2 学期 ) C 语言程序设计 林子雨厦门大学计算机科学系 E-mail: ziyulin@xmu.edu.cn 个人主页 :http://www.cs.xmu.edu.cn/linziyu 课程提要 第一章绪论

More information

《C语言程序设计》第2版教材习题参考答案

《C语言程序设计》第2版教材习题参考答案 教材 C 语言程序设计 ( 第 2 版 ) 清华大学出版社, 黄保和, 江弋编著 2011 年 10 月第二版 ISBN:978-7-302-26972-4 售价 :35 元 答案版本 本习题答案为 2012 年 2 月修订版本 一 选择题 1. 设已定义 int a, * p, 下列赋值表达式中正确的是 :C)p = &a A. *p = *a B. p = *a C.p = &a D. *p =

More information

download.kaoyan.com_2006ÄêÌì½ò¹¤Òµ´óѧ¸ß¼¶ÓïÑÔ³ÌÐòÉè¼Æ£¨409£©¿¼ÑÐÊÔÌâ

download.kaoyan.com_2006ÄêÌì½ò¹¤Òµ´óѧ¸ß¼¶ÓïÑÔ³ÌÐòÉè¼Æ£¨409£©¿¼ÑÐÊÔÌâ 考生注意 : 本试卷共七大题, 满分 150 分 考试时间为 3 小时 ; 所有答案均写在答题纸上 ( 注明题号 ), 在此答题一律无效无效 一 选择题 ( 本题共 20 小题, 每小题 2 分, 满分 40 分 ) 1 char ch 1 2 A 0

More information

林子雨《C语言程序设计》讲义PPT

林子雨《C语言程序设计》讲义PPT C 语言程序设计 厦门大学计算机科学系 2013/3/26 林子雨 ziyulin@xmu.edu.cn 2013/3/26 厦门大学非计算机专业本科生公共课 (2012-2013 第 2 学期 ) C 语言程序设计 林子雨厦门大学计算机科学系 E-mail: ziyulin@xmu.edu.cn 个人主页 :http://www.cs.xmu.edu.cn/linziyu 课程提要 第一章绪论 第二章

More information

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP: ******************* * 关于 Java 测试试题 ******

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP:  ******************* * 关于 Java 测试试题 ****** ******************* * 关于 Java 测试试题 ******************* 問 1 运行下面的程序, 选出一个正确的运行结果 public class Sample { public static void main(string[] args) { int[] test = { 1, 2, 3, 4, 5 ; for(int i = 1 ; i System.out.print(test[i]);

More information

没有幻灯片标题

没有幻灯片标题 第 2 章 C 语言的基本数据类型与表达 式 2. 1 C 语言的语法基础 2. 2 C 语言的基本数据类型 2. 3 常量和变量 2. 4 运算符与表达式 2. 5 数据类型转换 用 第 2 章 C 语言的基本数据类型与表达 2.1 C 语言的语法基础 2. 1. 1 C 语言字符集 式 C 语言的基本符号可分 4 个类, 归纳如下 : (1) 英文字母 : 大小写各 26 个, 共计 52 个

More information

( ) : ( ) (CIP) /.. :,003. () ISBN O4 44 CIP (00) : : 7 : 7007 : (09 ) : : :850 mm 68 mm / 3 :0.5 :60 :00 0

( ) : ( ) (CIP) /.. :,003. () ISBN O4 44 CIP (00) : : 7 : 7007 : (09 ) :   : :850 mm 68 mm / 3 :0.5 :60 :00 0 ( ) ( ) : ( ) (CIP) /.. :,003. () ISBN 7 56 448 0.... O4 44 CIP (00) 007344 : : 7 : 7007 : (09 )8493844 : www.nwpup.com : :850 mm 68 mm / 3 :0.5 :60 :00 003 3 :0 006 000 :3: 00 00, ( ),,,,,,,, 003 8 (

More information

科学出版社职教技术出版中心 科学出版社职教技术出版中心 科学出版社职教技术出版中心 科学出版社职教技术出版中心 科学出版社职教技术出版中心 科学出版社职教技术出版中心 科学出版社职教技术出版中心 科学出版社职教技术出版中心 科学出版社职教技术出版中心 科学出版社职教技术出版中心 科学出版社职教技术出版中心 科学出版社职教技术出版中心 科学出版社职教技术出版中心 科学出版社职教技术出版中心

More information

科学出版社职教技术出版中心 科学出版社职教技术出版中心 科学出版社职教技术出版中心 科学出版社职教技术出版中心 科学出版社职教技术出版中心 科学出版社职教技术出版中心 科学出版社职教技术出版中心 科学出版社职教技术出版中心 科学出版社职教技术出版中心 科学出版社职教技术出版中心 科学出版社职教技术出版中心 科学出版社职教技术出版中心 科学出版社职教技术出版中心 科学出版社职教技术出版中心

More information

科学出版社职教技术出版中心 科学出版社职教技术出版中心 科学出版社职教技术出版中心 科学出版社职教技术出版中心 科学出版社职教技术出版中心 科学出版社职教技术出版中心 科学出版社职教技术出版中心 科学出版社职教技术出版中心 科学出版社职教技术出版中心 科学出版社职教技术出版中心 科学出版社职教技术出版中心 科学出版社职教技术出版中心 科学出版社职教技术出版中心 科学出版社职教技术出版中心

More information

林子雨《C语言程序设计》讲义PPT

林子雨《C语言程序设计》讲义PPT C 语言程序设计 厦门大学计算机科学系 2012-02-26 林子雨 ziyulin@xmu.edu.cn 2012-02-26 厦门大学非计算机专业本科生公共课 (2011-2012 第 2 学期 ) C 语言程序设计 林子雨厦门大学计算机科学系 E-mail: ziyulin@xmu.edu.cn 个人主页 :http://www.cs.xmu.edu.cn/linziyu 课程提要 第一章绪论

More information

<4D F736F F F696E74202D BDE1B9B9BBAFB3CCD0F2C9E8BCC D20D1ADBBB7>

<4D F736F F F696E74202D BDE1B9B9BBAFB3CCD0F2C9E8BCC D20D1ADBBB7> 能源与动力工程学院 结构化编程 结构化程序设计 循环 循环结构 确定性循环 非确定性循环 I=1 sum=sum+i I = I +1 陈 斌 I>100 Yes No 目录 求和 :1+2+3++100 第四节循环的应用 PROGRAM GAUSS INTEGER I, SUM 计数器 SUM = 0 DO I = 1, 100, 1 SUM = SUM + I print*, I, SUM DO

More information

a( a 0) a a( a 0) a = a ( a) = a a( a 0 ) a = a( a ) 0 a = a 4 f x 1 = x a ai a R sinx + a b ab sin x sinx = sinx sin x = 4 y = sinx + sinx - ysinx 4 = 0 sinx sinx x - 3 3= x x- 3 - x- 3 = 0

More information

数 学 高 分 的 展 望 一 管 理 类 联 考 分 析 第 一 篇 大 纲 解 析 篇 编 写 : 孙 华 明 1 综 合 能 力 考 试 时 间 :014 年 1 月 4 日 上 午 8:30~11:30 分 值 分 配 : 数 学 :75 分 逻 辑 :60 分 作 文 :65 分 ; 总

数 学 高 分 的 展 望 一 管 理 类 联 考 分 析 第 一 篇 大 纲 解 析 篇 编 写 : 孙 华 明 1 综 合 能 力 考 试 时 间 :014 年 1 月 4 日 上 午 8:30~11:30 分 值 分 配 : 数 学 :75 分 逻 辑 :60 分 作 文 :65 分 ; 总 目 录 数 学 高 分 的 展 望... 1 第 一 篇 大 纲 解 析 篇... 1 一 管 理 类 联 考 分 析... 1 二 最 新 大 纲 解 析... 1 三 考 前 复 习 资 料 及 方 法... 第 二 篇 总 结 篇... 4 1 应 用 题 考 点 总 结 与 技 巧 归 纳... 4 代 数 模 块 题 型 归 纳 及 考 点 总 结... 9 3 数 列 模 块 题 型 归

More information

996,,,,,,, 997 7, 40 ; 998 4,,, 6, 8, 3, 5, ( ),, 3,,, ;, ;,,,,,,,,,

996,,,,,,, 997 7, 40 ; 998 4,,, 6, 8, 3, 5, ( ),, 3,,, ;, ;,,,,,,,,, ,, AB,, ( CIP) /, 000 ( /, ) ISBN 704009448 F47 CIP ( 000) 86786 55 00009 0064054588 ht tp www hep edu cn ht tp www hep com cn 006404048 787960/ 6 05 370 000 730,, 996,,,,,,, 997 7, 40 ; 998 4,,, 6, 8,

More information

封面

封面 高 中 数 学 教 师 备 课 联 盟 ( 群 刊 ) 4503 卷 首 语 教 师 要 做 师, 不 要 做 匠 叶 澜 创 新 现 在 是 一 个 非 常 流 行 的 名 词, 什 么 人 都 可 以 说, 哪 里 都 在 这 么 说. 对 于 教 育 来 讲, 创 新 创 造 创 生, 其 实 都 跟 人 的 生 命 有 关. 人 作 为 一 个 生 命 体, 要 生 存, 要 发 展, 就

More information

《计算概论》课程 第十九讲 C 程序设计语言应用

《计算概论》课程 第十九讲  C 程序设计语言应用 计算概论 A 程序设计部分 字符数组与字符串 李戈 北京大学信息科学技术学院软件研究所 lige@sei.pku.edu.cn 字符数组的定义 #include int main() char a[10] = 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j' ; for (int i = 0; i < 10; i++) cout

More information

2001年(下)局域网技术与组网工程试卷答案

2001年(下)局域网技术与组网工程试卷答案 二 一年上半年全国高等教育自学考试计算机基础与程序设计试卷 一 单项选择题 ( 本大题共 20 小题, 每小题 1 分, 共 20 分 ) 在每小题列出的四个选项中只有一个选项是符合题目要求的, 请将正确选项前的字母填在题后的括号内 1.I/O 设备指的是计算机的 ( ) A 存储设备 B 输入和输出设备 C 控制器 D 运算器 2. 具有只读功能的内存储器是指 ( ) A ROM B RAM C

More information

zyk00207zw.PDF

zyk00207zw.PDF 0 5 60 ()0 () () 5 (4) 60 (5) 64 (6) S (7) N (8)0 (9) (0)0 x 0 a 0 AB CD 5 ab a b 4 ()a b ()x y () ab ()x y ()a b () a ()ab a b (4)a b () a b () 0 b () a 5 (4) ab 6 x () 4 () () 0 (4) 5 4 (a b) a a b a

More information

80 , 1993 45 000, 17, 70,160,,, :,, ;,,,,,,,,,, 2004 80,,,,2004 80 2004 80 2004, :,,,,, 2004,,,,, 2004 80, 1 ,,,,, : yqingg@hotmail.com 2004 80 2004 5 2 1 1 1 2004 2 8 2004 ( 2004 ) 12 13 13 13 14 14

More information

内容简介 本书是 程序设计基础 C 语言 ( 杨莉 刘鸿翔主编, 科学出版社出版 ) 的配套教学用书 全书共分 9 章, 前 8 章包括程序设计概述, 基本数据类型 运算符与表达式, 程序结构, 数组, 指针, 其他数据类型, 函数以及文件, 针对各章节中的重点和难点知识, 每个章节都配有上机实训项

内容简介 本书是 程序设计基础 C 语言 ( 杨莉 刘鸿翔主编, 科学出版社出版 ) 的配套教学用书 全书共分 9 章, 前 8 章包括程序设计概述, 基本数据类型 运算符与表达式, 程序结构, 数组, 指针, 其他数据类型, 函数以及文件, 针对各章节中的重点和难点知识, 每个章节都配有上机实训项 普通高等教育 十二五 规划教材计算机系列中国科学院教材建设专家委员会 十二五 规划教材 程序设计基础实训指导教程 C 语言 杨莉龚义建主编王芳邓芳副主编 1 宋婉娟杨宜波 北 京 内容简介 本书是 程序设计基础 C 语言 ( 杨莉 刘鸿翔主编, 科学出版社出版 ) 的配套教学用书 全书共分 9 章, 前 8 章包括程序设计概述, 基本数据类型 运算符与表达式, 程序结构, 数组, 指针, 其他数据类型,

More information

b1²Ä¤@³¹¼Æ»P§¤¼Ð¨t

b1²Ä¤@³¹¼Æ»P§¤¼Ð¨t 第 一 章 數 與 坐 標 系 大 學 聯 考 試 題 與 推 薦 甄 選 試 題 第 一 類 大 學 入 學 甄 試 試 題 評 量 1. 下 列 何 者 是 2 100 除 以 10 的 餘 數? (1) 0 (2) 2 (3) 4 (4) 6 (5) 8 88 年 2. 一 個 正 三 角 形 的 面 積 為 36, 今 截 去 三 個 角 ( 如 右 圖 ), 使 成 為 正 六 邊 形,

More information

: : : ( CIP ) : ( ) /. :, ISBN :. G7. 4 CIP ( 00 ) 005 : : ( ) : : ( 0 : 0004) : : : / 6 : 7 ( ) : 408 () : 00

: : : ( CIP ) : ( ) /. :, ISBN :. G7. 4 CIP ( 00 ) 005 : : ( ) : : ( 0 : 0004) : : : / 6 : 7 ( ) : 408 () : 00 () ( ) ( : ) : : : ( CIP ) : ( ) /. :, 00. 7 ISBN 7-8008 - 958-8... :. G7. 4 CIP ( 00 ) 005 : : ( ) : : ( 0 : 0004) : : 00 7 00 7 : 78709 / 6 : 7 ( ) : 408 () : 000 : ISBN 7-8008 - 958-8/ G89 : 9 98. 00

More information

99 cjt h 7. 0 (8 ) 0 () abc a b c abc0 aaa 0 a () bca abc0 aa0 a0 0 a0 abc a789 a b c (8 ) 9!

99 cjt h 7. 0 (8 ) 0 () abc a b c abc0 aaa 0 a () bca abc0 aa0 a0 0 a0 abc a789 a b c (8 ) 9! 99 cjt h. 4 (79 ) 4 88 88. 0 0 7 7 7 ( ) (80 ). ( ) (8 ) 4! ( ) 0 4 0 4. n (x)(x) (x) n x an bn cnd abcd (8 ) () adbc () acbd () ac (4) db0 () abcd (x)(x) (x) n n ( x)[ ( x) ] ( x) ( x) ( x) x) ( x) n

More information

第三篇 C 语言基础编程能力实训案例 编程练习题答案 1-1 程序例 #include<stdio.h> main( ) { printf("c Language Program\n"); } 结果 1. 变量及数据运算 1-2 程序例 #include<stdio.h> main( ) { pri

第三篇 C 语言基础编程能力实训案例 编程练习题答案 1-1 程序例 #include<stdio.h> main( ) { printf(c Language Program\n); } 结果 1. 变量及数据运算 1-2 程序例 #include<stdio.h> main( ) { pri 第三篇 C 语言基础编程能力实训案例 编程练习题答案 1-1 程序例 printf("c Language Program\n"); 1. 变量及数据运算 1-2 程序例 printf("mini-floppy disk\n"); printf("floppy disk\n"); printf("hard disk\n"); 1-3 程序例 /*printf test*/ printf("c Language\n");

More information

untitled

untitled 2016 160 8 14 8:00 14:00 1 http://zj.sceea.cn www.sceea.cn APP 1 190 180 2 2 6 6 8 15 2016 2016 8 13 3 2016 2016 2016 0382 2 06 1 3300 14 1 3300 0451 5 01 2 7500 02 2 7500 05 ( ) 1 7500 1156 4 15 2 15000

More information

Ps22Pdf

Ps22Pdf ( ) 158,,,,,, ( CIP) /. :, 1996. 12 ISBN 7 302 02353 0... :. F275 CIP ( 96) 20860 : ( :, 100084) : : : 850 1168 1/ 32 : 13. 25 : 344 : 1996 12 1 1996 12 1 : ISBN 7 302 02353 0/ F 130 : 0001 5000 : 16.

More information

图书在版编目穴 CIP 雪数据做事细节全书 / 赵彦锋编著郾 北京 : 企业管理出版社, ISBN Ⅰ 郾做... Ⅱ 郾赵... Ⅲ 郾工作方法 通俗读物 Ⅳ 郾 B 中国版本图书馆 CIP 数据核字 (2005) 第 号 书

图书在版编目穴 CIP 雪数据做事细节全书 / 赵彦锋编著郾 北京 : 企业管理出版社, ISBN Ⅰ 郾做... Ⅱ 郾赵... Ⅲ 郾工作方法 通俗读物 Ⅳ 郾 B 中国版本图书馆 CIP 数据核字 (2005) 第 号 书 做事细节全书 赵彦锋著 企业管理出版社 图书在版编目穴 CIP 雪数据做事细节全书 / 赵彦锋编著郾 北京 : 企业管理出版社, 2005.11 ISBN 7-80197-338-0 Ⅰ 郾做... Ⅱ 郾赵... Ⅲ 郾工作方法 通俗读物 Ⅳ 郾 B026-49 中国版本图书馆 CIP 数据核字 (2005) 第 136676 号 书 名 : 做事细节全书 作 者 : 赵彦锋 责任编辑 : 吴太刚

More information

°ò´úÁͶչw¨¥-¦ÛµM¤ºŁ¶.ps, page Normalize

°ò´úÁͶչw¨¥-¦ÛµM¤ºŁ¶.ps, page Normalize 9095 95 PH 552520 96 1 2 3 1 2 1 2 1 2 1 2 1 2 1 2 3 4 1 2 3pH 1 2 1 2 1 2 3 1 F 2P Phd A 3BVd Bw Bw 1 2 3 4 1 2 3 1 2 1 3 mv 2 2 4mgh 5 6 1 2I 3 4 5 6 Q t 1 V 2R I 3 4P W IVI 2 R V 2 t R 1 2 3 Bl2 A112

More information

chap07.key

chap07.key #include void two(); void three(); int main() printf("i'm in main.\n"); two(); return 0; void two() printf("i'm in two.\n"); three(); void three() printf("i'm in three.\n"); void, int 标识符逗号分隔,

More information

chp3

chp3 Java 软件设计基础 3. 流程控制 3.1 语句控制结构 语句类型 变量声明语句 用来声明变量, 格式为 : 表达式语句 在一个表达式的最后加上一个分号构成的语句, 分号是语句不可缺少的部分, 格式为 : 变量 = 表达式 ; 复合语句 [ 修饰符 ] 类型名变量名 1[, 变量名 2][, ]; [ 修饰符 ] 类型名变量名 1[= 初值 1][, 变量名 2][= 初值 2][, ]; 将相关语句组合在一起就构成复合语句,

More information

4 AC BD F M CD, N ABM M, c, AN, BN AM BM :E F N a c a p + k F k - + F k + + c { a } IMO 4, { a } a a + c,a - 0, a - a - c,, a 0 a c, c, 0, 0, a > 0, 0

4 AC BD F M CD, N ABM M, c, AN, BN AM BM :E F N a c a p + k F k - + F k + + c { a } IMO 4, { a } a a + c,a - 0, a - a - c,, a 0 a c, c, 0, 0, a > 0, 0 005 9 45 IMO () (,00074), l,b A l C ( C A B ), IMO 4 AC l D, DE a 0, a, a, E, B E AC B E a a + - a +, 0, a 0 a l F,AF G( G A)? :G AB CF f : Q{ -,}, O ABC, B < x y, xy C, AO BC D, ABD x + y {0,},f ( x)

More information

50~56 I1. 1 A 2 3 I2. I2a. 1 2 3 4 5 ( ) I2b. 1 2 3 I2b1. 4 5 ( ) I3. 11 12 02 ( ) 1 2 (24 ) A1. 0 1 A2 A1a. ( ) A2. ( ) () () ( ) ------------------------------------------------------------------------------------------

More information

Ps22Pdf

Ps22Pdf ,, (CIP) /.:, 2006 ISBN 7-5629-2480-5... -. U415.6 CIP (2006) 160794 : ( 122 :430070 ) http: ww w.t ech book.com.cn E-mail: w u tpyyk@163.com : : :7871092 1/ 16 :12.25 :302 :2006 12 1 :2006 12 1 :12000

More information

没有幻灯片标题

没有幻灯片标题 指针作为函数参数 : 原因 : 1 需要修改一个或多个值,( 用 return 语句不能解决问题 ) 2 执行效率的角度 使用方法 : 在函数原型以及函数首部中需要声明能够接受指针值的形参, 具体的写法为 : 数据类型 * 形参名 如果有多个指针型形参, 则用逗号分隔, 例如 : void swap(int *p1, int *p2) 它说明了形参 p1 p2 是指向整型变量的指针 在函数调用时,

More information

CIP. / ISBN Ⅰ.... Ⅱ.... Ⅲ. Ⅳ. G CIP http / /press. nju. edu. cn

CIP. / ISBN Ⅰ.... Ⅱ.... Ⅲ. Ⅳ. G CIP http / /press. nju. edu. cn CIP. /. 004. 4 ISBN 7 305 0458 7 Ⅰ.... Ⅱ.... Ⅲ. Ⅳ. G64. 505 CIP 004 0798 0093 05 8359693 05 835937 05 83686347 http / /press. nju. edu. cn nupress@public. ptt. js. cn 787 09 /6. 5 85 004 5 ISBN 7 305 0458

More information

!"#$ %&' '!"#$!" #$ % %& ' %( ' )* #+,-.

!#$ %&' '!#$! #$ % %& ' %( ' )* #+,-. 图书在版编目 数据!"#$ $ %&' $&($('%&('&( ( ()( * ) (' +,#-./0 * + 1 & 责任编辑郑鸿特约编辑马健金 一石文化 装帧设计 陆智昌 一石文化 责任校对严道丽责任印制吴晓光出版发行四川出版集团四川教育出版社 地址成都市槐树街 号邮政编码 网址! " # 印 刷 四川福润印务有限责任公司 版 次 年 $ 月第 版 印 次 年 $ 月第 次印刷 成品规格 %##&##

More information

nooog

nooog C : : : , C C,,, C, C,, C ( ), ( ) C,,, ;,, ; C,,, ;, ;, ;, ;,,,, ;,,, ; : 1 9, 2 3, 4, 5, 6 10 11, 7 8, 12 13,,,,, 2008 1 1 (1 ) 1.1 (1 ) 1.1.1 ( ) 1.1.2 ( ) 1.1.3 ( ) 1.1.4 ( ) 1.1.5 ( ) 1.2 ( ) 1.2.1

More information

Ps22Pdf

Ps22Pdf 1 9 9 9 ( ) 063, ;,, ;,, ( CIP) / - :, 1998 10 ISBN 7 113 03130 7 T U 476 CIP ( 1998) 28879 : : : ( 100054, 8 ) : : : : 787 1092 1/ 16 : 15 : 383 : 1999 2 1 1999 2 1 : 1 : ISBN 7 113 03130 7/ T U 588 :

More information

Microsoft Word - NHIS2013_C_130716_送印_.doc

Microsoft Word - NHIS2013_C_130716_送印_.doc 核 准 機 關 : 行 政 院 主 計 總 處 核 准 文 號 : 主 普 管 字 第 1020400481 號 有 效 期 間 : 至 103 年 6 月 30 日 止 辦 理 機 關 : 財 團 法 人 國 家 衛 生 研 究 院 行 政 院 衛 生 署 國 民 健 康 局 IRB 通 過 案 號 : 國 家 衛 生 研 究 院 EC1020502 號 樣 本 編 號 :( 訪 員 填 寫 )

More information

第 3 章顺序结构程序设计 31 2) 直到型循环结构 先执行 A 操作, 再判断条件, 若条件成立, 再执行 A 操作, 如此反复, 直到条件不成立时才停止循环 由上述三种程序结构组成的程序称作结构化程序, 形成的软件称作结构化软件 C 程序结构 C 语言以文件为编译单位 一个 C 程

第 3 章顺序结构程序设计 31 2) 直到型循环结构 先执行 A 操作, 再判断条件, 若条件成立, 再执行 A 操作, 如此反复, 直到条件不成立时才停止循环 由上述三种程序结构组成的程序称作结构化程序, 形成的软件称作结构化软件 C 程序结构 C 语言以文件为编译单位 一个 C 程 第 3 章顺序结构程序设计 随着计算机应用的不断发展, 软件变得越来越复杂 软件的可读性 可理解性等问题变得十分突出 经过不断的研究和实践, 确定了程序设计的基本方法, 这就是结构化程序设计方法 结构化程序设计方法使得程序的逻辑结构清晰, 层次分明, 有效地改善了程序的可靠性, 提高了软件的质量 本章所介绍的语句, 将按它们在程序中出现的顺序逐条执行, 由这样的语句构成的程序结构称为顺序结构 本章主要介绍以下内容

More information

2015年计算机二级(C语言)模拟试题及答案(三)

2015年计算机二级(C语言)模拟试题及答案(三) 2016 年计算机二级 (C 语言 ) 模拟试题及答案 (3) 1.( A ) 是构成 C 语言程序的基本单位 A 函数 B 过程 C 子程序 D 子例程 2.C 语言程序从 ( C ) 开始执行 A 程序中第一条可执行语句 B 程序中第一个函数 C 程序中的 main 函数 D 包含文件中的第一个函数 3 以下说法中正确的是( C ) A C 语言程序总是从第一个定义的函数开始执行 B 在 C 语言程序中,

More information

! "! "! # $ # # %#!# $# &# # ()*+, )-.) /# () () 0# 1,2.34, 4*.5)-*36-13)7,) ,9,.).6.(+ :# 13).+;*7 )-,7,<*7,-*=,>,7?#

! ! ! # $ # # %#!# $# &# # ()*+, )-.) /# () () 0# 1,2.34, 4*.5)-*36-13)7,) ,9,.).6.(+ :# 13).+;*7 )-,7,<*7,-*=,>,7?# ! " "!! " "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! " #$$%!#$ #$$%!& #$$%! # (! #! (! # # ( $!! )! #! (!!! )!!! )!!! )!! # (! #! (!!! )!!! )!!! )! " "! *! " # ! "! "! # $ # # %#!# $# &# # ()*+, )-.) /# () ()

More information

CIP / 005 ISBN X Ⅰ Ⅱ Ⅲ - - Ⅳ G CIP ISBN X/G http / /cbs pku edu cn pku edu

CIP / 005 ISBN X Ⅰ Ⅱ Ⅲ - - Ⅳ G CIP ISBN X/G http / /cbs pku edu cn pku edu CIP / 005 ISBN 7-30-08496-X Ⅰ Ⅱ Ⅲ - - Ⅳ G634 603 CIP 004 353 ISBN 7-30-08496-X/G 380 0087 http / /cbs pku edu cn 67505 58874083 67656 xxjs@pup pku edu cn 675490 787 09 6 4 75 383 005 005 9 00 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

More information

技能竞赛C试题

技能竞赛C试题 C 语言程序设计单元测验四 ( 数组 ) 一 单项选择题 ( 每题 1 分, 共 60 分 ) 1 若有以下说明语句 : int a[12]={1,2,3,4,5,6,7,8,9,10,11,12; char c= a,d,g; 则数值为 4 的表达式是 :( ) A a[g-c] B a[4] C a[ d - c ] D a[ d -c] 2 假设 int 型变量占两个字节的存储单元, 若有定义

More information

实验 2 顺序结构程序设计 9 unsigned short a; a= 1; printf("%d\n",a); 运行以上程序, 查看输出的结果, 分析为什么会输出这些信息 (1) 打开 VC 创建 liti2 2.c 文件 (2) 输入以上代码并编译执行 (3) 结果如图 2 2 所示 图 2

实验 2 顺序结构程序设计 9 unsigned short a; a= 1; printf(%d\n,a); 运行以上程序, 查看输出的结果, 分析为什么会输出这些信息 (1) 打开 VC 创建 liti2 2.c 文件 (2) 输入以上代码并编译执行 (3) 结果如图 2 2 所示 图 2 实验 2 顺序结构程序设计 明符 一 实验目的 1. 掌握 C 语言基本数据类型 运算符和赋值语句 2. 变量的定义及初始化 整型 实型 字符型等基本类型变量的定义和初始化 3. 熟练使用赋值运算 算术运算等表达式, 能够编写简单顺序结构程序 4. 掌握 C 语言基本的输入输出 熟练使用标准输入 输出函数及各种数据类型的格式说 二 实验内容及步骤 例题 2.1 输入程序, 查看输出结果 (1) 参照第一章创建

More information

untitled

untitled Introduction to Programming ( 數 ) Lecture 3 Spring 2005 March 4, 2005 Lecture 2 Outline 數 料 If if 狀 if 2 (Standard Output, stdout): 料. ((Standard Input, stdin): 料. 類 數 數 數 說 printf 見 數 puts 串 數 putchar

More information

试卷代号 :1253 座位号 E 口 国家开放大学 ( 中央广播电视大学 )2014 年秋季学期 " 开放本科 " 期末考试 C 语言程序设计 A 试题 2015 年 1 月 E 四! 五 总分! 一 单选题 ( 每小题 2 分, 共 20 分 ) 1. 由 C 语言源程序文件编译而成的目标文件的默

试卷代号 :1253 座位号 E 口 国家开放大学 ( 中央广播电视大学 )2014 年秋季学期  开放本科  期末考试 C 语言程序设计 A 试题 2015 年 1 月 E 四! 五 总分! 一 单选题 ( 每小题 2 分, 共 20 分 ) 1. 由 C 语言源程序文件编译而成的目标文件的默 试卷代号 :1253 座位号 E 口 国家开放大学 ( 中央广播电视大学 )2014 年秋季学期 " 开放本科 " 期末考试 C 语言程序设计 A 试题 2015 年 1 月 E 四! 五 总分! 一 单选题 ( 每小题 2 分, 共 20 分 ) 1. 由 C 语言源程序文件编译而成的目标文件的默认扩展名为 ( ) A. cpp B. c C. exe D. obj 2. 设 x 和 y 均为逻辑值,

More information

Ps22Pdf

Ps22Pdf ( 0178) ( CIP). 1 /. :, 2004. 7 ISBN 7-80153 - 956-7.... G726. 9 CIP ( 2004) 069175 : 1 : : : : : : 2 : 100733 : 010-65369524 65369530 : : : 880mm 1230mm 1 /32 : 2400 : 150 : 5000 : 2006 8 1 2 : ISBN 7-80153

More information

6CO2 6H 2O C6H 2O6 6O2 = = n i= P X i n H X - P X logp X i= i n X X X P i P 0 i l n i n n P i= i H X = - p log P n i= i i i + H X - P X logp X dx - 2 2 2 2 3 2 4 2 d( Q) d( Q) > 0 = 0 di di d(

More information

E. (A) (B) (C) (D). () () () (A) (B) (C) (D) (E). () () () (A) (B) (C) (D) (E). (A)(B)(C) (D) (E) (A) (B) (C) (D) (E) (A) (B)(C) (D) (E). (A) (B) (C)

E. (A) (B) (C) (D). () () () (A) (B) (C) (D) (E). () () () (A) (B) (C) (D) (E). (A)(B)(C) (D) (E) (A) (B) (C) (D) (E) (A) (B)(C) (D) (E). (A) (B) (C) . (A) (B) (C) (D) (A) (B) (C)(D)(E). (A) (B) (C) (D) (E) (A) (B) (C) (D). (A) (B) (C) (D) (E) (A) (B) (C) (D) (E). (A) (B) (C) (D) (E). (A) (B) (C) (D) (E). (A) (B) (C) (D) (E) (A) (B) (C) (D) (E). (A)

More information

计算概论A B03 C++语言的基本成分 - 运算成分(2)

计算概论A B03 C++语言的基本成分 - 运算成分(2) 计算概论 A 程序设计部分 C 语言的构成成分 运算成分 李戈 北京大学信息科学技术学院软件研究所 lige@sei.pku.edu.cn C 语言中的运算符 C 语言的运算符范围很宽 求字节数运算符 : sizeof 下标运算符 [ ] 赋值运算符 = 算术运算符 + - * / % 关系运算符 < > == >= > ~

More information

科 学 出 版 社 职 教 技 术 出 版 中 心 www.aboo 科 学 出 版 社 职 教 技 术 出 版 中 心 www.aboo 科 学 出 版 社 职 教 技 术 出 版 中 心 www.aboo 科 学 出 版 社 职 教 技 术 出 版 中 心 www.aboo 科 学 出 版 社 职 教 技 术 出 版 中 心 www.aboo 科 学 出 版 社 职 教 技 术 出 版

More information

科 学 出 版 社 职 教 技 术 出 版 中 心 www.aboo 科 学 出 版 社 职 教 技 术 出 版 中 心 www.aboo 科 学 出 版 社 职 教 技 术 出 版 中 心 www.aboo 科 学 出 版 社 职 教 技 术 出 版 中 心 www.aboo 科 学 出 版 社 职 教 技 术 出 版 中 心 www.aboo 科 学 出 版 社 职 教 技 术 出 版

More information

科 学 出 版 社 职 教 技 术 出 版 中 心 www.aboo 科 学 出 版 社 职 教 技 术 出 版 中 心 www.aboo 科 学 出 版 社 职 教 技 术 出 版 中 心 www.aboo 科 学 出 版 社 职 教 技 术 出 版 中 心 www.aboo 科 学 出 版 社 职 教 技 术 出 版 中 心 www.aboo 科 学 出 版 社 职 教 技 术 出 版

More information

科 学 出 版 社 职 教 技 术 出 版 中 心 www.aboo 科 学 出 版 社 职 教 技 术 出 版 中 心 www.aboo 科 学 出 版 社 职 教 技 术 出 版 中 心 www.aboo 科 学 出 版 社 职 教 技 术 出 版 中 心 www.aboo 科 学 出 版 社 职 教 技 术 出 版 中 心 www.aboo 科 学 出 版 社 职 教 技 术 出 版

More information

<4D F736F F D C4EA39D4C23137C8D5B6FEBCB643D3EFD1D4B1CACAD4CAD4BEEDBCB0B4F0B0B85FB1EAD7BCB0E65F2E646F63>

<4D F736F F D C4EA39D4C23137C8D5B6FEBCB643D3EFD1D4B1CACAD4CAD4BEEDBCB0B4F0B0B85FB1EAD7BCB0E65F2E646F63> 2011 年 9 月 17 日全国计算机等级考试 C 语言笔试题 一 选择题 (⑴-(10) (21)-(40) 每题 2 分,(11)-(20) 每题 1 分, 共 70 分 ) 下列各题 A) B) C) D) 四个选项中, 只有一个选项是正确的, 请将正确选项填涂在答题卡相应位置上, 答在试卷上不得分 (1) 下列叙述中正确的是 A) 算法就是程序 B) 设计算法时只需考虑数据结构的设计 C)

More information

Microsoft Word - 第3章.doc

Microsoft Word - 第3章.doc 第 3 章 流程控制语句的应用 语句是程序中最小的程序指令, 即程序完成一次完整正操的基本单位 在 C# 中, 可以使用多种类型的语句, 每一种类型的语句又可以通过多个关键字实现 通过这些语句可以控制程序代码的逻辑, 提高程序的灵活性, 从而实现比较复杂的程序逻辑 本章主要内容 : 选择语句的应用 迭代语句的应用 跳转语句的应用 3.1 选择语句的应用 选择语句也叫作分支语句, 选择语句根据某个条件是否成立来控制程序的执行流程

More information

Microsoft Word - 《C语言开发入门》课程教学大纲-2.doc

Microsoft Word - 《C语言开发入门》课程教学大纲-2.doc C 语言开发入门 课程教学大纲 ( 课程英文名称 ) 课程编号 :201409210011 学分 :5 学分学时 :60 学时 ( 其中 : 讲课学时 :37 学时上机学时 :23 学时 ) 先修课程 : 计算机导论后续课程 :C++ 程序设计适用专业 : 信息及其计算机相关专业开课部门 : 计算机系 一 课程的性质与目标 C 语言开发入门 是计算机各专业必修的基础课程, 是数据结构 C++ Java

More information

序 言 工 程 力 学 是 我 国 绝 大 部 分 高 等 院 校 工 科 专 业 必 修 的 基 础 课 程, 其 主 要 内 容 由 理 论 力 学 和 材 料 力 学 构 成 随 着 近 年 来 专 业 调 整 及 课 程 体 系 改 革 的 不 断 进 行, 课 堂 学 时 越 来 越 少

序 言 工 程 力 学 是 我 国 绝 大 部 分 高 等 院 校 工 科 专 业 必 修 的 基 础 课 程, 其 主 要 内 容 由 理 论 力 学 和 材 料 力 学 构 成 随 着 近 年 来 专 业 调 整 及 课 程 体 系 改 革 的 不 断 进 行, 课 堂 学 时 越 来 越 少 工 程 力 学 (I) 试 用 讲 义 中 国 石 油 大 学 ( 北 京 ) 机 械 与 储 运 工 程 学 院 安 全 工 程 系 011 年 8 月 1 序 言 工 程 力 学 是 我 国 绝 大 部 分 高 等 院 校 工 科 专 业 必 修 的 基 础 课 程, 其 主 要 内 容 由 理 论 力 学 和 材 料 力 学 构 成 随 着 近 年 来 专 业 调 整 及 课 程 体 系 改

More information

1 V = h a + ab + b 3 = 1 = 1 + = + = BAC Quod erat demonstrandum Q E D AB p( EF) p = = AB AB CD q( EF) q p q 1 p q, EF = ED BF G G BG = FG EH a = b + c a - b = c FG = BG = HG = a EF = FG - EG = a - b

More information

Microsoft Word - 7E.doc

Microsoft Word - 7E.doc 生 物 題 庫 7 生 殖 與 遺 傳 第 一 部 分 : 單 一 選 擇 題 (40%, 每 題 2 分 ) 1. 有 關 於 於 動 物 的 生 殖 方 式, 下 列 敘 述 何 者 正 確? (A) 分 裂 生 殖 多 見 於 單 細 胞 動 物 (B) 水 蚤 僅 有 無 性 生 殖 而 無 有 性 生 殖 (C) 輪 蟲 的 卵 未 受 精 皆 發 育 為 雄 性 (D) 動 物 藉 世

More information

Microsoft Word - FM{new}.doc

Microsoft Word - FM{new}.doc Lanczos 方法 Louis Komzsik 著张伟廖本善译 演变与应用 清华大学出版社 北京 内容简介 Lanczos 方法是 20 世纪计算数学方向最有影响的方法之一, 并且已经在工程中得到了广泛应用. 本书兼顾了 Lanczos 方法的理论演变和工程中的实际应用, 其内容分为两部分 : 第一部分阐述了方法的演变, 并提供了具体算法 ; 第二部分讨论了工业中的实际应用, 包括常用的模态分析

More information

民國八十九年台灣地區在校學生性知識、態度與行為研究調查

民國八十九年台灣地區在校學生性知識、態度與行為研究調查 84 年 台 灣 地 區 在 校 學 生 性 知 識 態 度 與 行 為 研 究 調 查 過 錄 編 碼 簿 題 號 變 項 名 稱 變 項 說 明 選 項 數 值 說 明 備 註 i_no 學 生 編 號 問 卷 流 水 號 location 學 校 所 在 縣 市 編 號 1 台 北 市 2 基 隆 市 3 台 中 市 4 台 南 市 5 高 雄 市 6 新 竹 市 7 嘉 義 市 21 宜 蘭

More information

监 制 制 : 中 华 人 民 共 和 国 国 务 院 侨 务 办 公 室 监 制 人 : 刘 泽 彭 顾 制 问 : ( 按 姓 氏 笔 画 排 列 ) 杨 启 光 陈 光 磊 陈 学 超 周 小 兵 赵 金 铭 班 弨 郭 熙 主 制 编 : 贾 益 民 编 制 写 : ( 按 姓 氏 笔 画 排 列 ) 干 红 梅 于 珊 王 劼 刘 潇 潇 刘 慧 许 迎 春 孙 清 忠 李 艳 吴 玉 峰

More information

碩命題橫式

碩命題橫式 一 解釋名詞 :(50%) 1. Two s complement of an integer in binary 2. Arithmetic right shift of a signed integer 3. Pipelining in instruction execution 4. Highest and lowest layers in the TCP/IP protocol suite

More information

Microsoft Word - 正文.doc

Microsoft Word - 正文.doc 第 2 章 Java 语言基础 通过本章的实践, 要掌握 Java 中的标识符 关键字 常量, 熟练掌握算术 关 系 逻辑 条件 赋值 位运算符的使用, 掌握简单顺序结构的程序设计 2.1 典型习题解答 2.1 Java 中怎样进行注释? 解答 Java 语言中的注释有 3 种形式 : (1) 单行 : // (2) 多行 : /* */ (3) 文档注释 : /** */ 第三种形式是第二种形式的变形,

More information

<4D6963726F736F667420576F7264202D20C1E3B5E3CFC2D4D8C4A3B0E52E646F63>

<4D6963726F736F667420576F7264202D20C1E3B5E3CFC2D4D8C4A3B0E52E646F63> 历 年 MBA MPAcc 联 考 数 学 真 题 及 答 案 详 解 (009-0) 009 年 月 MBA 联 考 数 学 真 题 及 答 案 详 解 一 问 题 求 解 ( 本 大 题 共 小 题, 每 小 题 分, 共 分 下 列 每 题 给 出 的 五 个 选 项 中, 只 有 一 项 是 符 合 试 题 要 求 的 请 在 答 题 卡... 上 将 所 有 选 项 的 字 母 涂 黑 ).

More information

untitled

untitled 2016 148 1 8 7 08:00 16:00 http://zj.sceea.cn www.sceea.cn APP 1 2 2 6 6 2016 2016 8 6 3 2016 2016 2016 0366 1 03 1 0391 2 54 ( ) 2 1256 7 02 1 03 1 07 2 18 2 21 1 1314 1 36 1 14000 / 20 1316 7 00 1 09

More information

Ps22Pdf

Ps22Pdf CIP ) / :,2006.2 ISBN 7-80702 - 113-6..........G.206 CIP (2006)080133 :8501168mm 1/ 32 : 120 :2000 2006 3 1 : 5000 ISBN 7-80702 - 113-6/ G206 : 348.00 (16 ) ,?, :,,,,,,,,,!,?,,,,,,?,, ,,,,,,,,,,,,,,,!,!,!

More information

第 3 章选择结构 q q q Python 中表示条件的方法 if 语句 选择结构程序设计方法

第 3 章选择结构 q q q Python 中表示条件的方法 if 语句 选择结构程序设计方法 第 3 章选择结构 q q q Python 中表示条件的方法 if 语句 选择结构程序设计方法 3.1 条件的描述 3.1.1 关系运算 Python 的关系运算符有 : =( 大于等于 ) ==( 等于 )!=( 不等于 ) 关系运算符用于两个量的比较判断 由关系运算符将两个表达式连接起来的式子就称为关系表达式, 它用来表示条件, 其一般格式为

More information

Ps22Pdf

Ps22Pdf si equation equation geome triageo metria geometria geo lin xin zng chu m x y y x h b ng sh kn x y z x y z x y z x y z x y z u c xin sho jin bio A B C zh f i q an an an an n n lim n an an gng chng

More information

標準 BIG 中文字型碼表 A 0 9 B C D E F 一 乙 丁 七 乃 九 了 二 人 儿 入 八 几 刀 刁 力 匕 十 卜 又 三 下 丈 上 丫 丸 凡 久 么 也 乞 于 亡 兀 刃 勺 千 叉 口 土 士 夕 大 女 子 孑 孓 寸 小 尢 尸 山 川 工 己 已 巳 巾 干 廾

標準 BIG 中文字型碼表 A 0 9 B C D E F 一 乙 丁 七 乃 九 了 二 人 儿 入 八 几 刀 刁 力 匕 十 卜 又 三 下 丈 上 丫 丸 凡 久 么 也 乞 于 亡 兀 刃 勺 千 叉 口 土 士 夕 大 女 子 孑 孓 寸 小 尢 尸 山 川 工 己 已 巳 巾 干 廾 標準 BIG 中文字型碼表 A 0 9 B C D E F B C D ± E F A 0 9 B C D E F 兙 兛 兞 兝 兡 兣 嗧 瓩 糎 0 B 9 Ⅰ Ⅱ Ⅲ Ⅳ Ⅴ Ⅵ Ⅶ C Ⅷ Ⅸ Ⅹ 〡 〢 〣 〤 〥 〦 〧 〨 〩 十 卄 卅 D B C D E F G H I J K L M N O P Q E R S T U V W X Y Z a b c d e f g F h i

More information

C/C++ - 函数

C/C++ - 函数 C/C++ Table of contents 1. 2. 3. & 4. 5. 1 2 3 # include # define SIZE 50 int main ( void ) { float list [ SIZE ]; readlist (list, SIZE ); sort (list, SIZE ); average (list, SIZE ); bargragh

More information