c语言-选择结构程序设计实验报告4.doc
实验报告
实验题目:选择结构程序设计
实验目的:
了解C语言表示逻辑量的方法(以0代表“假”以非0代表“真”)。
学会正确使用逻辑运算算符和逻辑表达式。
熟练掌握if语句的使用(包括if语句的嵌套)。
熟练掌握多分支选择语句——switch语句。
结合程序掌握一些简单的算法。
进一步学习调试程序的方法。
实验内容:
本实验要求事先编好解决下面问题的程序,然后上级输入程序并调试运行程序。
有一函数:
输入的值,输出相应的值。用scanf函数输入的值,求值(第四章第六题)
运行程序,输入的值(分别为x<1、、这三种情况),检查输出y值是否正确。
答:
1)调试通过的程序清单如下:
#include
void main()
{
int x,y;
printf("请输入X:");
scanf("%d",&x);
if(x<1)
y=x;
else if(x<10)
y=2*x-1;
else y=3*x-11;
printf("y=%d\n",y);
}
3)调试过程出现的问题说明及处理方法:
编译提示信息如下:
Compiling...
c4_4.c
F:\20113009711_选择结构程序设计\第四次实验\c4_4.c(10) : error C2059: syntax error : 'bad suffix on number'
F:\20113009711_选择结构程序设计\第四次实验\c4_4.c(10) : error C2146: syntax error : missing ';' before identifier 'x'
F:\20113009711_选择结构程序设计\第四次实验\c4_4.c(10) : warning C4552: '-' : operator has no effect; expected operator with side-effect
F:\20113009711_选择结构程序设计\第四次实验\c4_4.c(11) : error C2181: illegal else without matching if
F:\20113009711_选择结构程序设计\第四次实验\c4_4.c(11) : error C2059: syntax error : 'bad suffix on number'
F:\20113009711_选择结构程序设计\第四次实验\c4_4.c(11) : error C2146: syntax error : missing ';' before identifier 'x'
F:\20113009711_选择结构程序设计\第四次实验\c4_4.c(11) : warning C4552: '-' : operator has no effect; expected operator with side-effect
执行 cl.exe 时出错.
c4_4.obj - 1 error(s), 0 warning(s)
原因分析:
由于习惯在数学上习惯于用2x表示2*x,导致在这里忽略了“*”,以致程序出现严重错误。
从键盘输入一个小于1000的正数,要求输出它的平方根(如平方根不是整数,则输出其整数部分)。要求在输入数据后先对其进行检查是否小于1000的正数。若不是,则要求重新输入。
1)调试通过的程序清单如下:
#include
#include
#define M 1000
int main()
{
int i,k;
printf("请输入一个小于%d的整数i:",M);
scanf("%d",&i);
if(i>1000)
{printf("输入的数据有误,请重新输入:",M);
scanf("%d",&i);
}
k=sqrt(i);
printf("%d的平方根的整数部分是%d\n",i,k);
return 0;
}
2)调试通过的运行结果:
3)调试过程出现的问题说明及处理方法:
Compiling...
c4_4.c
F:\20113009711_选择结构程序设计\第四次实验\c4_4.c(10) : error C2018: unknown character '0xa3'
F:\20113009711_选择结构程序设计\第四次实验\c4_4.c(10) : error C2018: unknown character '0xbb'
F:\20113009711_选择结构程序设计\第四次实验\c4_4.c(11) : error C2146: syntax error : missing ';' b