C语言程序设计习题答案与上机指导(上机指导)课件.pptx
《C语言程序设计习题答案与上机指导(上机指导)课件.pptx》由会员分享,可在线阅读,更多相关《C语言程序设计习题答案与上机指导(上机指导)课件.pptx(124页珍藏版)》请在三一办公上搜索。
1、实验一 C程序集成开发环境,实验一 C程序集成开发环境,一、实验目的,1.熟练掌握Windows操作系统下Visual C+6.0集成开发环境,了解DOS操作系统下Turbo C 2.0的基本操作方法。2.熟悉C程序编辑、编译、连接和运行程序的基本过程。3.了解C程序常见的两类语法错误(Error/Warning)及修改方法。,实验一 C程序集成开发环境,二、实验内容,【题目1-1】熟悉Visual C+6.0集成开发环境的使用及调试方法,并设计简单的求和程序,以计算两个整数的和值。1.测试数据输入:1234,5678输出:69122.题目分析(1)利用scanf函数,从键盘输入两个整数,并存
2、放于指定变量a,b中。(2)用户自定义Sum函数,将a,b变量的内容传入该函数的形参x,y中。(3)调用Sum函数,并用printf函数将和值输出。,实验一 C程序集成开发环境,二、实验内容,3.参考代码#include int Sum(int x,int y)int z;z=x+y;return z;main()int a,b;scanf(“%d,%d”,实验一 C程序集成开发环境,4操作过程(1)Visual C+6.0集成开发环境启动Visual C+6.0Visual C+6.0的启动,可以使用菜单操作,选择开始菜单-所有程序-Microsoft Visual Studio 6.0-M
3、icrosoft Visual C+6.0。启动后的界面见图1-1所示,实验一 C程序集成开发环境,编辑操作编辑操作选择“File-new”菜单,如图1-2所示。在出现的“New”对话框中选择“Files”选项卡,再在列表中选择“C+source File”,注意在右边“File”中填写文件名,比如Test.c,在“Location”中填写源程序文件存放的位置,比如将Test.c存放在E盘。参见图1-3。,实验一 C程序集成开发环境,编辑操作编辑操作选择“File-new”菜单,如图1-2所示。在出现的“New”对话框中选择“Files”选项卡,再在列表中选择“C+source File”,注
4、意在右边“File”中填写文件名,比如Test.c,在“Location”中填写源程序文件存放的位置,比如将Test.c存放在E盘。参见图1-3。,实验一 C程序集成开发环境,编辑操作在文件编辑窗口输入源程序,如图1-4。,实验一 C程序集成开发环境,编译操作 选择Build-Compile命令,编译源程序Hello.c,出现提示窗口,单击是(Y)按钮,如图1-5所示。,实验一 C程序集成开发环境,连接操作 选择Build-Build Hello.exe 命令,进行连接操作,如果没有错误,则显示Hello.exe-0 error(s),0 warning(s),生成了可执行文件Hello.ex
5、e。运行程序 选择Build-Execute Hello.exe命令,可以运行Hello.exe程序,键盘输入1234,5678,则输出程序运行结果,如图1-6。退出,实验一 C程序集成开发环境,(2)调试与跟踪 打开文件 打开已经保存的源程序文件,可以选择File-Open命令。如果在上一小节第(3)步中已经创建了工作区,则在文件类型中选择Workspaces类型,文件名选择Hello,如图1-7所示。,实验一 C程序集成开发环境,如果没有创建工作区,则在文件类型中选择C+Files类型,文件名选择Hello,如图1-8所示。,实验一 C程序集成开发环境,错误提示及修改如果是普通的语法错误,
6、例如在程序int a,b语句中,缺失了“;”,则在执行Build-Compile命令后,会给出错误原因error C2146:syntax error:missing;before identifier scanf,用户可以在该错误上按鼠标右键,在弹出菜单中选择Go To Error/Tag,转到错误语句上进行修改,如图1-9。,实验一 C程序集成开发环境,对于函数定义错误,例如在定义函数名时,将函数定义为int Summ(int x,int y),在执行Build-Compile命令,只会给出警告提示,但是在执行Build-Build Hello.exe 命令命令后,则会给出错误提示Hell
7、o.obj:error LNK2001:unresolved external symbol _Sum,如图1-10所示。,实验一 C程序集成开发环境,单步跟踪如果用户希望单步执行程序,以考察执行效果,可以单击键盘F10按键,每次单击F10均可执行一条语句,例如在图1-11中为2次单击F10后,用户输入1234,5678后,箭头代表将要执行的下一条语句(即printf),并可以在Auto窗口中看到变量a,b的内存地址(以&a,&b表示)和内容。,实验一 C程序集成开发环境,转入函数内部如果希望进入函数体内部,可以单击F11键,此时程序将转入到sum函数中,注意在图1-12中箭头指向sum函数的
8、起始行,以及形参x,y的内容。,实验一 C程序集成开发环境,运行到光标处用户也可以将光标定位到return z;行,按Ctrl+F10组合键,一步执行到光标所在行,并得到z的返回值,如图1-13所示。,实验一 C程序集成开发环境,运行到光标处用户也可以将光标定位到return z;行,按Ctrl+F10组合键,一步执行到光标所在行,并得到z的返回值,如图1-13所示。,实验二 数据类型、运算符和表达式,实验二 数据类型、运算符和表达式,一、实验目的,1.熟练掌握C语言各种数据类型的含义。2.理解常量和变量的区别。3.熟练掌握变量定义和使用。4.熟悉常用的运算符包括算术、赋值、强制类型转换、自增
9、(减)、逗号和位运算等。,实验二 数据类型、运算符和表达式,二、实验内容,【题目2-1】编写整型、实型和字符类型的简单测试程序,并输出以验证是否正确。1.测试数据输入:无。输出:略。2.题目分析(1)整型数据采用十进制、八进制和十六进制表示。(2)字符型数据采用单引号限界字符和转义字符来表示。(3)大小写字母的ASCII值相差32。,实验二 数据类型、运算符和表达式,3.参考代码#include stdio.h#define PI 3.14159/*符号常量*/main()int n1=10,n2=017,n3=0 xFF;/*整型数据3种表示方法*/float f1=3.14E5,f2=12
10、.34f;/*实型数据的表示方法*/char c,c1=A,c2=101,c3=0 x61,c4=;/*字符型数据的几种表示方法*/*整型数据以原进制输出*/printf(n1=%d,n2=%o,n3=%xn,n1,n2,n3);/*整型数据以十进制输出*/printf(n1=%d,n2=%d,n3=%dn,n1,n2,n3);/*实型数据输出*/,实验二 数据类型、运算符和表达式,3.参考代码/*符号常量的输出*/printf(PI=%fn,PI);/*字符型数据的输出*/printf(c1=%c,c2=%c,c3=%c,c4=%cn,c1,c2,c3,c4);c=c1+32;/*字母转换为
11、小写*/printf(c1=%c,c=%cn,c1,c);,实验二 数据类型、运算符和表达式,4.参考结果,实验二 数据类型、运算符和表达式,【题目0205】取整数1234的各个数位上的数字,并编程上机验证。1.测试数据输入:无。输出:12342.题目分析(1)取千位上的数字i/1000。(2)取百位上的数字i%1000/100。(3)取十位上的数字i%100/10。(4)取个位上的数字i%10。,实验二 数据类型、运算符和表达式,3.参考代码#include stdio.hmain()int i=1234;int n1,n2,n3,n4;n4=i/1000;n3=i%1000/100;n2=
12、i%100/10;n1=i%10;printf(%d%d%d%dn,n4,n3,n2,n1);,实验二 数据类型、运算符和表达式,4.参考结果,实验三 顺序结构程序设计,实验三 顺序结构程序设计,一、实验目的,1.熟练掌握scanf和printf函数格式控制字符的含义以及输出方法的设计。2.培养编制程序框图和顺序结构程序的编写能力。,实验三 顺序结构程序设计,二、实验内容,【题目3-1】输入学生平时成绩(占10%)、实验成绩(占20%)和考试成绩(占70%),程序计算出该学生的总成绩,保留2位小数。1.测试数据输入:85 76 92输出:平时成绩(占%10):85 实验成绩(占%20):76
13、考试成绩(占%70):92 总成绩为88.10,实验三 顺序结构程序设计,2.题目分析(1)三科成绩定义为整型类型。(2)总成绩应定义为实型类型。(3)保留2位小数采用”%.2f”格式。(4)程序流程图如下:,实验三 顺序结构程序设计,3.参考代码#include stdio.hmain()int attendance,laboratory,quiz;float final;printf(n请输入平时成绩:);scanf(%d,实验三 顺序结构程序设计,4.参考结果,实验三 顺序结构程序设计,【题目0302】利用海伦公式计算三角形面积,保留3位小数。1.测试数据输入:3,4,5输出:三角形的面
14、积为:6.0000002.题目分析(1)定义三边长分别为a、b、c,三角形的面积area,类型为实型。(2)p为半周长,定义类型为实型,公式为p=(a+b+c)/2(3)面积公式为area=。开方可采用sqrt函数(需要包含头文件”math.h”)。(4)程序流程图。由读者自行设计。,实验三 顺序结构程序设计,3.参考代码#include math.h#include stdio.hmain()float a,b,c,p,area;printf(请输入三边边长:n);scanf(%f,%f,%f,实验三 顺序结构程序设计,4.参考结果,实验四 选择结构程序设计,实验四 选择结构程序设计,一、实
15、验目的,1.熟练掌握关系、逻辑运算符及其表达式。2.掌握if语句及嵌套if的使用。3.掌握switch语句的使用,实验四 选择结构程序设计,二、实验内容,【题目4-1】有如下分段函数,要求输入x的值,求y的值。1.测试数据输入:2输出:y=-6.000000输入:-5输出:y=5.000000,实验四 选择结构程序设计,二、实验内容,2.题目分析(1)x,y定义为实型类型。(2)三条支路,可采用if-else if-else结构实现。(3)绝对值可采用数学库abs(x)函数。(4)部分流程图如下:,实验四 选择结构程序设计,3.参考代码#include math.h#include stdio
16、.hmain()float x,y;printf(请输入变量x的值n);scanf(%f,实验四 选择结构程序设计,4.参考结果,实验四 选择结构程序设计,【题目4-2】设计程序,将给出的百分制成绩,转换等级输出。例如90分及以上为优秀,8089分为良好,7079分为中等,6069分为及格,60分以下为不及格。1.测试数据输入:67输出:及格,实验四 选择结构程序设计,2.题目分析(1)成绩变量score定义为整型类型。(2)五条支路,最好采用switch结构实现。(3)利用score/10将分数区间转换为与若干常量相对应。(4)部分流程图如下:,实验四 选择结构程序设计,#include s
17、tdio.hmain()int score;printf(请输入学生的成绩n);scanf(%d,实验四 选择结构程序设计,4.参考结果,实验五 循环结构程序设计,实验五 循环结构程序设计,一、实验目的,1.熟练掌握while,do-while,for循环的语法结构和使用方式。2.了解多重循环的循环执行过程。3.掌握continue和break语句的特点和使用方式。,实验五 循环结构程序设计,二、实验内容,【题目5-1】根据例5-8,编写求解100500之间所有素数的程序。1.测试数据输入:无。输出:略。2.题目分析(1)采用两层循环,内层循环用于判断某个数是否为素数,外层循环用于在10050
18、0循环选数。(2)count%10=0每行显示10个素数。(3)程序流程图参见例5-8。,实验五 循环结构程序设计,3.参考代码#includestdio.h#includemath.hvoid main()int n,k,j,count=0;for(n=101;n=k+1)printf(%d,n);count+;if(count%10=0)printf(n);,实验五 循环结构程序设计,4.参考结果,实验五 循环结构程序设计,【题目0503】输入两个整数,用辗转相除法求它们的最大公约数和最小公倍数。1.测试数据输入:32,48输出:32和48的最大公约数为16 32和48的最小公倍数为962
19、.题目分析(1)最大公约数算法:输入两个数m,n(默认mn)。k为m除以n的余数(k=m%n),如果m能被n整除,则k值为0,n为这两个数的最大公约数,否则,将k的值存入n中(n=k),n的值存入m中(m=n),重复以上过程,直到k值为0。(2)最小公倍数为m0*n0/m,其中m0*n0为原始两个数m,n的乘积,m为最大公约数。,实验五 循环结构程序设计,(3)部分程序框图如下:,实验五 循环结构程序设计,3.参考代码#include stdio.hmain()int m,n,k=1,temp;int m0,n0;scanf(%d,%d,实验五 循环结构程序设计,3.参考代码 n=temp;w
20、hile(k!=0)k=m%n;m=n;n=k;printf(%d和%d的最大公约数为%dn,m0,n0,m);printf(%d和%d的最小公倍数为%dn,m0,n0,m0*n0/m);,实验五 循环结构程序设计,4.参考结果,实验六 数组,实验六 数组,一、实验目的,1.了解数组的特点,掌握一维数组及二维数组的定义、初始化及其使用方法;2.熟练使用一维及二维数组解决实际问题;3.掌握字符数组的使用;4.掌握与数组有关的算法。,实验六 数组,二、实验内容,【题目6-1】在一个有序的数组中插入一个元素,并保持数组有序。1.测试数据输入:11 22 33 44 55 66 77 88 30输出:
21、11 22 30 33 44 55 66 77 882.题目分析(1)原始数组要有足够的存储空间,以便能继续存放后插入的元素;(2)插入操作需要先确定待插入的位置,然后将此位置及后面的数组元素后移,空出这个位置,最后将待插入元素放在这个位置上。,实验六 数组,3.参考代码#includevoid main()int a10;int x,i;printf(请输入数组:);for(i=0;i=0)/*从后向前查找x的位置,同时将大于x的数组元素后移*/,实验六 数组,3.参考代码 ai+1=ai;i-;ai+1=x;printf(操作后结果:);for(i=0;i=8;i+)printf(%3d,
22、ai);printf(nn);,实验六 数组,4.参考结果,实验六 数组,【题目0604】由键盘输入两个字符串,编写程序实现这两个字符串的比较功能。1.测试数据输入:China Chinese输出:China Chinese2.题目分析(1)需要使用两个字符数组存放被比较的两个字符串,注意数组长度要足够容纳字符串。另外,需要设定一变量i,用于在字符串中逐个标识字符的下标。(2)字符串比较是基于字母序原理,因此需要做循环逐个比较对应位置上字符ASCII码的大小。,实验六 数组,3.参考代码#include void main()char str130,str230;int i=0;printf(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 习题 答案 上机 指导 课件
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-2139285.html