- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
printf("area=%f\n",area);/*输出圆面积*/
}
说明:
1.程序的运行结果为“area=706.857727”。
2.程序的第2行定义了符号常量PI。这样做的好处是程序中出现的所有PI,其值均为3.14159,既简化了程序,又提高了阅读性。
3.注意printf()函数中的“格式控制字符串”部分,area=为普通字符,所以会原样输出。
}
【实验2.8】程序实现从键盘输入3个变量的值,其中a=5,b=6,c=7,将3个变量的值进行交换,使得a=6,b=7,c=5。输入并完善以下程序。
#include <stdio.h>
main()
{
int a,b,c,__________;/*定义4个变量*/
printf("Enter a,b,c=");/*输出提示*/
【实验2.3】整型变量的输出程序。
#include<stdio.h>
main( )
{
int a=126;/*定义整型变量a并赋值*/
longb=-1234567;/*定义浮点型变量a并赋值*/
unsignedc=50000;/*定义无符号变量c并赋值*/
printf("%d,%o,%x\n",a,a,a);/*分别按十进制、八进制及十六进制输出*/
#include <stdio.h>
main( )
{
int a=123;/* */
float b=123.456;/* */
printf("%d,%5d\n",a,a);
printf("%f,%13f,%e,%15e,%g,%6g\n",b,b,b,b,b,b);
printf("%9.5f,%8.2f,%.0f,%-10.2f\n",b,b,b,b);
提示:实现交换两个变量的值的方法有两种(请对两种方法进行比较):
(1)中间变量法。设t为中间变量,利用如下三条语句来交换变量a和b的值。
t = a: a = b: b = t
(2)算术方法。利用如下三条语句来交换变量a和b的值。
a = a + b: b = a – b: a = a - b
#include <stdio.h>
#define PI 3.14159/*定义符号常量PI*/
main()
{
float radius,area;/*定义浮点型变量radius,area*/
radius=15.0;/*给半径radius赋值*/
area=PI*radius*radius;/*计算圆面积area */
注意:改错时不允许增加及删除语句,只允许修改或移动语句的位置。
【含有错误的程序代码】
#include <stdio.h>
main()
{
float a;
double area;
printf("Enter a,h=");
scanf("%f %f",a,h);
area=a*h/2;
printf("area=%d\n",area);
scanf("%f%f%f",&a,&b,&h);
area=1/2*(a+b)*h;
printf("area=%8.2f\n",area);
}
2.6自己练习
1.编写程序,从键盘输入两个整数542561689和1351387245,计算并输出它们的和。
2.编写程序,从键盘输入四个整数a、b、c、d,a和d交换,b和c交换,输出交换后的值。
2.2示例程序
【实验2.1】输入并运行以下程序。
#include<stdio.h>
main()
{
printf("What's ");/*输出What's*/
printf("your ");/*输出your*/
printf("name?\n");/*’\n’是换行符*/
}
说明:
1.程序的运行结果为“What’s your name?”。
}
【实验2.10】下面程序的功能是:给定梯形的上底a、下底b和高h,求梯形面积。请改正程序中的错误,并调试。
注意:改错时不允许增加及删除语句,只允许修改或移动语句的位置。
【含有错误的程序代码】
#include <stdio.h>
main()
{
float a,b,h,area;
printf("Enter a,b,h=");
}
说明:
1.运行程序,输出的第一行结果为:
2.输出的第二行结果为:
3.输出的第三行结果为:
分析上述三行输出结果。
【实验2.6】输入并运行以下程序。给出注释和运行结果。
#include <stdio.h>
main( )
{
int a,b,c;
printf("Enter a,b=");/* */
scanf("%o,%x",&a,&b);/* */
printf("\na=%d,b=%f\n",a,b);/*输出a、b的值*/
}
说明:
1.运行程序,若输入为“10︺22”,则输出的结果为:
a=10,b=22.000000
2.将输入语句改为“scanf("%3d%5f",&a,&b);”,运行程序,若输入“1︺123.4”,则输出结果为:
a=10,b=123.400002
scanf("%d%d%d",__________);/*输入3个变量的值*/
temp=a;
__________;
b=Hale Waihona Puke Baidu;
__________;
printf("a=%d b=%d c=%d\n",a,b,c);/*输出处理后的数据*/
}
2.5改错程序
【实验2.9】下面程序的功能是:给定三角形的底a和高h,求三角形面积。请改正程序中的错误,并调试。
c=a*b;
printf("%d,%o,%x\n",c,c,c);/* */
}
说明:
1.“%o”表示从键盘上输入八进制数据,输入时各位数字只能在0~7范围内。“%x”表示从键盘上输入十六进制数据,输入时各位数字只能在0~9、a~f范围内。
2.运行程序,输入“12,1a”输出的结果为:
分析上述输出结果。
printf("%5d,%-5d\n",a,a);/*分别按右对齐、左对齐格式输出*/
printf("%10ld,%3u\n",b,c);/*指定宽度输出*/
}
说明:
1.程序的运行结果为:(︺代表一个空格)
126,176,7e
︺︺126,126︺︺
︺︺-1234567,50000
2.数据按八进制、十六进制形式输出时,不显示进制标记(o、0x、0X等前缀)。
2.printf()函数中只有“格式控制字符串”部分,且只包含普通字符,所以会原样输出。
3.前两行的printf()函数中无换行符’\n’,不进行换行操作,第3行的printf()函数中包含换行符’\n’,字符串输出后换行,这样3个字符串输出到一行上。
【实验2.2】编写已知半径r为15求圆面积的程序。
2.4完善程序
【实验2.7】输入并完善以下程序,使程序在两行输出。
#include <stdio.h>
main( )
{
int a,b;
a=8;
b=9;
printf("__________",a,a,a*a);/*输出8*8=64*/
printf("%d*%d=%d\n",___________);/*输出8*9=72*/
3.当输出数据的位数超出指定的宽度时,会突破指定的宽度限制,以确保输出数据的正确性。
【实验2.4】写出下面程序的输出结果。
#include <stdio.h>
main( )
{
int a;
floatb;
printf("Enter a and b:",a,b);/*输出提示*/
scanf("%d%f",&a,&b);/*输入a、b的值*/
实验2顺序结构程序设计
2.1实验目的
1.掌握C语言数据类型的概念,熟悉如何定义一个整型、实型和字符型的变量,以及对它们赋值的方法。
2.掌握输出函数printf()及输入函数scanf()的各种格式控制符的用法。
3.掌握顺序结构程序设计方法及执行过程。
4.进一步熟悉C程序的编辑、编译、连接、运行的过程。
从运行结果看,浮点数在输出时存在误差。
3.输入语句仍为“scanf("%3d%5f",&a,&b);”,运行程序,若输入为“123456”,则输出的结果为:
a=123,b=456.000000
变量a取3位得到123,变量f取5位,由4开始取出3位456,小数部分为6个0。
2.3阅读程序
【实验2.5】输入并运行以下程序。给出注释和运行结果。