实验2顺序结构程序设计

  • 格式:docx
  • 大小:154.36 KB
  • 文档页数:6

下载文档原格式

  / 6
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《C语言程序设计》实验报告

----------------------------------------------------------------------------------------------

实验2顺序结构程序设计

一、实验目的

(1)掌握C语言中赋值语句的使用方法。

(2)掌握各种类型数据的输入与输出方法,能正确使用各种格式转换符。(3)掌握C语言的顺序结构程序设计。

二、实验内容与步骤

1.输入程序,观察程序运行结果

(1)输入并运行下面的程序,掌握用scanf()函数输入多个整型数据时,格式说明中无分隔符的正确使用。

/*c2-1.c*/

#include

int main()

{

int i,j;

printf("Enter i,j\n");

scanf("%d%d",&i,&j);

printf("i=%d,j=%d\n",i,j);

return 0;

}

总结与反思:1.printf("E nter i,j\n");语句是对下面的输入语句起提示作用;2.本题

在scanf()语句中,输入两个整数之间可用空格、Tab或回车键分隔,但用其他的分隔符不能得到正确的值。

(2)输入并运行下面的程序,掌握用scanf()函数输入多个整型数据时,格式说明中逗号分隔符的正确使用。

/*c2-2.c*/

#include

int main()

{

int i,j;

printf("Enter i,j\n");

scanf("%d,%d",&i,&j);

printf("i=%d,j=%d\n",i,j);

return 0;

}

总结与反思:本题在scanf()语句中,输入两个整数之间必须用逗号分割,用

其他的分隔符时第一个变量能得到正确的值,第二个变量不能得到正确的值。(3)输入并运行下面的程序,掌握格式scanf()函数中普通字符按原样输入的使用方法。

/*c2-3.c*/

#include

int main()

{

float i,j;

scanf("i=%f,j=%f",&i,&j);

printf("i=%.3f,j=%.3f\n",i,j);

return 0;

}

总结与反思:用scanf()函数输入内容,必须严格按照格式说明部分进行键入。

(4)输入并运行下面的程序,如果scanf()函数中格式与变量类型的对应关系错误,将不能得到正确的结果。

/*c2-4.c*/

#include

int main()

{

int i,j;

scanf("%f,%f",&i,&j);

printf("i=%d,j=%d\n",i,j);

return 0;

}

总结与反思:1.与int(基本整型)对应的应是%d,与float(浮点型)对应的是%f。

2.scanf()函数格式说明应与定义的变量类型一致!

(5)输入一个大写字母A,将它转换为小写字母a,输出小写字母a及对应的ASCII码值97,要求输出格式为“j=a,j=97”,完善下面程序中的输出语句。

/*c2-5.c*/

#include

int main()

{

int j;char i;

scanf("%c",&i);

j=i+32;

printf("j=%c,j=%d\n",j,j);

return 0;

}

总结与反思:输出语句用printf("格式说明",要输出的量);格式说明(除

去%d、\n等)是原样输出的,用要输出的量来代替%d,\n是换行符。

(6)输出以下程序,运行程序并按要求修改程序。

/*c2-6.c*/

#include

int main()

{

int a,b;

float d,e;

char c1,c2;

double f,g;

long m,n;

unsigned int p,q;

a=61;b=62;

c1='a';c2='b';

d=3.56;e=-6.87;

f=3157.890121;g=0.123

456789;

m=2147483547;n=-2147483548;

p=2147483547;q=4000000000;

printf("a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n",a,b,c1,c2,d,e);

printf("f=%15.6f,g=%15.12f\nm=%ld,n=%ld\np=%u,q=%u\n",f,g,m,n,p,q);

return 0;

}

②在此基础上修改程序的第8-13行。

问题来了:(a,b)(d)(m,n)(p,q)为何这样输出?

③改用scanf函数输入数据而不用赋值语句,scanf函数如下:

scanf("%d,%d,%c,%c,%f,%f,%lf,%lf,%ld,%ld,%u,%u",&a,&b,&c1,&c2,&d,&e,&f,&g,&m,&n,& p,&q);

④将printf语句改为:

printf("a=%d,b=%d\nc1=%c,c2=%c\nd=%15.6f,e=%15.12f\n",a,b,c1,c2,d,e);

printf("f=%f,g=%f\nm=%d,n=%d\np=%d,q=%d\n",f,g,m,n,p,q);

⑤将p,q改用%o格式符输出。

⑥将scanf函数中的%lf和%ld改为%f和%d

总结与反思:1.1f和1d格式符分别用于输入double型和long型数据;2.%f系

统默认小数点后6位;

(7)将a、b两个变量的值交换后,如果按“a=2,b=1”的格式输出,完善下面程序中的输出语句。

/*c2-7.c*/

#include