|
发表于 2021-7-22 16:14:26
|
显示全部楼层
测试题:
0. 请问下边代码将打印多少个 'A'?
10, j没有重置为0
1. 请问下边代码会打印多少个 'B'?
0,i++的值先为0才自增
2. 请写出表达式 a = b = c = 5 中的"l-value"?
a
3. 请问表达式 a = (b = 3, 4, c = b++ + 5, ++c + ++b); 执行后,整型变量 a、b、c 的值是?
14, 5, 9
4. 请使用条件运算符求出变量 x 的绝对值,并存放到变量 z 中。
- #include <stdio.h>
- float abs(float x){
- if(x>=0){
- return x;
- }
- else{
- return -x;
- }
- }
- int main(){
- printf("%d, %d, %f, %f", (int)abs(66), (int)abs(-66), abs(3.14), abs(-9.9));
-
- }
复制代码
5. C 语言其实在大部分情况下不使用 goto 语句也能做得很好,请尝试将下列代码段写成不带 goto 语句的版本。
- A.
- if (size > 12)
- {
- cost = cost * 1.05;
- flag = 2;
- }
- bill = cost * flag;
- B.
- if (ibex > 14)
- {
- sheds = 3;
- }
- sheds = 2;
- help = 2 * sheds;
- C.
- scanf("%d", &score);
- if (score < 0)
- {
- printf("count = %d\n", count);
- }
- count++;
- continue;
复制代码
动动手:
0. 请编写一个程序,计算需要多少年黑夜手头的 Money 才会超过小甲鱼?
- #include <stdio.h>
- int main(){
- float h = 10000.0, j = 10000.0;
- int year = 0;
- while(h<=j){
- year++;
- j = j + 10000.0*0.1;
- h = h*0.05 + h;
- // printf("j: %f\th: %f\n", j, h);
- }
- printf("%d年后,投资超过!\nj的投资额是:%.2f\nh的投资额是:%.2f\n", year, j, h);
- return 0;
- }
复制代码
1. 请编写一个程序,计算需要多久小甲鱼才会败光所有家产,再次回到一贫如洗?
- #include <stdio.h>
- #define TOTALMONEY 4000000
- int main(){
- int year=0;
- float money=TOTALMONEY;
- for(year; money>0; year++){
- money-=500000;
- money+=money*0.08;
- }
- printf("%d年之后败光家产\n", year);
- return 0;
- }
复制代码
2. 根据以下已知公式求 Pi 的近似值,要求正确计算出小数点后前 7 位(即3.1415926)。
- #include <stdio.h>
- #include <math.h>
- #define ACCURACY 8
- int main(){
- double pi, div=1.0, accuracy=pow(10, ACCURACY);
-
- // CPU拉满
- for(div; fabs(div)<accuracy; div+=4){
- pi += (1/div);
- }
-
- div=-3;
- for(div; fabs(div)<accuracy; div-=4){
- pi += (1/div);
- }
-
- pi*=4;
- printf("Pi: %.7f\n", pi);
- return 0;
- }
复制代码
3. 这是一个有趣的古典数学问题:如果说兔子在出生两个月后,就有繁殖能力,在拥有繁殖能力之后,这对兔子每个月能生出一对小兔子来。假设所有兔子都不会死去,能够一直干下去,那么两年之后可以繁殖多少对兔子呢?
- #include <stdio.h>
- #define TIMELIMIT 12
- //#define MULT_DELAY 2
- //#define DEATH_AGE -1
- int rabbit_mult(int time){
- if(time==1||time==2){
- return 1;
- }
- else{
- return rabbit_mult(time-1) + rabbit_mult(time-2);
- }
- }
- int main(){
- int time=TIMELIMIT;
- long long int rabbits;
- rabbits=rabbit_mult(time);
-
- printf("%d兔子已生成\n", rabbits);
- return 0;
- }
复制代码
|
|