山东大学威海BIC语言实验指导

上传人:平*** 文档编号:16157325 上传时间:2017-11-06 格式:DOC 页数:36 大小:302.80KB
返回 下载 相关 举报
山东大学威海BIC语言实验指导_第1页
第1页 / 共36页
山东大学威海BIC语言实验指导_第2页
第2页 / 共36页
山东大学威海BIC语言实验指导_第3页
第3页 / 共36页
山东大学威海BIC语言实验指导_第4页
第4页 / 共36页
山东大学威海BIC语言实验指导_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《山东大学威海BIC语言实验指导》由会员分享,可在线阅读,更多相关《山东大学威海BIC语言实验指导(36页珍藏版)》请在金锄头文库上搜索。

1、20 11 -20 12 学年第 一 学期 C 语 言 程 序 设 计 实验指导专 业 班 级 学 生 姓 号 学 生 姓 名 Comment J1: 必须是下划线注意:1.每个实验必须按“学号 expn_m(n 为章节号,m 为实验序号)姓名(汉字) ”(如王伟:201000630208exp1_2 王伟)格式命名文件名,并且文件名中间不允许有空格,不按上述要求命名文件名将被视为作业无效。2.实验运行结束得到正确的结果后,适当调整各个窗口位置,使它们均不互相遮挡的状态下显示在屏幕上,然后按Shift+PrintScreen键进行截图,然后在“画图”粘贴并按“学号 expn_m(n 为章节号,

2、m 为实验序号)姓名(汉字) ”(如王伟:201000630208exp1_2 王伟)格式命名并保存为.png格式。然后提交到服务器指定的文件夹中。3.服务器地址:ftp:/219.231.163.180。用户名 :xgcyy 口令:12345作业提交文件夹:C 语言作业提交实验一 熟悉 C 语言程序开发环境及 C 语言基础知识和顺序结构1.1 实验目的1了解和掌握 C 语言的主要特点,C 语言的程序开发环境,掌握 C 语言的上机步骤。2熟练掌握源程序的建立、编辑、编译、保存和运行的基本方法。3学习动态调试程序的方法,熟练掌握单步执行程序和设置断点执行程序的操作。4认识 C 语言,熟悉 C 语

3、言的语法结构。5掌握 C 语言中 4 种基本数据类型的特点、数据类型变量的定义及使用。6掌握不同数据类型运算时,数据类型的转换规则。7熟练掌握赋值语句。8掌握 C 语言中表达式语句以及不同运算符的运算规则和优先级。1.2 实验预习1熟悉 VC+的启动和退出以及 VC+中的编辑、编译、连接和运行命令。2了解下列命令及函数:include、main、printf、scanf。3各种数据类型变量的定义形式;熟悉下列标识符的含义:int、short (int)、long (int)、unsigned (int)、float、double、char、void4各种数据类型的取值范围。5各类运算符的优先级

4、和结合规则。6常量与变量的区别和联系。1.3 实验任务准备工作:首先在 D 盘建立一个以自己的学号命名文件夹,用来存放所建的文件。1.4 实验课时 : 4 学时【实验 11】:实现下列程序的运行结果(1)#include void main()printf(“*n”);printf(“This is a c program. n”);printf(“*n”);运行结果及分析:该程序为简单的打印语句的程序。关键字 void 表示该函数不给操作系统返回任何值,明确表示不带参数。 “n”表示换行操作。将程序中的n 去掉后,运行结果及分析:去掉n,表示不换行, printf 语句中的内容会依次连续输出

5、。【实验 12】:练习变量的定义和赋值的用法,对变量进行加、减、乘、除算术运算熟悉表达式的应用。#include void main()int a=100,b=20,sum,sb;sum=a+b;sb=a-b;mul=a*b;div=a/b;printf(sum=%d,sb=%d,mul=%d,div=%d,sum,sb,mul,div);运行结果及分析:Sum=120,sb=80,mul=2000,div=5该程序为加减法的应用。关键字 void 表示该函数不给操作系统返回任何值,明确表示不带参数。关键字 int 表示取整。%d 表示输出结果取整。【实验 13】:程序填空任意输入一个有五位数

6、字的正整数 x,分别输出每一数位上的数字(由高到低分别用b5,b4,b3,b2,b1 表示) ,请将程序补充完整。提示:long int 表示长整型,%ld 为长整型显示。 a%b 为求模(求余)运算,当一个5 位数除以所对应的位数值(个、十、百、千、万)以后,在对商进行%10 的求模运算后,就是该数位所对应的数字。 #include main() int b1,b2,b3,b4,b5; x;Scanf( “ %ld ”,&x);b5= ;b4=(x/1000)%10;b3= ;b2=(x/10)%10;b1= ;printf(“the number is n”,x);printf(“its

7、bit is:%d,%d,%d,%d,%dn”,b5,b4,b3,b2,b1);程序分析:long int、x/10000、(x/100)%10、 x%10、 %ld【实验 14】:通过实验熟识字符数据与整型数据的区别及它们之间的关系。#include void main( ) char c1,c2;c1=97;c2=98;printf(%c ,%cn,c1,c2);printf(%d,%dn,c1,c2);printf(%c, %cn,c1+1,c2+2);运行结果及分析:a,b97,98b,d%c 表示输出一个字符,小写字母 a,b 对应的 ASCII 值分别为 97,98,所以第一行输出

8、为 a,b;%d 表示输出整数,所以 c1,c2 的值分别为 97,98;%c 表示输出一个字符,c1+1,c2+2 分别表示 b,d,故输出 b,d。【实验 15】:熟悉掌握自增减运算符的用法。#include void main () int i=8,j=10,m,n;m=+i;n=j+;printf(%d,%d,%d,%d,i,j,m,n);运行结果及分析:9,11,9,10m=+i 相当于 i=i+1;m=i,所以 i=9,m=9n=j+相当于 n=j;j=j+1,所以 j=11,n=10再将本程序的第 3 行改为 m=i+;n=+j;运行结果及分析:9,11,8,11m=i+相当于

9、m=i; i=i+1,所以 i=9,m=8n=+j 相当于 j=j+1;n=j,所以 j=11,n=11【实验 16】:程序改错(注意:题中的编号为行序号,并非程序本身)计算任意一个半径为 r 的圆的面积和周长(结果保留两位小数)(1)#include (2)main() (3) float r ; p=3.14,c,area;(4) printf(“input r:”);(5) scanf(“%f ”, r);(6) c=2p*r;(7) area=p*r*r(8) printf(“c=%-7.2f,area=%-7.2f”,c,area);(9)错误语句的行号: (3)改正后的语句全行:f

10、loat r ,p=3.14,c,area;错误语句的行号: (5)改正后的语句全行:scanf(%f , &r);错误语句的行号: (6)改正后的语句全行:c=2*p*r;错误语句的行号: (7)改正后的语句全行:area=p*r*r ;改错分析:在程序中分号表示一条语句的结束,在(3)行中可以把分号改为逗号,也可在分号后写“float”。每个变量前面的符号&是一个操作符,指定该变量的地址,必须使用该操作符。在 C 语言程序中,*表示两数相乘,去掉则不能执行。执行语句必须以分号结尾。【实验 17】:程序填空。从键盘输入两个实数 a 和 x,按公式计算并输出 y 的值。 。exalnsi5#i

11、nclude #include main()float a,x,y;scanf(_(1)_,&a,&x); y=_(2)_;printf(y=%fn,y);运行结果:当 a=6.4,x=3.4 时,y=2820005699.761446【实验 18】:若有以下程序:#include void main( ) int k=2,i=2,m;m=(k+=i*=k);printf( %d,%dn ,m,i);执行后的输出结果是 。执行结果分析:(A)8, 6 (B)8 ,3 (C)6, 4 (D)7, 4运行结果:C【实验 19】:有以下程序#include void main( ) int m=12

12、,n=34;printf(%d%d,m+,+n);printf(%d%dn,n+,+m);程序运行后的输出结果是_。A)12353514 B)12353513 C)12343514 D)12343513运行结果:A实验二逻辑运算和选择结构程序设计2.1 实验目的1掌握 C 语言的逻辑运算符和逻辑表达式,学会表示逻辑值的方法。2掌握正确使用关系运算符和关系表达式。3熟练掌握条件语句,学习选择结构程序设计的方法及应用。4熟悉多分支选择的 switch 语句。5进一步学习跟踪调试程序,熟悉选择结构程序段中语句的执行过程。2.2 实验预习1熟悉逻辑运算符和逻辑表达式、关系运算符和关系表达式。2熟悉下列

13、语句:if、if-else、switch、break。2.3 实验课时 : 2 学时2.4 实验任务【实验 21】:观察下列程序的运行结果#include void main( ) int a,b,x=10,y=9;a=(-x = y+)? -x : +y;b= y;printf(“%d,%dn”,a,b);运行结果及分析:8,10a=(-x = y+)? -x : +y;表示若x 等于 y+,则 a=x,否则 a=+y.-x=9,y+=9,相等所以 a=-x,在前面 x 已被赋值为 9,因此 a 输出为 8。在前面+y 中, y=10 因此 b 输出为 10.*【实验 22】: 两次运行下面

14、的程序,如果从键盘上分别输入 6 和 4,则输出结果是main( ) int x;scanf(%d,&x);if(x + + 5) printf(%d,x);else printf(%dn,x - -); A) 7 和 5 B) 6 和 3 C) 7 和 4 D) 6 和 4【实验 23】:观察下列程序的运行结果#include void main( )int a=0,b=0,c=0;if(+a 0 | +b 0) +c;printf(“na=%d,b=%d,c=%d”,a,b,c);运行结果及分析:a=1,b=0,c=1+a=1,所以+a 0 显然成立,+b 不会被执行,b=0.+a 后, a 就为 1.因为 if(+a 0 | +b 0)成立,所以会执行+c,+c=1,此时 c 已被赋值,c=1.【实验 24】:观察下列程序的运行结果#include void main() int x=-1;switch (x)default: printf(“a”);case 1: printf(“b”); case 2: printf(“c”);运行结果及分析:abcswitch 用来实现多分支判断,它会计算 switch 后的数值,然后再 case 中查找相应的数值,default 是当要判断的值与所有的 case 值都不匹配时,程序就默认从default 开始执

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号