c语言.实验1 基本操作及调试

合集下载

《C语言程序设计》实验报告(实验1-12)

《C语言程序设计》实验报告(实验1-12)

《C语⾔程序设计》实验报告(实验1-12)《C语⾔程序设计》实验报告2013~2014学年第⼆学期班级姓名学号指导教师实验⼀实验项⽬名称:C程序的运⾏环境和运⾏C程序的⽅法所使⽤的⼯具软件及环境:Visual C++ 6.0⼀、实验⽬的:1.了解在Visual C++ 6.0环境下如何编辑、编译、连接和运⾏⼀个C程序;2.通过运⾏简单的C程序,初步了解C源程序的特点。

⼆、预习内容:教材《C语⾔程序设计教程》第1章。

三、实验内容:1. 在Visual C++ 6.0环境下输⼊并运⾏下⾯的程序:#includeint main( ){printf("This is a C program.\n");return 0;}2. 在Visual C++ 6.0环境下输⼊下⾯的程序(有语法错误),编译、连接、调试该程序,直⾄程序⽆语法错误,然后运⾏程序,并观察分析运⾏结果。

#includeint main( ){int a,b,suma=3;b=4;sun=a+b;print(“%d+%d=%d\n”,a,b,sum);return 0;}四、实验结果:1. 运⾏结果(或截图):This is a C program.Press any key to continue2. (1) 改正后的源程序:#includeint main( ){int a,b,sum;a=3;b=4;sum=a+b;printf("%d+%d=%d\n",a,b,sum);return 0;}(2) 运⾏结果(或截图):3+4=7五、思考题:1. ⼀个C程序上机的步骤有哪些?答:上级输⼊与编辑源程序—对原程序进⾏编译–与库函数链接–运⾏可执⾏的⽬标程序。

2. 组成C程序的基本单位是函数,⼀个函数包括哪⼏个部分?答:⼀个函数包括两部分:分别为函数头或函数⾸部和函数体。

成绩指导教师签名实验⼆实验项⽬名称:数据类型、运算符和表达式所使⽤的⼯具软件及环境:Visual C++ 6.0⼀、实验⽬的:1.掌握整型、实型与字符型这三种基本类型的概念;2.掌握常量及变量的使⽤⽅法;3. 掌握基本算术运算符及其表达式的使⽤⽅法;4. 掌握++、--运算符、赋值运算符及其表达式的使⽤⽅法。

C语言实验报告1

C语言实验报告1

《程序设计基础》实验报告{float a, b;printf_s("please input cost price of TV:");scanf_s("%f", &a);b = a*K;printf_s("the current price of TV:");printf_s("%f", b);return 0;2、#include"stdafx、h"int main(){int a, b, c, d, e, f;printf_s("please input three figures:");scanf_s("%d", &a);b = a / 100;c = a % 100;d = c / 10;e = c % 10;f = e * 100 + d * 10 + b;printf_s("the new three figures:");printf_s("%d", f);return 0;}3、#include"stdafx、h"int main(){float a, b, c, d, e;printf_s("please input scores:\n");scanf_s("%f%f%f", &a, &b, &c);d = a + b + c;e = (a + b + c) / 3;printf_s("the total scores:");printf_s("%5、1f\n", d);printf_s("the average scores:");printf_s("%4、1f\n", e);return 0;}4、#include"stdafx、h"int main(){float a, b;printf("please input a number:");scanf_s("%f", &a);printf_s("the integer part is:");printf_s("%d\n", (int)a);b = a - (int)a;printf_s("the decimal part is:");printf_s("%2、1f", b);return 0;}5、#include"stdafx、h"int main(){int x, d, s;x = 298;d = x / 60;s = x % 60;printf_s("the minnutes is:");printf_s("%d\n", d);printf_s("the seconds is:");printf_s("%d", s);return 0;}实验总结:1、初步熟悉C语言运行环境,了解与使用Visual C++ 6、0集成开发环境;2、更加熟悉Visual C++ 6、0环境的功能键与常用的功能菜单命令;3、明白C语言程序的书写格式与C语言程序的结构;4、更加了解了C语言的上机步骤,以及编辑、编译与运行一个C程序的方法;5、初步熟悉Visual C++6、0环境下的程序调试方法。

C语言程序设计实验报告 实验一 简单程序设计

C语言程序设计实验报告 实验一 简单程序设计

C语言程序设计实验报告实验一简单程序设计班级 2017231 学号 201723128 姓名郭鹏博一、实验目的1、熟悉VC6.0编程环境。

2、掌握使用VC6.0输入源程序、编译连接和运行程序的基本过程。

3、练习C调试程序的方法。

4、熟练使用赋值运算、算术运算等表达式。

5、熟练使用标准输入、输出函数及各种数据类型的格式说明符。

二、实验内容及步骤1、分析程序,根据要求写出结论:课本P83页第4题、第5题;第4题(1)c1=a,c2=bc1=97,c2=98原因:字符变量实质上是一个字节的整形变量,由于它常用来存储字符,所以称为字符变量。

可以把0到127之间的整数赋给一个字符变量。

在输出字符变量的值时,可以选择以十进制整数形式或字符形式输出。

(2)c1=?c2=?c1=-59,c2=-58原因:Visual C++系是把char默认为signed char类型的,而signed char类型的变量允许存储的值为—128~127,但字符的代码不可能为负值,所以在存储字符时实际上只用到0~127这一部分,其第1位都是0。

给字符型变量赋值197和198时,所赋之值超出了字符变量的取值范围,导致无论是以以十进制整数形式输出还是以字符形式输出,输出结果均错误。

(3)c1=a,c2=bc1=97,c2=98原因同(1)第5题2、程序改错下面程序的功能是计算球体的表面积和球体的体积,程序中有多处错误,并且指定必须按下面的形式输入、输出数据。

请对程序做相应的修改。

#include <stdio.h>main{double r,s,v;int pi=3.14;scanf("%d",r);S=4*pi*r*r; /*计算球体的表面积*/V=4.0*pi*r*r*r/3.0; /*计算球体的体积*/printf("%d",r);printf("s=%f\n",s,"v=%d\n",v);}当程序运行时,要求屏幕的显示和指定的输入形式如下:input r:2.0<回车> (此处的2.0是由用户输入的数据)r=2.000000 (此处要求的是输出形式)s=50.24000000,v=33.49333333具体要求:(1)在VC6.0环境中输入上述源程序。

c语言实验报告实验

c语言实验报告实验

c语言实验报告实验C 语言实验报告实验一、实验目的本次 C 语言实验的主要目的是通过实际操作和编程实践,加深对 C 语言基本语法、数据类型、控制结构、数组、指针等重要概念的理解和掌握,提高编程能力和解决实际问题的能力。

二、实验环境本次实验使用的编程环境为 Visual Studio 2019,操作系统为Windows 10。

三、实验内容1、基本数据类型和运算符的使用定义不同类型的变量,如整数型(int)、浮点型(float、double)、字符型(char)等,并进行赋值和运算操作。

熟悉各种运算符的优先级和结合性,包括算术运算符(+、、、/、%)、关系运算符(>、<、>=、<=、==、!=)、逻辑运算符(&&、||、!)、位运算符(&、|、^、~、<<、>>)等。

2、控制结构的应用使用ifelse 语句实现条件判断,根据不同的条件执行相应的代码块。

运用 switch 语句进行多分支选择,处理不同的情况。

利用 for 循环、while 循环和 dowhile 循环实现重复执行的操作,例如计算数列的和、打印特定的图案等。

3、数组和字符串的操作定义和使用一维数组、二维数组,进行数组元素的访问、赋值和遍历。

掌握字符串的存储和处理方式,使用字符数组和字符串函数(如strlen、strcpy、strcmp 等)进行字符串的操作。

4、指针的应用理解指针的概念和指针变量的定义,通过指针访问变量和数组元素。

实现指针与数组、指针与函数的结合使用,体会指针在程序中的灵活运用。

5、函数的定义和调用编写自定义函数,实现特定的功能,如计算阶乘、判断素数等。

掌握函数的参数传递方式(值传递和地址传递),理解函数的返回值。

6、结构体和共用体的使用定义结构体类型,创建结构体变量,访问结构体成员。

了解共用体的概念和使用场景,比较结构体和共用体的区别。

四、实验步骤1、实验准备打开 Visual Studio 2019 开发环境,创建一个新的 C 语言项目。

C语言实验指导书全教程

C语言实验指导书全教程

第一部分:《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语言程序设计_实验一实验报告

实验项目名称:实验一C 语言的运行环境的使用实验目的及要求:1. 了解 Windows 系统下 C 语言的运行环境,熟悉 C 程序编辑、调试、运行的基本操作方法。

2. 熟练掌握编辑、编译、连接和运行 C 程序的方法。

3. 通过运行简单的 C 程序,初步了解 C 源程序的特点。

4. 初步理解 C 语言的数据类型,了解变量定义、变量赋值以及简单运算方法,了解程序运行结果的基本输出方法。

实验内容(方法和步骤):1、编程实现在屏幕上显示如下三行文字Hello, world !Wolcome to the C language world!Everyone has been waiting for程序代码:#include <stdio.h>int main(){printf("Hello,World!\n");printf("Welcome to the C language world!\n");printf(Everyone has been waiting for.\n");return 0;}运行结果:2、编写程序,将两个整数相加,并输出结果。

程序代码:#include <stdio.h>int main(){int a,b,c;a=12;b=26;c=a+b;printf("c=%d\n",c);return 0";}运行结果:3. 编写程序,要求从键盘输入2 个整数,输出其中较大的数程序代码:#include <stdio.h>int main(){int max(int x,int y);int a,b,c;scanf("%d,%d",&a,&b);c=max(a,b);pintf("max=%d",c);return 0;}int max(int x,int y){ int z;if (x>y) z=x;else z=y;return(z);}运行结果:4.输入并运行下程序,观察运行结果。

实验一熟悉C语言的开发环境和C程序的上机步骤

实验一熟悉C语言的开发环境和C程序的上机步骤

实验⼀熟悉C语⾔的开发环境和C程序的上机步骤实验⼀熟悉C语⾔的开发环境和C程序的上机步骤⼀、实验⽬的和要求:1. 了解C程序设计的编译系统,熟悉各菜单的功能,掌握在该系统上编辑、编译、连接和运⾏⼀个C程序的⽅法。

2. 通过调试、运⾏简单的C程序,初步了解C语⾔源程序的特点⼆、实验内容:1. 编写C程序,运⾏时输出:Hello world!。

#include <stdio.h> //这是编译预处理指令int main() //定义主函数{ //主函数体开始printf("Hello world\n"); //输出return 0; //返回函数值为0}2. 编写C程序,运⾏时输出以下图形:********************#include <stdio.h>int main(){printf("*****\n");printf(" *****\n");printf(" *****\n");printf(" *****\n");return 0;}3. 编写C程序实现:输⼊两个整数a、b,输出它们的和。

#include<stdio.h>int main(){int a,b;printf("请输⼊两个整数:a,b\n");scanf("%d%d", &a,&b);printf("%d\n",a+b);return 0;}4. 编写C程序实现:输⼊两个整数a、b,输出它们中的最⼤者。

#include<stdio.h>int main(){int a,b;printf("请输⼊两个整数:a,b\n");scanf("%d%d", &a,&b);printf("%d\n",a>b?a:b);return 0;}5. 编写C程序实现:求三个数中的最⼤者。

实验1 C语言的运行环境和运行过程#完成

实验1  C语言的运行环境和运行过程#完成

实验一C语言的运行环境和运行过程班级电信132 学号201315100221 姓名林青辉一、实验目的1、掌握c程序设计编程环境visual c++,掌握运行一个c程序设计的基本步骤,包括编辑、编译、连接和运行。

2、掌握c语言程序设计的基本框架,能够编写简单的c程序。

3、了解程序调试的思想,能找出并改正c程序中的语法错误。

二、实验内容1、在“我的电脑”上新建一个文件夹,用于存放c程序,文件夹名字可以是学号姓名。

2、调试示例,在屏幕上显示一个短句“Hello World!”。

源程序#include <stdio.h>void main(){printf(“Hello World!\n”);}运行结果:Hello World!基本步骤:(要求熟练掌握)(1)启动VC++“开始”->“程序”->“Microsoft Visual Studio 6.0”->“Microsoft Visual C++6.0”进入VC++编程环境。

(2)新建文件(*.cpp)“文件”->“新建”,单击“文件”选项卡,选择“C++Source Files”,修改文件保存“目录”和“文件”(文件名),单击“确定”。

(3)编辑和保存(注意:源程序一定要在英文状态下输入,即字符标点都要在半角状态下,同时注意大小写,一般都用小写)在编辑窗口输入源程序,然后执行“文件”->“保存”或“文件”->“另存为”(4)编译(*.obj)用来检查语法错误“编译”->“编译”或Ctrl+F7,在产生的工作区队话框中,选择“是”。

(5)连接(*.exe)“编译”->“构件”或F7(6)运行“编译”->“执行”或Ctrl+F5(7)关闭程序工作区“文件”->“关闭工作区”(8)打开文件“文件”->“打开”(9)查看C源文件、目标文件和可执行文件的存放位置。

源文件在保存目录下,目标文件和可执行文件在“保存目录\Debug”中3、编程,在屏幕上显示一个短句“this is my first c program.”。

C语言实验一

C语言实验一
(2)VC 6.0:选择【开始】→【程序】→【Microsoft Visual Studio 6.0】→【Microsoft Visual C++ 6.0】命令,打开VC 6.0编程环境。
(3)编辑源程序→编译→连接→执行程序→显示结果。
2.分析下列程序的运行结果,并上机调试运行,验证自己的结果。
(1)分析运行结果一
printf("Please enter a string:");
scanf("%s",str);
printf("%s",str);
}
@@@@@@@@@
@@@@@@@
@@@@@
@@@
@
(3)
分析
①第1行主函数main的m为小写;
②主函数的函数体应加花括号;
③scanf函数中变量y前应为“&”符号;
④后面3行结尾少了语句结束标记“;”号;
⑤应是先计算后输出,即最后两行交换。
正确程序如下。
main()
{
int p,x,y;
scanf("%d%d",&x,&y);
printf("@@@\n");
printf("@\n");
}
(3)分析运行结果三
以下是从键盘上输入两个数和的计算程序,请分析错误,并上机调试。
main()
int p,x,y;
scanf("%d%d",&x,%y)
printf("The sum of x and y is:%d",p)
p=x+y
3.请分别在VC 6.0和TC 2.0下编写一个能显示“早上好”的程序,运行后在屏幕上显示如下信息:

C语言调试方法范文

C语言调试方法范文

C语言调试方法范文C语言是一种非常流行的编程语言,但是在编写程序时,不可避免地会遇到各种错误和问题。

为了解决这些问题,开发人员需要使用调试工具和方法进行调试。

一、调试工具1.编译器:大多数编译器都提供了调试功能,可以在编译时生成调试信息和符号表,帮助开发人员定位问题。

2. 调试器:调试器是一种能够暂停程序运行并允许程序员检查程序状态的工具。

常用的调试器包括GDB、Visual Studio等。

3.打印输出:在程序中插入打印语句,将关键变量的值输出到控制台,以便程序员查看程序的执行过程和变量的值。

二、调试方法1.分析错误信息:当程序出现错误时,编译器和调试器通常会提供详细的错误信息,开发人员可以根据这些信息找出错误所在的位置,并分析错误产生的原因。

2.逐行调试:通过调试器逐行执行程序,观察每一步的执行结果,排除可能的问题。

3.断点调试:在关键位置设置断点,程序运行到该位置时会暂停,开发人员可以查看当前的变量值和程序状态,分析问题所在。

4.查看变量值:调试器可以提供查看变量值的功能,开发人员可以通过观察变量的值变化,找出程序中的错误。

5.测试边界条件:在编写程序时,特别是涉及循环和条件语句时,要注意测试边界条件,以确保程序在各种情况下都能正确运行。

6.剖析代码:通过在代码中插入打印语句,观察程序的执行流程,找出程序中的逻辑错误。

7.使用IDE工具:集成开发环境(IDE)通常会提供一些辅助调试功能,如变量查看、跟踪执行流程等,方便开发人员调试程序。

三、常见调试技巧1.打印调试信息:在程序中插入打印语句,输出关键变量的值和程序的执行流程,以便分析程序的执行过程。

2.编写测试用例:编写一些简单的测试用例,包括边界情况,验证程序的基本功能是否正常。

3.二分法调试:如果程序中存在大量代码和复杂逻辑,可以通过二分法调试,将程序分成多个模块,逐个调试,可以更快地找出问题所在。

4.查找常见错误:有些错误比较常见,如内存越界、指针错误等,开发人员可以通过检查这些常见错误来快速定位问题所在。

周信东主编C语言程序设计基础实验一实验报告

周信东主编C语言程序设计基础实验一实验报告

实验1 C程序的运行环境和最简单的C程序设计一、学号:24 姓名:莫新锋实验日期:实验目的和要求(1)熟悉C语言程序开发环境(Visual C++),了解开发环境中的编辑、编译、链接和运行命令。

(2)掌握在C语言开发环境中如何编辑、编译、链接和运行一个标准C语言程序。

(3)掌握简单C语言程序的查错方法,理解编译错误信息的含义。

(4)掌握C语言数据类型的概念,熟悉如何定义一个整型、字符型、实型变量,以及如何对它们进行赋值。

(5)了解下列命令及函数:#include <>、main、printf、scanf。

(6)通过运行简单的程序,熟悉C语言的基本格式规范,并初步了解它的结构特点。

二、实验内容实验指导书中的实验一的“基础部分”题目。

三、实验步骤及结果(一)VC 实验平台的使用1.简要描述在VC环境下开发一个C程序的主要步骤,并粘贴主要操作窗口的截图。

【请填空。

截图的操作方法:先点击欲截取的窗口使之置于屏幕最前方,并作适当的缩放,再按快捷键<Alt>+<Print Screen>将窗口截取到内存中,然后打开word将光标移到欲插入图片的位置上进行粘贴即可。

也可对图片进行适当剪切,裁剪掉多余部分。

注意:截图上必须有你自己的学号或姓名等信息,否则视为抄袭。

】主要步骤:1: 创建一个工作文件夹。

2:启动 Visual C++。

3:新建一个 C 语言源程序。

4:编辑源程序5:保存源程序2.编译、链接、运行程序(1)输入源程序后,如何编译该程序【请填空】输入好后在编译器中有一个编译按钮按一下就能编译(2)如何链接程序生成可执行文件【请填空】得到后缀为obj的目标程序后选择build菜单下的build选项,表示要求连接并建立一个可执行文件(3)如何运行程序查看结果【请填空】链接旁边有个感叹号的按钮那个就是运行点击就可以查看运行结果3.程序查错及其修正(1)利用VC平台,如何判断出源程序中是否存在错误【请填空】在编译器中有一个编译按钮按一下就能编译,之后看一下链接信息区是否有错误提示(2)若程序中存在错误,如何快速地查找出错误代码在源程序中的位置【请填空】点击F4,看光标的的位置的或者是前后的位置(3)确定错误位置后,如何判断它是何种错误如何改正【请填空】(4)若同一个程序中存在多处错误,应如何改错需要注意哪些操作【请填空】点击编译,按照链接信息区的提示先进行第一次大规模改动,然后点击编译,点击F4,看光标的位置,从上往下改错,重复操作注意:注意按照提示在不改变功能的前提下进行改动(二)实验题目完成情况*【说明】实验题号的编写格式为:类型+第几个实验+实验题目序号+小题序号,其中,“类型”分为基础题(用Ex表示)、增强题和提高题(用Eh表示)、课外题(用sup表示)。

C语言实验报告实验一C 程序的运行环境和运行C 程序的方法

C语言实验报告实验一C 程序的运行环境和运行C 程序的方法

实验1 C 程序的运行环境和运行C 程序的方法1.实验目的(1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。

(2)了解在该系统上如何编辑、连接和运行一个C 程序。

(3)通过运行简单的C 程序,初步了解C 源程序的特点。

2.实验内容和步骤(1)检查所用的计算机系统是否已安装了C 编译系统并确定他所在的子目录。

(2)进入所用的集成环境。

(3)熟悉集成环境的界面和有关菜单的使用方法。

(4)输入并运行一个简单的、正确的程序。

①输入下面的程序:#include <stdio.h>int main(){ printf(“This is a c program.\n”);return 0;}②仔细观察屏幕上的已输入的程序,检查有无错误。

③根据本上课介绍的方法对源程序进行编译,观察屏幕上显示的编译信息。

如果出现“出错信息”,则应找出原因并改正之,再进行编译,如果无错,则进行连接。

④如果编译连接无错误,运行程序,观察分析运行结果。

(5)输入并编译一个有错误的C 程序。

①输入以下程序(教材第1章中例1.2,故意漏打或打错几个字符)。

#include <stdio.h>int main(){ int a,b,sum;a=123;b=456;sum=a+b;printf(“sum is %d\n”,sum);return 0;}②进行编译,仔细分析编译信息窗口,可能显示有多个错误,逐个修改,直到不出现错误。

最后与教材上的程序对照。

③使程序运行,分析运行结果。

(6)输入并运行一个需要在运行时输入数据的程序。

①输入下面的程序#include <stdio.h>int main(){ int max(int x,int y);int a,b,c;printf(“input a&b:”);scanf(“%d,%d”,&a,&b);c=max(a,b);printf(“max=%d\n”,c);retrun 0;}int max(int x,int y){int z;If(x>y) z=x;else z=y;Return(z);}②编译并运行,在运行时从键盘输入整数2和5,然后按“回车”键,观察运行结果。

C语言程序设计 上机实验指导与习题 参考答案

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 mainprintf "The first C Program\n"[具体操作步骤]以Turbo C 上的操作为例1Windows 进入后按照第一章中介绍的方法进入Turbo C2在编辑窗口中输入程序3保存程序取名为a1c4按照第一章中介绍的方法编译连接和运行程序2 在JudgeOnline 系统中提交实现了计算ab 功能的程序[题目1001计算ab]由键盘输入两个整数计算并输出两个整数的和实现该功能的程序如下void mainint a bscanf "dd" a b1 printf "d" a b1在程序编辑窗口中输入程序2保存程序取名为a2c3按照前二章中介绍的方法编译连接和运行程序4在程序运行过程中输入15 30↙↙表示输入回车符5 如果看到如下输出结果则表明1530 的结果正确如果得不到如下结果则需检查并更正程序456 按照第三章中介绍的方法进入JudgeOnline 实验系统7 显示题目列表点击题号为1001题名为计算ab的题目8 查看完题目要求后点击页面下端的sumbit 参照第二章提交程序的方法提交程序a2c9 查看评判结果如果得到accepted则该题通过否则返回第一步检查程序是否正确2实验2 基本数据类型运算和表达式一实验目的1掌握C 语言数据类型熟悉如何定义一个整型和实型的变量以及对它们赋值的方法2 掌握不同的类型数据之间赋值的规3 学会使用C 的有关算术运算符以及包含这些运算符的表达式特别是自加和自减-- 运算符的使用4 进一步熟悉C 程序的编辑编译连接和运行的过程二实验内容1 变量的定义[题目1117变量定义按要求完成程序]下面给出一个可以运行的程序但是缺少部分语句请按右边的提示补充完整缺少的语句void mainint a b 定义整型变量a 和bint i j 定义实型变量i 和ja 5b 6i 314 j iabprintf "a db di fj f\n" a b i j[具体操作步骤]1将代码补充完整2在TC 或VC上运行通过3在JudgeOnline 实验系统上提交2 赋值表达式与赋值语句[题目1118赋值表达式与赋值语句写出程序运行结果] 阅读下面程序写出运行结果void mainfloat aint b cchar d ea 35b ac 330d c3e \\printf "fddcc" abcde运行结果为35000003330J\[提示]赋值语句具有类型转换的功能但可能会改变数据3 基本运算[题目1119基本运算写出程序运行结果]阅读下面程序写出运行结果void mainint a b cfloat d 15 e fa 357b 1510c be 1510f d10printf "dddfff" abcdef运行结果为0211500000010000001500000[提示]除法分整除与普通除法之分4实验3 基本输入与输出一实验目的1熟练掌握putchargetcharprintf scanf 函数的使用方法2 掌握各种类型数据的输入输出的方法能正确使用各种格式转换符二实验内容[题目1126字符的输入与输出]编程实现由键盘输入一个字符后在屏幕上输出该字符[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]a↙↙[正确输出] [正确输出]a参考程序include "stdioh"mainchar chch getcharputchar ch[题目1127计算加法]编程实现由键盘输入一个加法式输出正确的结果两个加数均为整数[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]1020 ↙- 1560↙[正确输出] [正确输出]30 45参考程序include "stdioh"mainint a bscanf "dcd" abprintf "d" ab[题目1014求圆面积]由键盘输入圆半径r 请计算该圆的面积注取314159结果保留两位小数位另外程序只要能对r 在0 到10000 范围的情况输出正确答案即可[第一组自测数据] [键盘输入]5652 ↙[键盘输入][正确输出] 112↙1335502 [正确输出][第二组自测数据] 39408[提示]结果保留两位小数可采用printf 函数的格式控制字符来实现参考程序include "stdioh"mainfloat arearscanf "f"rarea 314159rrprintf "02f"area2[题目1015计算摄氏温度值]从键盘输入一个华氏温度值要求按格式输出其对应的摄氏温度值精确到小数点后两位数学公式描述为5C F 329[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]100↙100↙[正确输出] [正确输出]3778 3778[提示]注意公式中的除为普通除法参考程序includevoid mainfloat fcscanf "f"fc 509 f-32printf "2f"c3实验4 选择结构程序设计一实验目的1了解C 语言表示逻辑的方法以0 代表假以非0 代表真2 学会正确使用逻辑运算符和逻辑表达式3 熟练掌握if 语句和switch 语句4 结合程序掌握一些简单的算法二实验内容[题目1120判断点是否在圆]由键盘输入一个点的坐标要求编程判断这个点是否在单位圆上点在圆上输出Y 不在圆上输出N 使用小数点后3 位精度进行判断[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]07070707 ↙8>0505↙[正确输出] [正确输出]Y N[提示] 1平面上的点与圆的关系分为在圆内在圆上在圆外三种本题要求判断是否在圆上2判断两实数相等采用判断这两实数的差的绝对值小于规定误差精度本题为0001 的方法实现参考程序include "stdioh"include "mathh"void mainfloat abscanf "ff"abif fabs aabb-1 1e-3printf "Y\n"else printf "N\n"[题目1017求数的位数]由键盘输入一个不多于9 位的正整数要求输出它是几位数[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]349213 ↙10000↙[正确输出] [正确输出]6 5[提示]划定一位数二位数九位数的范围后用if else if else 语句实现判断4参考程序mainint nplacescanf "ld"nif n 99999999 place 9else if n 9999999 place 8else if n 999999 place 7else if n 99999 place 6else if n 9999 place 5else if n 999 place 4else if n 99 place 3else if n 9 place 2else place 1printf "ld\n"place[题目1018数的排序]由键盘输入三个整数a b c按从小到大的顺序输出这三个数[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]654590 ↙963 ↙[正确输出] [正确输出]456590 369参考程序includemainint abctscanf "ddd"abcif a b t aa bb tif a c t aa cc tif b c t bb cc tprintf "ddd"abc[题目1016字符变换]由键盘输入5 个字符将其中的大写字母变成小写其它类型的字符不变并按输入顺序逐个输出[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]ApPLe ↙aB 5 ↙[正确输出] [正确输出]apple ab 5[提示]下面代码实现由键盘读入一个字符并按题意处理后输出char aa getcharif a A a Z a a32putchar a5现在题目要求处理5 个字符怎么做呢请自己思考参考程序includemainchar abcdescanf "ccccc"abcdeif a Za A a a32if b Zb A b b32if c Zc A c c32if d Zd A d d32if e Ze A e e32printf "ccccc"abcde[题目1019数的整除]由键盘输入5 个整数逐个判断它们能否被27 整除能的输出YES不能的输出NO 注意输出时一个判断结果占一行5 个数的判断共占5 行[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]8 27 17577 325 54 ↙8 27 17577 325 54 ↙[正确输出] [正确输出]NO NOYES YESYES YESNO NOYES YES[提示]整除即除得余数为0参考程序include "stdioh"mainint abcdescanf "d d d d d"abcdeif a27 0 printf "YES\n" else printf "NO\n"if b27 0 printf "YES\n" else printf "NO\n"if c27 0 printf "YES\n" else printf "NO\n"if d27 0 printf "YES\n" else printf "NO\n"if e27 0 printf "YES\n" else printf "NO\n"[题目1020正负奇偶判断]由键盘输入非零整数x 判断该数正负正数输出positive 负数输出negative 接着判断该数的奇偶性奇数输出odd偶数输出even[第一组自测数据] negative[键盘输入] odd-43 ↙[第二组自测数据][正确输出] [键盘输入]698 ↙positive[正确输出] even参考程序include "stdioh"mainint nscanf "d"nif n 0 printf "negative\n"else printf "positive\n"if n2 0 printf "even\n"else printf "odd\n"[题目1023简单计算器]下面程序是实现一个简单的运算器保留两位小数点如果由键盘输入1050计算机可以输出结果6000如果输入8 *6计算机输出4800如果输入204 计算机输出500 如果输入8-6计算机输出200 请在空处填上适当的代码运行通过后并提交include "stdioh"void mainfloat abcscanf "fcf"switch opcasecase - _case _case __default printf "error"returnprintf "result " c[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]452↙501-23 ↙[正确输出] [正确输出]90 27107参考程序includeint mainchar opscanf "fcf"aopbswitch opcase c abbreakcase -c a-bbreakcase c abbreakcase c abbreakdefaultprintf "error"breakprintf "result 2f"c8实验5 循环结构程序设计一一实验目的1熟悉掌握用while 语句do-while 语句和for 语句实现循环的方法2 掌握在程序设计中用循环实现一些常用算法如穷举迭代递推等二实验内容[题目1024计算阶乘]输入正整数n计算n 结果用长整型数表示注n 123n[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]5 ↙8 ↙[正确输出] [正确输出]120 40320参考程序includemainlong in 1ascanf "ld"afor i 1i ai n niprintf "ld\n"n[题目1025计算数列和]有数列1357911现要求由键盘输入n计算输出该数列的前n 项和[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]2 ↙ 5 ↙[正确输出] [正确输出]4 259参考程序includemainlong nsum 0it 1scanf "ld"nfor i 1i nisum sumtt t2printf "ld\n"sum或includemainlong nsumscanf "ld"nsum nnprintf "ld"sum注评判系统不对程序实现细节进行分析只对运行结果进行评测[题目1026 加一行字符中的数字]由键盘输入一行字符总字符个数从1 个至80 个均有可能以回车符表示结束将其中每个数字字符所代表的数值累加起来输出结果[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]abc123↙A6H7T65↙[正确输出] [正确输出]6 24[提示] 1可以使用下面程序段逐个读入键盘输入的一行字符char chwhile ch getchar \n2 数字字符转为对应的数值可用a ch-0参考程序includemainchar cint s 0awhile c getchar \nif c 0c 9a c-48s saprintf "d"s10[题目1029求最大公约数]由键盘输入两个正整数mn mn 用长整数表示计算它们的最大公约数[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]1624↙1725↙[正确输出] [正确输出]8 1[提示]公约数是既能整除m 又能整除n 的数题目要求满足这一条件的最大的一个参考程序includemainlong rmntempscanf "ldld"mnwhile m 0r nmn mm rprintf "ld\n"n或includemainlong mntisscanf "ldld"mnt m nnmfor i t-1i 1i--if mi 0ni 0s i breakprintf "d"s[题目1030字符变换]由键盘输入一个句子总字符个数从1 个至80 个均有可能以回车符表示结束将其中的大写字符变成小写其它类型的字符不变最后输出变换后的句子[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]How Are You ↙ThiS IS My fIrSt C ProgrAm ↙[正确输出] [正确输出]how are you this is my first c program11参考程序includemainchar cwhile c getchar \nif c Ac Zc c32putchar c[题目1037计算数列和]有数列编程实现由键盘输入n计算输出数列前n 项和结果保留四位小数[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]20 ↙30 ↙[正确输出] [正确输出]326603 880403参考程序includemainint itnfloat a 2b 1s 0scanf "d"nfor i 1i nis sabt aa abb tprintf "4f\n"s[题目1044输出最小值]从键盘输入十个整数输出最小值[ 自测数据][键盘输入]12 45 76 87 5 87 43 55 99 21 ↙[正确输出]512参考程序include "stdioh"mainint itminscanf "d" minfor i 1i 10iscanf "d" tif t min min tprintf "d\n"min*[题目1031统计单词个数]由键盘输入一个句子总字符个数从1 个至80 个均有可能以回车符表示结束以空格分割单词要求输出单词的个数[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]How Are You ↙There are many students and many[正确输出] trees↙3 [正确输出]7参考程序includemainint inum 0word 0char cfor i 0 c getchar \niif c word 0else if word 0word 1numprintf "d"num*[题目1042百万富翁]一个百万富翁遇到一个陌生人陌生人找他谈了一个换钱的计划该计划如下我每天给你m 元而你第一天只需给我一分钱第二天我仍给你m 元你给我2 分钱第三天我仍给你m 元你给我4分钱依次类推你每天给我的钱是前一天的两倍直到一个月38 天百万富翁很高兴欣接受这个契约现要求编写一个程序由键盘输入m计算多少天后百万富翁开始亏钱[第一组自测数据] 18[键盘输入] [第二组自测数据]100↙[键盘输入][正确输出] 10000↙13[正确输出] 25参考程序includeincludemainint nmiscanf "d"mfor i 1i 38iif 001 pow 2i-1 -1 -im 0 breakprintf "d"i-114实验6 循环结构程序设计二一实验目的1进一步熟悉掌握用while 语句do-while 语句和for 语句实现循环的方法2 掌握在程序设计中使用多重循环二实验内容[题目1028求素数]输出2 到200 之间包括2 200 的所有素数注要求1 行1 个素数按由小到大的顺序输出[提示]采用双重循环外层循环产生2 到200 之间的数内层循环对数进行判断是否为素数参考程序includeincludemainint mkifor m 2m 200mk sqrt mfor i 2i kiif mi 0 breakif i k printf "d\n"m[题目1035打印菱形]由键盘输入正数n要求输出2n1 行的菱形图案要求菱形左边紧靠屏幕左边[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]3 ↙ 2 ↙[正确输出] [正确输出]15参考程序include "stdioh"include "mathh"mainint nijkscanf "d"nfor i 1i 2n1ik abs n1-ifor j 1j kj printf " "for j 1j 2n1-2kj printf ""printf "\n"[题目1038打印图案]由键盘输入正数n要求输出中间数字为n 的菱形图案要求菱形左边紧靠屏幕左边[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]4 ↙ 3[正确输出] [正确输出]1 1121 121 12321 12321 1234321 121 12321 1 1211参考程序includeincludemainint nijkhscanf "d"nfor i -n1i n-1ifor j 0j abs i jprintf " "for k 1k n-abs i k printf "d"kfor h n-abs i -1h 1h-- printf "d"hprintf "\n"16实验7 数组一实验目的1掌握一维数组和二维数组的定义赋值和输入输出方法2 掌握与数组有关的算法二实验内容[题目1039倒序]由键盘输入10 个整数倒序输出数字间由一个空格分隔[ 自测数据][键盘输入]70 5 14 20 19 2 99 67 13 66 ↙[正确输出]66 13 67 99 2 19 20 14 5 70参考程序includemainint a [10]int ifor i 0i 10i scanf "d"a[i]for i 9i 0i-- printf "d\n"a[i][题目1040统计不同数字个数]由键盘输入20 个整数统计不同数字的个数[ 自测数据][键盘输入]70 5 14 22 19 2 99 67 13 66 5 93 44 38 22 11 39 22 33 11↙[正确输出]16[提示]上述答案中因为5 有1 个重复数字11 有1 个重复数字22 有2 个重复数字故不同数字有16个分别是70 5 14 22 19 2 99 67 13 66 93 44 38 11 39 3317参考程序include"stdioh"mainint a [20]int itp 0for i 0i 20iscanf "d"a[i]for t 0t itif a[t] a [i] breakif t ipprintf "d"p[题目1062打印矩阵]由键盘输入一个3×4 的矩阵要求输出它的转置矩阵[ 自测数据][键盘输入] [正确输出] 1 6 9 3 1 1 11 1 02 6 1 91 9 8 9 9 0 83 2 9参考程序includemainint a [3][4]b[4][3]ijfor i 0i 3ifor j 0j 4jscanf "d"a[i][j]b[j][i] a [i][j]for i 0i 4ifor j 0j 3jprintf "d "b[i][j]printf "\n"*[题目1047冒泡排序]由键盘输入10 个数用冒泡法对10 个数从小到大排序并按格式要求输出代码如下请填充完整数字间由一个空格分隔incude "stdioh"mainint a[10] i j t18for i 0i 10iscanf "d"___________for ___________for j 0j ____jif ______________________for i 0i 10iprintf "d "a[i][ 自测数据][键盘输入]70 5 14 20 19 2 99 67 13 66 ↙[正确输出]2 5 13 14 19 20 66 67 70 99参考程序includemainint a [10]int ijtfor i 0i 10iscanf "d"a[i]for i 0i 9ifor j 0j 9-ijif a[j] a [j1]t a [j] a [j] a[j1] a[j1] tfor i 0i 10iprintf "d "a[i]*[题目1046计算高精度加法]由键盘输入两个位数很长的整数一行一个数每个数最长不超过80 位试计算并输出这两个数的和[ 自测数据][键盘输入]1XXXXXXXXXX23456789 ↙987654321098765 ↙[正确输出]1XXXXXXXXXX4455555419参考程序include "stdioh"include "stringh"mainint a [100] 0 b[100] 0 c[100] 0char s[101]int i 0n1 0n2 0 0e 0gets sn1 strlen sfor i n1-1i 0i-- a[n1-1-i] s[i]-0gets sn2 strlen sfor i n2-1i 0i-- b[n2-1-i] s[i]-0if n1 n2 n1else n2for i 0i ic[i] a[i]b[i]e 10e a[i]b[i]e 10if c[] 0 printf "d"c[]for i -1i 0i--printf "d"c[i]*[题目找矩阵中的鞍点]由键盘输入一个3 ×4 3 行4 列的矩阵输出矩阵中的鞍点即在矩阵行中最大列中最小的数若没有鞍点输出NO 字样[ 自测数据][键盘输入]87 90 110 98 ↙70 97 210 65 ↙98 45 120 30 ↙[正确输出]11020参考程序includemainint ijka[3][4]jflagfor i 0i 3ifor j 0j 4jscanf "d"a[i][j] for i 0i 3ia [i][0]j 0for j 0j 4jif a[i][j]a [i][j] j jflag 1for k 0k 3kif a [k][j]flag 0 breakif flagprintf "d" breakif flagprintf "NO"21实验8 字符数组的应用一实验目的1掌握字符数组和字符串函数的使用2 掌握与字符串处理有关的算法二实验内容[题目1121定义存贮字符串的字符数组]在下面程序中填充定义字符数组的语句使程序完整include "stringh"void mainchar s[80] 定义字符数组sstrcpy s "abcdefghij klmn"printf "s" s参考程序[题目1123字符串的输入与输出]下面程序实现从键盘读入字符串后输出到屏幕请填充必要的语句include "stdioh"void mainchar s[50]printf "Whats your name"gets s 由键盘读入字符串printf "Your name is "printf "s" s 打印字符串参考程序[题目1122字符串的合并]从键盘输入3 个字符串每个字符串以回车符做为结束标志将3 个字符串以输入先后顺序合并到字符串s 中请填空使用程序完整include "stdioh"include "stringh"mainchar s[100] ""char a [30]gets a strcat s a22gets a strcat s agets a strcat s a可以写多行代码printf "s" s[ 自测数据][键盘输入] [正确输出]123 123abc456abc456参考程序[题目1050寻找字符串]由键盘输入两个字符串假设第一个字符串必包含第二个字符串如第一个字符串为ABCDEF第二个为CDE则CDE 包含在ABCDEF 中现要求编程输出第二字符串在第一行字符串中出现的位置如果第二个字符串在第一个字符串中出现多次则以最前出现的为准[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]ABCDEFG ↙hellhello ↙DE ↙hello ↙[正确输出] [正确输出]4 5[提示]方法1建立双重循环外层循环变量指示第一个串的查找起始位置内层循环从起始位置开始判断第二个字符中是否出现在此处方法2 使用字符串函数strstr参考程序include "stdioh"mainint ijchar a [80] b[80]gets a gets bfor i 0a[i] \0ifor j 0b[j] \0jif a[ij] b[j] breakif b[j] \0 breakif a[i] \0 printf "d"i1else printf "Not Found"23实验9 函数的基本应用一实验目的1掌握定义函数的方法2 掌握函数实参与参的对应关系以及值传递的方式3 掌握函数的嵌套调用和递归调用的方法4 掌握全局变量和局部变量动态变量静态变量的概念和使用方法二实验内容[题目1059函数定义]下面是使用辗转相除法求最大公约数的程序请补充完整程序中函数的定义与调用include "stdioh"int f int m int nint rwhile r mn 0m nn rreturn nmainint a b nscanf "dd" a bprintf "d\n" f a b[题目1083编写函数计算阶乘]下面程序实现由键盘读入整数n计算并输出n 请补充完整计算阶乘的函数long fanc int along in 1for i 1i ai n nireturn nvoid mainint nscanf "d" n24printf "ld" fanc n[题目1124函数中的变量]写出下面程序的运行结果int f1 int xstatic int z 3y 0yzreturn xyzmainint a 1kfor k 0k 3k printf "4d"f1 a 程序运行结果为6 8 10*[题目1084编写递归调用函数实现十进制数转二进制数]下面程序实现由键盘输入一个正整数不大于100000000 输出其对应的二进制数原码表示请填空include "stdioh"void fun int iif i 1fun i2printf "d" i2mainint nscanf "d" nfun n25实验10 指针与结构体一实验目的1通过实验进一步掌握指针的概念会定义和使用指针变量2 能正确使用数组的指针和指向数组的指针变量3 能正确使用字符串的指针和指向字符中的指针变量4 掌握结构体类型变量的定义和使用二实验内容[题目1091交换两数由大到小输出]下面程序交换两数使两数由大到小输出请填空include "stdioh"void swap int p1 int p2int temptemp p1p1 p2p2 tempint mainint ab int papbscanf "dd" a bpa a pb bif a b swap pa pbprintf "d d\n"ab[题目1065数组中的指针]设有如下数组定义int a[3][4] 1357 9111315 17192123计算下面各项的值设数组a 的首地址为2000一个int 类型数占四个字节注意地址则输出地址变量则输出变量值要求一行一个答案不允许多余空行及空格1a[2][1] 2 a[1] 3 a 4 a 15 a 16 a 17 a[2] 18 a 1 19 a2 226参考程序include "stdioh"mainprintf "19\n"printf "2016\n"printf "2000\n"printf "2016\n"printf "2004\n"printf "2016\n"printf "2036\n"printf "2020\n"printf "21"[题目1092函数实现求字符串长度]下面程序以指针方式传递参数由函数实现求字符串长度请填空完成include "stdioh"include "stringh"int f char preturn strlen pint mainchar s[80]int iscanf "s" si f sprintf "d" i[题目1125定义结构体类型]要求定义一个名为student 的结构体类型其包含如下成员1字符数组name 最多可存放10 个字符2 字符变量sex用于记录性别3 整数类型变量num用于记录学号4 float 类型变量score 用于记录成绩并使下列代码完整定义结构体类型struct studentchar name[20]char sex。

大学c语言实验报告-1基本输入输出

大学c语言实验报告-1基本输入输出
分析题目
实现程序流程
写程序代码
调试验证代码
四、实验原始纪录(源程序、数据结构等)
11.原程序:
12.原程序:
13.原程序:
14.原程序:
五、实验结果及分析(计算过程与结果、数据曲线、图表等)
11题输出结果:
12题输出结果:
13题输出结果:1ຫໍສະໝຸດ 题输出结果:六、实验总结与思考
1.本次试验初步了解了输入与输出函数在实际程序中的运行及VC++的使用。
2.对逻辑运算了解的更加深刻。
教师评语:
二实验主要仪器和设备计算机三实验方法与步骤需求分析算法设计思路流程图等分析题目实现程序流程写程序代码调试验证代码四实验原始纪录源程序数据结构等11
实验报告
课程名称程序设计基础——c语言
实验项目名称实验1基本输入输出
实验学生班级
实验学生姓名
学 号
同组学生姓名\
实验时间
实验地点
实验成绩评定
指导教师签字年月日
一、实验目的和要求
1.理解该部分的概念。包括:
掌握该部分的用法,熟练编写程序应用
2.上机调试之前必须携带已经编写完毕的程序源代码,实验过程中主要是进行调试。
3.上机时间不足以完成实验项目的同学利用课外时间做完所有项目。
4.根据所选实验内容完成实验报告。
二、实验主要仪器和设备
计算机
三、实验方法与步骤(需求分析、算法设计思路、流程图等)

c语言程序设计实验指导书

c语言程序设计实验指导书

c语⾔程序设计实验指导书《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)#includevoid 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,但故意漏打或打错⼏个字符)#includevoid 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语言程序设计上机实验指导与习题第四版
}
[题目1023:简单计算器]
下面程序是实现一个简单的运算器(保留两位小数点),如果由键盘输入10+50,计算机可以输出结
果60.00;如果输入8*6,计算机输出48.00;如果输入20/4,计算机输出5.00;如果输入8-6,计算机
输出2.00,请在空处填上适当的代码,运行通过后并提交。
#include "stdio.h"
char a;
a=getchar();
if(a>='A' && a<='Z') a=a+32;
putchar(a); 6
现在,题目要求处理5个字符,怎么做呢?请自己思考……
参考程序:
#include"stdio.h"
main()
{ char a,b,c,d,e;
scanf("%c%c%c%c%c",&a,&b,&c,&d,&e);
数学公式描述为:
C=5*(F-32)/9
[第一组自测数据]
[键盘输入]
100↙
[正确输出]
37.78
[第二组自测数据]
[键盘输入]
100↙
[正确输出]
37.78
[提示]注意公式中的除为普通除法。
参考程序:
#include"stdio.h"
main()
{ float f,c;
scanf("%f",&f);
d=c;
e='\141;
printf("%f,%d,%d,%c,%c", a,b,c,d,e);

C语言程序设计 实验报告1--顺序结构

C语言程序设计 实验报告1--顺序结构

福建农林大学金山学院实验报告系(教研室):专业:年级:实验课程: C语言程序设计姓名:学号:实验室号:_ 计算机号:实验时间:指导教师签字:成绩:实验1:顺序结构程序设计一、实验目的和要求1.了解Visual C++ DEV_C++的基本操作方法2.掌握C程序设计的基本步骤:编辑、编译、连接和运行3.掌握各种类型数据的输入输出方法4.能够编写一个简单的程序二、实验内容和原理1. 输入并运行一个简单、正确的程序。

# include <>int main( ){printf ("This is a c program!\n");return 0;}2. 要使下面程序的输出语句在屏幕上显示:A,B,34,则从键盘输入的数据格式应为AB34__________ 。

#include<>int main(){char a, b;int c;scanf("%c%c%d",&a,&b,&c);printf("%c,%c,%d\n",a,b,c);return0;问题1:要使上面程序的键盘输入数据格式为a=A,b=B,34,输出语句在屏幕上显示的结果也为A,B,34,则应修改程序中的哪条语句怎样修改scanf( “a=%c,b=%c,%d”,&a,&b,&c );问题 2:要使上面程序的键盘输入数据格式为A,B,34,而输出语句在屏幕上显示的结果为“A”,“B”,34,则应修改程序中的哪两条语句怎样修改scanf( “%c,%c,%d”,&a,&b,&c);printf(“\”%c\”,\”%c\”,%d\n”,a,b,c);3、编程求一个圆的周长和面积。

用scanf输入圆半径,输出保留两位小数。

4、输入一个华氏温度F,要求输出摄氏温度C。

公式为 c=5/9(F-32),取两位小数。

C语言实验内容

C语言实验内容

C语言实验内容C语言是一种通用的高级编程语言,广泛应用于软件开发、系统编程和嵌入式系统等领域。

为了帮助学习者更好地掌握C语言的基础知识和编程技巧,实验内容成为了C语言教学中的重要一环。

本文将介绍一些常见的C语言实验内容,以帮助初学者更好地理解和运用C语言。

一、C语言基础实验1. 输出Hello World在学习任何编程语言时,第一个实验常常是编写一个简单的程序输出"Hello World"。

这个程序可以帮助学习者了解C语言的基本语法和编译运行过程。

2. 计算器程序编写一个简单的计算器程序,要求用户输入两个数字和一个运算符,然后输出计算结果。

这个实验可以帮助学习者熟悉C语言的输入输出函数和基本运算符的使用。

3. 数组操作利用C语言的数组概念,编写一个程序实现数组的输入、排序和输出。

这个实验可以帮助学习者巩固对数组的理解和使用。

二、C语言进阶实验1. 结构体和指针通过定义结构体和使用指针,编写一个程序实现学生信息的录入和查询功能。

这个实验可以帮助学习者深入理解结构体和指针的概念,并掌握它们在C语言中的应用。

2. 文件操作利用C语言的文件操作功能,编写一个程序实现文件的读取、写入和复制等操作。

这个实验可以帮助学习者掌握C语言中文件操作的基本流程和函数使用。

3. 动态内存分配通过使用动态内存分配函数,编写一个程序实现动态数组的创建和操作。

这个实验可以帮助学习者理解动态内存分配的概念和原理,并学会在程序中进行动态内存的申请和释放。

三、C语言综合实验1. 简单游戏开发通过运用前面学到的知识和技巧,编写一个简单的文字游戏,如猜数字游戏或猜单词游戏等。

这个实验可以帮助学习者将前面学到的知识整合起来,提高编程能力和创造力。

2. 学生成绩管理系统以学生成绩管理为主题,编写一个程序实现学生信息的录入、查询和统计等功能。

这个实验可以帮助学习者将前面学到的知识应用到实际项目中,并提高问题解决能力和代码设计水平。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验1、C程序的编程环境和运行方法一、实验目的1、编辑简单的C程序,以此熟悉Dev-C++( 或Visual C++6.0)集成开发环境,并初步认识C程序的组成及书写风格;2、熟悉C语言源程序在Dev-C++( 或Visual C++6.0)中编辑、编译、连接和运行的全过程以及每一步骤的作用;3、了解编译过程中的语法错误信息并了解修改语法错误的方法;4、理解程序调试的概念,初步熟悉C程序的调试方法。

二、实验内容㈠基本操作1、创建工作目录在D盘新建一个实验1的工作文件夹,文件夹以班名+学号后两位+sy1来命名(例如:17数媒1班3号同学的实验1工作文件夹命名为sm103sy1。

注意:文件夹及文件的命名尽量不要用汉字!);2、安装Dev-C++用拷贝的编译软件压缩包(注意:用本次实验文件夹中提供的低版本编译软件Dev-Cpp 5.10 TDM-GCC 4.8.1 Setup.exe),在机房电脑(或自带笔记本)上练习安装Dev-C++并做必要的设置。

3、编译软件的基本操作启动Dev-C++,熟悉其中常用菜单、工具按钮的功能;㈡简单C程序的编辑、编译、连接和运行(以Dev-C++环境为例)1、创建一个简单的C源程序(1)启动Dev-C++后,单击“文件”菜单下的“新建”命令,选择“源代码”即创建了一个C源文件(2)在代码编辑窗口输入以下代码(注释语句不用输入):#include <stdio.h> // 这是编译预处理命令int main( ) //主函数{ // 函数体开始的标志printf ("This is a C program.\n"); // 输出双引号里面的文字信息return 0; // main函数的返回值为0}检查是否有编辑错误,确定无错误后单击“文件”菜单下的“保存”命令,以sy1-1为文件名,选择文件类型为c,将源文件保存到工作文件夹中(见下图)。

2、编译连接、运行程序⑴编译连接:检查源程序语法错误单击“运行”菜单中的“编译”命令,或单击工具栏中的“编译”工具,或按功能键F9,可以一次性完成对源程序的编译和连接过程,并在信息窗口显示信息。

若程序有语法或连接错误,则找到出错行对源程序进行修改,直至信息窗口出现“错误0,警告0”字样,表示编译正确(如下图所示);⑵运行:单击“运行”菜单中的“运行”命令,或单击工具栏中的“运行”工具,或按功能键F10,运行程序显示运行结果,按任意键退出运行窗口,返回编辑窗口。

编译连接运行调试⑶关闭文件:单击“文件”菜单下的“关闭”。

如需打开一个已经存在的C程序,可以直接双击该程序文件,或单击“文件”菜单下的“打开”命令。

自行练习:按照上述步骤再创建一个C源程序,命名为sy1-2.c,编译、连接并运行程序。

代码如下(注释语句不用输入):#include <stdio.h> //编译预处理命令int main( ) // 定义主函数{ // 函数开始int a,b,sum; // 程序声明部分,定义a、b、sum为整型变量a = 123; // 对变量a赋值b = 456; // 对变量b赋值sum = a + b; // 进行a+b 的运算,并把结果存放在变量sum中printf("sum is %d\n",sum); // 输出结果,注意格式return 0;}运行结果应该为:sum is 579㈢调试程序1、语法错误的检查通过编译即可。

每次改错都是从第一处错误改起,每改一处后要重新编译,直至没有错误。

练习:打开源程序sy1-3error.c,该程序的功能是在屏幕上输出“Welcome to You!”,其中存在3处语法错误,请根据编译给出的出错提示,依次进行修改,调试程序使其能运行,在屏幕上输出Welcome to You!。

2、逻辑错误的检查逻辑错误的检查-单步调试逻辑错误的检查需要用到Dev-C++的动态调试工具(见上图中的“调试”按钮),使用之前要做如下设置:设置如下:单击“工具”菜单下的“编译选项”命令,弹出“编译器选项”对话框;单击其中的“代码生成/优化”标签,再选择其中的“连接器”标签,将其中的“产生调试信息”的值选为“yes”,然后单击“确定”按钮,完成设置(如下图所示)。

①打开源程序sy1-4error.c,编译通过,然后运行程序,从键盘输入3 5后回车(输入时3与5之间有个空格),结果出现运行错误(如下图所示),说明程序中存在逻辑错误,需要用动态调试工具进行调试;②调用动态调试工具栏先设好断点(程序中怀疑出错的地方)。

方法是在某行的行号左边单击一下(例如在第2行的行号左边单击),然后单击“调试”工具按钮,出现调试工具栏及调试窗口(如下图)红色高亮显示的是断点所在行,蓝色高亮显示的是将要执行的语句③开始调试程序(主要熟悉程序的单步执行方法及其过程中查看变量的值)单击调试工具栏上的“下一步”,等待用户在运行窗口上输入变量a和b的值(注意这里输入两个数3和5之间用空格隔开)。

为了观察程序错误所在,首先要看两个变量是否得到正确的值,为此,添加对变量或表达式的查看。

方法是:单击调试工具栏中的“添加查看”按钮,在弹出的窗口中输入想查看的变量a、b及表达式a+b,这样在调试窗口上方左边的变量窗口中可以观察到变量值或表达式的值的变化情况,从而发现错误所在(如下图)从上面的测试情况看,用户正确输入了变量a和b的值,分别是3和5,但在查看窗口中发现变量a和b并未获得正确的输入,说明输入语句中存在错误。

仔细看,是漏了&运算符;注意:观察某个变量的当前取值还可以通过设置“环境选项”更方便得到,具体设置方法:单击“工具”菜单下的“环境选项”命令,弹出“环境选项”对话框;勾选其中“浏览Debug变量”下的“查看鼠标指向的变量”,然后单击“确定”按钮,完成设置。

这样在调试过程中,鼠标指向的变量的当前取值会自动出现的左边一栏中,方便分析程序出错之处(如下图所示)。

⑷结束调试单击调试工具栏上的“停止调试”按钮,程序调试结束,返回到程序编辑窗口。

删除断点,修改错误,重新编译运行,结果正确。

说明:程序的单步执行是检查程序中逻辑错误的最简单的一种方法,适合语句不多的程序的查错;对于比较复杂的程序,还需要结合设置断点、跟踪代码等方法。

程序的逻辑查错比较复杂,首先需要熟悉动态调试工具的使用,此外还需要有较强的分析能力(后者需要长期大量的实践积累经验,更多的调试方法将在后续实验中结合实例进行练习)。

附:简单C程序在VC++6.0中的编辑、编译连接、运行及调试方法示例注:若电脑中的Dev C++不能正常使用,也可以尝试用VC++6.0。

㈠简单C程序的编辑、编译、连接和运行(以VC++6.0环境为例)1、创建一个简单的C源程序⑴启动Visual C++6.0后,单击“文件”菜单下的“新建”命令,在打开的“新建”对话框中选择“文件”标签,选择其中“C++ Source File”,指定源文件保存位置为之前创建的工作文件夹d:\ sm103sy1,然后输入文件名(例如本次实验第1个源代码可以命名为sy1-1.c,记得带扩展名.c);⑵在代码编辑窗口输入如下代码(注释语句不用输入),检查是否有编辑错误,确定无错误后保存源文件。

#include <stdio.h> // 这是编译预处理命令main( ) // 定义主函数{ // 函数体开始的标志printf ("This is a C program.\n"); // 输出双引号里面的文字信息}2、编译、连接并运行程序⑴编译:检查源程序语法错误。

单击“编译”菜单中的“编译”命令,或单击工具栏中的“编译”工具,或按组合键“Ctrl+F7”对源程序sy1-1.c进行编译,若程序有语法错误,则找到出错行对源程序进行修改,直至无语法错误,生成扩展名为.obj的目标文件;⑵连接:若源程序没有语法错误,单击“编译”菜单中的“构件”命令,或单击工具栏中的“连接”工具,或按功能键F7,将.obj文件与库函数进行连接,无误后生成扩展名为.exe的可执行文件;⑶运行:单击“编译”菜单中的“执行命令”,或单击工具栏中的“!”工具,或按组合键“Ctrl+F5”,运行上步骤得到的可执行文件,屏幕上显示出程序的运行结果。

⑷关闭工作区:单击“文件”菜单下的“关闭工作区”。

练习:按照上述步骤再创建一个C源程序,命名为sy1-2.c,编译、连接并运行程序。

代码如下(注释语句不用输入):#include <stdio.h> //编译预处理命令main( ) // 定义主函数{ // 函数开始int a,b,sum; // 程序声明部分,定义a、b、sum为整型变量a = 123; // 对变量a赋值b = 456; // 对变量b赋值sum = a + b; // 进行a+b 的运算,并把结果存放在变量sum中printf("sum is %d\n",sum); // 输出结果,注意格式}运行结果应该为:sum is 579注意:新建源程序前务必关闭工作区!㈡调试程序1、语法错误的检查程序编辑完后,通过编译可以发现程序中存在的语法错误。

如果编译后有多个错误,应拖动出错信息窗口右侧的向上滚动条定位到第一个错误信息处双击,进行相应语句行的修改,改完后再进行编译,直到没有语法错误。

打开源程序sy1-3error.c,该程序的功能是在屏幕上输出“Welcome to You!”,其中存在3处语法错误,请根据编译给出的出错提示,依次进行修改,调试程序使其能运行得到正确结果。

2、逻辑错误的检查当一个C源程序经编译、连接无误,但运行时结果不正确,或出现死机、无限循环等情况时,则说明程序中存在逻辑错误。

逻辑错误的检查需要用到Visual C++6.0的动态调试工具,通过单步执行、设置断点、跟踪程序的执行过程、观察变量和表达式的值等多种方法来进行逻辑错误的排查。

⑴按下图给出的代码创建一个C程序sy1-4exp.c,编译、连接无误后,运行程序将得到正确的输出结果;⑵调用动态调试工具栏选择菜单“工具”-“定制”,在对话框中单击“工具栏”选项卡,勾选其中的“调试”复选框,在程序窗口出现调试工具栏(如上图所示)⑶开始调试程序(主要熟悉程序的单步执行方法及其过程中查看变量的值)单击调试工具栏上的“单步执行”(Step over)按钮(或按F10键),出现调试窗口(如下图所示),每单击一次“单步执行”(Step over)按钮(或按F10键),窗口左边的黄色箭头往下移动一行,表示程序将要执行的语句,同时,在调试窗口下方左边的变量窗口中可以观察到变量值的变化情况,在下方右边的表达式窗口可以测试表达式的值。

相关文档
最新文档