C语言入门学习-C上机实验九要求

合集下载

C语言第一次上机实验要求(C程序的运行环境)及补充题答案 doc

C语言第一次上机实验要求(C程序的运行环境)及补充题答案 doc

C语言第一次上机实验要求(C程序的运行环境)及补充题答案doc上机前请仔细阅读以下内容C程序设计上机实验目的及要求C语言程序设计是一门实践性很强的软件基础课程,该课程对提高学生的逻辑分析、抽象思维和程序设计能力,培养优良的程序设计的风格有重要意义。

而上机实践则是学好本课程的十分重要的环节。

为此,认真上机实践,有利于进一步巩固和加深对本课程基本概念和基本知识的理解和掌握,同时,也为后续相关的课程学习打下了必备的技能基础。

★上机时,主要完成源程序的编辑、编译、连接和运行。

我们将检查程序的算法是否正确、程序的逻辑是否正确、程序的执行顺序是否正确的过程称为调试过程。

★通常,上机的各个环节都有可能碰到不少问题,不会一次成功,应针对问题细心地查找原因,逐个解决,这也是锻炼上机调试能力的好机会。

若是语法错误(编译就不通过。

一般是保留字输入错误、括号不匹配、语句缺少分号等),可根据提示重新编辑,纠正错误语法。

若是连接错误(连接不通过。

通常是由于函数名书写错误-----初学者最容易把函数名写错、缺少包含文件-----库函数()或路径错误等),需要仔细分析。

若是运行错误(编译连接都过了,但运行结果不正确),则算法就有问题,称之为逻辑错误,则须对照流程图和源程序,认真检查算法。

总之,碰到困难时切忌轻易放弃。

通过多上机,切实掌握程序调试技术(相信程序是调试出来的,不是“编”出来的)。

★当首次程序调试通过以后,应养成重新组织数据对程序进行测试的习惯。

由于种种原因,一次程序运行成功,并不一定保证问题已完满解决,只有对可能产生问题的各种数据经过进行测试并都有预定的输出,程序才可能是没有错误的。

★对于同一个设计题目,一般都会有多种算法答案,当一种算法设计成功以后,学习者要养成重新设计算法的习惯,并对多种算法进行比较,从而深刻领会各种算法的适用领域,开阔思维,达到灵活运用各种算法的目的。

★每次实验都必须写出实验报告,包括:实验目的、实验内容和要求,概要设计或详细设计源程序、上机调试记录(尤其是出错情况和排错记录)、调试数据和运行结果记录、心得体会等。

程序设计基础(C语言)课程和实验教学要求09版

程序设计基础(C语言)课程和实验教学要求09版

程序设计基础(C语言)课程、实验及作业教学要求理论课总学时数:32实验课总学时数:16期末考核方式:笔试试卷题型:与去年相同成绩组成:总成绩(100分)=笔试成绩(100分)×80%+平时成绩(20分)平时成绩组成:作业、实验、出勤、回答问题、综合表现等课程整体要求:1. 正确处置程序设计和C语言的关系:教学的目的是让学生学会编写程序,而C语言仅是编程的工具。

2. 讲课的偏重点:重点是程序设计的理念、方式、算法、技能,不要过度强调C语言的语法。

3. 增强对学生的平时管理:增强实验环节和作业环节,认真催促、辅导学生实验,批改作业,使学生主动学习。

4. 编译器采用Turbo C++ 。

5. 教师要做好平时成绩记录。

主教材:张长海.大学运算机程序设计基础(C语言).清华大学出版社主要参考书:谭浩强.C语言程序设计(第3版).清华大学出版社各章理论课与实验课学时分派:第1章绪论理论课学时:1教学内容:计算——简介运算机解决问题的大体方式。

算法——简介“算法”的概念和特点。

PAD图——简介顺序结构的PAD图(分支结构和循环结构的PAD图别离在第3、4章介绍)。

程序——简介“程序”的概念,通过例说明C程序的结构。

运行——自学。

要求温习“编译”和“解释”两种翻译方式。

运算机的大体结构——自学。

要求理解“变量”的物理载体—内存。

C语言——自学。

要求了解C的优、缺点。

Visual C++ 集成开发环境——不讲。

在课堂上用Turbo C++ 做演示,完成一个完整的编程进程。

实验课学时:0实验要求:无。

书面作业:无。

试探题: , , ,(留作业时简单介绍一下这几个常常利用算法)。

第2章简单程序理论课学时:4教学内容:简单程序——通过例题强化编程解决问题的进程及算法的PAD描述。

语句——简介“语句”及分类。

表达式——介绍“表达式”的概念,强调C表达式与数学表达式的区别,简介各类运算符,优先级,结合关系。

介绍表达式语句,强调“赋值”的含义。

C语言上机操作指导

C语言上机操作指导

C语言上机操作指导在学习C语言过程中,上机操作是非常重要的一部分。

通过上机实践,我们可以巩固所学的理论知识,培养编程思维,提高解决问题的能力。

本文将为大家提供C语言上机操作的指导,帮助大家更好地进行实践。

一、实验环境准备在进行C语言上机操作之前,我们首先需要准备好实验环境。

具体步骤如下:1. 安装编译器:选择一款适合的C语言编译器,如Dev-C++、Code::Blocks等,并按照其官方指南进行安装。

2. 创建项目:打开编译器,创建一个新项目。

根据需要选择控制台应用程序或者窗口应用程序。

3. 配置编译器:在项目设置中,确认编译器配置正确,比如选择合适的C语言标准、设置输出文件路径等。

二、实验内容安排在进行C语言上机操作时,为了有效利用时间,我们需要合理安排实验内容。

以下是一个常见的实验内容安排,供大家参考:1. 熟悉开发环境:掌握编译器的基本使用方法,学会创建、保存、运行项目等操作。

2. 简单程序实现:从简单的程序开始,如输出Hello World、计算两个数的和等。

逐步熟悉C语言的基本语法和编程逻辑。

3. 变量与数据类型:掌握变量的定义和使用方法,了解各种基本数据类型的特点及其使用场景。

4. 条件语句和循环结构:学习if-else语句、switch语句、while循环、for循环等,掌握条件判断和循环控制的基本方法。

5. 数组和字符串:了解数组和字符串的概念,学习如何声明、初始化和访问数组,以及常见的字符串操作方法。

6. 函数和指针:了解函数的定义和调用,学习如何传递参数和返回值。

同时,也要熟悉指针的概念和使用方法。

7. 文件操作:学习如何打开、读写和关闭文件,实现文件的基本输入输出。

8. 综合实例:通过一些综合实例,将之前所学的知识进行综合运用,提升实际编程能力。

三、实验操作步骤在进行C语言上机操作时,我们需要按照一定的步骤进行操作。

以下是一个常见的实验操作步骤,供大家参考:1. 阅读实验要求:在开始实验之前,仔细阅读实验要求和题目描述,明确任务目标和具体要求。

C语言上机实验

C语言上机实验

实验一(第1章实验)实验目的:1.掌握运行C语言程序的全过程。

2.熟悉编译环境。

3.初步熟悉C语言程序的语法规定。

4.了解简单函数的使用方法。

实验内容:1.编程且上机运行:求3个整数的和。

2.编程且上机运行:求2个数的和、差、积和商。

3.编程且上机运行:输入3个数,求最大值。

4.编程且上机运行:输入圆的半径,求圆的面积和周长。

5.在屏幕上输出:“hello world!”实验结果:实验二(第3章实验)1.实验目的:理解C语言的类型系统。

实验内容:写程序测试数据-2在类型char,int,unsigned int,long int,unsigned long int 中存储情况。

实验过程:实验结果:参见各种类型的存储实现描述。

2.实验目的:了解混合类型计算中类型的转换规则。

实验内容:写程序测试多种类型数据一起运算时类型的转换及表达式结果的类型。

注意unsigned int和int数据运算时类型转换的方向。

实验过程:/** 类型转换问题* 试问下面两个表达式等价吗?*/#include <stdio.h>#include <stdlib.h>int main() {unsigned int ui,uj;ui = 1;uj = 2;if (ui < uj)printf("\n%u < %u is true !\n", ui, uj);elseprintf("\n%u < %u is false !\n", ui, uj);if (ui - uj < 0)printf("\n%u - %u <0 is true !\n", ui, uj);elseprintf("\n%u - %u <0 is false !\n", ui, uj);system("pause");return 0;}实验结果:参见类型转换规则。

C语言上机实验指导

C语言上机实验指导

实验要求:上机实验一般经历上机前的准备(编程)、上机调试运行和实验后的总结三个步骤。

1.上机前的准备根据问题,进行分析,选择适当算法并编写程序。

上机前一定要仔细检查程序(称为静态检查)直到找不到错误(包括语法和逻辑错误)。

分析可能遇到的问题及解决的对策。

准备几组测试程序的数据和预期的正确结果,以便发现程序中可能存在的错误。

上机前没有充分的准备,到上机时临时拼凑一个错误百出的程序,宝贵的上机时间白白浪费了;如果抄写或复制一个别人编写的程序,到头来自己一无所获。

2.上机输入和编辑程序,并调试运行程序首先调用C语言集成开发环境,输入并编辑事先准备好的源程序;然后调用编译程序对源程序进行编译,查找语法错误,若存在语法错误,重新进入编辑环境,改正后再进行编译,直到通过编译,得到目标程序(扩展名为OBJ)。

下一步是调用连接程序,产生可执行程序(扩展名为EXE)。

使用预先准备的测试数据运行程序,观察是否得到预期的正确结果。

若有问题,则仔细调试,排除各种错误,直到得到正确结果。

在调试过程中,要充分利用C 语言集成开发环境提供的调试手段和工具,例如单步跟踪、设置断点、监视变量值的变化等。

整个过程应自己独立完成。

不要一点小问题就找老师,学会独立思考,勤于分析,通过自己实践得到的经验用起来更加得心应手。

3.整理上机实验结果,写出实验报告实验结束后,要整理实验结果并认真分析和总结,根据教师要求写出实验报告。

实验报告一般包括如下内容:⑴实验内容实验题目与要求。

⑵算法说明用文字或流程图说明。

⑶程序清单⑷运行结果原始数据、相应的运行结果和必要的说明。

⑸分析与思考调试过程及调试中遇到的问题及解决办法;调试程序的心得与体会;其他算法的存在与实践等。

若最终未完成调试,要认真找出错误并分析原因等。

实验一C语言运行环境一、实验目的1.了解TC环境的组成。

2.学习TC环境的使用方法。

3.了解C语言程序从编辑、编译、连接到运行并得到运行结果的过程。

C语言_实验九、结构体程序设计

C语言_实验九、结构体程序设计

实验九、结构体程序设计一、实验目的1.掌握结构、结构数组、结构指针的定义及使用;2.掌握简单的链表的定义及使用;3.掌握共用体和枚举类型的定义及使用;4.掌握文件的简单的定义、打开、写、关闭等操作。

二、实验内容1.[题目内容]某考点建立一个考生人员情况登记表、表格内容如下:1)根据上表正确定义该表格内容要求的数据类型。

2)分别输入各成员项数据,并打印输出(为简便,假设有3个考生)编程序,然后上机调试运行程序。

2.[题目内容]某单位进行选举,有5位候选人:zhang、wang、li、zhao、liu。

编写一个统计每人得票数的程序。

要求每个人的信息使用一个结构体表示,5个人的信息使用结构体数组。

3.[题目内容]设张三20岁、李四22岁、王平23岁,编程输出3人中年龄最小者的姓名和年龄。

4.[题目内容]定义一个学生成绩结构体类型,包含“学号”、“姓名”、“性别”、“年龄”、“班级”、“英语”、“数学”、“物理”、“总分”、“名次”等信息。

编写6个函数分别用于:(1)使用结构体数组,输入全班10名学生的上述信息;(2)计算每一个学生的总分、平均分;(3)计算每一门课程的平均分;(4)查找成绩有不及格的学生信息;(5)按学生成绩总分降序排序;(6)输出全班学生的学号、总分及名次。

5.[题目内容]利用上一题的结构类型,创建包含10个结点的无序链表。

编写5个函数分别实现下述功能(参考前面第三部分内容):(1)显示链表;(2)添加结点;(3)删除结点;(4)计算每位学生的总分;(5)按英语成绩排序。

三、课后作业(写实验报告)1.学生成绩管理:有5个学生,每个学生的数据包括学号、班级、姓名、三门课成绩。

从键盘输入5个学生数据,要求打印出每个学生三门课的平均成绩,以及每门课程平均分、最高分学生数据(包括学号、班级、姓名、三门课成绩,平均分)。

(1)定义学生结构体。

(2)用一个函数实现5个学生数据的输入,用另一个函数负责求每个学生三门课程的平均成绩,再用一个函数求出平均分最高的学生并输出该学生的数据。

C语言程序设计上机实验指导

C语言程序设计上机实验指导

C语言程序设计上机实验指导目录实验一 c语言程序的开发环境 (1)实验二数据类型描述 (3)实验三顺序结构 (6)实验四选择结构 (9)实验五循环结构 (12)实验六函数与编译预处理 (16)实验七数组 (19)实验八指针 (23)实验九结构体数据类型与链表 (25)实验十共用体与枚举类型 (27)实验十一文件 (29)实验一 c语言程序的开发环境一、目的、要求1、使学生了解c语言不同于其他语言的特点。

2、掌握在c语言的开发环境中如何实现简单程序的编辑、运行,熟悉c程序的开发环境及上机步骤。

3、通过简单的c程序,熟悉c语言程序的结构特点,掌握其基本结构框架。

4、通过实践,掌握c源程序的书写格式。

二、预习内容1、熟悉Turbo c的集成开发环境,掌握启动、退出、编辑运行的操作。

2、了解基本命令及函数:include<stdio.h>,include<math.h>,main(),printf(),scanf()等。

三、上机内容1、输入下列程序,记录在Turbo c 下的操作方法。

#include <stdio.h>main(){printf(“I am a student!”);}环境的启动操作:程序的编译方法:快捷键是;菜单操作是程序的保存方法:快捷键是;菜单操作是程序的运行方法:快捷键是;菜单操作是运行结构的查看:快捷键是;菜单操作是环境的退出操作:快捷键是;菜单操作是2、预测结果并上机验证#include <stdio.h>main(){printf(“************\n”);printf(“I am a student!\n”);printf(“************\n”);}预测的结果是:上机验证的结果是:3、预测结果并上机验证#include<stdio.h>#include<math.h>main(){int a,b,sum;scanf(“%d,%d”,&a,&b);sum=a+abs(b);printf(“a and b is %d”,sum);}程序运行后输入:5,-5预测的结果是:上机验证的结果是:4、分析程序的功能,并上机验证#include<stdio.h>#include<math.h>main(){int a,b,sum;scanf(“%d,%d”,&a,&b);sum=abs(a+b);printf(“%d+%d = %d”,a,b,sum);}程序的功能是:上机验证的结果是:5、试编写程序实现下列输出** ** * ** * * *编写的程序为:实验二数据类型描述一、目的、要求1、了解c语言的数据类型的种类。

c语言上机实验报告

c语言上机实验报告

c语言上机实验报告《C语言上机实验报告》在计算机科学领域,C语言是一种非常重要的编程语言,它被广泛应用于系统软件开发、嵌入式系统设计以及高性能计算等领域。

为了更好地掌握C语言的基本语法和编程技巧,我们进行了一次C语言上机实验,以下是实验报告。

实验目的:1. 熟悉C语言的基本语法和数据类型;2. 掌握C语言的控制结构,如条件语句和循环语句;3. 学习C语言的函数定义和调用;4. 掌握C语言的数组和指针的使用。

实验内容:1. 编写一个简单的C程序,实现从键盘输入两个整数,然后输出它们的和、差、积和商;2. 编写一个C程序,实现计算n的阶乘;3. 编写一个C程序,实现对一个整型数组进行排序;4. 编写一个C程序,实现对一个字符串数组进行排序。

实验步骤:1. 首先,我们编写了一个简单的C程序,使用了scanf函数从键盘输入两个整数,然后使用printf函数输出它们的和、差、积和商。

通过这个实验,我们熟悉了C语言的输入输出函数的使用。

2. 接着,我们编写了一个C程序,实现了计算n的阶乘的功能。

在这个实验中,我们学会了如何定义和调用函数,以及如何使用循环语句。

3. 然后,我们编写了一个C程序,实现了对一个整型数组进行排序的功能。

在这个实验中,我们掌握了C语言的数组的使用方法,并且学会了一种简单的排序算法。

4. 最后,我们编写了一个C程序,实现了对一个字符串数组进行排序的功能。

通过这个实验,我们进一步掌握了C语言的数组和指针的使用方法。

实验总结:通过这次C语言上机实验,我们更加熟悉了C语言的基本语法和编程技巧,掌握了C语言的控制结构、函数定义和调用、数组和指针的使用方法。

这些知识和技能对我们今后的学习和工作都将非常有帮助。

希望通过不断的实践和实验,我们能够更加熟练地掌握C语言,为以后的编程工作打下坚实的基础。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【要求:素数判断由子函数完成。并且结果不能出现两个相同的素数对,例如:输入28,则输出结果为:
28=5+23
28=11+17
若输出结果中还有“28=17+11”就重复了!】
#include <stdio.h>
int PDSS(int a)
{int flag=1;
long k;
for(k=2;k<a/2;k++)
{a[n][j++]=*(text+i);word=0;}
else
if(word==0){word=1;a[n][j]='\0';n++;j=0; }
printf("It has %d word.\n\n", n);
for(i=0;i<n;i++)
puts(a[i]);
}
2.用指针完成下列任务:输出如下矩阵:
x=x/10;
}
for(i=____________;i>0;i--)
if(s[i]<s[i-1]){flag=0;break;}
______________________;
}
4.以下程序中的fun函数对二维数组中存储的n阶方阵做如下操作:先将每一行中值最大的元素与该行位于主对角线处的元素交换值,然后对主对角线上的所有元素排序使其左上角到右下角升序排列,最后输出排序后主对角线上各元素的值。
{n++;
printf("%6d",a[i]);}
if(n==0)printf("Array a has no JXSS!\n");
}
int SS(int x)/*此函数判断x是否素数*/
{int k,flag=1;
if(x<2)________________;
for(k=2;k<=x-1;k++)
一、完善程序题
1.以下程序统计指定句子(即只含有字母、空格、句号的字符串)中的单词个数,并输出每个单词。
【本题的思路是:将每个单词存放到二维数组的每一行,则存放的行数即为单词的个数。】
#include <string.h>
#include <ctype.h>
main()
{char *text=" I will pass the examination in the summer holiday." ;
for(j=________;j<n;j++)
if(________________)
{t=________;________________;________=t;}
}
二、编程题
使用全局变量完成下列任务:任意读入10个整数,调用子函数求得它们的平均值、最大值、最小值后由主函数输出。
【实验八参考答案】
int n, i, j, word;
char a[20][80];
while(*text==' ' )text++;/*去掉前导空格*/
n=0; j=0;
for(i=0;i<strlen(text);i++)
if(isalpha(*(text+i)))/* isalpha函数的功能是判断其参数是否为字母,要加"ctype.h"*/
1 2 3 4
5 6 7 8
9 10 11 12
【法一:使用列指针完成,双重循环】
#include "stdio.h"
main()
{int a[3][4],i,j,k=1;
int *p;
p=a[0];/*或&a[0][0]*/
for(i=0;i<3;i++)
for(j=0;j<4;j++)
*(p+_____i*4+j____)=k++;
}
void GYS_GBS(int a,int b,int *gy,int *gb)
{int c,r;
c=a*b;
r=a%b;
while(r!=0)
{a=b;
b=r;
r=a%b;
}
*gy=b;
*gb=c/b;
}
二、编程题
任意读入一个大偶数(≥4),可以拆分成两个素数之和。编程按“x=s1+s2”的格式输出所有的素数对。
if(a%k==0){flag=0;break;}
return flag;
}
main()
{long x;
long s1,s2;
do
scanf("%ld",&x);
while(x<4||x%2!=0);
s1=2;
s2=x-s1;
do
{while(!PDSS(s1)||!PDSS(s2))
{s1++; s2--;}
p[i]=s[i];
for(i=0;i<N;i++)//读入5个串,存放到s的每一行中
gets(s[i]);
//以下用选择法排序
for(i=0;i<=N-2;i++)
{k=i;
for(j=i+1;j<=N-1;j++)
if(strcmp(p[j],p[k])>0)k=j;
if(k!=i)
{char *t;
{arr=____________;
col=0;
for(j=1;j<n;j++)
if(x[i][j]>=arr)
{arr=x[i][j];
____________;
}
t=____________;
____________=x[i][col];
x[i][col]=t;
}
for(i=0;i<n-1;i++)//选择法变形
例如有:
10
25
24
13
23
8
10
24
13
23
4
3
6
9
7
4
9
6
9
7




2
15
19
16
18







2
15
17
16
18
17
9
4
5
3
5
9
4
19
3
2
1
6
7
8
2
1
6
7
25
输出结果为:8 9 17 19 25
#include<stdio.h>
#define n 5
void main()
{int a[n][n]={{10,25,24,13,23},{4,3,6,9,7},{2,15,19,16,18},{17,9,4,5,3},{2,1,6,7,8}};
_____________________;
int i;
fun(a);
for(i=0;i<n;i++)
printf("%3d",a[i][i]);
printf("\n");
}
void fun(_____________________)
{int i, j, t, arr, col;
for(i=0;i<n;i++)
double mypoly(double x)
{return(x*x+3.0*x+2.0);
}
double trap(double a,double b)
{double t,h; int i,n=1000;
t=0.5*(mypoly(a)+mypoly(b));
h=______________/(double)(n);
#include <stdio.h>
main()
{int x,y,gys,gbs;
void GYS_GBS(int a,int b,int *gy,int *gb);
do
scanf("%d%d", &x ,&y);
while(x<=0||y<=0);
GYS_GBS(x,y,&gys,&gbs);
printf("%d和%d的最大公约数是%d,最小公倍数是%d\n",x,y,gys,gbs);
main()
{int i;
long f;
for(i=1;i<=N;i++)
f=____________________________;
printf("%d!=%ld\n",N,f);
}
long JC(int n)
{______________________________;
jc=jc*n;
return jc;
a[i/4][i%4]=j++;
p=a[0];
for(i=0;i<3;i++)
{for(j=0;j<4;j++) printf("%3d", *(p+i*4+j));
printf("\n");}
}
相关文档
最新文档