C语言实验报告第六章

合集下载

C语言实验报告--6

C语言实验报告--6
{int max(int ,int);/*函数说明*/
int (*p)(); /*定义一个向函数的指针变量p */
int a,b,c;
p=max; /*对p赋值,使得p指向max函数*/
scanf("%d,%d",&a,&b);
c=(*p)(a,b); /*利用指向函数的指针变量p调用max函数*/
计算机科学系课程实验报告(程序设计类)
课程
名称
程序设计基础C-语言
实验
日期
2014年6月11日
实验
成绩
实验
类型
操作
实验教师签名
李彦广
姓名
学号
13039221
班级
电气1302
实验
名称
指针







目的与要求:
1、会运用指针处理一维数组与二维数组。
2、灵活运用指针处理字符串。
3、会定义指针数组,区分int *P[ 4 ]和(int *P)[ 4 ]。
(6)运行程序
3.(1)预备步骤,建立一个自己的工作目录,
(2)新建一个工程
a启动VisualC++。
b从主菜单中选择File|New将弹出新对话框。
c在新对话框中,选择工程标签,并从工程类型列表中单击win32 console application。
d在location编辑框中输入工作目录名称。
d在右边的file编辑框为文件指定一个名字。
e单击ok按钮。在文件输入内容。
3 (4)保存源文件
(5)编译
(6)运行程序
4 (1)预备步骤,建立一个自己的工作目录,

C语言实验报告《综合实验》_实验报告_

C语言实验报告《综合实验》_实验报告_

C语言实验报告《综合实验》
学号:__________ 姓名:__________ 班级:__________ 日期:__________
指导教师:__________ 成绩:__________
实验六综合实验
一、实验目的
1、掌握C语言中的变量、数组、函数、指针、结构体等主要知识点。

2、掌握C程序的结构化程序设计方法,能使用C语言开发简单的应用程序。

3、掌握C程序的运行、调试方法等。

二、实验内容
编写一个学生信息排序程序。

要求:
1、程序运行时可输入n个学生的信息和成绩(n预先定义)。

2、学生信息包括:学号、英文姓名、年龄;学生成绩包括:语文、数学、计算机。

3、给出一个排序选择列表,能够按照上述所列信息(学号、姓名、年龄、语文、数学、计算机)中的至少一个字段进行排序,并显示其结果。

1、使用函数方法定义各个模块。

三、实验步骤与过程
· · · ·
四、程序调试记录。

C语言实验报告第6章答案

C语言实验报告第6章答案

6.2基础实验一、程序分析分析以下程序段完成的功能,填写在序号后的空白处,并运行验证结果。

1. ⊙以下程序的运行结果是:_______s=12345↙____________________。

#include <stdio.h>int main( ){ inta[]={1,2,3,4,5},i,j=1,s=0;for(i=4;i>=0;i--){ s=s+a[i]*j;j=j*10;}printf(“ s= %d \n” , s );return 0;}2. 以下程序的运行结果是:_____7 5 3______________________。

#include<stdio.h>int main( ){ int k ;int a[3][3]={9,8,7,6,5,4,3,2,1};for(k=0;k<3;k++)printf(“%d ”,a[k][2-k]);return 0;}3. 以下程序的功能是:____查找最大值元素及下标_________________。

#include <stdio.h>int main( ){ int i, j ,x =0 ,y = 0 , m ;int a[3][3] = { 1, -2 , 0 , 4 , -5 , 6 , 2 , 4 };m = a [0][0] ;for (i=0 ;i < 3 ;i++)for (j = 0 ; j<3 ; j++ )if ( a[ i] [ j ] >m ){ m = a[ i ][ j ] ;x = i ;y = j ;}printf(“ ( % d , % d ) = % d \n”, x , y,m );return 0;} 运行结果:___(1 , 2 ) = 6↙_________________4. 以下程序的的运行结果是:__8,I am student!___________________。

C语言实验报告第六章

C语言实验报告第六章

实验报告课程名称_____ C语言程序设计_____实验项目___数组(2)___实验仪器______计算机___________系别_____信息与通信工程学院_______ 专业______通信工程________班级/学号_____学生姓名______ ________实验日期____2013年6月25日___成绩_______________________指导教师______李文杰_________一、实验目的1、掌握二维数组的定义。

2、掌握二维数组元素的应用。

3、掌握字符数组的定义和元素的引用。

4、掌握字符数组元素和字符串的应用。

二、实验内容1、描述输入一个字符串str和一个子串s,统计str中子串s的个数。

输入输入数据有2行,第一行为str,第二行为s,字符串长度不超过128。

输出输出子串的个数样例输入输入样例1:sdf$$$sdf$$sdf输入样例2:abcabcaaannnnbbbncabc样例输出样例输出1:2样例输出2:2提示所有的测试样例都不包含类似于下面的统计:输入:aaaabbbaaabbabaaaaaa程序代码:#include "stdio.h"char st[500],str[500];int ji;int shu1,shu2;int pd;int strl(char tt[1000]){int sum=0;while (tt[sum]!='\0')sum++;return sum;}int main(void){scanf("%s",&st);scanf("%s",&str);shu1=strl(st);shu2=strl(str);int i,j;int kk;for(i=0;i<=shu1-shu2;i++){pd=0;kk=0;for(j=i;j<i+shu2;j++){if(str[kk]!=st[j]){pd=1;break;}kk++;}if(pd==0)ji++;}printf("%d",ji);return 0;}2、描述找出具有m行n列二维数组Array的“鞍点”,即该位置上的元素在该行上最大,在该列上最小,其中1<=m,n<=10。

C语言程序实验报告--谭浩强

C语言程序实验报告--谭浩强

C语言程序设计实验报告学校:内蒙古科技大学经济与管理学院班级:信息管理与信息系统2011级姓名:王*学号:**********目录实验一C语言开发环境建立 (3)实验二C语言程序初步 (3)实验三变量与赋值 (4)实验四运算符与表达式 (5)实验五数据类型 (7)实验六控制台输入/输出 (9)实验七关系运算与逻辑运算 (11)实验八分支程序的测试与调试 (12)实验九条件型循环结构及其测试 (16)实验十计数型循环结构及其测试 (20)实验十一函数及其测试 (24)实验十二变量的储存性质 (26)实验十三数组 (30)实验十四指针 (32)实验十五结构体和共用体 (37)实验十六文件 (40)实验11、实验目的与要求(1)掌握C语言开发环境的软/硬件配置和安装方法。

(2)为了自己的方便进行工作环境配置。

(3)测试所建立的C语言程序开发环境。

2、实验测试一个简单的程序,对所建立的程序开发环境进行测试例如,可以准备一个简单的程序如下。

#include <stdio.h>int main(void){printf("I am studying programming with C.");}编译结果运行结果3.分析与预期结果相同实验21.实验目的与要求(1)进一步熟悉c语言程序设计环境。

(2)明确c语言程序的结构。

2. 程序检测与调试程序一错误程序:main()(printf("This is c program.");)调试结果:程序缺少“#include<stdio.h>”,main函数下面应该是“{}”而不是“()”。

改正后的程序:#include<stdio.h>main(){printf("This is c program.\n");}程序二错误程序:#include<stdio.h>;main(){a=3,b=5;c=a*b;printf("The product is:",c)}调试结果:“#include<stdio.h>”后面没有“;”,对变量a,b,c没有定义,“}”前缺少“;”。

c语言大实验报告

c语言大实验报告

c语言大实验报告C 语言大实验报告一、实验目的本次 C 语言大实验的主要目的是通过实际的编程项目,深入巩固和应用 C 语言的基础知识,提高编程能力和解决实际问题的能力。

具体而言,包括熟练掌握数据类型、控制结构、函数、数组、指针等核心概念,并能够运用它们构建较为复杂的程序逻辑。

二、实验要求1、完成一个具有一定规模和功能的 C 语言程序,例如学生成绩管理系统、图书管理系统等。

2、程序应具备良好的代码结构和可读性,遵循编程规范。

3、实现数据的输入、处理和输出功能,能够进行数据的存储和查询。

4、对程序进行充分的测试,确保其稳定性和正确性。

三、实验环境1、操作系统:Windows 102、编程工具:Visual Studio 2019四、实验内容本次实验我选择开发一个学生成绩管理系统,该系统能够实现学生成绩的录入、查询、修改、删除以及成绩统计分析等功能。

(一)数据结构设计为了存储学生的信息,我定义了一个结构体`Student` ,包含学生的学号、姓名、各科成绩等字段:```ctypedef struct {int id;char name50;float score3; //假设存储三门课程的成绩} Student;```同时,使用一个动态数组来存储多个学生的信息:```cStudent students;int numStudents = 0; //记录学生数量```(二)功能模块实现1、成绩录入通过循环让用户输入学生的信息,包括学号、姓名和各科成绩,并将其添加到动态数组中:```cvoid inputStudent(){Student newStudent;printf("请输入学号:");scanf("%d",&newStudentid);printf("请输入姓名:");scanf("%s", newStudentname);printf("请输入三门课程的成绩:");for (int i = 0; i < 3; i++){scanf("%f",&newStudentscorei);}students =(Student )realloc(students, (numStudents + 1) sizeof(Student));studentsnumStudents++= newStudent;}```2、成绩查询根据用户输入的学号,在动态数组中查找对应的学生信息并输出:```cvoid queryStudent(){int id;printf("请输入要查询的学号:");scanf("%d",&id);for (int i = 0; i < numStudents; i++){if (studentsiid == id) {printf("学号:%d\n", studentsiid);printf("姓名:%s\n", studentsiname);printf("成绩:");for (int j = 0; j < 3; j++){printf("%2f ", studentsiscorej);}printf("\n");return;}printf("未找到该学号的学生信息!\n");}```3、成绩修改先查询要修改的学生信息,然后让用户输入修改后的成绩:```cvoid modifyStudent(){int id;printf("请输入要修改的学号:");scanf("%d",&id);for (int i = 0; i < numStudents; i++){if (studentsiid == id) {printf("请输入修改后的三门课程成绩:");for (int j = 0; j < 3; j++){scanf("%f",&studentsiscorej);printf("修改成功!\n");return;}}printf("未找到该学号的学生信息!\n");}```4、成绩删除根据学号删除指定的学生信息,并重新调整动态数组:```cvoid deleteStudent(){int id;printf("请输入要删除的学号:");scanf("%d",&id);int found = 0;for (int i = 0; i < numStudents; i++){if (studentsiid == id) {found = 1;for (int j = i; j < numStudents 1; j++){studentsj = studentsj + 1;}numStudents;students =(Student )realloc(students, numStudents sizeof(Student));printf("删除成功!\n");return;}}if (!found) {printf("未找到该学号的学生信息!\n");}}```5、成绩统计分析计算所有学生的平均成绩,并输出最高和最低成绩:```cvoid statistics(){float totalScore = 0;float maxScore = students0score0;float minScore = students0score0;for (int i = 0; i < numStudents; i++){float sum = 0;for (int j = 0; j < 3; j++){sum += studentsiscorej;}totalScore += sum / 3;if (sum / 3 > maxScore) {maxScore = sum / 3;}if (sum / 3 < minScore) {minScore = sum / 3;}}printf("平均成绩:%2f\n", totalScore / numStudents);printf("最高成绩:%2f\n", maxScore);printf("最低成绩:%2f\n", minScore);}```(三)主函数在主函数中,通过菜单的方式让用户选择要执行的操作:```cint main(){int choice;while (1) {printf("1、录入成绩\n");printf("2、查询成绩\n");printf("3、修改成绩\n");printf("4、删除成绩\n");printf("5、成绩统计分析\n");printf("6、退出\n");printf("请选择操作:");scanf("%d",&choice);switch (choice) {case 1:inputStudent();break;case 2:queryStudent();break;case 3:modifyStudent();break;case 4:deleteStudent();break;case 5:statistics();break;case 6:free(students);return 0;default:printf("无效的选择,请重新输入!\n");}}return 0;}```五、实验结果经过多次测试,本系统能够稳定运行,实现了预期的各项功能。

(完整版)c实验报告

(完整版)c实验报告

(完整版)c实验报告实验名称: C语言实验报告实验内容:本次实验主要针对C语言编程进行实验。

通过实验的设计和完成,检验和加深对C语言的理解和应用能力。

实验步骤:1. 实验准备在开始实验之前,需要准备好以下必要的工具和材料:- 计算机- C语言编译器(比如GCC、Clang等)- 文本编辑器(比如Notepad++、Sublime Text等)2. 实验环境搭建在计算机上安装C语言编译器,并配置好相应的环境变量。

这样可以在终端或命令提示符中执行相关的C程序。

3. 编写实验代码根据实验要求,使用文本编辑器编写C语言代码。

根据实验的要求和功能需求,合理设计和组织代码结构,包括头文件的引用、变量的定义、函数的声明和定义等。

4. 编译和运行代码在命令行或终端中使用编译器对编写好的C语言代码进行编译,并生成可执行文件。

编译命令的具体格式根据不同的编译器而有所差异,但一般形式如下:```gcc -o output_file input_file.c```其中,"output_file"表示生成的可执行文件名,"input_file.c"表示待编译的C源代码文件名。

编译成功后,通过命令行或终端执行生成的可执行文件,检查程序的运行结果是否符合预期。

5. 实验结果分析根据实际运行结果,对实验数据进行分析和归纳。

可以通过输出结果、打印特定信息或观察程序的行为来判断程序是否正确地实现了预期的功能。

6. 实验总结在实验报告中对本次实验的过程、方法、结果进行总结,并提出实验中遇到的问题和解决方法。

同时,对所学习的C语言相关知识点进行总结和归纳,以加深对相关知识的理解和记忆。

实验结果:通过本次实验的设计和实现,我成功完成了对C语言编程的实验,达到了预期的目标。

通过编写实际的代码,我巩固了对C语言语法和基本概念的理解。

在实验过程中,我遇到了一些问题,通过查阅资料和与同学的讨论,我成功解决了这些问题。

C语言程序设计实验报告——实验六

C语言程序设计实验报告——实验六
实验心得
c=add(a,b);
printf("sum is %f\n",c);
}
float add(float x,float y)
{
float z;
z=x+y;
return(z);
}
2.调试运行以下程序,分析调用函数前后程序中变量a和b的值是否发生改变?为什么?
void main( )
{
int a=3,b=6;
/*04*/ {
/*05*/ int a=14, b=15, temp;
/*06*/ temp=a/b;
/*07*/ #ifdef DEBUG
/*08*/ printf("a=%d, b=%d \n", a, b);
/*09*/ #endif
/*10*/ printf("temp =%d \n", temp);
#include <stdio.h>
#define NL printf("\n")
#define PRINT(F,V) printf("V=%F\t",V)
#define PRINT1(F,X1) PRINT(F,X1);NL
#define PRINT2(F,X1,X2) PRINT(F,X1);PRINT(F,X2);NL
main( )
{
int a,b,c,d;
float e,f,g,h;
long i,j;
char n,m;
a=1;b=2;c=3;d=4;e=1.5;f=2.5;g=3.5;h=4.5;
i=10;j=100;n='x';m='y';

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语言程序设计》实验报告实验六

《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语言实验报告(精选9篇)

C语言实验报告(精选9篇)

C语言实验报告C语言实验报告(精选9篇)在经济发展迅速的今天,我们都不可避免地要接触到报告,通常情况下,报告的内容含量大、篇幅较长。

写起报告来就毫无头绪?下面是小编帮大家整理的C语言实验报告,欢迎阅读与收藏。

C语言实验报告1在这个星期里,我们在专业老师的带领下进行了c语言程序实践学习。

在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,更多的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。

由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。

上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。

对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。

学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。

因为学时所限,课程不能安排过多的统一上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c语言开发程序的能力,为今后的继续学习打下一个良好的基础。

个人认为课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面:1、加深对课堂讲授内容的理解课堂上要讲授许多关于c语言的语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。

然而要使用c语言这个工具解决实际问题,又必须掌握它。

通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c 语言的语法规定。

对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的实践所致。

学习c语言不能停留在学习它的语法规则,而是利用学到的知识编写c语言程序,解决实际问题。

C语言程序设计实验六函数答案《西北民大电气学院》

C语言程序设计实验六函数答案《西北民大电气学院》

实验六函数一,实验目的:1,掌握定义函数的方法.2,掌握函数实参与形参的对应关系,以及"值传递"的方式.3,掌握函数的嵌套调用和递归调用的方法.4,掌握全局变量和局部变量动态变量,静态变量的概念和使用方法.二,实验准备:1,复习函数调用的基本理论知识.2,复习函数的嵌套调用和递归调用的方法.3,复习全局变量,局部变量;静态变量,动态变量;外部变量等概念和具体使用. 4,源程序.三,实验步骤及内容:1,运行程序并回答问题(1)程序main(){ play(3);}void print_star(){ printf("* * * * * * * * * *\n")}void print_message(){ printf("Good Friend! \n");}void play(n)int n;{ int i;for(i=1;i<=n;++i){ print_star();print_message();}}问题:运行后出现什么错误为什么应如何修改请上机调试.修改:main(){ play(3);}void print_star(){ printf("* * * * * * * * * *\n");(缺少分号)}void print_message(){ printf("Good Friend! \n");}play(n)(原先void的与声明类型不同)int n;{ int i;for(i=1;i<=n;++i){ print_star();print_message();}getch();}运行结果(2)以下程序用于计算1+2+3+4+5.main(){ int i,sum;for(i=1;i<=5;++i)sum=add(i);printf("sum=%d\n",sum);getch();}add (a)int a;{static int s=0;s=s+a;return(s);}运行结果:问题:此程序能否得到正确结果为什么请在不增加语句的条件下,修改程序并上机调试.(3)程序int x=567,y=890;main(){ printf("x=%d,y=%d\n",x,y);}运行结果:问题:运行程序后出现什么错误为什么如何修改答:定义位置出错,y的定义在主函数之后了,将y的定义改在和x一样的位置处。

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

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

《C语言程序设计》实验报告2012~2013学年第二学期班级姓名学号指导教师实验一实验项目名称:C程序的运行环境和运行C程序的方法所使用的工具软件及环境:Visual C++ 6.0一、实验目的:1.了解在Visual C++ 6.0环境下如何编辑、编译、连接和运行一个C程序;2.通过运行简单的C程序,初步了解C源程序的特点。

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

三、实验内容:1. 在Visual C++ 6.0环境下输入并运行下面的程序:#include <stdio.h>int main( ){printf("This is a C program.\n");return 0;}2. 在Visual C++ 6.0环境下输入下面的程序(有语法错误),编译、连接、调试该程序,直至程序无语法错误,然后运行程序,并观察分析运行结果。

#include <stdio.h>int main( ){int a,b,suma=3;b=4;sun=a+b;print(“%d+%d=%d\n”,a,b,sum);return 0;}四、实验结果:1. 运行结果(或截图):2. (1) 改正后的源程序:(2) 运行结果(或截图):五、思考题:1. 一个C程序上机的步骤有哪些?答:2. 组成C程序的基本单位是函数,一个函数包括哪几个部分?答:成绩指导教师签名实验二实验项目名称:数据类型、运算符和表达式所使用的工具软件及环境:Visual C++ 6.0一、实验目的:1.掌握整型、实型与字符型这三种基本类型的概念;2.掌握常量及变量的使用方法;3. 掌握基本算术运算符及其表达式的使用方法;4. 掌握++、--运算符、赋值运算符及其表达式的使用方法。

二、预习内容:教材《C语言程序设计教程》第2章。

三、实验内容:1. 在Visual C++ 6.0环境下输入下面的程序,编译、连接、调试该程序。

C语言实验报告

C语言实验报告

目录实验一熟悉C开发环境和C程序的上机步骤实验二基本数据类型及数据的输入输出实验三运算符及表达式实验四顺序结构程序设计实验五选择结构程序设计实验六循环结构程序设计实验七数组及其应用实验八函数及其应用实验九指针及其应用实验(一)熟悉C开发环境和C程序的上机步骤实验时间:2012.4.2同组人员:实验目的:1.了解Turbo C++3.0编译系统,熟悉各菜单的功能,掌握在该系统上的编辑,编译,连接和运行一个C程序的方法。

2.通过调试,运行简单的C程序,初步了解C语言源程序的特点。

实验内容1.编写一个C程序,求一个圆的面积。

2.编写程序求任意三个数中的最大值。

实验步骤实验1:1.首先,求一个圆的面积,必须有一个常量3.14和一个变量半径r。

2.其次,要对定义的变量及常量一个数据类型int。

3.再利用公式s=3.14*r*r就可以求出所要求的圆的面积s。

#include<stdio.h>void main(){int r,s;scanf("%d",&r) ;s=3.14*r*r;printf("%d\n",s);}实验2:1.首先确定要输入的数的数据类型int。

2.其次,要针对不同的数作具体分析,要考虑到每一种情况,利用与的逻辑运算符对不同的情况作分析,例如当x>y&&Y>z时与x>z&&Z>y时的比较,此时最大的值都是x。

3.最后可以根据比较的过程输出需要的结果。

4.在输入的时候,只需输入三个符合规定的字符。

然后enter就可以比较出结果了。

#include<stdio.h>void main(){int x, y ,z,c ;scanf("%d,%d,%d",&x,&y,&z);if (x>y&&y>z)c=x;if (y>x&&x>z)c=y;if (z>x&&x>y)c=z;if (x>z&&z>y)c=x;if (y>z&&z>x)c=y;if (z>y&&y>x)c=z;printf ("%d\n",c);}实验结果分析实验1:求圆的面积分析:1.在数据类型上的选择问题要注意,若定义的是整型int,则输出的时候格式符也必须是%d。

c语言程序设计 实验报告

c语言程序设计 实验报告

c语言程序设计实验报告C语言程序设计实验报告引言:C语言是一种广泛应用于软件开发领域的高级编程语言,具有结构化、高效、可移植等特点。

本实验报告将介绍我在C语言程序设计实验中所进行的实验内容和实验结果。

实验一:基本语法和数据类型在这个实验中,我学习了C语言的基本语法和数据类型。

通过编写简单的程序,我熟悉了C语言的语法规则和程序结构。

同时,我还了解了C语言中的数据类型,包括整型、浮点型、字符型等,并学会了如何声明和使用这些数据类型。

实验二:控制结构在这个实验中,我学习了C语言的控制结构,包括顺序结构、分支结构和循环结构。

通过编写不同类型的程序,我掌握了C语言中if语句、switch语句和for、while、do-while循环的使用方法。

这些控制结构为程序的流程控制提供了灵活的方式,使程序能够根据不同的条件执行不同的操作。

实验三:数组和字符串在这个实验中,我学习了C语言中的数组和字符串。

通过编写数组和字符串相关的程序,我了解了如何声明和使用数组,以及如何进行数组的遍历、排序和查找等操作。

同时,我还学会了如何声明和操作字符串,包括字符串的输入输出、拼接和比较等。

实验四:函数和指针在这个实验中,我学习了C语言中的函数和指针。

函数是C语言中的重要概念,通过函数可以将程序划分为多个模块,提高代码的可读性和可维护性。

我掌握了函数的声明和定义方法,以及函数的调用和参数传递方式。

同时,我还学会了如何声明和使用指针,包括指针的定义、指针的运算和指针的传递等。

实验五:文件操作在这个实验中,我学习了C语言中的文件操作。

通过编写文件读写相关的程序,我了解了如何打开和关闭文件,以及如何进行文件的读写操作。

我还学会了如何使用文件指针进行文件的定位和读写位置的移动。

实验六:结构体和链表在这个实验中,我学习了C语言中的结构体和链表。

结构体是一种自定义的数据类型,可以将不同类型的数据组合在一起形成一个新的类型。

通过编写结构体和链表相关的程序,我了解了如何声明和使用结构体,以及如何创建和操作链表。

C语言实验六实验报告—指针

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语言的理解。

二、实验一:Hello World!在学习任何一门编程语言时,第一个示例程序往往是输出"Hello World!"。

这个简单的程序虽然看似微不足道,却能够帮助初学者了解基本的编译和运行过程。

在实验中,我使用了C语言的基本语法,编写了一个简单的Hello World程序,并成功地将其编译并运行。

这个小小的成就让我对C语言有了初步的认识和信心。

三、实验二:计算器程序为了更深入地理解C语言的数据类型和运算符,我决定编写一个简单的计算器程序。

这个程序可以实现基础的四则运算和一些简单的数学函数,如平方根和求幂等。

通过这个实验,我学会了如何使用变量、条件语句和循环结构来实现计算功能,并通过不断调试和修改,使程序更加健壮和高效。

四、实验三:数组与排序数组是C语言中非常重要的概念,在实验三中,我探索了数组的用法和特性,并将其应用于一个排序算法中。

我选择了冒泡排序作为实验的排序算法,通过比较相邻元素的大小并不断交换位置,最终将数组中的元素按照升序排列。

这个实验使我更加熟悉了数组的操作,也加深了我对算法思想和效率的理解。

五、实验四:文件操作在现实世界中,大部分的应用程序需要与文件进行交互。

为了学习如何使用C语言进行文件操作,我进行了实验四。

在这个实验中,我编写了一个小程序,能够读取一个文本文件的内容,统计其中不同字符的数量,并将结果输出到另一个文件。

通过这个实验,我了解了如何打开、关闭和读写文件,也学习了异常处理以及文件操作的一些注意事项。

六、实验五:数据结构和指针C语言提供了指针的机制,允许直接访问和操纵内存中的数据。

为了更深入地理解指针和数据结构之间的关系,我进行了实验五。

C语言实验报告

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 语句能很好的解决这个问题。

C语言程序设计实验报告范文c语言程序设计实验报告书

C语言程序设计实验报告范文c语言程序设计实验报告书

C语言程序设计实验报告范文c语言程序设计实验报告书c语言程序设计实验报告篇一一、实验目的:1、掌握C语言的`数据类型和变量的声明。

2、掌握不同类型数据之间赋值的规律。

3、掌握C语言的运算符和表达式的使用。

4、熟悉C程序的编辑、编译、连接和运行的过程。

二、实验内容:①输人程序: includevoid main() { int a, b; float d,e; charc1,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.;g=0.; m=50000;n=-60000;p=32768;q=40000; printf("a=%d,b=%d c1=%c,c2=%c d=%6.2f,e=%6.2f ",a,b,c1,c2,d,e); printf("f=%15.6f,g=%15.6f m=%ld,n=%ld p=%u,q=%u ",f,g,m,n,p,q); }②运行此程序并分析结果按习题4. 8要求编写程序题目为: 设圆半径r=l. 5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。

用scanf输人数据,输出计算结果口输出时要有文字说明,取小数点后两位数字。

程序:三、实验步骤:①输人程序:includevoid 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.;g=0.; m=50000;n=-60000; p=32768;q=40000; printf("a=%d,b=%dc1=%c,c2=%c d=%6.2f,e=%6.2f ",a,b,c1,c2,d,e); printf("f=%15.6f,g=%15.6f m=%ld,n=%ld p=%u,q=%u ",f,g,m,n,p,q); }②运行此程序并分析结果。

c语言实验报告实验

c语言实验报告实验

c语言实验报告实验C 语言实验报告实验一、实验目的本次 C 语言实验的主要目的是通过实际编程操作,加深对 C 语言基本语法、数据类型、控制结构、函数等知识的理解和运用,提高编程能力和解决实际问题的能力。

二、实验环境操作系统:Windows 10编译器:DevC++ 511三、实验内容(一)基本数据类型与运算1、定义不同类型的变量,如整型(int)、浮点型(float、double)、字符型(char)等,并进行赋值和基本运算。

2、观察不同数据类型在内存中的存储方式和取值范围。

(二)控制结构1、编写使用 ifelse 语句实现条件判断的程序,根据输入的数值输出不同的结果。

2、运用 for 循环和 while 循环结构,实现计算指定范围内的整数和、平均值等。

(三)数组与字符串1、定义数组并进行初始化,实现数组元素的遍历和操作。

2、处理字符串的输入、输出和基本操作,如字符串的连接、比较等。

(四)函数1、定义和调用自定义函数,实现特定功能,如计算阶乘、判断素数等。

2、理解函数的参数传递方式(值传递和地址传递)。

四、实验步骤及代码实现(一)基本数据类型与运算```cinclude <stdioh>int main(){int num1 = 10;float num2 = 314;char ch ='A';printf("整型变量 num1 的值为:%d\n", num1);printf("浮点型变量 num2 的值为:%f\n", num2);printf("字符型变量 ch 的值为:%c\n", ch);int sum = num1 +(int)num2;printf("num1 和num2 的和(强制转换为整型)为:%d\n",sum);return 0;}```(二)控制结构1、 ifelse 语句```cinclude <stdioh>int main(){int num = 5;if (num > 10) {printf("数字大于 10\n");} else {printf("数字小于或等于 10\n");}return 0;}```2、 for 循环```cinclude <stdioh>int main(){int sum = 0;for (int i = 1; i <= 10; i++){sum += i;}printf("1 到 10 的整数和为:%d\n", sum);return 0;}```3、 while 循环```cinclude <stdioh>int main(){int num = 1;int product = 1;while (num <= 5) {product = num;num++;}printf("1 到 5 的乘积为:%d\n", product);return 0;}```(三)数组与字符串1、数组```cinclude <stdioh>int main(){int arr ={1, 2, 3, 4, 5};for (int i = 0; i < 5; i++){printf("数组元素 arr%d 的值为:%d\n", i, arri);}return 0;}```2、字符串```cinclude <stdioh>include <stringh>int main(){char str1 ="Hello, ";char str2 ="World!";char str320;strcpy(str3, str1);strcat(str3, str2);printf("连接后的字符串为:%s\n", str3);int result = strcmp(str1, str2);if (result == 0) {printf("两个字符串相等\n");} else if (result < 0) {printf("str1 小于 str2\n");} else {printf("str1 大于 str2\n");}return 0;}```(四)函数1、计算阶乘```cinclude <stdioh>int factorial(int n) {if (n == 0 || n == 1) {return 1;} else {return n factorial(n 1);}}int main(){int num = 5;int fact = factorial(num);printf("%d 的阶乘为:%d\n", num, fact);return 0;}```2、判断素数```cinclude <stdioh>int isPrime(int n) {if (n <= 1) {}for (int i = 2; i i <= n; i++){if (n % i == 0) {return 0;}}return 1;}int main(){int num = 7;if (isPrime(num)){printf("%d 是素数\n", num);} else {printf("%d 不是素数\n", num);}return 0;}五、实验结果与分析(一)基本数据类型与运算程序运行结果符合预期,不同数据类型的变量能够正确存储和运算,对浮点型数据的强制类型转换也能得到正确的结果。

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

实验报告课程名称_____ C语言程序设计_____实验项目___数组(2)___实验仪器______计算机___________系别_____信息与通信工程学院_______ 专业______通信工程________班级/学号_____学生姓名______ ________实验日期____2013年6月25日___成绩_______________________指导教师______李文杰_________一、实验目的1、掌握二维数组的定义。

2、掌握二维数组元素的应用。

3、掌握字符数组的定义和元素的引用。

4、掌握字符数组元素和字符串的应用。

二、实验内容1、描述输入一个字符串str和一个子串s,统计str中子串s的个数。

输入输入数据有2行,第一行为str,第二行为s,字符串长度不超过128。

输出输出子串的个数样例输入输入样例1:sdf$$$sdf$$sdf输入样例2:abcabcaaannnnbbbncabc样例输出样例输出1:2样例输出2:2提示所有的测试样例都不包含类似于下面的统计:输入:aaaabbbaaabbabaaaaaa程序代码:#include "stdio.h"char st[500],str[500];int ji;int shu1,shu2;int pd;int strl(char tt[1000]){int sum=0;while (tt[sum]!='\0')sum++;return sum;}int main(void){scanf("%s",&st);scanf("%s",&str);shu1=strl(st);shu2=strl(str);int i,j;int kk;for(i=0;i<=shu1-shu2;i++){pd=0;kk=0;for(j=i;j<i+shu2;j++){if(str[kk]!=st[j]){pd=1;break;}kk++;}if(pd==0)ji++;}printf("%d",ji);return 0;}2、描述找出具有m行n列二维数组Array的“鞍点”,即该位置上的元素在该行上最大,在该列上最小,其中1<=m,n<=10。

输入输入数据有多行,第一行有两个数m和n,下面有m行,每行有n个数。

输出按下列格式输出鞍点:Array[i][j]=x其中x代表鞍点,i和j为鞍点所在的数组行和列下标,我们规定数组下标从0开始。

一个二维数组并不一定存在鞍点,此时请输出None 我们保证不会出现两个鞍点的情况,比如:3 31 2 31 2 33 6 8样例输入3 31 2 34 5 67 8 9样例输出Array[0][2]=3提示输出全为英文字符,记得输出完后的换行哟。

程序代码:#include "stdio.h"int main(){int i,j,a[10] [10],m,n,c,max;scanf("%d%d",&m,&n);for(i=0;i<m;i++)for(j=0;j<n;j++)scanf("%d",&a[i][j]);for(i=0;i<m;i++){c=0;for(j=0;j<n;j++)if(a[i][c]<a[i][j])c=j;for(j=0;j<m;j++)if(a[j][c]<a[i][c])break;if(j==m){printf("Array[%d][%d]=%d\n",i,c,a[i][c]);break;}}if(i==m)printf("None\n");return 0;}3、描述求给定的方阵主对角线和副对角线元素之和。

输入有若干行,第一行为一个整数n(2<=n<=10),后跟n行,每行有n个整数。

输出n x n的方阵对角线元素之和。

样例输入31 2 34 5 67 8 9样例输出主对角线=15副对角线=15提示注意结果输出后要换行。

程序代码:#include "stdio.h"int main(){int i,j,a[10] [10],n,s1=0,s2=0;scanf("%d",&n);for(i=0;i<n;i++)for(j=0;j<n;j++)scanf("%d",&a[i] [j]);for(i=0;i<n;i++){s1+=a[i] [i];s2+=a[i] [n-1-i];}printf("Ö÷¶Ô½ÇÏß=%d\n¸±¶Ô½ÇÏß=%d\n",s1,s2);return 0;}4、描述根据要求输出若干行杨辉三角形。

输入一个整数n(3<=n<=10)。

输出杨辉三角形的前n行。

样例输入5样例输出11 11 2 11 3 3 11 4 6 4 1提示注意所有数据后有一个空格,包括每行最后一个数据。

程序代码:#include "stdio.h"int main(){int i,j,a[10] [10]={{1},{1,1}},n;scanf("%d",&n);for(i=2;i<n;i++){a[i] [0]=1;a[i] [i]=1;for(j=1;j<i;j++)a[i][j]=a[i-1][j-1]+a[i-1][j];}for(i=0;i<n;i++){for(j=0;j<=i;j++)printf("%d ",a[i][j]);printf("\n");}return 0;}5、描述大家都是C语言的高手,一定对C语言的标识符规定非常熟悉,现给你一个任务,要求你对小明写的若干个C标识符检验是否合法(不考虑长度限制)。

你是在完成C的编译任务哟。

输入有若干行,第一行为一个整数N(VC++6.0 int范围),接着是N行,每行为长度不超过8个字符的一个字符串,表示小明写的一个标识符。

输出有N行,顺序对应于输入的N行标识符,若小明写的标识符合法,则输出“合法!”,否则,输出“不合法!”样例输入63you_678abcaa%bChina N1样例输出不合法!合法!合法!合法!不合法!不合法!提示输出的都为中文字符,第一行数字后的回车符应该舍弃。

程序代码:#include <stdio.h>#include <string.h>int main(){char c[100][9];int n,i,p,k=1;scanf("%d",&n);getchar();for(p=1;p<=n;p++){scanf("%s",c[p]);}for(p=1;p<=n;p++){k=1;if(c[p][0]!='_'&&!(c[p][0]>='a'&&c[p][0]<='z')&&!(c[p][0]>='A'&&c[p][ 0]<='Z'))k=0;else for(i=1;c[p][i]!='\0';i++){if(!(c[p][i]>='a'&&c[p][i]<='z')&&!(c[p][i]>='A'&&c[p][i]<='Z')&&!(c[ p][i]>='0'&&c[p][i]<='9')&&c[p][i]!='_'){k=0;break;}}if(k==1)printf("ºÏ·¨£¡\n");if(k==0)printf("²»ºÏ·¨£¡\n");}return 0;}6、描述为了促进本校学生在计算机软件基本算法、编码等相关理论知识与技术方法方面学习的主动性、创造性和自觉性,提高我校在高校排行榜中的排名,我们准备在北京信息科技大学C语言基本技能大赛的基础上,开始组建和选拔代表我校参加地区及全球ACM/ICPC的代表队,现在广泛征集队伍报名。

本次报名,要求以队伍为单位报名,每队人数1-3人。

队名第一个字符只能是大小写字母,长度不能小于3,也不能大于20。

同时规定一支队伍里全部队员都是女生的定义为女生队,每个队伍所有成员必须在C语言基本技能比赛中AC过3(含)道题以上。

现在,组委会手里已经有了全校所有报名队伍的学生的信息(姓名、性别、C基本技能大赛AC数量),报名队伍要经过身份确认才能注册通过。

然而,一支队伍一支队伍的手工进行确认实在太麻烦,因此,组委会希望你能帮助编写一个注册认证程序,告诉他们哪些队伍通过了注册认证。

输入由若干组构成,我们保证输入的队名和姓名都是英文字符。

每组首先是由一个字符串s和空格隔开的一个整数n开始,字符串代表队名(保证输入的队名不超过20个字符),整数代表人数n(0<n<=20)。

接下来是n行,每行分别由一个表示队伍中成员姓名的字符串和一个表示成员性别的大写字母(M表示男,F表示女)及一个表示在C语言基本技能大赛中AC数量的正整数组成,各项之间有一个空格。

最后一组队伍的队名为END,人数为0表示输入结束,且不用处理。

输出首先按照输入顺序输出所有对应输入队伍是否合格的信息,分以下情况:注册信息正确的队伍,输出格式为:实际队名合格!每队一行。

如果是女队,在实际队名后加上[F]注册信息不正确的队伍,输出格式为:实际队名队名不合要求!或者:实际队名队伍人数不合要求!或者:实际队名队有人成绩不合格!最后是两个用一个空格隔开的整数T和F,表示通过报名的队伍总数和通过报名的女队数目。

相关文档
最新文档