作业1:展开的思路,按要求分析以下代码。
要求不要放到编译器中运行,自己手动分析出每条输出语句的结果,分析出结果后,再在编译器中执行验证结果
![](https://img-blog.csdnimg.cn/img_convert/f1bd1486b015aa0ac1f521d8ce76b3e2.png)
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(int argc, const char *argv[])
{
int num,num2,num3;
num=1;
num2=2;
num3=3;
num= ++num2 + ++num3;
printf("\n%d,%d,%d",num,num2,num3); //先num2与num3进自增运算再将结果赋值给num 结果:7 3 4
num= num2++ + num3++;
printf("\n%d,%d,%d",num,num2,num3); //先将num2与num3的和赋值给num,再自增 结果:7 4 5
num= ++num2 > num3++;
printf("\n%d,%d,%d",num,num2,num3); //num2自增后是否大于num3,是则赋值1,否则赋值0,num3再自增 结果:0 5 6
num= num2-- && --num3;
printf("\n%d,%d,%d",num,num2,num3); //num3自减后与num2比较,相同则赋值1,不同则赋值0,num2再自减 结果:1 4 5
num= num2 > num3 ? num2++:num3++;
printf("\n%d,%d,%d",num,num2,num3); //num2是否比num3大,是则执行num2自增,否则执行num3自增 结果:6 4 6
return 0;
}
ubuntu@ubuntu:day4$ ./a.out
7,3,4
7,4,5
0,5,6
1,4,5
作业2:编程实现:输入华氏温度F ,要求输出对应的摄氏温度C要求结果保留两位小数。计算公式为: C = 5/9*(F-32);
![](https://img-blog.csdnimg.cn/img_convert/6515612b33e815d2fb09c4f7ce2b28d4.png)
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(int argc, const char *argv[])
{
float F, C; //定义单精度浮点型数据
printf("输入华氏摄氏度:");
scanf("%f",&F); //输入多个数据
printf("对应摄氏度:%.2f\n",C=(F-32)*5/9); //输出运算后的结果
return 0;
}
作业3:使用switch实现简易计算器:例如,输入-个表达式: 3+5, 程序输出结果为8
![](https://img-blog.csdnimg.cn/img_convert/38d68de542492eeb46b8b14a270d89bc.png)
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(int argc, const char *argv[])
{
int num1;
int num2;
char n; //定义两个整型数据和一个字符型数据
printf("请输入表达式:");
scanf("%d%c%d",&num1,&n,&num2); //输入表达式格式
switch(n)
{
case '+':
printf("%d + %d = %d\n",num1,num2,num1+num2); //输出加号运算的表达式及运算结果
break;
case '-':
printf("%d - %d = %d\n",num1,num2,num1-num2); //输出减号运算的表达式及运算结果
break;
case '*':
printf("%d * %d = %d\n",num1,num2,num1*num2); //输出乘号运算的表达式及运算结果
break;
case '/':
printf("%d / %d = %d\n",num1,num2,num1/num2); //输出除号运算的表达式及运算结果
break;
}
return 0;
}
作业四:使用switch实现, 要求输入一个日期,输出该日期是对应今年的第几天
例如输入: 2023 1 20输出结果: 该日期是今年第20天
![](https://img-blog.csdnimg.cn/img_convert/776f01c64df387eb946db08117a64af7.png)
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(int argc, const char *argv[])
{
int a,b,c; //定义三个变量
printf("输入年,月,日:");
scanf("%d,%d,%d",&a,&b,&c); //输入年月日变量
switch(b)
{case 1:
printf("该日期是今年第 %d 天\n",b=c); //一月份的天数就是变量c的值
break;
case 2:
printf("该日期是今年第 %d 天\n",b=c+31); //二月份天数是变量c加上月的所有天数
break;
case 3:
printf("该日期是今年第 %d 天\n",b=c+59);
break;
case 4:
printf("该日期是今年第 %d 天\n",b=c+59+31);
break;
case 5:
printf("该日期是今年第 %d 天\n",b=c+59+31+30);
break;
case 6:
printf("该日期是今年第 %d 天\n",b=c+59+31+30+31);
break;
case 7:
printf("该日期是今年第 %d 天\n",b=c+59+31+30+31+30);
break;
case 8:
printf("该日期是今年第 %d 天\n",b=c+59+31+30+31+30+31);
break;
case 9:
printf("该日期是今年第 %d 天\n",b=c+59+31+30+31+30+31+31);
break;
case 10:
printf("该日期是今年第 %d 天\n",b=c+59+31+30+31+30+31+31+30);
break;
case 11:
printf("该日期是今年第 %d 天\n",b=c+59+31+30+31+30+31+31+30+31);
break;
case 12:
printf("该日期是今年第 %d 天\n",b=c+59+31+30+31+30+31+31+30+31+30);
break;
}
return 0;
}