C语言程序设计基础实验报告8

合集下载

C语言程序设计实验报告(实验大纲+过程)

C语言程序设计实验报告(实验大纲+过程)

C语言程序设计实验报告(实验大纲+过程)C语言程序设计实验报告(实验大纲+过程)一、实验目的本实验旨在通过实际的C语言程序设计任务,培养学生的编程思维、动手能力,加深对C语言程序设计的理解和掌握。

二、实验内容1. 实验环境的搭建在计算机上安装C语言编程环境,如C语言编译器。

2. 实验材料准备根据给定的实验题目和要求,准备相应的实验材料,包括输入输出测试数据、参考文档等。

3. 实验任务根据实验题目,编写C语言程序,实现特定的功能要求。

程序需包括输入部分、处理部分和输出部分。

4. 程序调试与测试对编写完成的程序进行调试,确保程序的正确性。

使用多组测试数据进行测试,验证程序的功能是否符合要求。

5. 实验总结与思考对实验过程中遇到的问题进行总结,并提出改进建议。

思考课程的重点和关键,深化对C语言程序设计的理解。

三、实验步骤1. 实验环境的搭建在计算机上下载并安装C语言编译器,如Dev-C++或Code::Blocks等。

2. 实验材料准备根据实验题目要求,准备好实验所需的输入测试数据和输出要求。

3. 编写C语言程序根据实验题目,使用C语言编写程序。

在程序的开头部分添加必要的注释,说明程序的功能和使用方法。

4. 程序调试与测试编译并运行程序,查看是否存在语法错误。

使用给定的测试数据,验证程序的输出是否符合要求。

5. 实验总结与思考对实验过程中遇到的问题进行总结,并提出改进建议。

思考课程的重点和关键,深化对C语言程序设计的理解。

四、实验结果与分析根据实验题目要求,给出实验编写的C语言程序的详细代码,并解释程序的设计思路和实现方法。

同时,给出实验所得的输出结果,并分析结果是否符合预期。

五、实验心得体会通过完成本次实验,我对C语言程序设计的基本语法和思维方式有了更深入的理解。

在编写程序的过程中,我遇到了一些问题,但通过不断尝试和调试,最终顺利完成了实验任务。

在今后的学习中,我将进一步加强对C语言的理解和应用能力,提高程序设计的质量和效率。

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语言程序设计》实验报告学院:专业:学号:姓名:成绩:课程代码: 2001301指导教师:实验中心:电气信息专业试验中心日期:目录实验总体要求实验一………………………………………………C语言的运行环境和运行过程实验二………………………………………………数据类型、运算符与表达式实验三………………………………………………程序结构(顺序、选择和循环) 实验四………………………………………………数组实验五………………………………………………函数实验六………………………………………………指针实验七………………………………………………结构体实验八………………………………………………类和对象实验总体要求C语言程序设计课程是一门实践性很强的课程,为了培养学生的计算机应用能力,除了课堂理论教学外,必须加强程序设计课程实验的教学环节。

1、课程实验教学目的通过C语言程序设计的课程实验教学,学生应具有使用计算机解决相关问题的能力,同时为学生今后学习其他计算机应用课程打下良好的程序设计基础。

⑴分析问题和解决问题能力的训练课程实验教学将课本上的理论知识和实际应用有机地结合起来,达到训练学生分析问题解决实际问题的能力,提高学生应用计算机知识开发应用系统的综合能力。

⑵逻辑思维能力的训练通过课程实验教学,使学生正确地掌握C语言的基本知识,较好掌握基本的程序算法,以及描述方法。

培养学生在程序设计解题思路、算法的描述、编程构思等方面的计算机逻辑思维能力。

⑶程序设计技能的训练通过C语言环境下的应用实例,训练学生编写程序的能力,掌握编程的思路和方法,掌握结构化程序设计的基本概念和基本技能。

通过课程实验教学,使学生掌握C程序设计语言的语法规则,数据结构的应用,掌握算法描述及相应代码描述,掌握结构化程序设计的基本方法,能熟练编写一般的应用程序。

2、课程实验教学要求⑴要求通过解题、程序设计和上机实践,加深对所学概念的理解,提倡理论与实践相结合的学习方法。

C语言作业(实验报告

C语言作业(实验报告

《程序设计基础》(c语言)实践报告专业: 计算机科学与技术班级: 信息大类1303姓名: 蒋国辉学号: 1130299090教师:《程序设计基础》(c语言)课程组教师寄语课程简介《程序设计基础》是计算机相关专业的专业基础课,其目的是为了培养学生程序设计的技能,使学生掌握程序设计的基本思想和方法,培养学生用计算机解决实际问题的能力。

该课程是后续理论和实践教学的基础和重要工具,将直接影响到专业兴趣的培养,后续专业课程教学内容的实施。

课程内容本课程教学的主要内容包括:1、程序与程序设计的基本概念;算法与算法的表示;结构化程序设计方法等。

2、C语言的基本组成,C程序的基本结构;C程序的上机过程;C语言的数据类型和各类运算规则。

3、顺序程序设计;选择结构程序设计;循环控制;函数;指针;结构体和文件等。

4、C程序的模块化结构;函数的定义与调用,包括函数的递归调用;变量存储属性;工程文件的建立和使用;编译预处理;库函数简介;文件的概念;文件的建立、打开与关闭;各种文件的读写方法。

补充说明1、本课程作为一种与计算机“沟通”的语言工具,在某种程度上讲,和普通话、英语有一些类似。

对初学者而言,最好的学习方式就是在基本的语法规则框架下,不断的模仿和重复训练,最畏惧和担心的就是灵活与多变。

只有不畏惧,才能敢模仿,敢写、敢调试。

才能避免掉入语法漩涡止步不前。

2、课程共设8个单元,对于每个单元的实践内容,按照基础训练和差异化训练相结合的思想,设置了多道编程题目,同学们在每个单元可以根据实际情况,可选做3道,鼓励在有精力的情况下尽可能多练习。

3、课程的源码可以手写也可以打印出来粘贴,对程序运行结果打印粘贴。

4、单元内容即是平时基本功的训练,也可当做理论考试的复习。

实验1 顺序结构程序设计一、实验目的1. 熟悉C语言的编程环境,掌握C程序运行的一般步骤;2. 掌握C语言中数据的输入输出方法,常用输入/输出函数的使用;3. 掌握顺序结构程序设计方法,能编写简单的C程序;二、实验内容1、编写程序,输入一个四位数,打印输出其个位数、十位数、百位数和千位数。

《C语言程序设计》实验报告

《C语言程序设计》实验报告

(此文档为word格式,下载后您可任意编辑修改!)《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.(){printf("This is a C program.\n");return0;}2.在Visual C++6.0环境下输入下面的程序(有语法错误),编译、连接、调试该程序,直至程序无语法错误,然后运行程序,并观察分析运行结果。

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

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

三、实验内容:1.在Visual C++6.0环境下输入下面的程序(有语法错误),编译、连接、调试该程序,直至程序无语法错误。

#include<stdio.(){int2cd=3;floatπ=3.14;char for=′A′;printf("%d,%f,%c\n",2cd,π,for);return0;}2.在Visual C++6.0环境下输入并运行下面的程序,观察分析运行结果。

程序设计基础(C语言)实验报告

程序设计基础(C语言)实验报告

程序设计基础(C语言)实验报告课程名称:程序设计基础(C语言)姓名:学号:年级:专业:指导教师:实验地点:目录实验一顺序结构程序设计实验二选择结构程序设计实验三循环结构程序设计实验四数组及其应用实验五函数及其应用实验六指针及其应用实验(一)顺序结构程序设计一、实验目的1.掌握顺序结构程序的设计思想,领会顺序结构的程序执行时顺次执行的特点。

2.掌握赋值语句的特点、功能。

3.掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。

4.掌握编写程序和调试程序的方法。

二、实验内容及要求1.用下面的scanf函数输入数据使a=3,b=7,x=8.5,y=71.82,c1=’A’,c2=’a’。

#include <stdio.h>int main(){int a,b;float x,y;char c1,c2;scanf("a=%db=%d",&a,&b);scanf("%f%e",&x,&y);scanf("%c%c",&c1,&c2);printf("a=%d,b=%d,x=%.1f,y=%.2f,c1=%c,c2=%c\n",a,b,x,y,c1,c2);return 0;}运行时分别按以下方式输入数据,观察输出结果,分析原因(□表示空格,↙表示回车)。

(1)a=3,b=7,x=8.5,y=71.82,A,a↙(2)a=3□b=7□x=8.5□y=71.82□A□a↙(3)a=3□b=7□8.5□71.82□A□a↙(4)a=3□b=7□8.5□71.82Aa↙(5)3□7□8.5□71.82Aa↙(6)a=3□b=7↙8.5□71.82↙A↙a↙(7)a=3□b=7↙8.5□71.82↙Aa↙(8)a=3□b=7↙8.5□71.82Aa↙通过此题,总结输入数据的规律和容易出错的地方。

实验报告

实验报告

C语言程序设计实验报告1实验目的(1)熟练掌握scanf()/print()库函数的调用格式,正确使用各种格式转换控制副,掌握各种数据的输出输入方法;2(2)掌握getchar()/putchar()库函数的调用格式,以及使用它们进行字符类型数据输出输入的方法。

实验内容(2)输入并运行下面程序:#include<stdio.h>main(){int a,b,c;scanf("%d%d",&a,&b);c=a/b;printf("%d\n",c);}要求:调试通过后,运行该程序。

○1输入值:50 4<回车>,查看并运行结果;○2输入值:50.4 10.8<回车>,查看运行结果;○3输入值:50000 100<回车>,查看运行结果;○4输入值:10 0<回车>,查看运行结果;○5输入值:50,4<回车>,查看运行结果。

分析得到的结果,并说明原因。

(3)从键盘上输入三个小写字母,输出其对应的大写字母(例如:输入:a,b,c,则输出分别为A,B,C)。

要求:○1通过一条scanf库函数语句输入三个小写字母,通过printf函数以空格键分隔字符输出;○2通过getchar函数输入三个小写字母,通过printf函数以域宽为3的规定格式输出;○3通过getchar函数输入三个小写字母,通过putchar函数输出。

3算法描述流程图4.源程序:○1#include<stdio.h>main(){char c1,c2,c3;scanf("%c%c%c",&c1,&c2,&c3);printf("%c %c %c\n",c1-32,c2-32,c3-32);}○2#include<stdio.h>main(){char c1,c2,c3;c1=getchar();getchar();c2=getchar();getchar();c3=getchar();printf("%3c,%3c,%3c\n",c1-32,c2-32,c3-32);}○3#include<stdio.h>main(){char c1,c2,c3;c1=getchar();c2=getchar();c3=getchar();putchar(c1-32);putchar(c2-32);putchar(c3-32);}5测试数据:4 56789116运行结果(1)50 4 12Press any key to continue (2)50 .4 10.8Press any key to continue (3)50000 100500Press any key to continue (4)10 0Press any key to continue (5)50,4Press any key to continue (1)a bcA B CPress any key to continue6(2)a,b,c7A,B,CPress any key to continue8(3)abc9ABCPress any key to continue7出现问题及解决方法1.在编写第一个程序,运行的时候发现出现了一个错误,最后才找到是因为c的大小写问题,幸好及时改正。

C语言程序设计实验报告

C语言程序设计实验报告

实验二数据类型、运算符和表达式实验时间:2机时一、实验目的1. 掌握C语言数据类型,熟悉各种类型变量的定义和含义。

2. 掌握C语言标准输入、输出函数的使用方法3. 进一步熟悉C程序的上机过程,积累调试经验。

二、实验意义通过上机实验,巩固本章所学基本知识-C语言的数据类型、变量的定义和使用、结合数据类型更深入地理解标准输入函数scanf()和标准输出函数printf ()的格式控制符的意义和使用。

通过简单程序设计的练习加深对运算符优先级和结合方向的理解,并正确求解表达式的值,这些必要的基础知识是后面深入学习C语言所必须的知识储备。

三、实验重点1. 数据类型、变量的定义和使用;2. 运算符、表达式的求解3. 简单顺序结构的C程序设计四、实验难点数据类型的转换、自增自减运算五、实验方式提前编写程序,写好实验报告,上机实验时一边调试程序一边将实验报告上关于程序调试和运行结果的信息填写到实验报告上,实验完成时上交实验报告。

六、实验内容(一).完善程序题1.用scanf函数输入数据,使得x=1.23,y=67.1234。

#include <math.h>#include <stdio.h>int main(){double x,y,z;scanf ("%lf%lf",&x,&y);z=2*x+y/sin(3.1415/4);printf("z=%6.2f",z);return 0;}输入1.23 67.1234输出z= 97.392. #include <stdio.h>int main(){int str;str=getchar();putchar(str);return 0;}输入a输出a3.根据下面的输出结果,完善程序s1=C,ASCII is 67x=655.35,y=765.43#include <stdio.h>int main(){double x=655.3524,y=765.4271;char s1='C';printf("s1=%c,ASCII is %d\nx=%6.2f,y=%6.2f",s1,s1,x,y);return 0;}输出s1=C,ASCII is 67x=655.35,y=765.434.用scanf函数输入数据,使得程序运行结果为a=2,b=’x’,c=’z’。

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

实验8 指针一、实验目的1、通过实验进一步掌握指针的概念,会定义和使用指针变量;2、能正确使用数组的指针和指向数组的指针变量;3、能正确使用字符串的指针和指向字符串的指针变量;二、实验内容和步骤1、改错(1)指出下面程序错误的原因.main( ){ int x=10,y=5,*px,*py;px=py;px=&x;py=&y;printf("*px=%d,*py=%d,*px,*py);}#include<stdio.h>void main(){ int x=10,y=5,*px,*py;px=&x;py=&y;printf("px=%d,py=%d",*px,*py);}(2)下面的程序试图有如下运行结果:which style you want to :Capital ( c ) or uncapital ( a ):c ↙COMPUTERWhich sytle you want to :Capital ( c ) or uncapital ( a ) : u↙computer请调试下面的程序,使其有如上执行结果.#includemain (){ char s*;char c;printf("which style you want to :ln");printf("capital ( c ) or uncapital(a):");c=getchar();……if(c='c')strcpy(s,"COMPUTER");else strcpy(s,"computer");put(s);}#include<stdio.h>#include<string.h>#include<stdlib.h>void main(){ char *s;char c;printf("which style you want to :\n");printf("capital(c) or uncapital(a):");c=getchar();s=calloc(20, sizeof(char)); //分配存储空间if(c=='c')strcpy(s,"COMPUTER");elsestrcpy(s,"computer");puts(s);}(3)下面的程序能获得上述运行结果吗main(){char *S="COMPUTER";char c;printf("which style you want to \n"); printf("capital (c) or uncapital(u);"); c=getchar();if(c='c')put(s);else {s="computer";puts(s);}} #include<stdio.h>void main(){ char *s="COMPUTER";char c;printf("which style you want to:\n");printf("capital(c) or uncapital(u);");c=getchar();if(c=='c')puts(s);else{ s="computer";puts(s);}}(4)设计一个C程序,用以测试下列各表达式的运算.(1) y=*px++(2) y=*++py(3) y=(*py)++(4) y=--*ppx++(5)想使指针变量pt1指向a 和b 中的大者,pt2指向小者,以下程序能否实现此目的swap(int *p1,int *p2) {int *p;p=p1;p1=p2;p2=p; }main(){int a,b; scanf("%d,%d",&a,&b);pt1=&a;pt2=&b;if(a<b)swap(pt1.pt2);printf("%d,%d\n",*pt1,*pt2); }#include<stdio.h>void swap(int *p1,int *p2) { int p;p=*p1;*p1=*p2;*p2=p; }void main(){ int a,b,*pt1,*pt2;scanf("%d,%d",&a,&b);pt1=&a; pt2=&b;if(a<b)swap(&pt1,&pt2);printf("%d,%d\n",*pt1,*pt2); }2、程序填空:(1)一维数组和指针。

分别采用下标法、数组名法和指针法访问数组元素,求出10 个数中的最大值。

下标法:#include<stdio.h>void main(){ int a[10],i,max;for(i=0;i<=9;i++)scanf ("%d",&a[i]);for(i=0;i<=9;i++)if(max<a[i]) max=a[i];printf ("MAX=%d\n",max);}数组名法:#include<stdio.h>void main(){ int a[10],i,max;for(i=0;i<=9;i++)scanf("%d",a+i);for(i=0;i<=9;i++)if(max<*(a+i))max=*(a+i);printf ("MAX=%d\n",max);}指针法:#include<stdio.h>void main(){ int a[10];int *p,max;for(p=a;p<(a+10);p++)scanf("%d",p);for(p=a;p<(a+10);p++)if(max<*p) max=*p;printf ("MAX=%d\n",max);}(2)字符串和字符指针。

输入一个字符串,将其中的大写字母转换成小写字母,然后输出。

字符数组实现:#include<stdio.h>void main(){ char s[20];int i;gets(s);for(i=0;i<=19;i++)if(s[i]>='A'&&s[i]<='Z')s[i]=s[i]+'a'-'A';i=0;while(s[i]!='\0'){ printf("%c",s[i]);i++;} }字符指针变量实现:#include<stdio.h>void main(){ char s[20];char *p;scanf("%s",s);p=s;while(*p!='\0'){ if(*p>='A'&&*p<='Z')*p=*p+('a'-'A');p++;}puts(s);}提示:scanf ()输入时遇到空格认为字符串结束,用gets()输入时只有遇到回车才认为字符串结束。

如键入any boy并回车,则a n y\0a n yb o y\03、编程序并上机调试运行程序(都要求用指针处理)。

(1)输入三个整数,按由小到大的顺序输出,然后将程序改为:输入三个字符串,按由小到大顺序输出。

#include <stdio.h>void sort(int *a,int *b,int *c) { int t=0;if (*a>*b){ t=*a;*a=*b;*b=t;}if (*a>*c){ t=*a;*a=*c;*c=t;}if (*b>*c){ t=*b;*b=*c;*c=t;}}void main(){ int a=0,b=0,c=0;scanf("%d%d%d",&a,&b,&c); sort(&a, &b, &c);printf("%d %d %d\n",a,b,c); }#include<stdio.h>#include<string.h>void swap(char *s1[20],char *s2[20]) { char *t;t=*s1;*s1=*s2;*s2=t;}void main(){ char str1[20],str2[20],str3[20]; char *p1[20],*p2[20],*p3[20]; gets(str1);gets(str2);gets(str3); strcpy(p1,str1);strcpy(p2,str2);strcpy(p3,str3);if(strcmp(p1,p2)>0)swap(p1,p2);if(strcmp(p1,p3)>0)swap(p1,p3);if(strcmp(p2,p3)>0)swap(p2,p3);puts(p1);puts(p2);puts(p3);}(2)将一个3×3的矩阵转置,用一函数实现之。

在主函数中用scanf函数输入以下矩阵元素:l 3 57 9 1113 15 19将数组名作为函数实参,在执行函数的过程中实现矩阵转置,函数调用结束后在主函数中输出已转置的矩阵。

(3)用一个函数实现两个字符串的比较,即自己写一个strcmp函数,函数原型为:int strcmp (char * p1, char * p2);设p1指向字符串s1,p2指向字符串s2,要求当s1=s2时,函数返回值为0,如果sl≠s2,则返回它们二者第一个不相同字符的ASCII码差值(如“BOY”与“BAD”的第二个字母不相同,“O”与“A”之差为79—65=14);如果sl>s2,则输出正值;如果sl<s2则输出负值。

相关文档
最新文档