[选择结构程序设计-C语言程序实验报告] c语言实验报告心得

 安 徽 工 程 大 学

  高级语言程序设计 实 验 报 告

 班级 姓名 同组者 / 成绩

  日期 2019.10.10 指导教师

 

 实验名称 选择结构程序设计

 实验目的学会正确使用关系运算符和关系表达式。

 学会正确使用逻辑运算符、逻辑表达式以及关系表达式等。

 熟悉掌握if语句和switch语句的用法。

 熟悉选择结构程序中的语句执行过程,掌握选择结构程序设计的方法。

 实验内容

 编写程序,判断从键盘上输入的一个字符类型,并按下列要求输出。

 若该字符是数字,输出字符串“0~9”。

 若该字符是大写或者小写字母,输出字符串“A~z”。

 若该字符是其他字母,输出“!,@,……”。

  完善P56页第一个源程序,对源程序进行编译、连接并运行,完成调试报告。

 编程并上机调试。

 给出一个不多于4位的正整数,求它是几位数。

 给出一个百分制成绩,要求输出成绩等级'A'、'B'、'C'、'D'、'E'。90分以上为'A',80~90分为'B'70~79分为'C',60~69分为'D',60分以下为'E'。用switch语句来实现。

 输入4个整数,要求按从小到大的顺序输出。

 输入3个整数,将最大数与最小数输出。

 输入一个字符,如果是数字字符,把它转换成相应的数字输出;如果不是,则以十进制整数形式输出其ASCⅠⅠ码值。

  *思考题

 若在实验内容1的程序第8行的语句else if (_)后多输入了一个分号,即“else if (_);”,分析程序,写出预期结果,然后输入调试,查看运行结果与预期结果是否一致并分析原因。

 若在实验内容1的程序第8行的语句else if(_)法人括号内输入c>='A'&&c<='z'后,判断在调试时是否能得到正确结果,并分析原因。

 算法流程图或实验步骤(可根据需要增删、修改)

 (1)算法流程图

 #include<stdio.h>

 void main( )

 {

  char c;

  scanf("%c",&c);

  if(c>='0'&&c<='9')

  printf("0~9\n");

  else if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))

  printf("A~z\n");

  else

  printf("!,@,……\n");

 }

 (2)实验步骤

 Files→New→Files→C++source File→文件名:program3011.c→位置:E:\123\→确定→完善源程序→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看运行结果

 (1)算法流程图:

 #include<stdio.h>

 void main ( )

 {

  int a,b;

  scanf("%d",&a);

  b=a/10;

  if (b==0)

  printf("该数是一位数");

  else if (b>=1&&b<=9)

  printf("该数是两位数");

  else if (b>=10&&b<=99)

  printf("该数是三位数");

  else

  printf("该数是四位数");

 }

 实验步骤:

 Files→Close Workspace→Files→New→Files→C++source File→文件名:program3021.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果

 算法流程图:

 #include <stdio.h>

 void main()

 {

  int a,b;

  scanf("%d",&a);

  b=a/10;

  switch(b)

  {

  case(10):printf("A\n");break;

  case(9):printf("A\n");break;

  case(8):printf("B\n");break;

  case(7):printf("C\n");break;

  case(6):printf("D\n");break;

  default:printf("E\n");break;

  }

 }

 实验步骤:

 Files→Close Workspace→Files→New→Files→C++source File→文件名:program3022.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果

 算法流程图:

 #include<stdio.h>

 void main ( )

 {

  int a,b,c,d,t;

  scanf("%d,%d,%d,%d",&a,&b,&c,&d);

  if (a>b)

  {

  t=a;

  a=b;

  b=t;

  }

  else if (a>c)

  {

  t=a;

  a=c;

  c=t;

  }

  else if (a>d)

  {

  t=a;

  a=d;

  d=t;

  }

  else if (b>c)

  {

  t=b;

  b=c;

  c=t;

  }

  else if (b>d)

  {

  t=b;

  b=d;

  d=t;

  }

  else if (c>d)

  {

  t=c;

  c=d;

  d=t;

  }

  printf("%d,%d,%d,%d",a,b,c,d);

  return 0;

 }

 实验步骤:

 Files→Close Workspace→Files→New→Files→C++source File→文件名:program3023.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果

 算法流程图:

 #include<stdio.h>

 void main ( )

 {

  int a,b,c,t;

  scanf("%d,%d,%d",&a,&b,&c);

  if (a>b)

  {

  t=a;

  a=b;

  b=t;

  }

  else if (a>c)

  {

  t=a;

  a=c;

  c=t;

  }

  else if (b>c)

  {

  t=b;

  b=c;

  c=t;

  }

  printf("min is %d,max is %d",a,c);

 }

 实验步骤:

 Files→Close Workspace→Files→New→Files→C++source File→文件名:program3024.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果

 算法流程图:

 #include<stdio.h>

 void main ( )

 {

  char a;

  scanf("%c",&a);

  if (a>='0'&&a<='9')

  printf("%c",a);

  else

  printf("%d",a);

 }

 实验步骤:

 Files→Close Workspace→Files→New→Files→C++source File→文件名:program3025.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果

 *思考题:

 算法流程图:

 #include<stdio.h>

 void main( )

 {

  char c;

  scanf("%c",&c);

  if(c>='0'&&c<='9')

  printf("0~9\n");

  else if((c>='a'&&c<='z')||(c>='A'&&c<='Z'));

  printf("A~z\n");

  else

  printf("!,@,……\n");

 }

 实验步骤:

 Files→Close Workspace→Files→New→Files→C++source File→文件名:program3031.c→位置:E:\123\→确定→修改代码→Buid→是

 算法流程图:

 #include<stdio.h>

 void main( )

 {

  char c;

  scanf("%c",&c);

  if(c>='0'&&c<='9')

  printf("0~9\n");

  else if(c>='A'&&c<='z')

  printf("A~z\n");

  else

  printf("!,@,……\n");

 }

 实验流程:

 Files→Close Workspace→Files→New→Files→C++source File→文件名:program3041.c→位置:E:\123\→确定→修改代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果

 实验结果及分析

 1.

 序号

 输入数据

 预期结果

 运行结果

 1

 5

 0~9

 0~9

 2

 E

 A~z

 A~z

 3

 *

 !,@,……

 !,@,……

 4

 h

 A~z

 A~z

 程序见第三项算法流程图。

 *思考题

 编译时产生错误(illegal else without matching),与预期结果一致

 A至z间的ASCⅠⅠ码值不连续(一些特殊符号的ASCⅠⅠ码值存在于A~z的范围内)

 实验体会、问题讨论

 1.if ( )后不加;

 2.在排列一组数的大小时,可以引入新的变量充当变换“容器”;

 3.A~z间的ASCⅠⅠ码值不连续

 教师签字: 批改日期:

 说明:

  1、对于每一个实验项目,实验报告(含预习)一般应包含以下内容:

 第一部分——预习后的书面汇报。其主要内容应包含:*一、实验目的;*二、实验内容;三、算法流程图或实验步骤。实验目的和实验内容参见实验教材或老师下发的内容。

 第二部分——实验结果的书面汇报。其主要内容应包含: *四、实验结果及分析(含实验测试输入数据,实验运行结果截图,用简洁的语言总结实验,汇报是否达到实验目的);*五、实验体会、问题讨论(谈体会或感想、提出建议或意见、讨论与实验有关的且自己感兴趣的问题、回答课后思考题)。

 第三部分——附录:实验源程序。提前编写好程序,实验时调试并完善。

 2、 实验报告写在教务处下发的实验报告纸上,每次实验完成后课代表收齐统一交给老师。

 实验源程序写在单独的一个本子上,实验课时带到机房,供上机调试使用,实验教师抽查完成情况。

推荐访问:程序设计 语言 结构 实验 选择