1.通过试验(即编写带有此类问题的程序)观察系统如何处理整数上 溢、浮点数上溢和浮点数下溢的情况。
#include<stdio.h>
int main (void)
{
int z1;
float f1,f2;
z1=-2147483647;
f1=3.4E38;
f2=-3.4E38;
printf("%d,%d,%d",z1,z1-1,z1-2);
printf("%f,%f,%f",f1,f1*10);
printf("%f,%f",f2,f2/10);
return 0;
}
2.编写一个程序,发出一声警报,然后打印下面的文本:Startled by the sudden sound, Sally shouted,"By the Great Pumpkin, what was that!"
#include<stdio.h>
int main()
{
printf("\a");
printf("Startled by the sudden sound, Sally shouted,\n");
printf("\"By the Great Pumpkin, what was that!\"\n");
return 0;
}
3.编写一个程序,读取一个浮点数,先打印成小数点形式,再打印成指 数形式。然后,如果系统支持,再打印成p记数法(即十六进制记数法)。 按以下格式输出(实际显示的指数位数因系统而异):
Enter a floating-point value: 64.25
fixed-point notation: 64.250000
exponential notation: 6.425000e+01
p notation: 0x1.01p+6
#include<stdio.h>
int main()
{
float num;
printf("please input a foating-point value\n");
scanf("%f",&num);
printf("fixed-point notation: %f\n",num);
printf("exponential notation: %e\n",num);
printf("p notation: %a",num);
return 0;
}
4.一年大约有3.156×107秒。编写一个程序,提示用户输入年龄,然后显 示该年龄对应的秒数。
#include<stdio.h>
int main(void)
{
int age;
long totalsecond;
printf("请输入你的年龄\n");
scanf("%d",&age);
totalsecond=age*3.156e7;
printf("你已经生活了%d秒\n",totalsecond);
return 0;
}
5.个水分子的质量约为3.0×10−23克。1夸脱水大约是950克。编写一个 程序,提示用户输入水的夸脱数,并显示水分子的数量。
#include<stdio.h>
#define MASS_H2o 3.0e-23
#define MASS_QT 950
int main ()
{
float quarts,countH2o;
printf("please input the number of water\n");
scanf("%f",&quarts);
countH2o=quarts*MASS_QT/MASS_H2o;
printf("%f quarts of water contain %e count of H2o",quarts,countH2o);
return 0;
}
6.英寸相当于2.54厘米。编写一个程序,提示用户输入身高(/英 寸),然后以厘米为单位显示身高。
#include<stdio.h>
int main()
{
float a,b;
printf("请输入英寸\n");
scanf("%f",&a) ;
b=a*2.54;
printf("你的身高是%fcm",b) ;
return 0;
}
7.在美国的体积测量系统中,1品脱等于2杯,1杯等于8盎司,1盎司等 于2大汤勺,1大汤勺等于3茶勺。编写一个程序,提示用户输入杯数,并以 品脱、盎司、汤勺、茶勺为单位显示等价容量。思考对于该程序,为何使用 浮点类型比整数类型更合适?
#include <stdio.h>
#define PINT_CUP 2
#define CUP_OZ 8
#define OZ_SPOON 2
#define SPOON_TEASPOON 3
int main(void)
{
float pint,cup,ounce,soup,teaspoon;
printf("please input number od cups\n");
scanf("%f",&cup);
pint=cup/PINT_CUP;
ounce=cup*CUP_OZ;
soup=ounce*OZ_SPOON;
teaspoon=soup*SPOON_TEASPOON;
printf("品脱是%f,盎司是%f,汤勺是%f,茶勺是%f",pint,ounce,soup,teaspoon);
return 0;
}
8.编写一个程序,要求提示输入一个ASCII码值(如,66),然后打印 输入的字符。
#include<stdio.h>
int main(void)
{
int ascii;
printf("please input an ascii code\n");
scanf("%d",&ascii);
printf("%d is the ascii code for %c\n",ascii,ascii);
return 0;
}
来源:oschina
链接:https://my.oschina.net/u/4229496/blog/3117238