- 下面的字符序列中哪些不是合法的变量名:
-abc |
__aa |
for |
pp.288 |
to be |
IBM/PC |
ms-c |
#micro |
m%ust |
tihs |
while |
r24_s25 |
__a__b |
a"bc |
_345 |
- 假设整型变量a的值是1,b的值是2,c的值是3,在这种情况下分别执行下面各个语句,写出执行对应语句后整型变量u的值。
1) u = a ? b : c;
2) u = (a = 2) ? b + a : c + a;
- 假设整型变量a的值是1,b的值是2,c的值是0,写出下面各个表达式的值。
1) a && !((b || c) && !a)
2) !(a && b) || c ? a || b : a && b && c
3) !(a + b < c) && b <= c * a - b
- 下面程序在执行时,哪些地方将发生类型转换?程序打印的值是什么?
int f (int n, float m) {
return (m + n) / 4;
}
int main (void) {
float y = 3;
printf("%d\n", f(y, y + 1));
return 0;
}
- 在计算机上试验本章正文中的一些程序。对它们做一些修改,观察程序加工和运行的情况,并对程序的行为做出解释。
- 定义求圆球的体积、求圆球的表面积、求圆柱体的体积、求圆柱体的表面积的函数。
- 1)不用函数,直接写一个主程序计算并输出直径为100毫米和150毫米的金、银、铜、铁、锡球的重量(以kg为单位输出)。
2)重新完成上面程序,先定义一个带有两个参数的函数,它能求出直径为x的比重为y的圆球的重量,而后在主程序里调用这个函数完成所需工作。将这样得到的解与不用函数的解比较,比较它们的长度、容易出错的程度。假设现在要求修改所用圆周率的精度,考虑用两种方式写程序的修改难度。
3)请写程序,求出边长为100毫米和150毫米的金、银、铜、铁、锡立方体的重量。你可以利用前面的程序吗?是否很容易修改前面程序,完成这一计算?比较不用函数的解法和使用函数的解法在易修改和重复使用方面的效用。
- 如果四边形四个边的长度分别为、、、,一对对角之和为,则其面积为:
其中。定义一个函数计算任意四边形的面积。设有一个四边形,其四条边边长分别为3、4、5、5,一对对角之和为,写程序计算它的面积。
- 定义函数:double tmax(double, double, double),它返回三个参数中最大的一个。写一个主函数试验各种参数情况。
- 写函数,它以两个电阻的值作为参数,求出并联的电阻值。
- 修改已知四边长求四边形面积的函数,增加对各种参数错误情况的检查和处理(如返回值0),用各种实例数据检查你的函数否检查出所有可能的错误情况。
- 分析本章正文中给出的求二次方程根的函数,看它缺乏对哪些特殊情况的处理。补充这些处理,在需要时输出适当的信息,使之成为一个更完整的函数。写一个主函数,用各种特殊情况和一般情况测试所完成的函数。
- 写一个简单程序,它输出从1到10的整数。
- 写一个简单程序,它输出从10到-10的整数。
- 写一个两个整型参数的简单函数,它输出从第一个整数到第二个整数为止的整数序列。
- 用定义函数double power(double x, int n),它求出x的n次幂。用主函数试验很大的n值(例如令x值为1),看看会出现什么情况;用大的x和n值,看看发生浮点数计算溢出时会出现什么情况。
- 写一个程序,它在0~90度之间每隔5度输出一行数据,打印一个表。每行中包括5个项目:角度数,以及它所对应的正弦、余弦、正切、余切函数值。
- 查看有关公式,写求解并输出一元三次方程的根的函数。
- 写出求等差级数的和 的函数。两种循环结构给出函数定义,再利用等差级数求和公式给出函数定义。
- 请到查出银行一年定期存款的利率和5年定期存款的利率。假定现在要存入100元钱,存款到期后立即将利息与本金一起再次存入。请写出程序,计算按每次存一年和按照每次存5年,总共存50年后两种存款方式的得款总额。对两种情况都每隔5年输出一次当时的总金额。
- 写一个程序打印出2的顺序各次幂。让它打印出2的前30个幂,看看会出现什么情况。用一个条件为真的循环打印2的各次幂,看看会出现什么情况。