C语言程序设计实验实验指导书及问题详解
C语言程序设计实验指导书参考答案_第二版

C 语言程序设计 上机实验指导与习题(第二版) 参考答案(仅供教师内部参考)来自华南农业大学目 录
上机实验 ................................................................................................................................................................... 1 实验 1 C 语言程序初步 .................................................................................................................................... 1 一、实验目的............................................................................................................................................ 1 二、实验内容.................................................................................................................................
C语言程序设计实验指导书参考答案

C 语言程序设计上机实验指导与习题参考答案(仅供教师内部参考)华南农业大学目录上机实验 (1)实验 1 C 语言程序初步 (1)一、实验目的 (1)二、实验内容 (1)实验 2 基本数据类型、运算和表达式 (3)一、实验目的 (3)二、实验内容 (3)实验 3 基本输入与输出 (5)一、实验目的 (5)二、实验内容 (5)实验 4 选择结构程序设计 (4)一、实验目的 (4)二、实验内容 (4)实验 5 循环结构程序设计(一) (9)一、实验目的 (9)二、实验内容 (9)实验 6 循环结构程序设计(二) (15)一、实验目的 (15)二、实验内容 (15)实验7 数组 (17)一、实验目的 (17)二、实验内容 (17)实验8 字符数组的应用 (22)一、实验目的 (22)二、实验内容 (22)实验9 函数的基本应用 (24)一、实验目的 (24)二、实验内容 (24)实验10 指针与结构体 (26)一、实验目的 (26)二、实验内容 (26)*实验11 链表 (29)一、实验目的 (29)二、实验内容 (29)*实验12 文件 (32)一、实验目的 (32)二、实验内容 (32)上机实验实验1 C语言程序初步一、实验目的(1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。
(2)了解在该系统上如何编辑、编译、连接和运行一个 C 程序。
(3)通过运行简单的 C 程序,初步了解C 程序的特点。
(4)在教师的指导下,学会使用JudgeOnline 实验系统。
二、实验内容1. 运行第一个C 程序[题目:The first C Program]将下列程序输入TC(或VC++),编译、连接和运行该程序。
void main(){printf("The first C Program\n");}[具体操作步骤]以Turbo C 上的操作为例(1)Windows 进入后,按照第一章中介绍的方法,进入Turbo C。
《-C语言程序设计》实验指导书

《-C语言程序设计》实验指导书实验一:C语言程序结构与运行机制实验目的:1. 了解C语言基本程序结构和运行机制;2. 掌握C语言程序的编译、运行和调试过程;3. 熟悉常用的编程工具,如编译器和集成开发环境。
实验器材:1. 计算机;2. C语言编译器。
实验内容:1. 实验一介绍C语言是一种广泛应用于系统开发、嵌入式设备和科学计算等领域的高级编程语言。
本实验旨在让学生通过实例了解C语言的基本程序结构和运行机制,并掌握使用C语言进行编程的基本方法。
2. 实验环境搭建(1)选择适合的C语言编译器,如GCC、Visual Studio等,并进行安装;(2)配置编译器的环境变量,以便在命令行中能够直接调用编译器;(3)确保编译器的版本和系统的兼容性,以避免出现不必要的问题。
3. 编写第一个C程序(1)打开任意文本编辑器,新建一个以.c为后缀名的文件,如hello.c;(2)在文件中编写以下代码:```C#include <stdio.h>int main() {printf("Hello, C!\n");return 0;}```(3)保存文件,并使用编译器进行编译。
(4)在命令行中转到保存的文件所在的目录,并执行以下命令:```gcc hello.c -o hello```(5)执行编译后的可执行文件:```./hello```(6)观察程序输出结果是否为"Hello, C!"。
4. 理解程序结构(1)程序的第一行`#include <stdio.h>`是一个预处理指令,用于引入标准输入输出库,使得我们可以使用printf等函数。
(2)`int main()`是C程序的主函数,程序从这里开始执行,花括号内的代码是程序的主体部分。
(3)`printf("Hello, C!\n");`是一个输出语句,将字符串"Hello, C!"输出到屏幕上。
C语言程序设计实验指导书(新编)

C语言程序设计实验指导书(新编) C语言程序设计实验指导书XXXC语言程序设计实验指导书前言上机实验的目的和要求一上机实验的目的上机实验的目的,绝不仅仅是为了验证教材和讲课的内容,或者验证自己所编程序正确与否。
研究程序语言,上机实验的目的如下:1加深对讲授内容的理解,尤其是一些语法规定,光靠课堂讲授,既枯燥无味又难以记住,通过多次上机,就能自然、熟练地掌握语法规定。
2了解和熟悉C语言程序开发环境。
熟悉一两种环境(计算机系统的软件和硬件条件),再遇到其他的系统时便会触类旁通,很快学会。
3学会上机调试程序,也就是善于发现程序中的错误,并且能很快地排除这些错误,使程序能够正确地运行。
要真正掌握计算机应用技术,就不仅应当了解和熟悉有关理论和方法,而且要求自己动手实践能力强。
4在做实验时千万不要在程序通过后就认为万事大吉,完成任务了,应当在通过的程序上做一些调试和修改,看看会得到什么结果。
多动脑筋思考,将会对你有很大帮助。
二上机实验前的准备工作1了解所用的计算机体系的性能和利用办法;2复和掌握与本实验有关的教学内容;3准备好上机所用的程序,切忌自己不思考、不编制程序或抄袭别人的程序;4准备好调试和运行时所需的数据。
三上机尝试的步调1调出C语言编译系统,进入C语言工作环境;2输入自己体例好的程序;3搜检输入是否有错,实时改正;4进行编译和连接;5运转程序,阐发成效。
四、实验结束,整理实验报告尝试敷XXX包括以下内容:1上机题目;2程序清单;3运转成效;4对结果的分析和本次获得的经验和体会。
1C语言程序设计实验指导书实验一C语言程序初步数据类型、运算符和表达式一实验目的1熟悉C语言运行环境——XXX Visual C++ 6.0中文版。
2掌握C语言程序的书写格式和C语言程序的结构,初步了解C源程序的特点。
3把握C语言上机步调,了解若何编辑、编译、调试和运转一个C程序的办法。
5掌握不同的类型数据之间赋值的规律。
C语言程序的设计实验指导书

《C程序设计I》实验指导书信息工程学院计算机系目录C程序设计实验要求 (2)实验一简单程序设计 (2)1010 测试验证结果 (2)1011 温度转换 (2)1012 计算书费 (3)1013 时间相加 (3)实验二分支结构程序设计 (4)1020 函数值计算 (4)1021 颠倒整数 (5)1022 整数排序 (5)1023 自整除数 (6)1024 选作题:Fibonacci Again (6)实验三循环结构程序设计 (7)1030 整数的立方和 (7)1031 求累加和 (7)1032 与7无关的数 (8)1033 选作题:细菌繁殖 (8)实验四数组应用 (9)1040 辉三角形 (9)1041 矩阵乘法91042 学生成绩管理101043 选作题:大整数乘法10实验五函数应用111050 各类型变量在函数调用过程中的变化111051 最大公约数和最小公倍数121052 进制转换121053 字符串替换131054 排序131055 选作题:数制转换14实验六综合应用141060 同一天生日151061 忽略大小写比较字符串151062 不吉利日期161063 统计字符数171064 选作题:Digital Roots17附录 (19)一、Visual C++调试环境的使用 (19)二、TC环境下的使用22三、实验报告要求25四、C程序设计常见错误及解决方案22C程序设计实验要求课程实验是C程序设计课程的一个重要的实践环节,要求每个同学按以下要求独立完成每次实验,每次上机前必须编写完实验要求的所有题目,并按输出格式写出程序的运行结果,上机时调试程序并验证结果的正确性,若与运行结果不符,则要分析原因,上机时间由课和课外上机两部分,以下时间为课上机时间。
实验一简单程序设计目的及要求:1.熟练掌握C开发环境的窗口、菜单命令及相应的命令,并掌握在开发环境下如何编辑、编译、连接、运行一个C程序,以及如何保存和修改C语言的源程序。
C-C--实验报告指导书详解

实验一C/C++语言的运行环境和运行过程1.实验目的:2.掌握c/c++程序设计编程环境visual c++, 掌握运行一个c/c++程序设计的基本步骤, 包括编辑、编译、连接和运行。
掌握c和c++语言程序设计的基本框架, 能够编写简单的c和c++程序。
了解程序调试的思想, 能找出并改正c/c++程序中的语法错误。
1.实验内容:在“我的电脑”的E盘上新建一个文件夹, 用于存放c/c++程序, 文件夹名字可以是学号姓名。
调试示例, 在屏幕上显示一个短句“Hello World!”。
C源程序 C++源程序#include <stdio.h> #include <iostream>void main() using namespace std;{ int main()printf(“Hello World!\n”); {} cout<<”Hello World!”<<endl;return 0;}运行结果: Hello World!1)基本步骤: (要求熟练掌握)2)启动VC++“开始”->“程序”->“Microsoft Visual Studio 6.0”->“Microsoft Visual C++6.0”进入VC++编程环境。
3)新建文件(*.cpp)4)“文件”->“新建”, 单击“文件”选项卡, 选择“C++Source Files”,修改文件保存“目录”和“文件”(文件名), 单击“确定”。
5)编辑和保存(注意: 源程序一定要在英文状态下输入, 即字符标点都要在半角状态下, 同时注意大小写, 一般都用小写)6)在编辑窗口输入源程序, 然后执行“文件”->“保存”或“文件”->“另存为”7)编译(*.obj) 用来检查语法错误8)“编译”->“编译”或Ctrl+F7, 在产生的工作区队话框中, 选择“是”。
C语言程序设计课程实验指导书

《C语言程序设计》课程实验指导书第一部分前言一、实验的目的学习C程序设计课程不能满足于“懂得了”,满足于能看懂书上的程序,而应当熟练地掌握程序设计的全过程,即独立编写源程序、独立上机调试、独立运行程序和分析结果。
上机实验的目的,绝不仅仅是为了验证教材和讲课的内容,或者验证自己所编写的程序的正确与否。
程序设计课程上机实验的目的是:1.加深对讲授内容的理解,尤其是一些语法规定。
通过实验来掌握语法规则是行之有效的方法。
2.熟悉所用的操作系统。
3.学会上机调试程序。
通过反复调试程序掌握根据出错信息修改程序的方法。
4.通过调试完善程序。
二、实验前的准备工作1.了解所用的计算机系统(包括C编译系统)的性能和使用方法。
2.复习和掌握与本实验有关的教学内容。
3.准备好上机所需的程序,切忌不编程或抄别人的程序去上机。
4.对程序中出现的问题应事先估计,对程序中自己有疑问的地方应先作上记号,以便上机时给予注意。
5.准备好调试程序和运行程序所需的数据。
三、实验的步骤上机实验应一人一组,独立实验。
上机过程中出现的问题,除了是系统的问题以外,不要轻易举手问老师。
尤其对“出错信息”,应善于分析判断,找出出错的行,然后检查该行或其上一行。
上机实验一般应包括以下几个步骤:1.双击桌面Visual C++快捷方式进入Visual C++,或通过执行“开始=>程序=> Microsoft Visual Studio 6.0=> Microsoft Visual C++6.0”或执行文件"C:\Program Files\Microsoft Visual Studio\COMMON\MSDev98\Bin\MSDEV.EXE"。
2.单击“文件”菜单的“新建”命令。
3.在打开的“新建”对话框中选择“文件”标签。
4.选择C++ Source File,选择文件保存位置,然后在文件输入栏中输入文件名。
如图所示:5.输入源程序。
《C语言程序设计》实验指导书

要求:每道题目分别画出程序流程图,书写程序,试运行(如何输入,结果如何)。
#include "format.h"
void main()
{int j,k,a[12],*p;
for(j=0;j<12;j++)
scanf("%d",p++);
for(j=0;j<12;j++)
{printf("%d",*p++);
if(j%4 == 0)printf("\n");
}
}
调试该程序时将a设置为一个"watch",数组a所有元素的值在一行显示出来。调试时注意指针变量指向哪个目标变量。
#define D"%D"
#define D1D NL
#define D2D D NL
#define D3D D D NL
#define D4D D D D NL
#define S"%S"
⑵文件file1.C包含以下内容:
#include "format.h"
voidmain()
{inta,B,C,D;
⒈实验目的
⑴掌握数组名作为函数参数的基本使用方式。
⑵掌握与数组有关的算法(特别是排序算法)。
⒉实验内容
编程题目:(题目⑴、题目⑵为一组,题目⑶为一组。每个同学每组都必须完成1题)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一熟悉C程序运行环境班级学号成绩一、实验目的1. 熟悉C语言Visual C++6.0调试环境。
2. 掌握C程序的编辑、调试及运行。
二、实验容项目1. 调试并运行下面程序,并写出运行结果:#include <stdio.h>int main(){printf(“Good morning!\n”);printf(“Hello,world!\n”);return 0;}运行结果(注意,按照屏幕输出格式写):项目2. 调试并运行下面程序,并写出运行结果:#include <stdio.h>int main(){int a , b , sum; /*定义变量*/a=23; b=56; /*为变量赋值*/sum=a+b; /*计算两个变量的和*/printf(“sum is %d\n”,sum); /*输出计算结果*/return 0;}运行结果:项目3. 调试并运行下面程序,并写出运行结果:#include <stdio.h>int max(int,int);int main(){int a , b , c; /*定义变量*/a=23; b=56; /*为变量赋值*/c=max(a,b); /*调用max函数,将得到的值赋给c*/ printf(“max is %d\n”,c); /*输出c的值*/return 0;}int max(int x,int y) /*定义max函数,函数值为整型*/ {int z; /*定义变量*/if(x>y)z=x;elsez=y;return(z); /*将z的值返回*/}运行结果:三、提高部分1.试想,如果求10个数中的最大者,则程序该如何编写。
程序代码运行结果:实验二数据及其运算班级学号成绩一、实验目的1. 掌握C数据类型的概念、熟悉整型、字符型和实型基本类型的常量的用法;学会三种基本类型变量的定义、赋值和使用方法。
2. 掌握算术表达式、关系表达式及逻辑表达式的特点及用法。
3. 熟悉运算符的优先级和结合性的概念。
4. 学习简单程序的编写方法。
二、实验容项目1. 编辑运行下面程序,并分析运行结果。
#include<stdio.h>int main(){int m,a,b,c,d,e; /*定义整型变量*/printf(“please input a data:m=”);scanf(“%d”,&m);/*从键盘输入一个整数*/ a=m+1;b=m-2;c=m*3;d=m/4;e=m%5;printf(“a=m+1;a=%d\n”,a);printf(“b=m-2;b=%d\n”,b);printf(“c=m*3;c=%d\n”,c);printf(“d=m/4;d=%d\n”,d);printf(“e=m%%5;e=%d\n”,e);return 0;}运行结果:项目2. 编辑运行下面程序,并分析运行结果。
#include<stdio.h>int main(){float m,n,s;printf(“m=”);scanf(“%f”,&m);/*输入矩形的边长*/printf(“n=”);scanf(“%f”,&n);/*输入矩形的边长*/s=m*n; /*计算矩形的面积*/printf(s=%f\n”,s);/*输出矩形的面积*/return 0;}(1)输入24和5,运行结果:(2)输入-24和5,运行结果:分析结果是否正确?(3)对上面程序进行修改,当输入一个非法的边长(负数或零),会给出提示而不计算矩形的面积。
输入-24和5,运行结果:项目3. 先阅读程序,并写出结果,再运行程序并分析结果。
#include<stdio.h>int main(){int i,j,m,n,p,q,x,y;i=8;j=10;p=0;q=0;x=1;y=1;m=++i; //m=9,i=9n=j++; //n=10,j=11;p+=i++;//p=p+i++;//p=9,i=10q-=--j; //q=q-(--j);//q=-10,j=10x+=m+10; //x=x+( m+10)//x=20,y=p==q; //y=0printf(“i=%d,j=%d,m=%d,n=%d,p=%d,q=%d,x=%d,y=%d”,i,j,m,n,p,q,x,y);return 0;}分析结果:i=__10___;j=__10___;m=___9__;n=__10___;p=__9___;q=__-10___;x=__20___;y=__0___运行结果:项目4.(选做)根据矩形面积的计算方法,编写一个输入圆半径r,计算园周长L和圆面积S的程序。
注意判断圆半径r 是否大于零。
(程序代码和运行结果可写在指导书背面)实验三程序控制结构(选择)班级学号成绩项目1.三角形成立条件判断及面积计算【项目任务】输入三个整型数据,判断这三个整型数据能否围成三角形,如果能组成三角形,计算并输出它的面积,如果不能围成三角形输出“三条边不能围成三角形”。
【项目说明】C语言实现选择结构筑要用if语句,按照判断所给定的条件是否满足,根据判定结果的真或假来决定执行在if语句中给出的两种操作之一。
【项目目的】(1)正确使用关系表达式和逻辑表达式表达条件。
(2)学习分支语句if的使用方法。
(3)进一步熟悉VC集成环境的使用方法,学习VC环境提供的调试工具。
【项目要点】(1)已知三边求三角形面积的公式:p=(a+b+c)/2 s= sqrt(p*(p-a)*( p-b)*( p-c))(2)已知三边能围成三角形的条件是:任意两边之和大于第三边。
(3)C语言中求平方根的函数是sqrt(double x),该函数在math.h头文件中。
(4)if语句中“表达式”必须用“(”和“)”括起来,它的值为逻辑值。
除常见的关系表达式或逻辑表达式外,也允许是其他类型的数据,如整型、实型、字符型等。
(5)else子句(可选)是if语句的一部分,必须与if配对使用,不能单独使用。
程序代码:运行结果:项目2. 百分制成绩转换为成绩等级【项目任务】输入一个百分制成绩,输出对应的等级。
(1)正确使用关系表达式和逻辑表达式表达条件。
(2)学习多switch 分支选择语句的使用方法。
【项目要点】解决本项目的关键是如何将输入的百分制成绩与case 常量联系起来,不难想到将百分制成绩(用score 表示)除以10之后再取整,一定得到0到10之间的数。
9、10对应’a ’,8对应‘b ‘,……,5、4、3、2、1、0对应’e ’既不及格。
程序代码:运行结果:项目3.选做⎝⎛<--=>+=0100012x x x x x y 。
(程序代码和运行结果可写在指导书背面)实验四程序控制结构(循环)班级学号成绩项目1:使用循环结构实现重复处理【项目说明】从键盘输入一个班的成绩,把百分制转换成等级制。
将百分制成绩(用score表示)除以10之后再取整,一定得到0到10之间的数。
9、10对应’a’,8对应‘b‘,……,5、4、3、2、1、0对应’e’既不及格。
要求分别使用三种循环结构实现。
该项目中,假设班级人数不固定,规定输入若干0至100的成绩,如果成绩不在此围,则表示结束。
该项目中,同时要使用switch语句实现多分支选择结构。
【项目目的】(1)掌握用while语句和do…while语句实现循环的方法。
(2)掌握用for语句实现循环的方法。
(3)掌握三种语句的特点和应用技巧。
(4)掌握用break语句和continue语句改变循环状态的方法。
【项目容】1、用while语句实现的程序代码:2、用do…while和break语句实现的程序代码:3、用do…while和continue语句实现的程序代码:4、用for语句实现的程序代码:项目2.(选做)求101!nn =∑(即求1!2!3!10!++++)(程序代码和运行结果可写在指导书背面)实验五数组班级学号成绩项目1.冒泡排序法【项目说明】输入10个数,用“冒泡法”对10个数排序(由小到大)。
冒泡法的基本思想:通过相邻两个数之间的比较和交换,使(数值)较小的数逐渐从底部移向顶部,较大的数逐渐从顶部移向底部。
就像水底的气泡一样逐渐向上冒,故而得名。
【项目目的】(1)掌握冒泡排序算法的编程。
(2)掌握与数组有关的算法。
程序代码:运行结果:项目2.字符统计【项目说明】有一篇文章,共有3行文字,每行80个字符。
要求分别统计出其中英文字母和数字的个数。
【项目目的】(1)掌握键盘输入字符串方法。
【技术要点】(1)3行文字可定义一个二维字符数组来表示。
(2)使用gets( ) 函数对字符串进行输入。
程序代码:#include <stdio.h>int main(){int i,j,upp,low,dig,spa,oth;char text[3][80];upp=low=dig=spa=oth=0;for (i=0;i<3;i++){ printf("please input line %d:\n",i+1);gets(text[i]);for (j=0;j<80 && text[i][j]!='\0';j++){if (text[i][j]>='A'&& text[i][j]<='Z')upp++;else if (text[i][j]>='a' && text[i][j]<='z')low++;else if (text[i][j]>='0' && text[i][j]<='9')dig++;else if (text[i][j]==' ')spa++;elseoth++;}}printf("\nupper case: %d\n",upp);printf("lower case: %d\n",low);printf("digit : %d\n",dig);printf("space : %d\n",spa);printf("other : %d\n",oth);return 0;}运行结果:项目3.(选做)在二维数组中,若某一位置上的元素在该行中最大,而在该列中最小,则该元素即为该二维数组的一个鞍点。