实验六 数组
C语言上机实验1-18
实验一C程序的运行环境及简单程序编写一、实验目的1.了解tc2.0编译系统的基本操作方法,学会独立使用该系统。
2.了解在该系统上如何编辑、编译、连接和运行一个C程序。
3.通过运行简单的C程序,初步了解C源程序的特点。
二、实验内容1.编写一个计算球体体积的程序,要求用户自行录入球体的半径。
参考公式V=4/3πr3.。
2.编写一个程序,要求用户输入一个美金数量,然后显示出如何用最少的20美元、10美元、5美元和1美元来付款。
运行结果:Ener a dollar amount:93$20 bills:4$10 bills:1$5 bills:0$1 bills:3实验二顺序结构程序设计一、实验目的1.熟悉C语言中的基本数据类型,掌握定义常量和变量以及对它们赋值的方法,了解数据输出时所用格式转换符。
2.掌握格式输入/输出函数的用法。
3.学会简单顺序程序的设计。
4.养成良好的程序设计习惯。
二、实验内容1.编写一个程序,对用户录入的产品信息进行格式化。
Enter item number:583Enter unit price:13.5Enter purchase date(mm/dd/yyyy):3/24/2010Item Unit PurchasePrice date583 $ 13.50 3/24/20102.编写一个程序,要求用户输入一个两位数,然后按数位的逆序打印出这个数。
Enter a two-digit number:28The reversal is :82实验三选择结构程序设计一、实验目的1.熟练使用if、switch编写程序。
二、实验内容1.编写一个程序,确定一个数的位数。
Enter a number:374The number 374 has 3 digits假设输入的数最多不超过4位。
提示:利用if语句进行数的判定。
例如,如果数在0到9之间,那么位数为1;如果数在10到99之间,那么位数为2。
C语言上机实验试题
实验一初识Visual C++6.0环境及运行C实例作业:一.选择题1.若int a, b; scanf("%d%d", &a, &b); 不可以用( A )作为输入的分隔符。
A), B)空格 C)回车 D)TAB键2.阅读以下程序,当输入数据的形式是:25,13,10<CR>,正确的输出结果是( D )。
main(){int x,y,z;scanf("%d%d%d",&x,&y,&z);printf("x+y+z=%d",x+y+z);}A)x+y+z=48 B)x+y+z=35 C)x+z=35 D)不确定值3.已知ch是字符型变量,下边正确的赋值语句是( B )A) ch='123'; B)ch='\xff'; C)ch='\08'; D) ch="\";二.填空题1. 以下程序的输出结果是(a= +1124,a=1124 ,x=30.141500,x= 30.142)main(){int a=1124;double x=30.1415;printf("a=%+6d,a=%-6d,x=%f,x=%7.3f",a,a,x,x);}2.以下程序的输出结果是( 36.750000 ) main(){int x=10;float y=26.75;printf("%f",x+y);}实验二 C程序的调试及运算符作业:1.指出下面的是标识符、关键字还是常量。
abc,2,new,struct,″opiu″ ,′k′, ″k″,false ,bnm,true,0xad,045,if ,goto解: abc是标识符,2是整型常量,new、struct是关键字,″opiu″是字符串常量,′k′是字符常量,″k″ 是字符串常量,false是布尔常量,bnm 是标识符,true是布尔常量,0xad是十六进制的整型常量,045是八进制的整型常量,if、goto都是关键字。
高级语言程序设计实验
创新源于实践《高级语言程序设计》课程实验教学手册高级语言程序设计课程组实验手册使用及要求实验操作是教学过程中理论联系实际的重要环节,而实验报告的撰写又是知识系统化的吸收和升华过程,因此,实验报告应该体现完整性、规范性、正确性、有效性。
现将实验报告撰写的有关内容说明如下:1、实验前按实验要求手写程序或程序填空,并走查代码,有疑问处标记,上机时在C语言集成开发环境下输入并调试手写程序,分析运行结果。
2、实验结束后填写通过后的源程序和对实验的总结。
3、通过后的源程序可以手写也可以打印粘贴。
实验项目一览表学号:姓名:成绩:实验一熟悉C语言编程环境实验目的:1.熟悉C语言编程环境(VC++、Cfree、Turboc2.0等)2.了解C程序的基本框架3.理解程序调试的思想,能找出并改正C程序中的错误实验内容:1.1 建立自己的文件夹:在磁盘上建立一个文件夹,用于存放自己的C程序1.2 编程示例在屏幕上显示一个短句“Programming in C is fun!”(教师示例,学生模仿并创新,如输出汉字、特除字符等。
学会使用编程环境VC++,启动、编辑、编译、运行、保存、关闭、打开)1.3 编程在屏幕上显示如下网格。
+---+---+| | || | |+---+---+# include <stdio.h>int main(){printf("+---+---+\n");printf("| | |\n");7printf("| | |\n");printf("+---+---+\n");return 0;1.4 调试示例改正下列程序中的错误,在屏幕上显示“Welcome to You !”。
(掌握找错、改错的方法)源程序:# include <stdio.h>int mian(void)//mian改为main{printf(Welcome to You! \n")//括号后加”getchar();return 0;}注:需要修改的语句直接在程序上标注并修改实验总结:学号:姓名:成绩:实验二用C语言编写简单程序实验目的:1.掌握算术表达式和赋值表达式的使用2.掌握基本输出函数的使用3.能够自己编程实现简单的数据处理4. 熟练掌握简单if语句使用5. 熟练掌握for语句的使用6. 掌握简单C程序的查错方法、单步调试实验内容:2.1 调试以下程序,求华氏温度对应的摄氏温度。
c语言第二部分 实验内容
三、实验内容
1.阅读并输入如下程序,查看运行结果,并分析其功能。 # include "stdio.h" main ( ) { int a, b, c, s ; a = 5; b = 4; c = 6; s = (a+b+c)/ 3; printf (" a = %d, b = %d, c = %d \n, s = %d ", a, b, c, s) ; }
C语言程序设计实验·设计·习题
2.下面是一正方形面积的计算程序,通过输入不同的边长,求 出不同的面积。输入此程序并试运行。 注意:程序中含有输入语句,运行时将会停留在另一窗口中等待 输入数据。 # include"stdio.h" main ( ) { int r, s ; scanf (" %d ",&r) ; s= r*r; printf (" s = %d ", s) ; } 3.在Turbo C中调试并修改以下C程序中的错误。
C语言程序设计实验·设计·习题
三、实验内容
1.改正书中所给的相关程序的错误。 2.程序填空。 (1)按程序中注释的要求填输出语句。 (2)要求运行时必须按如下格式输入数据,请填空。 3.程序编译成功,只是说明没有语法错误,但并不一定能得出 正确结果,因为有可能存在编程逻辑错误。这时,我们需要跟踪变量、 调试程序,找出问题所在。调试的一般方法有: (1)单步跟踪:选择Run菜单下的Step命令,也可以直接按快捷键 F7(可跟踪进函数、过程)或快捷键F8,这样可以每条语句单独运行。 (2)运行至光标处:先将光标移至目标语句,然后选择Run菜单下 的Go to Cursor命令,或按快捷键F4,这样可以连续运行从开始到光 标处的一段程序。
《C语言程序设计》实验报告实验六
《C语言程序设计》实验报告实验六使用指针的程序设计学号姓名一、实验目的1、掌握指针的概念,会定义和使用指针变量;2、能正确使用数组的指针和指向数组的指针变量;3、熟悉指针作为函数参数的定义和调用方法;4、能正确使用字符串的指针和指向字符串的指针变量。
二、实验内容1.分析下面的程序并上机运行程序,要求写出3组以上程序的运行结果。
#include <stdio.h>void main(){int *p1,*p2,*p;int a,b;printf("Input a b please");scanf("%d%d",&a,&b);p1=&a;p2=&b;if(a>b){ p=p1;p1=p2;p2=p;}printf("*p1=%d, *p2=%d\n",*p1,*p2);printf("a=%d, b=%d\n",a,b);}『运行结果:』输入1,2得:*p1=1,*p2=2a=1,b=2输入2,1得:*p1=1,*p2=2a=2,b=1输入56,123得:*p1=56,*p2=123a=56,b=1232.下列程序的功能是分别求出数组中所有奇数之和以及所有偶数之和。
形参n给了数组中数据的个数,利用指针odd返回奇数之和,利用指针even 返回偶数之和。
请在下面空白处将实现这一功能的函数完善,并且调试运行出结果。
#include <stdio.h>#define N 10void fun(int *a,int n,int *odd,int *even){int m;*odd=0; *even=0;for(m=0;m<n;m++)if(*(a+m)%2==0)*even+=*(a+m);else*odd+=*(a+m);}void main(){int a[N]={1,10,2,3,19,6},i,n=6,odd,even;printf("The original data is:\n");for(i=0;i<n;i++)printf("%5d",*(a+i));printf("\n\n");fun(a,n,&odd,&even);printf("The sum of odd numbers:%d\n",odd);printf("The sum of even number:%d\n",even);}『运行结果:』3.编程实现从键盘输入一个字符ch和一个字符串str,利用字符指针实现删除字符串str中和字符ch相等所有字符,然后输出字符串str。
实验六 一维数组实验报告
***软件类实验报告课程名称:C语言程序设计学号:姓名:班级:指导教师:开课学期:学院:***教务处⑷一维数组排序。
四、实验过程及内容:(运行结果请抓图到对应题目的下方)1. 先分析以下程序,写出运行结果,再上机检验。
2.程序填空题。
下面程序的功能是9个评委给某个参赛选手打分,去掉一个最高分和一个最低分,求该参赛选手的平均分。
填空完成程序。
实验结果:3. 程序填空题。
有数列1,1,2,4,7,13,24…,该数列的规律是从第4项起,每项是它的前三项之和。
下列程序的功能是将该数列的前30项存放在一维数组中,输出时每行输出5个数。
填空完成程序。
实验结果:4. 程序改错题。
下面程序的功能是将数组中的数按从大到小排序后输出。
改正程序中的错误。
实验结果:5. 程序改错题。
某公司从用公用电话传递数据,数据是四位的整数,在传递过程中需要加密,加密规则为每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
改正程序中的错误。
实验结果:6. 小楚参加了一个研究生考试培训班,共30次课,由于路途较远,每次都是打车去上课,来回的车费分别存储在数组a和b中,其中-1表示未去上课。
编程计算小楚参加培训班共打车花费多少钱?(要求保留1位小数,用循环实现)输出结果的形式为:s=1234.5a数组和b数组定义如下:doublea[30]={31.0,32.0,30.3,32.8,30.5,30.6,31.0,32.8,-1,31.8,31.9,31.5,32.3,32.3,31.8,32.5 ,31.5,30.3,30.4,32.5,30.2,30.2,30.7,32.1,32.1,31.4,31.9,31.9,-1,30.5};doubleb[30]={30.2,30.2,30.3,31.6,32.7,31.5,30.4,32.4,-1,31.0,31.8,32.1,31.6,31.4,32.4,32.1 , 32.5,32.3,32.5,31.4,31.2,30.3,32.3,30.7,31.3,30.2,31.1,30.5,-1,31.9};五、实验小结。
java实验报告--数组
java实验报告--数组Java实验报告 - 数组引言:Java是一种广泛应用于软件开发的编程语言,其强大的数组功能使得它成为处理大量数据的理想选择。
本实验报告将探讨Java中数组的基本概念、使用方法以及一些常见的应用场景。
一、数组的定义与初始化在Java中,数组是一种用于存储多个相同类型元素的数据结构。
数组可以存储基本数据类型(如整数、浮点数等)或者对象。
声明一个数组需要指定元素的类型和数组的名称,然后使用关键字"new"来创建数组对象。
二、数组的访问与操作通过索引(index)可以访问数组中的元素,索引从0开始计数。
例如,对于一个长度为10的整数数组,可以使用arr[0]来访问第一个元素,arr[1]来访问第二个元素,以此类推。
数组的长度可以通过arr.length来获取。
三、数组的遍历与排序遍历数组是指逐个访问数组中的元素。
常用的遍历方法有使用for循环和foreach循环。
对于需要对数组进行排序的情况,可以使用Java提供的排序算法(如快速排序、冒泡排序等)或者使用Arrays类中的sort方法。
四、多维数组除了一维数组,Java还支持多维数组。
多维数组可以看作是数组的数组,可以用于存储表格、矩阵等结构化数据。
在声明多维数组时,需要指定每一维的长度。
五、数组的应用场景1. 数据存储与处理:数组可以用于存储和处理大量数据,如学生成绩、员工工资等。
通过数组,可以方便地进行数据的查找、排序和统计等操作。
2. 图像处理:图像可以用二维数组表示,每个元素代表一个像素点的颜色值。
通过对数组的操作,可以实现图像的旋转、缩放等功能。
3. 算法实现:许多算法的实现都需要使用数组,如查找算法、排序算法等。
数组的高效访问和操作使得算法的实现更加简洁和高效。
六、实验案例:数组的查找与统计为了更好地理解数组的应用,我们设计了一个实验案例:数组的查找与统计。
假设有一个整数数组,我们需要找到其中的最大值、最小值、平均值以及某个特定元素的出现次数。
实验6 PL_SQL复合数据类型
《数据库开发技术》课程之实验六PL/SQL复合数据类型:记录、表和可变数组一、实验目的1.掌握如何创建PL/SQL 记录。
2.会用%ROWTYPE 属性创建一个记录。
3.掌握如何创建PL/SQL表和记录表。
4.掌握那些能获得复合数据信息的内置方法的使用。
5.掌握可变数组的使用。
二、实验内容和要求1.根据表emp的全部字段定义记录变量emp_record。
用SELECT语句将编号为7788的雇员的全部字段对应地存入该记录变量,最后输出记录变量的雇员名称字段emp_record.ename和雇员工资字段的内容。
执行结果如下:SCOTT的工资为:3000PL/SQL 过程已成功完成。
2.声明一张Index_By表,用来接收并存储DEPT表的信息,把部门号作为键,不要忘记部门号是10的倍数。
使用循环从DEPT表中将所有部门信息检索到PL/SQL记录表中,然后用另一个循环来显示表中的这些信息。
执行结果为:10, ACCOUNTING, NEW YORK20, RESEARCH, DALLAS30, SALES, CHICAGO40, OPERATIONS, BOSTONPL/SQL 过程已成功完成。
3. 阅读以下程序,找出出错之处,说明出错原因,预测运行输出结果是什么。
请删改错误,加上适当注释后,运行该程序,验证自己的预测是否正确。
(注:实验报告中只要指出出错的语句和出错的原因即可,不需要抄录程序清单!还要求写出程序正确运行后的输出结果。
)SET SERVEROUTPUT ONDECLARETYPE dept_list IS TABLE OF dept.dname%TYPE; --定义嵌套表TYPE top5_list IS VARRAY(5) OF dept.loc%TYPE; --定义可变数组dis_dept dept_list; --嵌套表的声明num_5 top5_list; --可变数组的声明BEGINdis_dept(1):='AMGN';IF dis_dept IS NULL THENdis_dept :=dept_list('AMGN','BGEN');DBMS_OUTPUT.PUT_LINE('dis_dept表当前元素个数为:'||to_char(dis_dept.count));END IF;num_5:=top5_list('ORCL','CSCO',NULL,NULL);IF num_5(3) IS NULL THENnum_5(3):='CPQ';END IF;num_5(4):='DELL';FOR COUNTER IN 1..4 LOOPDBMS_OUTPUT.PUT_LINE(NUM_5(COUNTER));END LOOP;END;/执行结果为:4.*将上题改为使用INDEX BY BINARY_INTEGER的索引表,则实现同一执行结果,程序要做哪些相应的改变。
数组实验报告实验小结
一、实验背景随着计算机技术的不断发展,数组作为一种基本的数据结构,在编程领域得到了广泛的应用。
为了更好地理解和掌握数组的相关知识,我们进行了一系列的数组实验。
本次实验报告将对实验过程进行总结,并对实验结果进行分析。
二、实验目的1. 理解数组的基本概念和特点;2. 掌握数组的创建、访问和操作方法;3. 熟悉数组在编程中的应用;4. 培养实验操作能力和问题解决能力。
三、实验内容1. 数组的定义与创建2. 数组的初始化3. 数组元素的访问与修改4. 数组的排序与查找5. 数组的应用实例四、实验过程1. 数组的定义与创建实验一:定义一个整型数组,并初始化为10个元素。
代码如下:```c#include <stdio.h>int main() {int arr[10];// 初始化数组for (int i = 0; i < 10; i++) {arr[i] = i 2;}// 打印数组元素for (int i = 0; i < 10; i++) {printf("%d ", arr[i]);}printf("\n");return 0;}```2. 数组的初始化实验二:使用初始化列表直接初始化数组。
代码如下:```c#include <stdio.h>int main() {int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};// 打印数组元素for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); i++) { printf("%d ", arr[i]);}printf("\n");return 0;}```3. 数组元素的访问与修改实验三:访问和修改数组元素。
代码如下:```c#include <stdio.h>int main() {int arr[5] = {1, 2, 3, 4, 5};// 访问数组元素printf("The first element is: %d\n", arr[0]);// 修改数组元素arr[0] = 10;printf("After modification, the first element is: %d\n", arr[0]); return 0;}```4. 数组的排序与查找实验四:使用冒泡排序算法对数组进行排序。
实验六 指针与引用
实验六指针与引用一、目的和要求1.掌握指针、指针变量、指针常量的基本概念;2.掌握指针与数组、指针与函数的关系及应用。
3.初步掌握引用的概念及简单应用。
二、实验设备及分组1.Windows XP操作系统;2.Visual C++6.0语言环境;3.每人一台PC机。
三、内容和步骤(一)验证实验程序1.指针变量的自加、自减、加n和减n运算。
假设数组a的首地址为1000。
解:# include <iostream.h>void main( ){int a[5]={0,1,2,3,4};int *p;p=&a[0]; //p指向a[0],p=1000p++ ; //p指向下一个元素a[1],p=1004cout<< *p<<'\t'; //输出a[1]的内容1。
p=p+3; //p指向下3个元素a[4],p=1016cout<< *p<<'\t'; //输出a[4]的内容4。
p――; //p指向上一个元素a[3],p=1012cout<< *p<<'\t'; //输出a[3]的内容3。
p=p―3; //p指向上3个元素a[0],p=1000cout<< *p<<'\t'; //输出a[0]的内容0。
}运行结果:1 4 3 02.指出下列程序的错误。
#include <iostream.h>void exchange(int,int);void main(){int a,b;cin>>a>>b;cout<<"Before Exchange:a="<<a<<",b="<<b<<endl;exchange(a,b);cout<<"After Exchange:a="<<a<<",b="<<b<<endl;}void exchange(int x,int y){int t;t=x;x=y;y=t;}分析:本例的目的是在子函数中交换的两个变量的值,在主函数中使用。
c++实验六
实验六1.实验目的通过本次实验(1)初步掌握函数的定义方法,及函数的三种调用方法;(2)理解参数传送过程中,值传送与传地址的过程与区别;(3)初步学会用递归编写程序方法;(4)学会用数组作为函数参数的编程方法。
2.实验要求(1)编写实验程序(2)在VC++运行环境中,输入源程序;(3)编译运行源程序;(4)输入测试数据进行程序测试;(5)写出运行结果。
3.实验内容(1)分别用冒泡法(升序)、选择法(降序)、擂台法(升序)编写三个对一维数组进行排序的函数,函数名为sort1()、sort2()、sort3()。
再定义一个输出数组元素值的函数print()。
在主函数中定义一维整型数组a[N](N=10),用键盘输入10个整数给a[N]数组。
依次调用sort1()、print()、sort2()、print()、sort3()、print(),进行升序、降序、升序的操作,并输出每次排序后的结果。
输入十个实验数据:10,25,90,80,70,35,65,40,55,5(2)编写一个函数px(float x,int n)用递归的方法求下列级数前n项的和s。
在主函数中定义变量x与n,用键盘输入x与n的值,调用px()函数计算并返回级数前n项和s。
最后输出s的值。
输入实验数据:x=1.2 n=10(3)编写一个字符串连接函数str_cat(char s[],char s1[],chars2[]),完成s=s1+s2的字符串连接工作。
具体要求为,先将字符串s1复制到s中,然后再将字符串s2连接到s后面。
在主函数中定义三个字符串数组str[80]、str1[40]、str2[40],将两个字符串输入到str1与str2中,调用字符串连接函数str_cat(),将str1与str2连接到str中,最后输出连接后的字符串str。
要求用两种方法编写str_cat()函数。
方法一,用字符串复制与连接函数。
方法二,用while语句编程实现。
VB实验报告1-9
实验一:设计简单的VB 应用程序一、实验目的1.掌握Visual Basic 启动和退出的方法。
2.熟悉Visual Basic 的集成开发环境。
3.掌握Visual Basic 程序设计的基本步骤,了解VB 程序的编写、保存和编译的方法过程。
4.初步了解几个常用基本控件控件(标签、命令按钮和文本框)的使用方法。
二、实验类型综合三、实验时间:2012-3-9四、实验任务1、启动Visual Basic ,然后创建一个“标准 EXE ”工程(保存在D 盘以自己学号命名的文件夹中,文件名和窗体名均为SJT ),并了解Visual Basic 集成开发环境下各组成部分及其作用。
2、编一程序,计算任意输入的正整数的平方根。
3、编写一个应用程序,界面如图1-1所示。
窗体中文字“VB 应用程序!”为一标签控件,单击标题为“放大”的命令按钮,则“VB 应用程序!”的字号放大一号,单击“缩小”按钮则反之;同时,窗体中还有4个含某种指向图案的按钮,若单击某个按钮,则使“VB 应用程序!”向该按钮所指向的方向移动50Twip 。
(提示:四种指向的图案可以在Visual Basic 安装目录中的“…graphics\icon\Arrows ”子目录中找到,名称分别为arw07dn.ico 、arw07lt.ico 、arw07rt.ico 和arw07up.ico )五、实验要求 写出实验报告,内容是:1、第1小题的操作步骤2、第2、3题1).程序的界面设计。
2).程序主要代码。
3).运行结果(输入与输出)。
4).实验总结。
(写上你自己的总结。
可以从以下几个方面来总结:你在编程过程中花时多少?时间是怎么分配的?多少时间在思考问题?遇到了哪些难题?你是怎么克服的?你对你的程序的评价?你的收获有哪些?)图1-1 实验1-2程序运行实验二:数据的输入和输出一、实验目的1.掌握常量和变量、表达式的基本概念和正确书写格式。
2.掌握基本语句(Print语句、赋值语句、Dim语句等)的使用;3、掌握常用函数的正确使用方法;4、掌握数据的动态输入InputBox和信息提示MsgBox的基本使用方法。
C语言实验六实验报告—指针
C语言实验六实验报告—指针实验六:指针实验报告一、实验目的1.了解指针的概念和作用;2.掌握指针与数组、函数的关系;3.熟悉指针的运算和指针的应用。
二、实验内容1.指针的定义和初始化;2.指针与数组的关系;3.指针与函数的关系。
三、实验原理1.指针的定义和初始化指针是一个变量,其值为另一个变量的地址。
可以使用指针来访问和修改内存中的数据。
指针的定义格式为:数据类型*指针名;可以使用&运算符来获取变量的地址,并将其赋值给指针。
2.指针与数组的关系数组是一组相同类型的数据的集合,而指针可以指向数组的首地址。
通过指针可以访问数组中的元素。
数组名本身就是一个指针常量,存储了数组的首地址。
定义指针指向数组时,可以使用数组名作为初始化值。
3.指针与函数的关系函数可以接受指针作为参数,通过指针可以修改传递给函数的变量的值。
函数也可以返回指针,指向在函数内部创建的局部变量。
需要注意的是,在使用指向局部变量的指针时要小心,因为函数执行完毕后,局部变量会被释放,指针将指向无效的内存地址。
四、实验步骤1.指针的定义和初始化定义一个整型变量a,并使用指针p指向a的地址。
使用*p来访问a 的值,使用&运算符获取a的地址并给指针p赋值。
2.指针与数组的关系定义一个整型数组arr,并使用指针p指向数组的首地址。
使用p[i]来访问数组的元素,使用*(p+i)也可以实现相同的效果。
3.指针与函数的关系定义一个函数,接受一个指针作为参数,并使用指针修改传递给函数的变量的值。
定义一个函数,返回一个指针,指向在函数内部创建的局部变量。
在主函数中调用这两个函数,并打印出相应的结果。
五、实验结果1.指针的定义和初始化定义一个整型变量a,并初始化为10。
指针p指向a的地址,使用*p 来访问a的值。
2.指针与数组的关系定义一个整型数组arr,并初始化为{1, 2, 3, 4, 5}。
指针p指向数组的首地址,使用p[i]来访问数组的元素。
C语言实验报告(全)
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
实验报告填写说明
1.实验报告中的班级写行政班级(如道土1班),学号写完整学号(如20176000101),实
验日期不要漏写,任课教师写全名。
2.设计流程(算法描述)的书写用传统流程图、N-S流程图或伪代码中的任一种方式写出算法。
3.调试和测试结果应有内容,至少是“调试结果正确”,如果遇到错误,则写出错误信息,
及调试解决方法。
要求写出测试用的数据和测试结果,应对所有路径都进行测试。
C语言实验报告
C语⾔实验报告上机要求:禁⽌玩游戏、看视频及从事与课程⽆关的活动。
实验内容按照指导书内容填写,可以把⾃⼰上机编写的程序、遇到的问题、解决办法写上(得到⾼分的条件)。
在有输⼊输出的程序部分,应该写上输⼊输出的结果,以表⽰程序能正确⼯作。
实验⼀编程环境的使⽤⼀、⽬的和要求1.了解编程环境的使⽤。
2.学会处理简单的错误,观察运⾏结果。
3.掌握基本的输⼊输出。
⼆、实验原理VisualC++6.0是⼀个集成的开发环境,包括编辑、编译连接和调试。
编写程序的主要过程是:建⽴⼯作区、建⽴⼯程、添加源⽂件、输⼊程序、运⾏程序、改正出现的错误直到有正确的输出结果。
三、实验内容及步骤1.编程环境的使⽤。
(1)打开VisualC++6.0开发环境。
(2)单击“⽂件-〉新建”菜单命令,显⽰出“新建”对话框(如图1-3)。
在新建对话框单击“⼯程”标签,选中Win32 Console Application项,然后在⼯程框中键⼊控制台应⽤程序项⽬名称,并且选中空⼯程。
(3)添加C++源⽂件,输⼊⽂件名。
(4)打开编辑窗⼝,输⼊程序,保存。
(5)编译运⾏程序,找到其错误位置,改正错误。
2.编写如下程序,从键盘读⼊两个整数,计算它们的和差积商,将结果输出在屏幕上。
3.编写如下程序,从键盘读⼊两个字符,并输出在屏幕上。
四、思考问题1.如何使⽤不同的数据类型。
2.如何处理输⼊输出。
3.如何查找程序中的错误?实验⼆选择结构⼀、⽬的和要求1. 掌握if ...else 及其嵌套的⽤法。
2. 掌握switch 的⽤法。
⼆、实验原理if 语句是专门⽤来实现选择结构的语句,是根据⼀个条件满⾜与否来决定是否执⾏某条语句或从两个语句中选择⼀个语句执⾏。
if-else 语句的⼀般格式为:if (表达式1) 语句1else if (表达式2)语句2……else if (表达式n )语句nelse 语句n+1当程序中有多个条件判断时,若使⽤if 语句可能使嵌套太多,降低了程序的可读性,switch 语句能很好的解决这个问题。
《程序设计基础》课程标准
《程序设计基础》课程标准课程编号:030501ZB适用专业:计算机、电子、电气课程类型:专业基础课课程性质:必修课课程学时:60 课程学分:4一、课程定位本课程是计算机、嵌入式、电子以及电气专业的一门专业基础课程,也是其它相关专业研究计算机控制以及嵌入式、物联网技术等的一门基础和工具课程。
本课程的主要任务是使学生掌握模块化、结构化编程的基本思想,学会使用C语言编制简单的应用程序,解决一般性应用问题,并有一定的上机操作及调试程序能力。
本课程的先导课程为计算机信息基础,后续课程为android、软件工程、单片机、嵌入式开发技术。
通过掌握C语言的各种语法、数组、函数、位运算等知识,为后续课程奠定语言基础。
二、课程目标1. 能力目标(1)能用C语言进行结构化的程序设计;(2)能用C语言解决一维数据的存储;(3)能用C语言解决库函数及自定义函数的调用;(4)能用C语言解决二进制数据的位运算。
2. 知识目标(1)理解模块化、结构化程序设计思想;(2)掌握C语言的数据类型、语句格式、程序设计结构等基本内容;(3)掌握C语言的数组、函数、位运算等基本内容;(4)熟悉C语言的环境和常规调试方法。
3.素质目标(1)初步具备复用性设计、模块化思维能力;(2)具有热爱科学,团队意识、创新意识和创新精神;(3)具有规范化的代码编写和文档书写习惯;(4)加强职业道德意识;三、课程内容与学时分配四、教学设计1.整体教学设计以结构化程序设计为框架,首先,以顺序结构、选择结构、循环结构为核心,突出程序设计的基本理念及技能,其次,采用项目牵引的方法,让学生理解和学习数组、函数和位运算等知识,最终的目的是使学生能应用C语言程序解决实际问题。
教学过程中,通过分组讨论、知识问答、单元测试等教学活动,课外,通过第二课堂、兴趣小组、技能培训等多种途径,并且充分开发学习资源,包括PPT、动画、在线课程等,给学生提供丰富的学习机会。
教学方法主要采用知识讲授法、引导启发法、案例教学等方法,每章配有实验课,让学生消化吸收理论知识,进一步提高编程水平。
《C程序设计》实验教案[共五篇][修改版]
第一篇:《C程序设计》实验教案《C程序设计》实验教案一、实验的目的与任务:《C程序设计》是一门实践性很强的课程。
通过实验使学生加深对课堂讲授的概念、语法、算法、编程技术的理解;熟悉C程序设计的开发环境;掌握程序设计和调试的基本技能。
并通过实践激发学生进一步学习的积极性,培养学生的学习兴趣和创新思维。
通过8个实验,使学生经过一定数量的上机训练,了解和掌握C程序设计的环境、程序的数据表示、程序的执行流程控制、程序的整体结构等C程序设计的基本概念和应用技术。
二、实验项目与要求实验一:C程序的运行环境和运行一个C程序的方法(2学时)实验性质:验证性实验一、实验目的1.了解所用的计算机系统的基本操作方法,学会独立使用该系统。
2.了解在该系统上如何编辑、编译、连接和运行一个C程序。
3.通过运行简单的C程序,初步了解C源程序的特点。
二、实验内容1.调用编辑程序,输入教材第一章习题1.1程序,并进行编译和运行。
应了解所用的系统是用什么命令进行编译和连接运行的。
编译和连接后所得到的目标程序的后缀是什么形式的?2.输入并运行教材第一章中习题1.4。
3.输入并运行教材第一章中习题1.9,了解如何在运行时向程序变量输入数据。
实验二数据类型、运算符和表达式(2学时)实验性质:验证性实验一、实验目的1.掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用格式转换符。
2.学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)1 和自减(--)运算符的使用。
3.进一步熟悉C程序的编辑、编译、连接和运行的过程。
二、实验内容1.输入并运行教材第三章例3.6.即:#include void main(){char c1,c2;c1=97;c2=98;printf(“%c %c\n”,c1,c2);printf(“%d %d\n”,c1,c2);} 在此基础上①将第二行改为:int c1,c2; 再使之运行,分析结果。
实验六参考答案
第一套1、程序填空题1)【参考答案】第一处:* 第二处:'Z' 第三处:tt2)【参考答案】第一处:char 第二处:ch<='9' 第三处:'0'2、程序改错题【参考答案】第一处:c=c-32;改为c=c+32; 第二处:c=c-5;改为c=c+5;2、程序设计题【参考答案】void fun(char *s){ int i=0;/*假如s[i]不为字符串结束符,则继续循环,否则退出循环*/while (s[i]!='\0')/*假如s[i]为大写字母Z 且在字符串中下标为奇数的位置上,则转换成小写字母z*/{ if ((s[i]=='Z') && (i%2==1))s[i]='z';/*假如s[i]为除大写字母Z 以外的字母,则直接转换成该字母的小写字母状态的下一个字母*/else if ((s[i]>='A' && s[i]<'Z') && (i%2==1))s[i]=s[i]+33;i++;}}【解题思路】将s 所指字符串中下标为奇数位置上的大写字母转换为字母序列中的下一个小写字母,若该位置上是小写字母,则不转换;若该位置上是大写字母Z,则仅转换成小写字母z。
判断字符为大写字母的方法是:判断字符的ASCII 值是否大于A小于Z。
判断下标为奇数,用i%2 等于1 来判断。
1、程序填空题1)【参考答案】第一处:n >0 第二处:n%10+'0' 第三处:str[i]= ′\0′2)【参考答案】第一处:s[i] >= ′0′ &&s[i]< = ′9′第二处:s[i]- ′0′第三处:n2、程序改错题【参考答案】第一处:if(('a'<=tt[i]) || (tt[i]<='z'))改为if(('a'< =tt[i]) && (tt[i]< ='z'))第二处:tt[i]+=32;改为tt[i]-=32;3、程序设计题【参考答案】long fun(char *p){ long n=0;攀枝花学院计算机基础教研室第1页共3页int flag=0;/*通过循环语句移动指针,取出指针所在位置上的字符*/while(*p!='\0'){ if(*p=='-') /*判断其是否为负号*/flag=1;else if (*p=='+') /*判断其是否为正号*/flag=0;else /*判断其是否为数字字符*/n=n*10+(*p-'0'); /*将数字字符转化为相应的数值*/p++;}if (flag==1) n=-n;return n;}【解题思路】通过循环语句移动指针,取出指针所在位置上的字符,先判断其为正负号还是为数字字符,如果为数字字符则将其转化为相应的数值,否则作正负标记。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6.4 实验六数组
一、实验目的与要求
1. 掌握一维数组的定义、赋值和输入输出的方法。
2. 理解一维数组的存储方法及下标的表示方法。
3. 掌握与数组有关的算法(特别是排序算法)。
4. 掌握二维数组的定义、赋值和输入输出的方法。
5. 理解二维数组的存储方法及下标的表示方法。
6. 实验4学时。
1.程序验证题与改错题
(1)程序验证题
①给定一个整型数组a,要求求出其中小于0的元素的个数。
请验证下面的程序是否
符合题目要求。
#define N 10
void main()
{
int a[N]={11,2,4,-1,5,-3,-66,0,10,-5};
int i; /*变量i用于for循环*/
int count=0; /*变量count用于技术,初始化为0*/
for (i=0;i<N;i++)
if(a[i]<0)
count++; /*如果元素a[i]<0,count计数+1*/ printf("%d\n",count);
}
符合题目要求,只需加一个头文件include<stdio.h>,即可输出其值。
#include<stdio.h>
#define N 10
void main()
{
int a[N]={11,2,4,-1,5,-3,-66,0,10,-5};
int i; /*变量i用于for循环*/
int count=0; /*变量count用于技术,初始化为0*/
for (i=0;i<N;i++)
if(a[i]>0)
count+=a[i]; /*如果元素a[i]<0,count计数+1*/
printf("%d\n",count);
}
②给定一个整型二维数组a(3,3),要求求出对角线元素的和。
请验证下面的程序是否符合题目要求。
#include <stdio.h>
#define N 3
void main()
{
int a[N][N]={{1,2,3},{4,5,6},{7,8,9}};
int i,j; /*变量i,j用于for循环*/
int sum=0; /*变量sum用于求和,初始化为0*/
for (i=0;i<N;i++)
for(j=0;j<N;j++)
if (i==j)sum+=a[i][j]; /*如果是对角线元素,sum+a[i][j]*/
printf("%d\n",sum);
return 0;
}
优化程序:
#include <stdio.h>
#define N 3
void main()
{
int a[N][N]={{1,2,3},{4,5,6},{7,8,9}};
int i,j=0; /*变量i,j用于for循环*/
int sum=0; /*变量sum用于求和,初始化为0*/ for (i=0;i<N;i++)
sum+=a[i][i];
printf("%d\n",sum);
求出数组a中反对角线元素之和。
#include <stdio.h>
#define N 3
void main()
{
int a[N][N]={{1,2,3},{4,5,6},{7,8,9}};
int i,j; /*变量i,j用于for循环*/
int sum=0; /*变量sum用于求和,初始化为0*/ for (i=0;i<N;i++)
for(j=0;j<N;j++)
if ((i+j)==2) sum+=a[i][j]; /*如果是反对角线元素,sum+a[i][j]*/
printf("%d\n",sum);
}
注1:在程序验证题①的基础上,修改程序,求出数组a中大于a[0]的元素之和。
注2:对上述程序②进行优化,消除内循环,实现同样的效果。
在②的基础上,修改程序,求出数组a中反对角线元素之和。
提示:内循环用逆序;i+j==N-1。
(2)程序改错题
2.一般编程题
编程题1:从键盘输入10个整型数据,放入数组a 中,求其最大值、最小值及其所在元素的下标位置,并输出。
#include<stdio.h>
void main()
{
int a[10];
int i,j,k,max,min;
printf("请输入十个整数:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
max=min=a[0];
for(i=0;i<10;i++)
{
if(max<a[i])
{ max=a[i];j=i;}
if(min>a[i])
{ min=a[i];k=i;}
}
printf("max:a[%d]=%d,min:a[%d]=%d\n",j,max,k,min);
}
程序提示:定义10个元素的数组,用for循环语句逐一输入数据;定义最大值变量和最小值变量,用for循环语句遍历所有数组元素,逐一比较查找最大值和最小值。
编程题2:给定一个字符数组a,要求将数组的内容倒置。
如:
执行前数组的内容为{'1','2','3','4','5','6','7','8'}
执行后数组的内容为{'8','7','6','5','4','3','2','1'}
提示:用i表示数组的第一个元素的下标;用j表示数组最后一个元素的下标。
交换a[i]和a[j],当i<=j时交换完毕。
交换一个元素后,i+1,j-1。
#include<stdio.h>
#define n 8
void main()
{
int a[n],b[n];
int i,j;
printf("请输入%d个字符:\n",n);
for(i=0;i<n;i++)
scanf("%c",&a[i]);
i=0;
for(j=0;j<n;j++)
{
b[j]=a[n-i-1];
i++;
}
for(i=0;i<n;i++)
printf("'%c'",b[i]);
printf("\n");
}
编程题4:
一个学习小组有5个人,每个人有三门课的考试成绩。
求全组分科的平均成绩和各科总平均成绩。
提示:v[3]存放所求得各分科平均成绩,设变量average 为全组各科总平均成绩。
#include<stdio.h>
void main()
{
float v[3];
int i,j;
float sum;
int a[5][3]={{80,75,92},{61,65,71},{59,63,70},{85,87,90},{76,77,85}};
for(i=0;i<3;i++)
{
sum=0;
for(j=0;j<5;j++)
sum+=a[j][i];
v[i]=sum/5.0;
}
for(i=0;i<5;i++)
{ for(j=0;j<3;j++)
printf("%-6d",a[i][j]);
printf("\n");
}
i=6;
for(j=0;j<3;j++)
printf("%-6.2f",v[j]);
printf("\n");
}。