实验指导及报告模板Word文档下载推荐.docx
《实验指导及报告模板Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《实验指导及报告模板Word文档下载推荐.docx(27页珍藏版)》请在冰豆网上搜索。
您在编辑、编译该程序时,在输出窗口显示了几条错误信息?
请记录在实验报告中。
C:
\Users\h\Desktop\c\ex1\main.c||Infunction'
main'
:
|
\Users\h\Desktop\c\ex1\main.c|6|error:
expected'
;
'
before'
b'
\Users\h\Desktop\c\ex1\main.c|7|error:
'
c'
undeclared(firstuseinthisfunction)|
\Users\h\Desktop\c\ex1\main.c|7|note:
eachundeclaredidentifierisreportedonlyonceforeachfunctionitappearsin|
invalidoperandstobinary%(have'
float'
and'
)|
||===Buildfailed:
3error(s),0warning(s)(0minute(s),0second(s))===|
错误1:
变量b前少了分号“;
”
错误2:
变量c未定义;
错误3:
%运算符运算对象必须是整型数据。
对出现的错误信息进行分析,找出错误原因并重新编辑、编译,直到程序正确运行为止。
⏹正确的程序:
inta,b,c;
a=12;
保存文件。
2.请将560分钟转换成小时和分钟。
3.从键盘上输入圆锥体的半径r和高度h,计算其体积v=
4.实现一个简单的程序,输出字符串“WelcometoJxust!
”。
附件2:
实验指导
三、实验重点
1.一个C程序的上机过程。
2.C语言编辑环境的基本操作。
四、实验难点
1.调试C程序中的语法错误。
2.保存C程序。
五、实验方式
提前编写程序,写好实验报告,上机实验时一边调试程序一边将实验报告上关于程序调试和运行结果的信息填写到实验报告上,实验完成时上交实验报告。
六、实验内容
doublea,c;
c=a/b;
特别提醒:
由于初学者对C程序设计不熟练,初次上机时对C程序的字符集不熟练,特别容易产生字符输入的错误(约90%的初学者出现过这种错误)。
因此,在对程序进行编译时便会出现许多语法错误信息,此时你需要与样例程序清单仔细比对、仔细检查输入字符的拼写错误或其它类型错误,每修改一处,必须重新编译一次,如此反复操作直至错误不再出现。
另外,由于编译的错误信息是英文信息,对英文阅读和理解可能有一定的困难,这点也是初学者实验时的难点,但请放心,同样的错误信息见的次数多了你也就能明白意思,希望读者不要害怕。
正所谓磨刀不误砍柴功,多花点时间和心思做好语法错误信息理解,将提升你编程、调试程序的能力。
提示:
(1)已知1小时=60分钟
(2)560/60的结果为小时数;
(3)560%60的余数为分钟数;
(4)输出结果
请根据给出的语句,试着编写程序。
(1)已知л、r、h的值
(2)将数学公式转换成C语言表达式
v=π*r*r*h/3
(3)求v
(4)输出结果。
请试着编程求体积v。
实验二数据类型、运算符和表达式
1.掌握C语言数据类型,熟悉各种类型变量的定义和含义。
2.掌握C语言标准输入、输出函数的使用方法
3.进一步熟悉C程序的上机过程,积累调试经验。
通过上机实验,巩固本章所学基本知识-C语言的数据类型、变量的定义和使用、结合数据类型更深入地理解标准输入函数scanf()和标准输出函数printf()的格式控制符的意义和使用。
通过简单程序设计的练习加深对运算符优先级和结合方向的理解,并正确求解表达式的值,这些必要的基础知识是后面深入学习C语言所必须的知识储备。
1.数据类型、变量的定义和使用;
2.运算符、表达式的求解
3.简单顺序结构的C程序设计
数据类型的转换、自增自减运算
1.程序阅读题
(1)阅读并执行下列程序,分析结果。
intmain()
{
floatx=1,y;
y=++x*++x;
printf(“%f\n”,y);
return0;
}
此题在C_Free中运行结果为6,在codeblocks和VC中运行结果为9。
为什么会产生这种情况,是因为编译器处理的方式不同,这种++x*++x运算情况建议读者尽可能的少用或不用。
如对程序作如下修改,则可避免歧义性的发生。
floatx=1,y,m,n;
m=++x;
n=++x;
y=m*n;
printf("
%f\n"
y);
(2)阅读下列程序段并分析结果。
intm=0,n=0;
charc=’d’;
scanf("
%d%c%d"
&
m,&
c,&
n);
%d,%c,%d\n"
m,c,n);
若从键盘上输入:
6D6<
回车>
,则输出结果是()。
(3)以下程序的运行结果是()
#include<
inta,b,d=241;
a=d/100%9;
b=(-1)&
&
(-1);
printf(“%d,%d”,a,b);
(4)以下程序的运行结果是()。
intx=1,y,z;
x*=3+2;
printf(“%d\t”,x);
x*=y=z=5;
x=y==z;
printf(“%d\n”,x);
return0
(5)分析以下程序的运行结果。
#include<
intn=2;
%d,%d,%d\n"
++n,n+=2,--n);
实验三数据的输入和输出
1.掌握C语言标准输入、输出函数的使用方法
2.掌握格式控制字符的使用和理解
通过上机实验,巩固本章所学基本知识:
标准输入函数scanf()和标准输出函数printf()的应用。
此部分实验为顺序结构的程序,通过上机验证以更好地理解格式控制字符的语义,正确掌握格式控制字符和普通字符的输出,掌握顺序结构的程序设计。
1.标准输入函数scanf()的使用
2.标准输出函数printf()的使用
标准输入函数scanf()中的格式输入方式
1.上机练习下列各程序段,并完成变量的定义,运行时观察输入数据时的格式要求。
(1)
;
&
定义变量
scanf("
%c%c%c"
a,&
b,&
c);
%c,%c,%c\n"
(2)
%c,%c,%c"
a=%c,b=%c,c=%c\n"
(3)
%d%d%d"
(4)
%d,%d,%d"
(5)
%d%f%d"
a=%d,b=%f,c=%d\n"
(6)
%d%c%lf"
a=%d,b=%c,c=%lf\n"
2.阅读程序
(1)以下程序的输出结果是(),结合格式控制符的语义对结果进行分析。
intmain()
\n*s1=%15s*"
"
chinabeijing"
);
\n*s2=%-5s*"
"
chi"
rerurn0;
(2)阅读以下程序,当输入数据形式为:
25,13,10<
CR>
,正确的输出结果为(),结合格式控制符的语义对结果进行分析。
intx,y,z;
x,&
y,&
z);
x+y+z=%d\n"
x+y+z);
(3)以下程序的输出结果为(),结合格式控制符的语义对结果进行分析。
{intx=10;
floatpi=3.1416;
(1)%d\n"
x);
(2)%6d\n"
(3)%f\n"
56.1);
(4)%5.14f\n"
pi);
(5)%e\n"
568.1);
(6)%14.e\n"
(7)%g\n"
(8)%12g\n"
(4)以下程序的输出结果为()
{shorta;
a=-4;
\na:
dec=%d,oct=%x,unsigned=%u\n"
a,a,a,a);
实验四选择结构
1.掌握选择结构的语句格式和语义。
2.掌握if语句和switch语句的使用。
3.掌握多分支if语句嵌套中的else与if的配对原则。
4.了解条件表达式的格式和语义。
5.掌握综合应用if语句和switch语句的编程能力。
通过上机实验,巩固对选择结构知识的掌握。
掌握结构化程序设计的第二种基本结构--选择结构,它是程序设计必备的基本知识,只有掌握好这些基本结构,才能进一步进行程序设计,进行更复杂的算法设计。
1.关系运算符和逻辑运算符以及条件运算符的使用
2.if语句的使用
3.switch语句的使用
4.多重条件下的if语句嵌套使用
1.复杂条件的表达
2.复合语句的使用
3.if语句嵌套
1.程序阅读题
(1)请阅读以下程序,该程序运行结果是()。
inta=5,b=0,c=0;
if(a+b+c)printf(“***\n”);
elseprintf(“$$$\n”);
(2)当a=5,b=8,c=11,d=9时,执行完下面一段程序后x的值是()
if(a<
b)if(c<
d)x=1;
elseif(a<
c)if(b<
d)x=2;
elsex=3;
elsex=6;
elsex=7;
(3)执行以下程序段后的输出结果是:
()
intw=3,z=7,x=10;
printf(“%d\n”,x>
10?
x+100:
x-10);
printf(“%d\n”,w++||z++);
printf(“%d\n”,!
w>
printf(“%d\n”,w&
(4)请阅读以下程序,该程序运行结果是()。
intk=2;
switch(k)
{
case1:
%d"
k++);
case2:
case3:
case4:
break;
default:
Full!
\n"
\nk=%d\n"
k);
2.编程题
(1)从键盘上任意输入三个整数,按照由大到小的顺序输出。
(2)编写程序,输入一个字符存入变量ch中,根据该字符的ASCII码值判断该字符是字母、数字或其他字符(other)。
(3)有一函数:
编写一个程序,用scanf函数输入x的值,输出y值。
注意表达式的书写方法。
此题要用到数学函数exp()和log10(),因此应包含相应的头文件。
(4)编写一个程序,用户输入日期,计算该日期是这一年的第几天。
(5)某书店有以下规定:
购书在20000元以上者,打7.5折;
购书在10000元以上者打8折;
购书在2000元以上者打8.5折;
购书在100元以上者打9折。
假设某一种书的定价为24元,编写一个程序,计算一位顾客只购买这一种书的应付金额。
实验五循环结构
1.掌握while、do-while和for三种循环语句的格式;
2.掌握while、do-while和for三种循环语句的执行流程;
3.掌握循环嵌套的执行流程和应用;
4.掌握跳转语句break和continue语句的应用;
通过上机实验,巩固所学的循环结构知识。
循环结构是结构化程序设计的基本结构之一,它与顺序结构、选择结构共同作为各种复杂程序的基本构造单元。
掌握好循环结构与选择结构的配合使用,掌握好循环语句的嵌套,才能进行更复杂的程序设计,也才能解决更多的复杂问题。
这章的内容在整个程序设计过程中具有重要的意义,因此本部分的实验,对于提高学生的程序设计能力具有非常重要的作用,应给予高度的重视和实战练习。
1.三种循环语句的使用;
2.简单循环问题的分析和程序设计;
3.正确的构造循环条件和程序的流程;
4.循环程序的调试方法和技巧;
1.复杂问题的循环语句设计
2.循环嵌套的和break和continue循环设计
3.循环程序的调试:
死循环的验证
1.程序阅读
(1)若运行以下程序时,从键盘输入2473<
则下面程序的运行结果是()
#include<
intmain()
intc;
while((c=getchar())!
=’\n’)
switch(c-‘2’)
{case0:
case1:
putchar(c+4);
case2:
break;
putchar(c+3);
case4:
putchar(c+2);
}
printf(“\n”);
(2)请阅读以下程序,该程序运行结果是()。
intx=-1,n=0;
do
x=x*x;
n++;
}while(!
x);
n=%d\n"
n);
(3)请阅读以下程序,该程序运行结果是()。
inty=10;
for(;
y>
0;
y--)
if(y%3==0)
printf("
--y);
continue;
intx;
for(x=1;
x<
100;
x++)
if(++x%2==0)
if(++x%3==0)
if(++x%5==0)
%d\n"
(5)请阅读以下程序,该程序运行结果是()。
intx,i;
for(i=1;
i<
i++)
x=i;
if(++x%7==0)
%d"
(6)执行下面程序段后,a的值为()。
inta,b;
for(b=1,a=1;
b<
=20;
b++)
if(a>
=10)break;
if(a%2==1)
{a+=5;
continue;
a-=3;
(1)键盘输入一行字符,以回车键作为结束标志,分别统计出大写字母、小写字母、空格、数字和其它字符的个数。
(2)分别用while、do-while和for语句计算
(即求1!
+2!
+3!
+…+20!
),并试着简化程序。
(3)有一分数序列:
求出这个数列的前20项之和。
(4)求
的值,其中a是一个数字,如2+22+222+2222+22222(此时a=2,n=5),a和n均由键盘输入。
(5)输入x,计算级数:
要求输出精度为10-8。
(6)用循环语句编写程序,输出如下图案:
******
*****
****
***
**
*
实验六数组
4机时
1.掌握一维数组的定义、引用。
2.掌握一维数组元素初始化的特点、编程注意事项。
3.掌握一维数组排序的经典算法。
4.掌握二维数组的定义、元素引用、编程方法。
5.掌握字符数组的定义、元素引用、编程方法。
6.掌握字符串常用程序设计方法。
在解决实际问题或实现某些算法时,数组是经常使用的构造数据类型,掌握数组的定义,元素引用特征和数组的编程特色,可加强学生解决实际问题的能力,同时可接触到更多的经典算法,这些算法很多都是通过数组类型存储数据并实现的,有了这些基础后,学生可以在今后的编程中应用这些知识编写出解决复杂问题的程序。
数组的实验能让学生进一步的提高程序设计编程和调试的能力,对于数组元素引用及循环控制的综合使用,也可以在实验中得以加深理解和巩固知识。
1.一维数组的定义、元素的引用。
2.一维数组编程的循环控制特色。
3.排序算法的实现。
4.二维数组的定义、元素引用、编程方法。
5.字符数组的定义、元素引用、编程方法。
6.掌握二维数组与循环嵌套的综合应用
1.一维数组编程的循环控制特色,程序调试时的数组越