C语言实验指导
- 格式:doc
- 大小:795.00 KB
- 文档页数:28
实验1 熟悉C语言编程环境 1 实验1熟悉C语言编程环境2 C语言程序设计实验指导【实验目的】(1)熟悉C语言编程环境Microsoft Visual C++ 6.0,掌握运行(编辑、编译、连接和运行)一个C程序的基本步骤。
(2)了解C程序的基本框架,能参考教材例题编写简单的C程序。
(3)理解程序调试的思想,能找出并改正C程序中的语法错误。
【实验内容】1. 建立一个文件夹,存放C程序在磁盘上新建一个文件夹,用于存放C程序,如D:\C程序。
2. 编程示例编写一个输出“Welcome to You!”的程序。
源程序:#include <stdio.h>void main( ){printf("Welcome to You!\n");}下面就是在Microsoft Visual C++ 6.0的编程环境下,以上述C语言源程序为例,介绍从新建到运行一个C 程序的基本步骤。
3. 新建并运行一个C程序第一步,启动Microsoft Visual C++ 6.0(VC++)。
启动VC++,可以通过“开始”菜单,也可以通过桌面快捷方式。
启动之后,我们看到的是空白的VC++开发环境,如图1.1所示。
图1.1 VC++ 窗口第二步,新建一个文件。
选择“文件”菜单下的“新建”命令,在弹出的“新建”对话框中选择“文件”选项卡,并做如图1.2所示的设置。
图1.2 新建文件在“文件”选项卡中,进行如下操作:(1)选择“C++ Source File”文件类型;(2)输入文件名try,默认创建的是.cpp文件。
(3)程序保存在D盘根目录下的“C程序”文件夹。
该选项不需要手工输入,可以单击在“位置”右下方的(choose directory)按钮,来选择已经建立好的文件夹。
第三步,编辑和保存源程序。
当try.cpp源文件创建后,就会出现空白的程序编辑窗口,即可编辑C程序源代码。
在程序编辑窗口中输入源程序,如图1.3所示,然后执行“文件”菜单下的“保存”命令,保存源文件。
c语言程序设计实验指导书C语言程序设计实验指导书一、引言C语言是一种通用的高级编程语言,广泛应用于计算机科学和软件开发领域。
为了帮助学生更好地理解和掌握C语言的编程技巧,我们编写了本实验指导书。
本指导书旨在引导学生完成一系列的C语言实验,从简单的程序设计入门开始,逐步深入学习C语言的各个方面。
二、实验一:Hello World程序1. 实验目的通过编写一个简单的Hello World程序,学习C语言的基本语法和编程环境的搭建。
2. 实验内容编写一个C程序,在屏幕上输出"Hello World"字样。
3. 实验步骤1) 打开C语言编译器,新建一个源文件。
2) 在源文件中编写C程序,使用printf函数输出"Hello World"。
3) 编译并运行程序,观察输出结果。
4. 实验结果在屏幕上显示出"Hello World"字样。
三、实验二:变量和数据类型1. 实验目的了解C语言中的变量和数据类型的概念,学习如何声明和使用变量。
2. 实验内容编写一个C程序,演示各种数据类型的声明和使用。
3. 实验步骤1) 在源文件中声明各种数据类型的变量,如int、float、char等。
2) 对各种变量进行赋值和运算操作。
3) 使用printf函数输出各种变量的值。
4. 实验结果屏幕上显示出各种变量的值。
四、实验三:控制语句1. 实验目的学习C语言中的控制语句,掌握条件语句和循环语句的用法。
2. 实验内容编写一个C程序,演示条件语句和循环语句的使用。
3. 实验步骤1) 使用if语句判断某个条件是否成立,根据条件的结果执行相应的操作。
2) 使用for循环语句实现某个操作的重复执行。
3) 使用while循环语句实现某个操作的反复执行,直到某个条件不再满足。
4. 实验结果根据条件的不同,程序执行相应的操作,循环语句可以重复执行某个操作。
五、实验四:函数和数组1. 实验目的学习C语言中的函数和数组的概念,掌握函数的定义和调用,以及数组的声明和使用。
实验指导书一、实验环境简介(一)、C程序的开发过程开发一个C语言程序,要经过以下4个阶段:(1)编辑源程序文件;(2)编译源程序;(3)程序连接;(4)运行程序。
1、编辑C语言源程序编写源程序就是程序设计人员用C程序设计语言描述解决某问题的过程和具体实现的方法。
这样写出的程序叫做C语言源程序。
源程序以文件(File)的形式存储在计算机的的软盘或硬盘中,通常它是一种文本文件,所谓文本文件就是以ASCII码存储的文件,它可以用任何文本编辑软件编写。
文件要有文件名,文件以其文件名在磁盘中存储和与其他文件相区别。
文件名由两部分组成:文件名和扩展名。
其书写格式为:文件名.扩展名按C语言编写的源程序,其文件扩展名通常为c。
例如,file1.c2.编译源程序计算机系统只能认识和执行用机器语言编写的程序,不能理解用C语言或其他非机器语言编写的程序。
所以,源程序必须翻译成机器语言程序。
翻译是通过一个称为编译器(Compiler)或编译系统的软件实现的。
编译系统编译源程序时,首先对源程序进行语法检查,如果发错误,就会显示错误的位置和错误的性质并终止编译。
这时,用户需要对源程序进行再编辑,修改源程序文件中的错误。
然后,重新进行编译。
这个过程反复进行,直到编译器认为没有语法错误为止。
源程序通过编译后,产生一个目标文件。
目标文件的文件名就是源程序文件的文件名,但扩展名为obj,例如源文件file1.c,经编译后产生目标文件:file1.obj。
目标文件由计算机的机器指令和其他一些二进制信息组成,它仍不能由计算机直接执行,还要经过一个所谓的连接过程。
3.连接程序由编译系统中称为连接程序(Linker)的软件,将目标文件和编译系统的系统函数库连接生成可执行的机器语言程序,这一过程称为连接。
连接程序在连接过程中也要对程序进行语法检查,如果发现错误,则给出相应的错误信息并终止连接。
这时,程序设计人员要再次对源程序文件作相应修改,重新进行编译,重新进行连接,这个过程要一直进行到连接成功为止。
c语言实验一、课程性质和任务本课程的主要任务:通过对该课程的学习,使学生掌握C语言程序设计的基本知识,程序结构,基本算法及程序设计思想,并培养使用C语言进行程序设计基本能力。
本课程的目的:使学生掌握程序设计的基本方法及逐步形成正确的程序设计思想,能够熟练地使用C语言进行程序设计并具备调试程序的能力,为后继课程及其他程序设计课程的学习和应用打下基础。
二、课程教学目标1、掌握C语言的基本词法,熟练掌握C语言程序的基本结构。
2、掌握常量和变量的存储类型及应用;运算符和表达式的应用3、掌握C语言的基本语句;形成正确的程序设计思想,对顺序结构程序要重点掌握,熟练掌握输入输出函数。
4、掌握关系、逻辑表达式的形式和应用;熟练掌握选择结构的思想;掌握IF语句的各种形式和应用;掌握SWITCH语句和BREAK语句的使用,选择结构的嵌套语句。
5、掌握循环结构的思想、流程和执行过程;掌握 While循环、Do…While、FOR循环及其应用;掌握循环嵌套的使用;掌握BREAK、CONTINUE及使用。
6、掌握一维数组的定义、引用和应用;掌握二维数组的定义、引用和应用;掌握字符数组及其应用。
7、掌握函数的定义、参数、类型、返回值及参数传递;掌握变量的作用域(局部变量和全局变量)、存储类型;了解内部函数和外部函数及主函数和命令行参数。
9、掌握直接存取和间接存取;掌握指针变量的概念和应用;掌握数组与指针、函数与指针之间的关系;了解指向指针的指针。
10、掌握结构体、共用体的概念、存储特点,及应用;了解结构体数组的使用;掌握结构体与数组、指针、函数之间的操作;掌握链表的概念和基本操作。
了解共用体、自定义类型、枚举类型的概念和应用。
三、实验内容安排实验1:熟悉上机环境和顺序结构编程练习[实验目的]1. 熟练地利用文本编辑程序输入、修改C程序。
2. 掌握和理解C程序的基本结构。
3. 掌握C程序的编译连接与运行。
4. 掌握和理解本实验中出现的一些最基本的语句。
c语言课程设计实验指导一、教学目标本课程的教学目标是使学生掌握C语言的基本语法、数据结构和算法,培养学生使用C语言进行程序设计的能力。
具体包括以下三个方面的目标:知识目标:学生需要掌握C语言的基本语法、数据结构(如数组、链表、栈和队列等)和算法(如排序和查找等)。
技能目标:学生能够运用C语言编写解决实际问题的程序,培养学生的程序设计能力和问题解决能力。
情感态度价值观目标:培养学生对计算机科学的兴趣和热情,使学生认识编程在现代社会中的重要性,培养学生的创新精神和团队合作意识。
二、教学内容根据教学目标,本课程的教学内容主要包括C语言的基本语法、数据结构和算法。
具体安排如下:1.C语言的基本语法:包括变量、数据类型、运算符、表达式、语句等。
2.数据结构:包括数组、链表、栈和队列等,以及它们的基本操作和应用。
3.算法:包括排序算法(如冒泡排序、选择排序和快速排序等)和查找算法(如线性查找、二分查找等)。
三、教学方法为了实现教学目标,本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。
1.讲授法:通过教师的讲解,使学生掌握C语言的基本语法、数据结构和算法。
2.讨论法:通过小组讨论,培养学生的思考能力和问题解决能力。
3.案例分析法:通过分析实际案例,使学生学会如何运用C语言解决实际问题。
4.实验法:通过上机实验,培养学生的编程能力和实践能力。
四、教学资源为了支持教学内容和教学方法的实施,我们将选择和准备以下教学资源:1.教材:《C程序设计语言》(K&R)或《C Primer Plus》。
2.参考书:《C语言程序设计教程》(谭浩强)、《C语言深度探索》(陈向群)。
3.多媒体资料:教学PPT、视频教程等。
4.实验设备:计算机、网络环境、编程软件(如Code::Blocks、VisualStudio等)。
五、教学评估为了全面、客观地评估学生的学习成果,本课程将采用以下评估方式:1.平时表现:包括课堂参与度、小组讨论、提问等,占总成绩的20%。
c语言程序设计实验指导
《C 语言程序设计实验指导》是与《C 语言程序设计》课程配套的实验教材,主要内容包括:
1. C 语言程序设计基础:包括 C 语言的基本数据类型、运算符和表达式、程序控制结构等。
2. 数组与字符串:介绍数组和字符串的定义、初始化和使用方法。
3. 函数:详细讲解函数的定义、调用、参数传递和递归函数等内容。
4. 指针:介绍指针的概念、指针与数组、字符串的关系以及指针的应用。
5. 结构体与共用体:讲述结构体和共用体的定义、初始化和使用方法。
6. 文件操作:介绍文件的打开、读写和关闭等操作。
每个实验都提供了明确的实验目的、实验内容和步骤,以及相应的示例程序和思考问题。
通过实验,可以帮助学生更好地理解和掌握 C 语言程序设计的基本概念、方法和技巧,提高学生的编程能力和解决实际问题的能力。
此外,本书还提供了一些常见的错误和调试方法,帮助学生在编程过程中及时发现和解决问题。
本书可作为高等院校计算机及相关专业 C 语言程序设计课程的实验教材,也可供自学 C 语言的读者参考。
c语言课程设计实验指导及课程设计一、课程目标知识目标:1. 理解C语言编程的基本概念,掌握数据类型、运算符、控制结构等基本知识;2. 学会使用函数进行模块化编程,理解函数的定义、调用和返回值;3. 掌握数组、指针和字符串的操作,能够运用它们解决实际问题;4. 了解C语言中的文件操作,学会读取和写入文件;5. 掌握C语言课程设计的基本方法和技巧。
技能目标:1. 能够运用C语言编写简单的程序,解决实际问题;2. 培养良好的编程习惯,编写规范、高效的代码;3. 学会使用调试工具,能够独立排查和修复程序中的错误;4. 能够阅读和分析复杂的C语言程序,提取关键信息,进行改进和优化;5. 提高团队协作能力,通过与同学合作完成课程设计项目。
情感态度价值观目标:1. 培养学生积极的学习态度,激发对编程的兴趣和热情;2. 培养学生的耐心和毅力,面对编程难题时保持积极心态,勇于克服困难;3. 增强学生的自信心,相信自己具备解决复杂问题的能力;4. 培养学生的创新意识,鼓励尝试新的编程方法和技巧;5. 强调团队协作的重要性,培养学生的合作精神,提高沟通与表达能力。
本课程目标旨在使学生在掌握C语言基础知识的基础上,通过课程设计实验,进一步提高编程技能和解决实际问题的能力。
同时,注重培养学生的情感态度和价值观,使他们在学习过程中形成积极向上的人生态度,为未来的学习和工作打下坚实基础。
二、教学内容1. C语言基础知识回顾:数据类型、变量、常量、运算符、表达式;2. 控制结构:顺序结构、分支结构、循环结构;3. 函数:函数的定义、调用、参数传递、返回值、递归;4. 数组:一维数组、二维数组、字符数组;5. 指针:指针的概念、指针与数组、指针与函数、指针与字符串;6. 字符串处理:字符串的概念、字符串的输入输出、字符串操作函数;7. 文件操作:文件的概念、文件的打开与关闭、文件的读写、文件定位;8. 课程设计方法与技巧:需求分析、模块划分、编码、调试、优化;9. 实践项目:设计并实现一个简单的学生管理系统,涵盖文件操作、函数调用、数组使用等。
第一部分:《C语言程序设计》实验教学大纲一、本实验课的性质、任务与目的本实验课目的是使学生掌握C语言编程的常用方法,以任务驱动教学法,重点培养学生的编程能力,为以后学习后继专业课程和进行软件开发打下基础。
通过学习能够运用C语言中的各个知识点编写能完成一定功能的程序。
训练学生进行复杂程序设计的技能和培养良好程序设计的习惯,实验教学是培养应用型人才的重要环节,其重要程度决不亚于知识的传授。
把高级语言的学习与程序设计、上机实践紧密地结合起来,以提高学生能灵活运用新的知识分析问题和解决问题的能力。
二、本实验课所依据的课程基本理论本实验课基于C语言的语法和词法规则、数据的表示及算法的处理,而语法及算法正是高级语言程序设计的主要研究对象。
《C语言程序设计》的主要任务是:C 语言是一种应用广泛结构化程序设计语言,本课程介绍C语言的基本概念、基本语法和编程方法,重点描述C语言的结构化的特征,并通过本课程的学习,使学生掌握一定的结构化程序设计的知识,以及用C语言编写程序的能力。
三、实验类型与要求在做每个实验之前,让学生对本次实验相关的内容进行预习、算法设计、流程图的设计、编写程序,做好实验的准备工作;写出预习报告,画出流程图,要求独立完成。
每组1人,实验共40学时五、考核方式与评分办法实验总成绩=出勤情况*10%+实验报告*20%+平时*30%+实验内容*40%六、本实验课配套教材或实验指导书教材:苏小红主编.C语言大学实用教程,电子工业出版社,十一五国家级规划教材,2008 .7参考书:[1]何钦铭,颜晖主编.C语言程序设计,高等教育出版社,十一五规划教材,2008 .1[2]颜晖主编.C语言程序设计实验指导,高等教育出版社,2008.1[3]张引,何钦铭等. C程序设计基础课程设计,浙江大学出版社,2007.9[4]谭浩强. C程序设计题解与上机指导.北京:清华大学出版社.2006年3月第3版[5]谭浩强. C程序设计试题汇编.北京:清华大学出版社.2006年3月第2版[6]夏宽理. C语言程序设计.北京:中国铁道出版社.2006年2月第1版[7]夏宽理. C语言程序设计上机指导与习题解答.北京:中国铁道出版社.2006.2[8]王士元. C高级实用程序设计.北京:清华大学出版社.1996年1月第1版[9]谭浩强. C程序设计.北京:清华大学出版社.2006年3月第3版七、实验报告要求上机实验目的在于:①通过验证课本中的内容及自己编写的程序,加深对课本中词法、语法的掌握;②熟悉所用的C语言开发环境;③上机调试自己的程序,学会编程,重要是能上机调试通过,调试经验是通过自己的直接实践来累积。
C 语言实验指导手册本实验指导需要在上课的基础上,参考教材和C 函数手册.chm 和tcstudy.chm 帮助文档来动手完成,完成后给指导老师演示,并请指导老师打分!此实验的目的是帮助初学者能够快速的掌握C 语言程序设计的基本规范和设计技巧。
实验一:C 语言实验环境及C 语言基础(C01) 实验目的:1、 熟悉c 语言的编辑环境,掌握c 程序的总体框架2、 了解c 语言的执行步骤,学会跟踪与调试 第一部分:实验环境安装测试和学习一、C 语言程序开发过程编写一个完整的C 程序需要经过以下5个步骤: 1)启动集成开发环境。
2)进入编辑环境。
3)建立一个新的.c 文件,输入已有代码,并添加相应注释。
4)调试程序(编辑、编译、连接) 5)运行并分析程序输出结果。
在开发过程中,提到了编译,连接等名词,一些初学者还不能很好的对此加以区分,对C 程序的编译过程了解得也不甚清晰,鉴于描述性语言往往不够简明,笔者特制作了下图供读者参考。
图1.1 C 语言程序开发过程说明:图1.1中,如果编译、连接和执行时编译系统提示有错误或程序结果与预期不符,则需要重新修改源程序,直到编译、连接都通过且程序结果与预期相符。
【程序示例】编写程序,在屏幕上输出句子“让我们一起学习C 语言”。
【解】 程序如下:/*******************************************************功 能:本程序在屏幕上输出“Hello World!”编辑编译连接运行作者:XXXXXX编写时间:XXXX-XX-XX*******************************************************/ 注释#include <stdio.h>预编译命令(包含头文件)main( ){主函数首部printf(“Hello World!\n”);语句}程序简单说明:(1)C语言程序必须在文件的开头包含头文件:#include <stdio.h>;(2)每个C程序必须包含且只能包含一个主函数main;(3)函数体必须由一对花括号“{}”括起来;(4)函数都是由语句构成,每条语句必须用“;”结束;(5)C程序区分字母的大小写;(6)/* */之间的内容为注释。
实验一TC集成环境的使用一、实验目的1.熟悉C语言的集成调试环境TC2.0的使用,学习编辑、运行C语言程序的基本方法。
2.进一步认识程序的两种类型的错误对程序运行的影响,加深对程序调试及测试重要性的认识。
3.认识C语言程序的结构特点,学习程序的基本编写方法二、实验内容1.TC 2.0集成环境的使用。
编辑运行实现乘法运算的程序,源程序如下:#include "stdio.h"main( ){int a,b;a=251; /* 使a具有值251 */b=8; /* 使b具有值8 */printf("%d\n",a*b); /* 计算并输出表达式a*b */}运行结果为20082.程序错误:修改上面的程序,观察运行结果。
(1) 将程序中第1个语句的分号删除,编译或运行程序,看有何结果。
运行错误(2) 将程序中的表达式“a*b”的“a”改为“A”,然后运行程序。
运行错误(3) 将程序中的表达式“a*b”修改为“a-b”,然后运行程序。
运行结果为2433.编辑并运行能够对任意两个整数进行乘法运算的程序。
#include "stdio.h"main(){int a,b;printf("Input a,b:"); /* 在屏幕显示提示信息Input a,b: */scanf("%d,%d",&a,&b); /* 该语句的作用是实现数据的键盘输入 */printf("a*b=%d\n",a*b); /* 输出乘法运算的结果 */}4.编辑并运行如下程序,分别输入三组数据,记录输出结果,并分析该程序的功能。
main( ){int x, y, large;scanf(“%d, %d”,&x, &y);large=max(x, y);printf(“The Max number is %d\n”, large);}int max(int x, int y){int z;if(x>y)z=x;elsez=y;return z; }5.单步或跟踪运行上题中的程序,体会两种运行方式的特点。
实验指导实验一 Visual C++6。
0开发环境使用1.实验目的(1)熟悉Visual C++6。
0集成开发环境。
(2)掌握C语言程序的书写格式和C语言程序的结构。
(3)掌握C语言上机步骤,了解C程序的运行方法.(4)能够熟练地掌握C语言程序的调试方法和步骤2。
实验内容输入如下程序,实现两个数的乘积。
#include (stdio。
h);Int main(){x=10,y=20p=prodct(x,t)printf(“The product is :”,p)int prodct(int a ,int b )int cc=a*breturn c}(1)在编辑状态下照原样键入上述程序。
(2)编译并运行上述程序,记下所给出的出错信息。
(3)再编译执行纠错后的程序.如还有错误,再编辑改正,直到不出现语法错误为止。
3.分析与讨论(1)记下在调试过程中所发现的错误、系统给出的出错信息和对策。
分析讨论成功或失败的原因.(2)总结C程序的结构和书写规则。
实验二数据类型、运算符和表达式1.实验目的(1)理解常用运行符的功能、优先级和结合性。
(2)熟练掌握算术表达式的求值规则。
(3)熟练使用赋值表达式。
(4)理解自加、自减运算符和逗号运算符(5)掌握关系表达式和逻辑表达式的求值2.实验内容(1)整数相除#include<stdio.h〉int main(){int a=5,b=7,c=100,d,e,f;d=a/b*c;e=a*c/b;f=c/b*a;printf(”d=%d , e=%d ,f=%d\n”,d,e,f);return 0;}(2)自加、自减运算#include〈stdio.h〉int main(){int a=5,b=8;printf("a++=%d\n",a++);printf("a=%d\n”,a);printf("++b=%d\n”,++b);printf(”b=%d\n",b);return 0;}(3)关系运算和逻辑运算#include<stdio.h>int main(){int a=5,b=8,c=8;printf("%d,%d,%d,%d\n”,a==b&&a==c,a!=b&&a!=c,a〉=b&&a>=c,a 〈=b&&a〈=c);printf(”%d,%d\n",a<=b||a>=c,a==b||b==c);printf("%d,%d,%d,%d\n",!(a==b),!(a>=b),!(a>=c),!(a〈=b));return 0;}(1)在编辑状态下输入上述程序。
C语言上机实验指导实验一熟悉C语言程序开发环境一.目的要求1.熟悉在所用的计算机系统上如何编辑、编译、连接和运行一个C语言程序。
2.掌握C语言的数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法。
3.学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加和自减运算符的使用。
4.通过运行简单的C语言程序,初步了解C语言程序的结构特点。
二.实验内容1.调用编辑程序,输入以下程序,并进行编译和运行。
熟悉所用的系统使用什么命令进行编译和连接运行的。
编译和连接后所得到的目标程序的后缀是什么形式?main( ){printf(“This is a c program.\n”);}2.从键盘依次输入两个整数,计算并输出这2个整数之差。
# include “stdio.h”main(){ float a,b,c;printf(“input a,,b,:\n”);scanf(“%d, %d,”,&a,&b);c=a-b;printf(“c=%d\n”,c);}具体要求:①在Turbo C或其他编译环境编辑窗口输入该程序,然后进行编译连接。
如果在编译过程中有错误发生,则仔细检查并修改程序,再进行编译连接,直到没有错误为止。
②运行时按程序中要求的格式依次输入下列2个数:212,843.输入并运行以下程序,分析结果,体会自增自减运算符的特点,上机验证;main( ){int i,j,m,n,u=0,v=0;i=8;j=10;m=++i;n=j++;u+=i--;n-=--j;pr intf(“i=%d,j=%d,m=%d,n=%d,u=%d,v=%d\n”,i,j,m,n,u,v);}4.输入并运行下面的程序。
main(){int m,n;m=120;n=112;printf(“%d\t%d\n”,m,n);}要求:①运行程序记下结果。
②在程序的最后增加一句:printf(“%c\t%c\n”,m,n);再运行程序,并分析结果。
实验一熟悉C程序运行环境班级学号姓名成绩一、实验目的1. 熟悉C语言Visual C++调试环境;2. 掌握C程序的编辑、调试及运行;二、实验内容项目1. 调试并运行下面程序,并写出运行结果:include <>int main{printf“Good morning\n”;printf“Hello,world\n”;return 0;}运行结果注意,按照屏幕输出格式写:项目2. 调试并运行下面程序,并写出运行结果:include <>int main{int a , b , sum; /定义变量/a=23; b=56; /为变量赋值/sum=a+b; /计算两个变量的和/printf“sum is %d\n”,sum; /输出计算结果/return 0;}运行结果:项目3. 调试并运行下面程序,并写出运行结果:include <>int maxint,int;int main{int a , b , c; /定义变量/a=23; b=56; /为变量赋值/c=maxa,b; /调用max函数,将得到的值赋给c/ printf“max is %d\n”,c; /输出c的值/return 0;}int maxint x,int y /定义max函数,函数值为整型/ {int z; /定义变量/ifx>yz=x;elsez=y;returnz; /将z的值返回/}运行结果:三、提高部分1.试想,如果求10个数中的最大者,则程序该如何编写;程序代码运行结果:实验二数据及其运算班级学号姓名成绩一、实验目的1. 掌握C数据类型的概念、熟悉整型、字符型和实型基本类型的常量的用法;学会三种基本类型变量的定义、赋值和使用方法;2. 掌握算术表达式、关系表达式及逻辑表达式的特点及用法;3. 熟悉运算符的优先级和结合性的概念;4. 学习简单程序的编写方法;二、实验内容项目1. 编辑运行下面程序,并分析运行结果;include<>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=m3;d=m/4;e=m%5;printf“a=m+1;a=%d\n”,a;printf“b=m-2;b=%d\n”,b;printf“c=m3;c=%d\n”,c;printf“d=m/4;d=%d\n”,d;printf“e=m%%5;e=%d\n”,e;return 0;}运行结果:项目2. 编辑运行下面程序,并分析运行结果;include<>int main{float m,n,s;printf“m=”;scanf“%f”,&m;/输入矩形的边长/printf“n=”;scanf“%f”,&n;/输入矩形的边长/s=mn; /计算矩形的面积/printfs=%f\n”,s;/输出矩形的面积/return 0;}1输入24和5,运行结果:2输入-24和5,运行结果:分析结果是否正确3对上面程序进行修改,当输入一个非法的边长负数或零,会给出提示而不计算矩形的面积;输入-24和5,运行结果:项目3. 先阅读程序,并写出结果,再运行程序并分析结果;include<>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;选做根据矩形面积的计算方法,编写一个输入圆半径r,计算园周长L和圆面积S的程序;注意判断圆半径r是否大于零;程序代码和运行结果可写在指导书背面实验三程序控制结构选择班级学号姓名成绩项目1.三角形成立条件判断及面积计算项目任务输入三个整型数据,判断这三个整型数据能否围成三角形,如果能组成三角形,计算并输出它的面积,如果不能围成三角形输出“三条边不能围成三角形”;项目说明C语言实现选择结构筑要用if语句,按照判断所给定的条件是否满足,根据判定结果的真或假来决定执行在if语句中给出的两种操作之一;项目目的1正确使用关系表达式和逻辑表达式表达条件;2学习分支语句if的使用方法;3进一步熟悉VC集成环境的使用方法,学习VC环境提供的调试工具;项目要点1已知三边求三角形面积的公式:p=a+b+c/2 s= sqrtpp-a p-b p-c2已知三边能围成三角形的条件是:任意两边之和大于第三边;3C语言中求平方根的函数是sqrtdouble x,该函数在头文件中;4if语句中“表达式”必须用“”和“”括起来,它的值为逻辑值;除常见的关系表达式或逻辑表达式外,也允许是其他类型的数据,如整型、实型、字符型等;5else子句可选是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掌握键盘输入字符串方法;2掌握二维数组的处理方法;技术要点13行文字可定义一个二维字符数组来表示;2使用gets 函数对字符串进行输入;程序代码:include <>int main{int i,j,upp,low,dig,spa,oth;char text380;upp=low=dig=spa=oth=0;for i=0;i<3;i++{ printf"please input line %d:\n",i+1;getstexti;for j=0;j<80 && textij='\0';j++{if textij>='A'&& textij<='Z'upp++;else if textij>='a' && textij<='z'low++;else if textij>='0' && textij<='9'dig++;else if textij==' '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.选做在二维数组中,若某一位置上的元素在该行中最大,而在该列中最小,则该元素即为该二维数组的一个鞍点;要求从键盘上输入一个二维数组,当鞍点存在时,把鞍点找出来; 程序代码和运行结果可写在指导书背面实验六函数班级学号姓名成绩项目1:使用函数实现对二维数组转置;项目说明写一个函数,使给定的33的二维整型数组转置,即行列互换;要求输出转换之前和转换之后的结果; 项目目的1掌握函数的定义和调用;2掌握二维数组名作为函数的参数的使用技巧;技术要点1使用二重循环对二维数组进行输入,处理和输出;2二维数组名作为函数的参数,定义函数需要给出第二维的大小;程序代码:运行结果:项目2:使用函数实现成绩处理项目说明输入3个学生4门课的成绩,分别用函数实现以下功能:1计算每个学生的平均分;2计算每门课的平均分;3找出12个分数中最高分数所对应的学生和课程;项目目的1掌握函数的定义和调用;2掌握全局变量的使用;技术要点学生成绩可定义成全局的二维数组,这样自定义函数可以直接使用,而不需要进行参数的传递; 程序代码:运行结果:项目3.选做求101!nn =∑即求1!2!3!10!++++阶乘要求使用递归函数来实现,程序代码和运行结果可写在指导书背面实验七指针班级学号姓名成绩项目1.使用指针参数交换两个变量值项目说明用函数实现两个变量值的交换,使其在主调函数和被调函数中的值一致,并且返回这两个变量的和以及乘积;要求用指针变量作为函数参数;项目目的1熟悉如何定义指针变量,掌握将指针变量作为函数参数的方法;2掌握通过指针参数由被调函数向主调函数传递多个值的方法;技术要点由于变量的值始终存放在内存单元中,因此,要交换两个变量的值,只需交换这两个变量对应的存储单元的值即可,这就需要知道两个变量的地址;也就是说,需要保证主调函数与被调函数中所要交换的两个数的内存单元是同一内存单元,即传递的参数是内存单元的地址,而不是内存单元中的值;程序代码:运行结果:项目2. 数组的排序和的插入项目目的1熟悉如何定义指针变量,掌握将指针变量指向一维数组元素的方法;2掌握如何对数组进行排序;3掌握如何在一个有序的数列中查找合适的位置;4掌握如何将一个数插入到一个有序数列中;技术要点1排序可采用冒泡法或者选择法;2有序数组中插入一个数的关键是找到该数据插入的位置,然后将插入位置及其后的所有元素均后移一位,在空出的位置放入待插入的数据;例如,在13、27、38、49、65、76、97 这列有序数据中插入53 这个数,成为新的有序数列13、27、38、49、53、65、76、97;4定义数组时多开辟一个存储单元,用于存放待插入的数据;程序代码:运行结果:项目3.选做程序代码和运行结果可写在指导书背面编写函数 int findint p,int n,int x,在指针 p 所指的数组中查找整型数 x,如果 x 在数组中,则该函数返回 1,否则返回 0;n 为数组的大小;编写主函数测试之;。
实验一 C语言的运行环境和运行过程【目的与要求】1.了解Dos、Windows环境下C语言的运行环境,了解所用的计算机系统的基本操作方法,学会独立使用该系统。
2.了解在该系统上如何编辑、编译、连接和运行一个C程序。
3.通过运行简单的C程序,初步了解C源程序的特点。
【上机内容】【基础知识】通过课堂上学习,我们对C语言已有了初步了解,对C语言源程序结构有了总体的认识,那么如何在机器上运行C语言源程序呢?任何高级语言源程序都要“翻译”成机器语言,才能在机器上运行。
“翻译”的方式有两种,一种是解释方式,即对源程序解释一句执行一句;另一种是编译方式,即先把源程序“翻译”成目标程序(用机器代码组成的程序),再经过连接装配后生成可执行文件,最后执行可执行文件而得到结果。
C语言是一种编译型的程序设计语言,它采用编译的方式将源程序翻译成目的程序(机器代码)。
运行一个C程序,从输入源程序开始,要经过编辑源程序文件(·C)、编译生成目标文件(·obj)、连接生成可执行文件(·exe)和执行四个步骤。
下面主要介绍Turbo C下运行C语言源程序。
Turbo C是美国Borland公司推出的IBM PC系列机的C语言编译程序。
它具有方便、直观、易用的界面和丰富的库函数。
它向用户提供了集成环境,把程序的编辑、编译、连接和运行等操作全部集中在一个界面上进行,使用十分方便。
1 Turbo C工作环境介绍一个C语言程序的实施是从进入Turbo C的集成环境开始的,而进入C语言的环境,一般有两种途径:从DOS环境进入和从Windows环境进入。
(1) 从DOS环境进入:在DOS命令行上键入:C>CD \TC↙(指定当前目录为TC子目录)C>TC↙ (进入Turbo C环境)这时进入Turbo C集成环境的主菜单窗口,屏幕显示如下图所示。
(2) 从Windows环境进入:在Windows 95/98环境中,如果本机中已安装了Turbo C,可以在桌面上建立一个快捷方式,双击该快捷图标即可进入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. 编写一个程序,输入一个字符串,然后反转该字符串并输出。
C语言实验指导书实验一:简单的C语言程序一、实验目的1.了解C语言的语法结构和书写格式;2.掌握C语言数据类型以及变量的定义和赋值;掌握运算符的种类、运算优先级和结合性;掌握不同类型数据间的转换和运算。
2.掌握C语言的表达式。
3.掌握C程序的编辑、编译、连接和运行的过程。
二、实验内容1.输入并运行以下程序:#include <stdio.h>void main( ){ char c1,c2;c1=97;c2=98;p rintf(“%c %c\n”,c1,c2);printf(“%d %d\n”,c1,c2);}在此基础上①将第三行、第四行改为:c1=321;c2=353; (类型转换)再使之运行,分析其运行结果。
②将第二行改为:int c1,c2;再使之运行,分析其运行结果。
2.输入并运行以下程序:①#include<stdio.h>void main(){int a,b,x;x=(a=3,b=a--);printf(“x=%d,a=%d,b=%d\n”,x,a,b);}x=3,a=2,b=3②#include<stdio.h>void main(){ float f1,f2,f3,f4;int m1,m2;f1=f2=f3=f4=2;m1=m2=1;printf(“%d\n”,(m1=f1>=f2) && (m2=f3<f4));}③#include<stdio.h>void main(){ float f=13.8;int n;n=(int)f%3;printf(“n=%d\n”,n);}3.输入并运行以下程序:#include<stdio.h>void main( ){ int i=8,j=10,m,n;m=++i;n=j++;printf(“%d,%d,%d,%d\n”,i,j,m,n);}分别作以下改动并运行:①将程序改为:#include<stdio.h>void main( ){ int i=8,j=10;printf(“%d,%d\n”,i++,j++); (8,10)}②在①的基础上,将printf语句改为:printf(“%d,%d\n”,++i,++j);(9,11)③再将printf语句分别改为:printf(“%d,%d,%d,%d\n”,i,j, i++,j++);(8,10,8,10)printf(“%d,%d,%d,%d\n”,++i,++j,i,j); (9,11,8,10)④程序改为:main( ){ int i=8,j=10,m=0,n=0;m+=i++;n-=--j;printf(“i=%d,j=%d,m=%d,n=%d\n”,i,j,m,n);}(i=9,j=9,m=8,n=-9)4. 请将下列给出的两个程序段分别输入计算机后,分析其运行结果:①void main(){ int num;num=32767;printf(“num=%d\n”,++num);}②void main(){ int a=-2;printf(“%d, %d\n”,a, a--);}(-2,-2)实验二、输入输出函数的使用一、实验目的掌握数据的输入输出的方法,能正确使用各种格式转换符。
二、实验内容1.上机输入以下程序:#include<stdio.h>void main(){int a, b;float d, e;char c1, c2;double f, g;long m, n;unsigned int p, q;a = 61;b = 62;c1 = 'a'; c2 = 'b';d = 3.56;e = -6.87;f = 3157.890121;g = 0.123456789;m = 50000; n = -60000;p = 32768; q = 40000;printf ("a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n",a,b,c1,c2,d,e);printf ("f=%15.6f,g=%15.12f\nm=%ld,n=%ld\np=%u,q=%x\n",f,g,m,n,p,q);}运行此程序并分析结果。
2.键盘输入与屏幕输出练习问题1:要使下面程序的输出语句在屏幕上显示1,2,34,则从键盘输入的数据格式应为以下备选答案中的哪一个?#include <stdio.h>main(){char a,b;int c;scanf("%c%c%d",&a,&b,&c);printf("%c,%c,%d\n",a,b,c);}A) 1 2 34 B) 1, 2, 34C) ’1’,’2’,34 D) 12 34问题2:与上面程序的键盘输入相同的情况下,要使上面程序的输出语句在屏幕上显示1 2 34,则应修改程序中的哪条语句?怎样修改?问题3:要使上面程序的键盘输入数据格式为1,2,34,输出语句在屏幕上显示的结果也为1,2,34,则应修改程序中的哪条语句?怎样修改?问题4:要使上面程序的键盘输入数据格式为1,2,34,而输出语句在屏幕上显示的结果为’1’,’2’,34,则应修改程序中的哪条语句?怎样修改?问题5:要使上面程序的键盘输入无论用下面哪种格式输入数据,程序在屏幕上的输出结果都为’1’,’2’,34,则程序应修改程序中的哪条语句?怎样修改?第一种输入方式:1 2 34↙(以空格作为分隔符)第二种输入方式:1 2 34↙(以Tab键作为分隔符)第三种输入方式:1↙2↙34↙(以回车符作为分隔符)答案:Dprintf("%c %c %d\n",a,b,c);scanf("%c,%c,%d",&a,&b,&c);printf("%c,%c,%d\n",a,b,c);scanf("%c,%c,%d",&a,&b,&c);printf("'%c','%c',%d\n",a,b,c);scanf("%d%d%d",&a,&b,&c);printf("'%d','%d',%d\n",a,b,c);3.编程:由键盘输入学生三门课(英语、数学和程序设计)成绩,计算并输出总成绩、平均成绩。
【编程解析】(1)程序的输入与输出:输入三门课的成绩English、math、program,输出总成绩sum及平均成绩average。
(2)数据结构:int English,math,program,sum;float average;(3)解决问题的关键算法:求总成绩:三门课成绩相加;求平均成绩:总成绩除以3。
#include <stdio.h>void main(){int english,math,program,sum;float average;printf("Enter the score of english,math andprogram:\n");scanf("%d%d%d",&english,&math,&program);sum=english+math+program;average=sum/3.0;printf("sum=%d\t",sum);printf("average=%5.1f\n",average); }程序运行结果如下:Enter the score of English,math and program: 80 69 97↙sum=246 average= 82.0实验三:选择结构程序设计【实验目的】 1. 了解C 语句表示逻辑量的方法,0代表假和1代表真; 2. 正确使用关系表达式和逻辑表达式表达条件。
3.熟练掌握if 语句和switch 语句。
1.有一个函数,定义如下。
用分支结构编写一程序,根据用户输入的自变量x 的值,计算函数值。
⎪⎪⎩⎪⎪⎨⎧>≥≤<==)50()500()0(0)(2x x x x x x f y【参考源程序】#include "stdio.h"void main(){ float x;pintf(“input x:\n ”); scanf(“%f ”,&x); if(x<0.0)printf(“y=0\n ”); else if(x>=0.0 && x<=50.0) printf(“y=%f\n ”,x); elseprintf(“y=%f\n ”,x*x); }2.编写一个程序,要求输入一个字符并判断它是字母字符、数字字符、还是其他字符。
【编程解析】(1) 程序的输入与输出:程序要求输入一个字符ch 。
程序要求输出字符的类型,即字母(alpha )、数字(numeric)或其他字符。
(2) 数据结构:char ch (3) 解决问题的关键算法:判断字符的类别:若字符在’a’到’z’之间或者在’A ’到’Z’之间,则字符为字母字符;若字符在'0'到'9'之间,则为数字字符;否则,为其他字符。
【算法流程图】如图2-3所示。
【参考源程序】#include<stdio.h>main(){char ch;printf("Enter an character:");scanf("%c",&ch);if(ch>='a'&&ch<='z'||ch>='A'&&ch<='Z')printf("%c is an alpha\n",ch);elseif(ch>='0'&&ch<='9')printf("%c is a numeric\n",ch);elseprintf("%c is other character\n",ch);}程序运行结果如下:Enter an character : a↙a is an alpha或者Enter an character : *↙* is other character此问题求解是比较简单的分支问题,熟悉简单的分支语句就可以为解决复杂的分支语句奠定基础。