【C语言作业题】
在C语言的学习过程中,课后作业是巩固知识的关键环节。下面是对提供的四个题目进行的详细解答:
1 题:
```c
#include<stdio.h>
void main(){
int a=2;
a%=4-1; // a = a % (4 - 1) = 2 % 3 = 2
printf("%d\n",a);
a+=a*=a-=a*=3; // 先计算 a *= 3 = 6, 然后 a -= 6 = 0, 接着 a *= a = 0, 最后 a += 0 = 0
printf("%d",a);
}
```
这段程序首先计算了a的模运算,然后通过一系列复合运算将a的值变为0。因此,程序的输出为2和0。
2 题:
```c
#include<stdio.h>
void main(){
int a,b,c;
a=3;
b=a++; // b = 3, a = 4
c=++a; // c = 5, a = 5
printf("the first result:a=%d,b=%d,c=%d\n",a,b,c);
b=c--; // b = 5, c = 4
a=--c; // a = 3, c = 3
printf("the second result:a=%d,b=%d,c=%d\n",a,b,c);
}
```
这个程序涉及到预增量和后增量操作符。第一组输出会是a=5, b=3, c=4,第二组输出会是a=3, b=5, c=3。
3 题:
```c
#include<stdio.h>
void main(){
int a,b,c;
a=5;
b=3;
c=a>b?a:b; // c = a > b ? a : b = 5 > 3 ? 5 : 3 = 5
printf("%d",c);
}
```
这里使用了条件运算符,当a大于b时,c被赋值为a,否则为b。因此,输出为5。
4 题:
```c
#include<stdio.h>
void main(){
float a,b,add,sub,mul,div;
printf("Input a and b:\n");
scanf("%f%f",&a,&b);
add=a+b;
sub=a-b;
mul=a*b;
div=a/b;
printf("The result is:\n%f\n%f\n%f\n%f\n", add,sub,mul,div);
}
```
此题要求用户输入两个浮点数a和b,然后计算它们的和、差、积和商,并输出结果。这里的操作十分基础,涵盖了基本的算术运算。
对于第2部分的编程任务,你需要编写一个程序来展示个人信息,包括学号、姓名、年龄、班级和专业。这是一个简单的输出程序,可以使用`printf`函数完成。例如:
```c
#include<stdio.h>
int main() {
printf("学号: 001\n");
printf("姓名: 张三\n");
printf("年龄: 20\n");
printf("班级: 计算机科学1班\n");
printf("专业: 计算机科学与技术\n");
return 0;
}
```
最后一个编程任务是计算圆的周长、面积和球的体积。假设圆的半径为r,周长公式是2πr,面积公式是πr²,球体积公式是4/3 * π * r³。你可以使用`scanf`来获取用户输入的半径,然后进行计算:
```c
#include<stdio.h>
#include<math.h>
int main() {
double r, circumference, area, volume;
printf("请输入圆的半径:\n");
scanf("%lf", &r);
circumference = 2 * M_PI * r;
area = M_PI * r * r;
volume = (4.0 / 3.0) * M_PI * pow(r, 3);
printf("圆的周长是:%.2f\n", circumference);
printf("圆的面积是:%.2f\n", area);
printf("球的体积是:%.2f\n", volume);
return 0;
}
```
这个程序会提示用户输入半径,然后计算并输出相应的结果。注意,这里使用了`<math.h>`库,需要包含它才能使用π常量(M_PI)和幂运算函数(pow)。