C程序设计基础-期中考试试题详解

上传人:gbs****77 文档编号:9287714 上传时间:2020-04-04 格式:DOC 页数:10 大小:65.50KB
返回 下载 相关 举报
C程序设计基础-期中考试试题详解_第1页
第1页 / 共10页
C程序设计基础-期中考试试题详解_第2页
第2页 / 共10页
C程序设计基础-期中考试试题详解_第3页
第3页 / 共10页
点击查看更多>>
资源描述
C 程序设计基础及实验 期中考试试卷 2012 年 11 月 23 日 1 10 C 程序设计基础及实验 课程期中考试试卷参考答案 试题一 单选题 每小题 2 分 共 20 分 1 以下正确的字符常量是 A 412 B 255 C 08 D 解答 A 八进制412超出了8 位二进制所能表示的范围 03ff B 255是一个合法的整数 可以表示一个字节的值 C 8不是一个合法的八进制数字 D 是转义字符 表示单个单引号字符本身 所以 字符常量缺少右单引号 2 假设有定义 float x 16 5 2 0 y 16 5 0 2 则 x 和 y 的值分别为 A 1 5 1 6 B 1 6 1 6 C 1 5 1 5 D 1 6 1 5 解答 16 5 2 0 16 5 2 0 3 2 0 1 5 16 5 0 2 16 5 0 2 3 2 2 1 6 3 下列语句中 将输出 d A printf d B printf d C printf d D printf d 解答 A d表示输出十进制整型量 但缺少相应的输出表达式 故输出结果是随机值 B 表示输出一个 符号本身 d是普通字符 原样输出 所以输出 d C 表示符号 d表示输出十进制整型值 故输出结果是随机值 D 表示输出符号 本身 d表示输出十进制整型值 4 下列程序段输出结果为 int x 1 y 012 printf d y x A 12 B 10 C 20 D 24 解答 x 表达式的值是1 y x y 1 y 012 10 5 下列程序段输出结果为 int a 1 b 2 c 2 t C 程序设计基础及实验 期中考试试卷 2012 年 11 月 23 日 2 10 while a b c t a a b b t c printf d d d a b c A 1 2 0 B 2 1 0 C 1 2 1 D 2 1 1 解答 a 1 b 2 c 2 1 表达式a b c 1 2 2 1 2 1条件成立 则执行循环体 结果为 a 2 b 1 c 1 2 表达式a b c 2 1 1 0 1 1条件成立 则执行循环体 结果为 a 1 b 2 c 0 3 表达式a b c 1 2 0 1 0 0条件不成立 循环结束 6 在下图中 阴影部分区域可用表达式 来表示 X a b c A x b x x if xy 8 对于循环 while e 语句 e 等价于 A e 0 B e 0 C e 1 D e 1 解答 e e 0 e 0 e 1 e 1 e 为 0 1 1 0 0 1 e 为非 0 0 0 1 0 1 0 1 C 程序设计基础及实验 期中考试试卷 2012 年 11 月 23 日 3 10 9 循环 for i 0 j 5 i j printf d d i j 将执行 A 6次 B 3次 C 0次 D 无限次 解答 1 i 0 j 5 i 1 j 4 i 1 j 4 1 4 成立 打印 i 1 j 4 2 i 1 j 4 I 2 j 3 i 2 j 3 2 3 成立 打印 i 2 j 3 3 i 2 j 3 I 3 j 2 I 3 j 2 3 2 成立 打印 i 3 j 2 4 10 下列程序段执行后 s 值为 int i 5 s 0 do if i 2 continue else s i while i A 15 B 9 C 6 D 以上均不是 解答 1 I 5 s 0 i 2 5 2 1 成立 continue i 4 i 4 2 I 4 s 0 i 2 4 2 0 不成立 s 0 4 4 i 3 i 3 3 I 3 s 4 i 2 3 2 1 成立 continue i 2 i 2 4 I 2 s 4 i 2 2 2 0 不成立 s 4 2 6 i 1 i 1 5 I 1 s 6 i 2 1 2 1 成立 continue i 0 试题二 填空题 每小题 2 分 共 20 分 1 表达式 1 4 5 15 7 4 5 8 10 的值为 解答 1 4 5 15 7 4 5 8 10 1 0 15 7 4 5 8 10 1 15 7 4 5 8 10 16 7 4 5 8 10 16 7 4 8 10 16 11 8 10 16 11 10 16 21 1 2 表达式 5 的值为 解答 5 5 0 1 C 程序设计基础及实验 期中考试试卷 2012 年 11 月 23 日 4 10 3 表达式 10 1 i 9 i printf 2d 解答 i 1 3 6 对于定义 int m 5 y 2 当计算表达式y y m y 后 y的值为 解答 y y m y y y m y 先计算 m y 由于 m 5 y 2 所以 m m y 5 2 10 再计算 y 10 由于 y 2 所以 y y 10 2 10 8 最后计算 y 8 由于 y 8 所以 y y 8 8 8 16 7 对于char c 若已知其值为小写字母 则将其转换为相应大写字母的表达式为 解答 c a A 8 下列语句的输出结果为 printf d x 027 27 解答 23 1b 9 已知字符 a 的ASCII码为97 则下列语句的输出结果为 C 程序设计基础及实验 期中考试试卷 2012 年 11 月 23 日 5 10 printf c d 98 c 解答 b 99 10 下列程序段将输出 unsigned char x 255 y 1 switch x case 0 printf 0 break case 1 switch y case 0 printf 1 break case 1 printf 2 break default printf 3 解答 2 3 试题三 程序阅读题 每小题 6 分 共 30 分 1 下列程序将输出 include void swap int x int y int t t x x y y t return void main void int a 3 b 2 swap a b printf d d a b return 解答 C 程序设计基础及实验 期中考试试卷 2012 年 11 月 23 日 6 10 3 2 注 尽管在函数swap 里 形参x和y的值发生了交换 但根据函数参数的传递原则 实参 向形参单向传值 即x向a赋值 y向b赋值 形参的改变不影响实参 实参变量a和b的值未发生 交换 2 下列程序将输出 include int s int f int m static int k 0 for k m k s return s void main void int s 1 s f 2 f 2 printf d d s f 20 return 解答 输出结果为 6 21 注 1 全局变量s的初始值为0 2 在f函数中 s是全局变量有效 而在main函数中 s是局部变量有效 3 在f函数中 k是静态变量 每次函数f 调用结束后 其内存单元和值仍然保留 3 若输入 1273 以下程序的输出结果是 include void main void int n m scanf d m 0 while n 0 m m 10 n 10 n 10 C 程序设计基础及实验 期中考试试卷 2012 年 11 月 23 日 7 10 printf d m return 解答 输出结果是 3721 4 若输入 6 15 3 5 以下程序的输出结果是 include void main int m 0 sum 0 char c oldc do c getchar if c 0 m 10 m c 0 else if oldc sum m else sum m m 0 oldc c printf d sum while c return 解答 0 6 9 6 1 程序的意思 对输入的字符串扫描 若碰到数字字符序列 求出相应的整数值m 若碰到其它 字符 若字符是 号 则将m 值加入到sum中去 若字符不是 号 则将从sum 中减去m 值 5 若输入 how are you 以下程序的输出结果是 include void main void int word C 程序设计基础及实验 期中考试试卷 2012 年 11 月 23 日 8 10 char ch word 0 while ch getchar if ch word 0 else if word 0 word 1 if ch a ch ch a A putchar ch return 解答 How Are You 该程序思路 碰到一个新单词 则将该单词首字母从小写改为大写 其它字符原样输出 提示 可借鉴统计单词个数程序的算法 试题四 程序填空题 每空 2 分 共 30 分 1 输入正整数 n 计算 s 1 1 1 2 1 3 1 n 的值 include void main void int j k n double f s scanf d 1 s 0 0 for k 1 k n k 2 f 1 0 for j 1 3 j j k 4 f f j s s 1 0 f printf sum f n 5 s return 2 输入一个整数 统计该数的位数 如 输入 12534 输出 5 输入 99 输出 2 输入 0 输出 1 C 程序设计基础及实验 期中考试试卷 2012 年 11 月 23 日 9 10 include void main void int count 0 number scanf d 6 number do number 8 number 10 count while 9 number 0 printf d n count return 3 下面程序验证 哥德巴赫猜想 寻找 3 到 1000 间满足 偶数 素数 1 素数 2 如 10 3 7 的 所有偶数 素数指只能被 1 和自身整除的正整数 如 2 3 17 等 1 不是素数 include void main void int i j 10 prime 函数声明 int prime int n for i 3 i 500 i for j 2 j if 11 prime j 1 若 2 i 为两个素数之和 break 12 return int prime int n 判断 n 是否为素数 是返回 1 不是返回 0 int i if n 1 return 13 0 for i 2 i n 2 i if 14 n i 0 return 0 C 程序设计基础及实验 期中考试试卷 2012 年 11 月 23 日 10 10 return 15 1
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!