C语言程序设计实验实验指导书及问题详解
- 格式:doc
- 大小:80.50 KB
- 文档页数:17
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语言程序结构与运行机制实验目的: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语言程序设计实验指导书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程序设计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++语言的运行环境和运行过程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程序设计课程不能满足于“懂得了”,满足于能看懂书上的程序,而应当熟练地掌握程序设计的全过程,即独立编写源程序、独立上机调试、独立运行程序和分析结果。
上机实验的目的,绝不仅仅是为了验证教材和讲课的内容,或者验证自己所编写的程序的正确与否。
程序设计课程上机实验的目的是: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语言程序设计实验指导书(新编) C语言程序设计实验指导书(新编)1. 指导书简介本指导书是为了帮助学习C语言程序设计的学生更好地完成实验任务而编写的。
它包含了实验的具体内容、实验目的、实验要求、实验步骤和实验注意事项等内容,旨在引领学生掌握C语言程序设计的基本原理和实际应用。
2. 实验一:C语言程序结构与基本语法2.1 实验目的本实验旨在帮助学生了解C语言程序的基本结构和语法要求,掌握编写简单C程序的方法。
2.2 实验内容在本实验中,学生将学习C程序的基本结构和语法规则,并编写一个简单的C程序。
该程序要求实现从键盘输入两个整数,然后计算它们的和并输出结果。
2.3 实验步骤2.3.1 打开C语言编译器首先,打开C语言编译器,如Dev-C++或Code::Blocks等。
2.3.2 新建一个C文件在编译器中选择新建一个C文件,以便编写程序代码。
2.3.3 编写程序代码按照C语言的语法规则,编写程序代码。
首先,声明所需的变量,然后通过scanf函数从键盘输入两个整数,接着计算它们的和,并利用printf函数输出结果。
2.3.4 编译和运行程序完成程序代码的编写后,点击编译按钮进行编译。
如果没有出现错误,再点击运行按钮运行程序。
2.4 实验要求学生需要独立完成实验,并能够理解和解释编写的C程序代码。
2.5 实验注意事项在实验过程中,注意遵循C语言的语法规则,注意代码的格式和缩进,及时保存程序代码,避免数据输入错误。
3. 实验二:控制语句和函数的应用3.1 实验目的本实验旨在帮助学生掌握C语言中的控制语句和函数的应用,理解条件语句和循环语句的使用方法。
3.2 实验内容在本实验中,学生将学习条件语句和循环语句的基本概念和用法,并编写一个具有条件判断和循环操作的C程序。
3.3 实验步骤3.3.1 分析问题和设计算法首先,分析给定的问题,设计相应的算法。
确定使用的条件语句和循环语句的类型。
3.3.2 编写程序代码按照分析的算法,编写程序代码。
c语言程序设计实验与习题指导颜晖答案C语言程序设计实验与习题指导C语言作为一门广泛应用于软件开发、嵌入式系统和科学计算领域的编程语言,是计算机科学与技术专业学生的必修课程之一。
在学习C语言的过程中,实验与习题是非常重要的环节,通过实践与思考,学生能够更好地理解和掌握C语言的基本概念和编程技巧。
本文将对C语言程序设计实验与习题进行一些指导和答案解析,帮助学生更好地完成相关任务。
一、实验指导1. 实验一:Hello World程序Hello World程序是C语言程序设计的入门级实验,通过编写一个简单的程序,输出"Hello World"这个经典的字符串,学生可以初步了解C语言的基本语法和程序结构。
以下是一个示例代码:```c#include <stdio.h>int main() {printf("Hello World\n");return 0;}```在这个程序中,`#include <stdio.h>`是一个预处理指令,用来包含标准输入输出库的头文件。
`int main()`是程序的入口函数,`printf("Hello World\n");`用来输出字符串,`\n`表示换行。
`return 0;`表示程序正常结束。
2. 实验二:变量与运算实验二主要涉及变量的定义与使用,以及基本的算术运算。
以下是一个示例代码:```c#include <stdio.h>int main() {int a = 10;int b = 5;int sum = a + b;int product = a * b;float average = (float)(a + b) / 2;printf("The sum is %d\n", sum);printf("The product is %d\n", product);printf("The average is %.2f\n", average);return 0;}```在这个程序中,`int a = 10;`和`int b = 5;`分别定义了两个整型变量a和b,并赋予初始值。
C语言程序设计教程习题解答与实验指导C语言程序设计是计算机科学与技术专业的核心课程之一,它不仅教授编程语言的基础知识,还培养学生的逻辑思维和问题解决能力。
本教程旨在为学习C语言的学生提供习题解答和实验指导,帮助他们更好地理解和掌握C语言的编程技巧。
第一部分:习题解答1. 基础语法- 问题1:编写一个程序,输出“Hello, World!”。
解答:在C语言中,最基本的程序结构是`main`函数。
使用`printf`函数可以输出文本到控制台。
```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```- 问题2:声明一个整型变量`a`,并为其赋值为10。
解答:在C语言中,使用`int`关键字声明整型变量。
```cint a = 10;```2. 控制结构- 问题3:编写一个程序,根据用户输入的分数判断成绩等级。
解答:使用`if-else`语句可以实现条件判断。
```c#include <stdio.h>int main() {int score;printf("请输入你的分数:");scanf("%d", &score);if (score >= 90) {printf("A\n");} else if (score >= 80) {printf("B\n");} else if (score >= 70) {printf("C\n");} else if (score >= 60) {printf("D\n");} else {printf("F\n");}return 0;}```3. 循环结构- 问题4:使用循环结构打印1到10的数字。
C语言程序设计实验指导书1. 实验概述本实验指导书旨在帮助学生掌握C语言程序设计的基本原理和技巧,并能够独立开发简单的C语言程序。
通过实验的完成,学生将学会如何运用C语言进行程序设计,掌握程序的调试和错误处理方法。
2. 实验环境本实验要求学生具备一台安装了C语言开发环境的计算机。
推荐使用类UNIX系统,如Linux或Mac OS X,以便于使用标准的C编译器。
3. 实验步骤3.1 实验准备在开始实验之前,学生需要安装合适的C语言开发环境,并确保该环境能够正常运行。
同时,学生需要了解常用的C语言编程工具,如编译器和调试器的使用方法。
3.2 实验目标本实验要求学生完成以下任务:a) 掌握C语言的基本语法和关键字;b) 熟悉C语言程序的开发流程;c) 学会使用C语言编写简单的程序;d) 掌握程序的调试和错误处理技巧。
3.3 实验内容本实验包括以下几个部分:a) C语言程序的基本结构:学生需要了解C语言程序的基本结构,包括头文件的引用、全局变量、函数声明和主函数等。
b) C语言程序的输入输出:学生需要学会使用C语言进行输入输出操作,如用printf函数输出、用scanf函数输入等。
c) C语言程序的控制结构:学生需要掌握C语言的条件判断和循环结构,如if语句和for循环等。
d) C语言程序的函数和数组:学生需要了解C语言中函数和数组的用法,并能够编写包含函数和数组的程序。
e) C语言程序的调试和错误处理:学生需要学会使用调试器调试程序,并能够处理程序中出现的错误和异常情况。
4. 实验要求4.1 实验报告学生需要按照实验指导书的要求编写实验报告,并提交给指导教师。
实验报告需要包括以下内容:a) 实验目标和要求的描述;b) 实验过程和方法的详细记录;c) 实验结果的展示和分析;d) 实验中遇到的问题和解决办法。
4.2 实验评估指导教师将根据学生的实验报告和实验成果对其进行评估。
评估内容将包括学生对C语言的掌握程度、程序设计能力以及实验报告的质量。
《c语言程序设计》实验指导书答案《C语言程序设计》实验指导书答案实验一:C语言环境搭建与基本语法1. 问题:如何在计算机上搭建C语言开发环境?答案:搭建C语言开发环境通常需要安装编译器和集成开发环境(IDE)。
常见的编译器有GCC,而IDE如Visual Studio Code、Code::Blocks等。
安装完成后,配置好编译器路径,即可开始编写和编译C语言程序。
2. 问题:C语言的基本数据类型有哪些?答案:C语言的基本数据类型包括整型(int)、字符型(char)、浮点型(float和double)以及更复杂的结构体(struct)和联合体(union)等。
3. 问题:如何定义一个变量?答案:定义变量的基本语法是:`类型名变量名;`。
例如,定义一个整型变量a:`int a;`。
4. 问题:如何实现变量的输入和输出?答案:使用`scanf`函数进行输入,使用`printf`函数进行输出。
例如,输入一个整数并输出:`scanf("%d", &a); printf("%d", a);`。
实验二:控制结构1. 问题:C语言中的条件语句有哪些?答案:C语言中的条件语句主要有`if`语句和`switch`语句。
2. 问题:如何使用`if`语句?答案:`if`语句的基本语法是:`if (条件) { 语句 }`。
例如,判断一个数是否为正数:`if (a > 0) { printf("正数"); }`。
3. 问题:如何使用`switch`语句?答案:`switch`语句用于多条件分支选择。
基本语法是:`switch (表达式) { case 常量1: 语句1; break; case 常量2: 语句2; break; ... default: 默认语句; }`。
4. 问题:C语言中的循环语句有哪些?答案:C语言中的循环语句主要有`for`循环、`while`循环和`do-while`循环。
c语言程序设计实验指导书答案C语言程序设计实验指导书是帮助学生理解和掌握C语言编程技能的重要工具。
本指导书旨在通过一系列实验,引导学生从基础语法到高级编程技巧,逐步提高编程能力。
以下是一些实验题目和相应的答案示例,以供参考。
实验一:C语言基础语法实验目的:- 熟悉C语言的基本语法结构。
- 掌握变量声明、数据类型和运算符的使用。
实验内容:1. 编写一个程序,输入两个整数,输出它们的和、差、积和商。
实验答案:```c#include <stdio.h>int main() {int num1, num2;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);printf("和是:%d\n", num1 + num2);printf("差是:%d\n", num1 - num2);printf("积是:%d\n", num1 * num2);if (num2 != 0) {printf("商是:%d\n", num1 / num2);} else {printf("除数不能为0。
\n");}return 0;}```实验二:控制结构实验目的:- 掌握条件语句和循环语句的使用。
实验内容:1. 使用循环语句计算1到100的和。
实验答案:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {sum += i;}printf("1到100的和是:%d\n", sum); return 0;}```实验三:数组和字符串- 掌握数组和字符串的声明、初始化和使用。
实验内容:1. 编写一个程序,输入一个字符串,然后反转该字符串并输出。
实验一(1)编程求37+29的值,实习VC环境。
#include<stdio.h>void main(){int a,b,sum;a=37;b=29;sum=a+b;printf("sum=%d",sum);}(2)从键盘输入三个整数,求出最大数并输出。
#include<stdio.h>void main(){int a,b,c,y;int max(int x,int y);printf("input a,b,and c:");scanf("%d,%d,%d",&a,&b,&c);y=max(a,b);y=max(y,c);printf("\nmax=%d\n",y);}int max(int x,int y){int z;if(x>y) z=x;else z=y;return(z);}(3)通过上机实践,运行下列程序并分析输出结果。
A 程序代码#include<stdio.h>void main(){char ch='a';printf("%c对应的ASCII码是:%d\n",ch,ch);}程序输出结果:a对应的ASC||码是:97B 程序代码#include<stdio.h>void main(){int a=168;float b=123.456;float x=35.567,y;printf("a=%5d\n",a);printf("a=%-5d\n",a);printf("b=%6.2f\n",b);printf("b=%e\n",b);y=(int)(x*100+0.5)/100.0;printf("x=f,y=%f\n",x,y);}程序输出结果:a=168a=168b=123.46b=1.234560e+002x=f,y=35.567001C程序代码#include<stdio.h>void main(){int a=168;printf("十进制数%d对应的八进制数是%o\n",a,a);printf("十进制数%d对应的十六进制数是%x\n",a,a); }程序输出结果:十进制数168对应的八进制数是250十进制数168对应的十六进制数是a8实验二2.1顺序结构2.1.1已知a=1.5,b=5.3,c=2.9,计算s=-4ac的结果并输出。
《C 语言程序设计》实验指导书实验一C 程序的运行环境一、实验目的1、了解所用的计算机系统的基本操作方法,学会独立使用该系统;2、了解在该系统上如何编辑、编译、连接和运行一个C 程序;3、通过运行简单的C 程序,初步了解C 程序二、实验预习1、认真阅读简单的C 程序介绍,C 程序上机步骤部分内容;2、编写好所需要的程序,程序的书写应该清楚整洁,一般检查应该是没有明显的错误。
如果在程序中有疑问的地方,可以标记起来,以便于上机调试时予以注意。
初学者特别忌讳上机前自己不编写程序,到时随便地抄别人的程序。
三、实验指导1、输入并运行一个简单的程序,从而熟悉所用系统的上机方法与步骤。
(1)选择“File”—“New”—“Win32 console application”,输入工程名称,确定。
直接选择第一项“An empty project”,点击“Finish”。
“File”—“New”—File框下面选择文件类型“C++ Source File” ,输入文件名称,点击“OK”。
(2)输入下面的程序(例题1.1)#include <stdio.h>void main( ){printf("This is a C program.\n");}(3)选择“Build”菜单下“Compile”选项,快捷键为Ctrl+F7。
编译过程将源代码转化成目标文件格式,后缀名为.o。
选择“Build”菜单下“Build”选项,快捷键为F7。
如果出现“出错信息”,则应找出原因并改正之,再进行编译构建。
(4)如果编译无错误,选择“Build”菜单“Execute”选项,运行程序,快捷键为Ctrl+F5,观察分析运行结果。
2、输入并编辑一个C 程序(1)同上,新建工程和文件。
(2)输入以下程序(例题1.2,但故意漏打或打错几个字符)#include <stdio.h>void main( ){int a,b,sum ;a=123 ;b=456 ;sum=a+b ;printf("sum is %d\n",sum);}(3)以下步骤同上一例题3、输入并运行一个需要在运行时输入数据的程序(1)清空编辑窗口,输入下面的程序(例题1.3)。
c语言程序设计实验教程课后答案C语言程序设计实验教程课后答案C语言是一种广泛使用的计算机编程语言,以其高效、灵活和功能强大而著称。
学习C语言不仅能够帮助学生理解计算机程序设计的基础,而且能够为学习更高级的编程语言打下坚实的基础。
以下是一些常见的C语言程序设计实验教程课后问题及其答案。
问题1:编写一个C程序,计算并输出两个整数的和。
答案:```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("两个整数的和是:%d\n", sum);return 0;}```问题2:编写一个C程序,判断一个整数是否为素数。
答案:```c#include <stdio.h>#include <math.h>int isPrime(int n) {if (n <= 1) return 0;for (int i = 2; i <= sqrt(n); i++) {if (n % i == 0) return 0;}return 1;}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (isPrime(num)) {printf("%d 是素数。
\n", num);} else {printf("%d 不是素数。
\n", num);}return 0;}```问题3:编写一个C程序,实现简单的学生成绩管理系统。
答案:```c#include <stdio.h>struct Student {char name[50];int score;};int main() {struct Student students[3] = {{"Alice", 85},{"Bob", 90},{"Charlie", 78}};int i;printf("学生成绩列表:\n");for (i = 0; i < 3; i++) {printf("%s: %d\n", students[i].name, students[i].score);}return 0;}```问题4:编写一个C程序,实现字符串的反转。
实验一熟悉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.(选做)在二维数组中,若某一位置上的元素在该行中最大,而在该列中最小,则该元素即为该二维数组的一个鞍点。