C Primer Plus第三章编程练习

1.通过试验(即编写带有此类问题的程序)观察系统如何处理整数上溢、浮点数上溢和浮点数下溢的情况。

2.编写一个程序,要求提示输入一个ASCⅡ码值(如,66),然后打印输入的字符。

#include 
int main(void)
{
    int input;
	printf("Enter a value of char int ASCⅡ:");
	scanf("%d",&input);
	//通过scanf()函数读取用户输入,并存储在input变量中
	printf("You input value is %d,and char is %c\n",input,input);	//通过转换说明符%d与%c打印整数类型和字符
    return 0;
}

 运行结果:

C Primer Plus第三章编程练习_第1张图片

3.编写一个程序,发出一声警报,然后打印下面的文本:

Started by the sudden sound, Sally shouted,

"By the Great Pumpkin,what was that!"

#include 
int main(void)
{
    char ch='\a';
	printf("%c",ch);
	printf("Started by the sudden sound, Sally shouted,\n");
	printf("By the Great Pumpkin,what was that!\n");
    return 0;
}

 运行结果:

C Primer Plus第三章编程练习_第2张图片

4. 编写一个程序,读取一个浮点数,先打印成小数点形式,再打印成指数形式。然后,如果系统支持,再打印成p计数法。按以下形式输出:

Enter a floating-point value:64.25

fix-point notation:64.250000

exponential notation:6.425000e+01

p notation:0x1.01p+6

#include 
int main(void)
{
	float input;
	printf("Enter a floating-point value:");
	scanf("%f",&input);
	printf("fix-point notation:%f\n",input);
	printf("exponential notation:%e\n",input);
	printf("p notation:%a\n",input);
    return 0;
}

运行结果(此系统不支持打印成p计数法): 

C Primer Plus第三章编程练习_第3张图片

5.一年大约有3.156×10\hat{}7秒。编写一个程序,提示用户输入年龄,然后显示年龄对应的秒数。

#include 
int main(void)
{
	int year;
	float second;
	printf("Enter your years:");
	scanf("%d",&year);
	second=year*365*43200;
	printf("you are %e seconds old.\n",second);
    return 0;
}

运行结果: 

C Primer Plus第三章编程练习_第4张图片

6.1个水分子的质量约为3.0×10 \hat{}-23克。1夸脱水大约是950克。编写一个程序,提示用户输入水的夸脱数,并显示水分子的数量。

#include 
int main(void)
{
	float quart,quantity;
	printf("Enter how many quart:");
	scanf("%d",&quart);		//读取用户输入的夸脱数
	quantity=quart*3.0e-23;
	printf("There are %e molecule\n",quantity);	//计算水分子数量
    return 0;
}

运行结果: 

C Primer Plus第三章编程练习_第5张图片

7.1英寸相当于2.54厘米。编写一个程序,提示用户输入身高(英寸),然后以厘米为单位显示身高。

(1)

#include 
int main(void)
{
	float inch,cm;
	printf("Enter the inch of your heigh:");
	scanf("%f",&inch);
	cm=2.54*inch;
	printf("You are %.2f inch,or %.2f cm heigh\n",inch,cm);
	
    return 0;
}

运行结果: 

C Primer Plus第三章编程练习_第6张图片

(2) 

#define cm 2.54
#include 
int main() {
    float inch,height;
   //声明变量
    printf("Enter the inch of your height:");
    //提示用户输入身高
    scanf("%f", &inch);
    //计算(身高(厘米)=身高(英尺)*2.54)
    height = inch * cm;
    printf("Hi,your height is %.2f inch,or %.2fcm.\n",inch, height);
    //打印结果
    return 0;
}

运行结果: 

C Primer Plus第三章编程练习_第7张图片

7.在美国的体积测量系统中,1品脱等于2杯,1杯等于8盎司,1盎司等于2大汤勺,1大汤勺等于3茶勺。编写一个程序,提示用户输入杯数,并以品脱、盎司、汤勺、茶勺为单位显示等价容量。思考对于该程序,为何使用浮点类型比整数类型更合适?

#include 
int main()
{
    float cup;

    printf("Enter the cup number:");

    scanf("%f", &cup);

    printf("%.1f杯等于%.1f品脱\n", cup, cup / 2);
    printf("%.1f杯等于%.1f盎司\n", cup, cup * 8);
    printf("%.1f杯等于%.1f大汤勺\n", cup, cup * 8 * 2);
    printf("%.1f杯等于%.1f茶勺\n", cup, cup * 8 * 2 * 3);

    return 0;

}

运行结果:

C Primer Plus第三章编程练习_第8张图片

 因为1品脱等于2杯,如果使用整数类型,且输入杯数不是2的倍数,计算过程中的小数位会被舍去,从而导致计算结果不精确。

你可能感兴趣的:(c语言,数据结构,开发语言,青少年编程)