C语言程序填空题集,助你考试一臂之力

1星 需积分: 48 43 下载量 81 浏览量 更新于2024-10-15 8 收藏 131KB TXT 举报
"这是一份C语言的程序填空题题库,对于学习者来说,尤其是备考者,具有很高的参考价值。" 在给定的代码片段中,我们有两个不同的题目,涉及C语言的基础知识,包括整数处理和浮点数计算。 ### 题目1: ```c void fun(long s, long *t) { long sl = 10; s /= 10; /***********SPACE***********/ *t = s ? 10; while (s > 0) { /***********SPACE***********/ s = ?; /***********SPACE***********/ *t = s % 10 * sl ?; /***********SPACE***********/ sl = sl ? 10; } } ``` 这个函数`fun`的目的是将输入的十进制数字`s`转换为其逆序形式,并存储在`t`指向的位置。缺失的部分如下: 1. `*t = s ? 10;`:如果`s`非零(即`s`不等于0),则`t`应初始化为10,表示数字的个位。所以正确填入的是:`*t = s ? 10 : 0;` 2. `s = ?;`:在循环中,我们需要更新`s`,将`s`除以10以便获取下一个数字。因此,正确填入的是:`s = s / 10;` 3. `*t = s % 10 * sl ?;`:这里要计算`s`的个位数乘以`sl`,然后根据条件决定是否加上`t`当前的值。因此,正确填入的是:`*t = s % 10 * sl + *t;` 4. `sl = sl ? 10;`:每次循环,`sl`应该乘以10,以适应下一位数字。所以正确填入的是:`sl = sl * 10;` ### 题目2: ```c void main() { double p1 = 10.3, p2, r = 0.05; int n = 1; /***********SPACE***********/ p2 = p1 * ?; /***********SPACE***********/ while (p2 <= ?) { n++; /***********SPACE***********/ p2 = p2 * ?; } } ``` 这个程序计算的是`p1`的`r`的`n`次方,直到结果超过某个值。缺失的部分如下: 1. `p2 = p1 * ?;`:初始值`p2`应该是`p1`乘以`1`(因为是第一次乘以`r`)。填入:`p2 = p1 * 1;` 2. `while (p2 <= ?)`:循环条件应检查`p2`是否小于或等于`p1`的两倍。填入:`while (p2 <= p1 * 2)` 3. `p2 = p2 * ?;`:在循环内部,`p2`需要乘以`r`。填入:`p2 = p2 * r;` 这些是根据题目描述填充空缺的正确方法,对于理解和解答C语言中的类似问题非常有帮助。通过练习这样的填空题,可以加深对C语言算术运算、控制结构以及指针的理解。