《C语言程序设计》实验的报告材料材料选择结构程序设计.docx
《《C语言程序设计》实验的报告材料材料选择结构程序设计.docx》由会员分享,可在线阅读,更多相关《《C语言程序设计》实验的报告材料材料选择结构程序设计.docx(12页珍藏版)》请在冰豆网上搜索。
![《C语言程序设计》实验的报告材料材料选择结构程序设计.docx](https://file1.bdocx.com/fileroot1/2023-3/30/60cb9fc4-ef64-4981-9806-fb152e45894e/60cb9fc4-ef64-4981-9806-fb152e45894e1.gif)
《C语言程序设计》实验的报告材料材料选择结构程序设计
《C语言程序设计》课程实验报告
实验名称选择结构程序设计
学号_姓名班别
实验日期:
年月日实验报告日期:
年月日
指导老师:
实验地点:
成绩:
评语:
≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
实验目的和要求
目的:
了解C语言逻辑量的表示方法;学会正确使用逻辑运算符和逻辑表达式;熟练掌握if语句(包括if语句的嵌套)和switch语句的使用方法;结合程序掌握一些简单的算法;进一步学习程序调试的方法。
实验环境
硬件环境:
分辨率至少在1024*768像素之上的显示器;P-III及其兼容处理器,或更高型号;处理器速度至少600MHz,推荐1GHz或更高;内存至少512MB,推荐1GB或更大;2G以上硬盘空间。
软件环境:
安装windows操作系统和TC(或VC++)软件。
实验重点及难点
重点:
式关系、逻辑运算符及其表达式的语法形;if语句;switch语句。
难点:
关系与逻辑运算符表达式的结果判定;if语句嵌套的层次判定;程序中使用break语句运行结果的判定。
实验过程
一、相关知识
1.相关知识1.C语言有两种选择语句:
(1)if语句,用来实现两个分支的选择结构;
(2)switch语句,用来实现多分支的选择结构。
2.if语句的一般形式:
if(表达式)语句1
【else语句2】
3.根据if语句的一般形式,if语句可以写成不同的形式,最常用的三种如下:
(1)if(表达式) 语句1(没有else子聚部分)
(2)if(表达式)(有else子句部分)
语句1
else
语句2
(3)if(表达式1)
语句1 (在else部分又嵌套了多层的if语句)
else if(表达式2) 语句2 else if(表达式3)
语句3 :
:
else if(表达式m)
语句m else
语句m +1
4.
(1)整个if语句可以写在一行上,也可以写在多行上,但是为了程序的清晰,提倡写成锯齿形式。
(2)“语句1”、“语句2”……“语句m”等是if语句中的“内嵌语句”。
它们是if语句中的一部分。
没个内嵌语句的末尾都应当有分号,因为是分号是语句中的必不可少部分。
(3)if语句无论写在几行上,都是一个整体,属于同一个语句。
(4)“ 语句1“、”语句2“、……、”语句m“可以是一个简单的语句,也可以是一个包括多个语句的复合语句。
(5)内嵌语句也可以是一个if语句。
(6)在if语句中要对给定的条件进行检查,判断所给的条件是否成立。
5.关系运算符优先次序
(1)前四种关系运算符(<,<=,>,>=)的优先级别相同,后两种也相同。
前四种高于后两种。
(2)关系运算符的优先级低于算术运算符。
(3)关系运算符的优先级高于赋值运算符。
6.关系表达式:
用关系运算符将两个数值表达式连接起来的式子,称为关系表达式。
在C语言的逻辑运算中,以“1“代表”真“,以”0“代表”假“。
7.逻辑运算符及其优先次序。
C逻辑运算及其含义
运算符含义举例说明&&逻辑与a&&b如果a和b为都真,则结果为真,否则为假。
||逻辑或A||b如果a和b有一个以上为真,则结果为真,二者都为假时,结果为假。
!
逻辑非!
a如果a为假,则!
a为真,如果a为真,则!
a为假。
(1)!
(非)→&&(与)→||(或),即“!
“为三者中最高的。
(2)逻辑运算符中的“&&“和”!
“低于关系运算符,”!
“高于算术运算符。
8.语句n+1}说明:
(1)switch后面括号内的“表达式”,其值的类型应为整数类型(包括字符型)。
(2)switch下面的花括号内是一个复合语句。
(3)可以没有default标号,此时如果没有与switch表达式相匹配的case常量,则不执行任何语句,流程转到switch语句的下一个语句。
(4)各个case标号出现次序不影响执行结果。
(5)每一个case常量必须互不相同;否则就会出现互相矛盾的现象(对switch表达式的同一个值,有两种或多种执行方案)。
(6)case标号只起标记的作用。
(注意:
一般情况下,在执行一个case子句后,应当用break语句使流程跳出switch结构,即终止switch语句的执行。
最后一个case子句(今为default子句)中可不必加break语句,因为流程已到了switch结构的结束处。
)
(7)在case子句中虽然包含了一个以上执行语句,但是可以不必用花括号括起来,会自动顺序执行本case标号后面的语句。
加上花括号也可以。
(8)多个case标号可以共用一组执行语句。
二、实验内容:
1.有一个函数:
x(x<1)
y=2x-1(1<=x<10)
3x-11(x>=10)
编程序,用scanf()函数输入x的值,输出y相应的值;
2.从键盘输入一个小于1000的正数,要求输出它的平方根(若平方根不是整数,则输出整数部分)。
在输入数据后先对其进行检查是否小于1000,若不是则重新输入;
3.给出一个百分制成绩,要求输出成绩等级A,B,C,D,E。
其中90分以上为A等,80--89为B等,70—79为C等,60—69为D等,0—59为E等。
要求用switch语句实现。
三、实验过程
1.有一个函数:
x(x<1)
y=2x-1(1<=x<10)
3x-11(x>=10)
编程序,用scanf()函数输入x的值,输出y相应的值
按题目要求编写以下程序:
#include
main()
{
intx,y;
scanf("%d",&x);
if(x<1)
y=x;
elseif(x>=1&&x<10)
y=2*x-1;
elsey=3*x-11;
printf("y=%d\n",y);
}
输出的结果截图如下:
(1)
(2)
(3)
2.从键盘输入一个小于1000的正数,要求输出它的平方根(若平方根不是整数,则输出整数部分)。
在输入数据后先对其进行检查是否小于1000,若不是则重新输入。
按题目要求输入以下程序:
#include
#include
main()
{
inti,k;
scanf("%d",&i);
if(i>=1000)
printf("输入的数据有误,请重新输入\n");
scanf("%d",&i);
k=sqrt(i);
printf("%d的平方根的整数部分是%d\n",i,k);
}
则输出结果如下:
3.给出一个百分制成绩,要求输出成绩等级A,B,C,D,E。
其中90分以上为A等,80--89为B等,70—79为C等,60—69为D等,0—59为E等。
要求用switch语句实现。
调试通过的程序清单如下:
#include
main()
{
doublegrade;
printf("pleaseinputgrade:
");
scanf("%lf",&grade);
switch((int)(grade/10))
{
case10:
printf("score='A'");break;
case9:
printf("score='A'");break;
case8:
printf("score='B'");break;
case7:
printf("score='C'");break;
case6:
printf("score='D'");break;
default:
printf("score='E'");
}
}
调试通过的运行结果:
(1)
(2)
四、实验结果及分析
通过这次实验,我学会了了解C语言表示逻辑量的方法(以0代表“假”,非0代表“真“)学会正确使用逻辑运算符和逻辑表达式;能熟练掌握if语句和switch语句;能结合程序掌握一些简单的算法。