c语言----实验一二
c语言实验123

C语言实验指导书实验一:简单的C语言程序一、实验目的1.了解C语言的语法结构和书写格式;2.掌握C语言数据类型以及变量的定义和赋值;掌握运算符的种类、运算优先级和结合性;掌握不同类型数据间的转换和运算。
2.掌握C语言的表达式。
3.掌握C程序的编辑、编译、连接和运行的过程。
二、实验内容1.输入并运行以下程序:#include <stdio.h>void main( ){ char c1,c2;c1=97;c2=98;printf(“%c %c\n”,c1,c2);printf(“%d %d\n”,c1,c2);}程序运行结果输出:a 97 b 98 程序正常运行;a b为ASCLL码表的ASCLL值97 98所对应的控制字符。
在此基础上①将第三行、第四行改为:c1=321;c2=353; (类型转换)再使之运行,分析其运行结果。
程序运行结果输出:A65 a97,由于char,编译时出现警告,但可以运行,c1,c2为字符型常量,char为单个字符,取值范围:-128~127。
321和353已经超越了字符型数值最大范围,默认为整数型数据,转为字符型数据时造成溢出重新计算,所以c1=321-127-127=65,c2=353-127-127=95。
a b为ASCLL码表的ASCLL 值65 95所对应的控制字符。
②将第二行改为:int c1,c2;再使之运行,分析其运行结果。
程序输出:A321 a353 这是int 字符的原因,把c1 c2定义为带符号整数型常量,在输出时进行数据类型转换,变为字符型数据输出A a。
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 x=(a=3,b=a--)表示x取a、b的最大值,b的值为a,运算完后a自减1.②#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));}输出结果:0 先判断(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);}输出结果:n=13.输入并运行以下程序:#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); }输出结果:9,11,9,10分别作以下改动并运行:①将程序改为:#include<stdio.h>void main( ){ int i=8,j=10;printf(“%d,%d\n”,i++,j++);}输出结果:8,10 %d后面是由于i++和j++在但程序只能识别i和j。
《c语言程序设计》实验报告(实验-2)

《c语⾔程序设计》实验报告(实验-2)《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语言实验报告5篇

c语言实验报告c语言实验报告5篇随着社会一步步向前发展,我们使用报告的情况越来越多,我们在写报告的时候要注意涵盖报告的基本要素。
其实写报告并没有想象中那么难,以下是小编收集整理的c语言实验报告,欢迎阅读与收藏。
c语言实验报告1学号:__________ 姓名:__________ 班级:__________ 日期:__________指导教师:__________ 成绩:__________实验六综合实验一、实验目的1、掌握C语言中的变量、数组、函数、指针、结构体等主要知识点。
2、掌握C程序的结构化程序设计方法,能使用C语言开发简单的应用程序。
3、掌握C程序的运行、调试方法等。
二、实验内容编写一个学生信息排序程序。
要求:1、程序运行时可输入n个学生的信息和成绩(n预先定义)。
2、学生信息包括:学号、英文姓名、年龄;学生成绩包括:语文、数学、计算机。
3、给出一个排序选择列表,能够按照上述所列信息(学号、姓名、年龄、语文、数学、计算机)中的至少一个字段进行排序,并显示其结果。
1、使用函数方法定义各个模块。
三、实验步骤与过程物理实验报告·化学实验报告·生物实验报告·实验报告格式·实验报告模板四、程序调试记录c语言实验报告2第一章基础掌握1.1 实验目的掌握C程序设计编程环境Visual C++,掌握运行一个C程序的基本步骤,包括编辑、编译、链接和运行。
(]1.2 实验要求在报告中记录建立、保存C程序实习过程。
1.3 实验基本内容编写程序,在屏幕上显示一个短句“Hello World”(1)程序:1)编译如下程序:#includeVoid main(){printf (“Hello World! ”);}2)链接。
执行Build-命令。
3)运行。
执行Build Execute 命令。
显示结果。
4)关闭程序工作区。
(2)运行结果:输出结果:Hello World!总结:掌握C语言程序设计的基本框架,能够编写简单的程序。
c语言实验报告

实验1简单判定性问题求解一、实验学时完成本实验需4学时。
二、实验目的1、阅读程序题(1)掌握C语言数据类型,熟悉如何定义一个整型、字符型的变量,以及对它们赋值的方法;(2)掌握不同的类型数据之间赋值的规律;(3)掌握数据在内存中的存储方式;(4)学会输入、输出函数的基本格式和使用方法;(5)学会使用有关算术运算符、逻辑运算符、关系运算符,以及包含这些运算符的表达式。
2、编程题(1)如何运用if-else判定性结构进行程序设计;(2)如何运用switch判定性结构进行程序设计。
3、调试题(1)熟悉C程序的编辑、编译、连接和运行的过程。
三、实验指导为了达到最佳的实验效果,以下提供几条适于编程的指导意见,可供参考。
1、阅读程序题应先运用自己在课堂所学的知识,推导出结果,在上机时输入计算机,印证自己推导的结果,注意观察数据在内存中的存储方式、含不同种运算符表达式的输出结果。
2、编程题必须首先画出流程图,并反复思考判断程序设计的正确性,完成程序的设计。
要注意简单判定性问题的结构选择。
3、调试题应明确程序的调试、测试是一项非常烦琐的工作,也是非常重要的工作。
对于初学者来说应该建立良好的习惯,在调试程序的时候,应该尽可能考虑到程序运行时各种可能情况。
四、实验内容1、阅读程序题(1)main( ){ /*定义字符型变量*/char c1,c2; /*向字符变量赋以整数*/c1=97;c2=98;printf("%c %c\n",c1,c2); /*以字符形式输出*/printf("%d %d\n",c1,c2); /*以整数形式输出*/ }该程序的输出结果是。
思考:可否改成int c1,c2;输出结果是?(2)main(){int a=7,b=5;printf("%d\n",b=b/a);}该程序的输出结果是。
思考:若将printf语句中%d变为%f,可否输出分式的值?(3)main(){int a=9;a+=a-=a+a; /*包含复合的赋值运算符的赋值表达式*/printf("%d\n",a);}该程序的输出结果是。
c语言实验报告

计算机软件技术基础实验报告实验一:线性表的排序与查找一.实验内容a)键盘输入一组无序数据,添加到线性表中;b)排序线性表并输出排序结果;c)键盘输入一个数,并插入到排好序的线性表中(要求插入后的表仍为有序表),输出结果;d)键盘输入一个数,并从线性表中删除相应的数据,输出结果。
二,源程序// Experiment1。
cpp :定义控制台应用程序的入口点。
//#include "stdafx.h”#include "iostream”#include 〈conio。
h〉// 程序实现有各种方法,这里给出一个实例。
// 定义一个线性表const int nMaxSize = 15;// 最大值int nLen = 0; // 表中元素个数int nLinearList[nMaxSize];// 定义操作void LSort();void LOut();void LInsert(int n);void LDelete(int n);int main(int argc,TCHAR*argv[]){// 输入数据并放入线性表中printf(”Pleas e input data\n"); // std::cout 〈< "Please input data\n”;int nIn = 0;for (int i = 1; i <= 10;i++){scanf(”%d”,&nIn);// std::cin >〉nIn;nLinearList[i] = nIn;nLen++;}LSort();// 排序线性表LOut();// 输出结果printf(”Please input a data to i nsert \n”);scanf(”%d”,&nIn);LInsert(nIn);// 输入一个数字,并插入到线性表中LOut();printf(”Please input a data to delete \n");scanf("%d”,&nIn);LDelete(nIn);// 输入一个数字,并从线性表中删除LOut();char chTmp;printf(”Please input a char to finish this program.");chTmp = getch();return 0;}void LSort()// 冒泡排序,由大到小{int j,F,k,M;F=nLen;while(F〉0){k=F-1;F=0;for(j=1;j<=k;j++){if(nLinearList[j]〈nLinearList[j+1]){M=nLinearList[j];nLinearList[j]=nLinearList[j+1];nLinearList[j+1]=M;F=j;}}}}void LOut(){printf("\n”);for (int i = 1;i 〈= nLen;i++){printf( "%d, ", nLinearList[i]);}printf(”\n”);}void LInsert(int n){int i,j;i=1;while (i<nLen){ if(nLinearList[i]〈=n){nLen++;for(j=nLen;j>=i;j—-)nLinearList[j+1]=nLinearList[j];nLinearList[i]=n;break;}i++;}}void LDelete(int n){int i,j;for(i=1;i<=nLen;i++){if(nLinearList[i]==n){for(j=i;j〈=(nLen—1);j++)nLinearList[j]=nLinearList[j+1];nLen—-;break;}}}三运行结果实验2:栈与队列的应用一.实验内容a)键盘输入算数表达式,并放入队列当中;b)应用栈的概念设计表达式求值算法;输出表达式求值结果二.源程序// Experiment2。
c语言程序实验报告

c语言程序实验报告C语言程序实验报告引言:C语言是一种广泛应用于计算机编程的高级语言,具有语法简洁、执行效率高等特点。
在本次实验中,我们将通过编写C语言程序来实践所学的知识,并探索各种功能的实现方法。
本报告将对实验过程和结果进行详细描述和分析。
实验一:基本语法和数据类型在这个实验中,我们首先学习了C语言的基本语法和数据类型。
通过编写简单的程序,我们熟悉了变量的声明和赋值、算术运算符的使用以及条件判断和循环结构的应用。
通过实际操作,我们深入理解了C语言的表达能力和灵活性。
实验二:函数和数组在这个实验中,我们学习了函数和数组的使用。
我们掌握了如何定义和调用函数,如何传递参数和返回值。
通过编写程序,我们进一步加深了对数组的理解,掌握了数组的声明、初始化和遍历等操作。
这些知识对于解决实际问题和提高程序的复用性非常重要。
实验三:指针和动态内存分配指针是C语言的重要特性之一,也是较为复杂的概念。
在这个实验中,我们学习了指针的定义、初始化和使用方法。
通过编写程序,我们深入理解了指针与变量之间的关系,掌握了指针的运算和指针与数组的关系。
此外,我们还学习了动态内存分配的方法,了解了如何在程序运行过程中动态申请和释放内存。
实验四:结构体和文件操作结构体是一种自定义的数据类型,可以将多个不同类型的变量组合在一起。
在这个实验中,我们学习了结构体的定义和使用方法。
通过编写程序,我们掌握了结构体的初始化、访问和传递等操作。
此外,我们还学习了文件操作的方法,了解了如何读写文件和处理文件指针。
实验五:综合实验在这个实验中,我们将运用前面所学的知识,编写一个综合性的程序。
通过实践,我们巩固了对C语言的掌握,并提高了解决问题的能力。
这个实验不仅考验了我们的编程技巧,还培养了我们的逻辑思维和创新能力。
总结:通过这些实验,我们不仅学习了C语言的基本语法和数据类型,还掌握了函数、数组、指针、结构体和文件操作等高级特性。
通过实践,我们深入理解了C语言的运行机制和编程思想,提高了解决问题的能力和代码的质量。
C语言实验

C语言实验第一篇:C语言实验C语言实验实验一:C语言程序调试基础一、实验目的1.掌握C语言源程序的编写方法和调试方法2.学会使用VC6开发工具及调试过程的查错纠错能力。
二、任务调试课本例子:例2.19、例3.5、例5.9三、实验过程及结果1.鼠标左键双击VC,打开程序;单击打开的New的页面中,单击键,选择键,选择,在新,最后单击键,就可以建立一个新的页面。
2.在界面中输入例2.19的内容,单击键进行调试,底下的对话框出现一句话时,说明我们编写的程序无错,就可以单击键,来运行程序。
运行结果及编写程序内容如图:4.关闭这两个窗口,再单击实验二:顺序程序设计一、实验目的:1.掌握顺序程序的设计方法;键,选择;2.掌握输入输出控制语句。
二、实验任务与要求1.第3章课后习题T22.第3章课后习题T7三、实验过程及结果实验三:分支程序设计一、目的1.掌握分支程序控制语句的语法格式及纷争程序设计方法。
2.了解分支程序的条件表达式及运算规则;3.掌握分支程序控制语句的嵌套使用方法。
二、任务1.第4章课后习题T62.第4章课后习题T83.第4章课后习题T12三、实验过程及结果实验四:循环程序设计一、目的1.掌握循环程序的控制语句的语法规则;2.掌握循环程序的编写方法;3.掌握循环程序的嵌套与退出控制方法。
二、任务1.求100~200间的全部素数。
2.第5章课后习题T83.第5章课后习题T10三、实验过程及结果实验五:数组一、目的1.掌握数组的定义及使用方法2.掌握字符数组的相关操作函数。
二、任务1.用数组求Fibonacci数列的钱40项,每5个一行。
2.将一个3行8列的数组A转置为数组B。
3.已知字符串str1=”abcde”,str2=”hijklm”,比阿尼写程序分别实现str1与str2的连接、求长度、比较等操作。
三、实验过程及结果实验六:函数一、目的1.掌握函数的定义与调用方法。
2.掌握函数参数的专递方式。
C语言实验报告

实验一C语言程序初步一、实验目的:1、熟悉Turbo C2.0 集成开发环境,了解各菜单的功能。
2、了解在该系统上如何编辑、编译、连接和运行一个C程序。
3、通过运行简单的C程序,初步了解C源程序的特点和书写格式。
二、实验内容:1、进入Turbo C2.0集成开发环境,了解各菜单的功能。
2、下列c程序的功能是:由键盘依次输入五个实数,计算并输出这五个实数的平均数。
#include"stdio.h"main(){float a,b,c,d,e,av;printf("input a,b,c,d,e:”);scanf(“%f,%f,%f,%f,%f”,&a,&b,&c,&d,&e);av=(a+b+c+d+e)/5;printf("av=%e\n",av);)(1)输入该程序,然后进行编译连接。
如果在编译过程中有错误发生,则仔细检查并修改程序,修改后再进行编译连接,直到没有错误为止。
(2)运行该程序。
运行时按程序中要求的输人格式依次输入下列五个数:3.456,-1.789,-2.258,9.886,7.634三、实验步骤:四、实验小结:实验二数据类型、运算符和表达式一、实验目的:1、掌握c语言数据类型,熟悉如何定义一个整型、字符型、实型变量,及赋值方法。
2、理解常用运算符的意义,学会使用C的常用运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。
3、掌握C语言表达式的运算规则。
二、实验内容:1、写出下列程序的运行结果:1)main(){ char c1,c2;c1=97;c2=98;printf(“%c %c”,c1,c2);printf(“%d,%d”,c1,c2);}2)#include "stdio.h"void main( ){int x,y,t;double a;float b;int c;scanf(“%d%d”,&x,&y);c=b=a=20/3;t=(x%y,x/y);printf("%d %d\n",x--,--y);printf("%d\n",t);printf("%d\n",(x=5*6,x*4,x+5));printf("%d %f %f\n",c,b,a);}⑴程序运行时,在键盘上输入20 3⑵程序运行时,在键盘上输入15 52、编程输出一个3位整数的各位数字。
C语言实验样本

C语言实验样本(2003年)实验一:C语言运行环境 (2)实验二:数据类型及顺序结构 (3)实验三:选择结构程序设计 (6)实验四:循环结构程序设计 (8)实验五:数组 (11)实验六:字符数据处理 (12)实验七:函数(1) (15)实验八:函数(2) (16)实验九: 指针(1) (19)实验十: 指针(2) (21)实验十一:文件 (24)实验一:C语言运行环境一、实验目的:1.了解TC环境的组成2.学习TC环境的使用方法3.了解C语言程序从编辑、编译连接到运行并得到运行结果的过程二、实验内容:1.了解TC环境的组成2.进入、退出和定制TC环境3.运行演示程序4.编写程序三、实验用设备仪器及材料:计算机一台四、实验源程序第一个程序,输出字符main(){printf(“This is a Cprogram\n”);printf(“I am a student\n);}编写程序,实现求整数10,20,30的平均值main(){float a=10,b=20,c=35,x;x=(a+b+c)/3;printf("x=%f\n",x);}实验二:数据类型及顺序结构一、实验目的:(1)进一步熟悉TC环境的使用方法。
(2)学习C语言赋值语句和基本输入输出函数的使用。
(3)编写顺序结构程序并运行。
(4)了解数据类型在程序设计语言中的意义。
二、实验内容:(1)编程序,输出如下图形。
* ** * * ** * * * * ** * * * * * * *ain(){printf("* *\n");printf("* * * *\n");printf("* * * * * *\n");printf("* * * * * * * *\n");}(2)编写程序,实现下面的输出格式和结果:a= 5,b= 7,a-b=-2,a/b= 71%c1=computer,c2=comp ,c3= compA=31.19,y= -31.2,z=31.1900s=3.11900e+002,t= -31.2e+001main(){int a=5,b=7,c,d,g,y;float e,f=31.19,h;y="COMPUTER";c=a-b;e=(1.0*a/b);d=1000000*e/10000;g=(f*100+5)/10;h=g/10.0;printf("a=%3d,b=%3d,a-b=%d,a/b=%3d\%\n",a,b,c,d);printf("c1=%s,c2=%-6.4s,c3=%6.4s\n",y,y,y);printf("x=%5.2f,y= -%4.1f,z=%7.4f\n",f,h,f);printf("s=%e,t= -%5.3e\n",10*f,h);}(3) 编写程序,输入变量的x值,分别输出变量y的值,并分析输出结果。
C语言---- 实验一二

实验一最简单的C程序——-顺序程序设计(验证性实验 2学时)(一)、实验目的1.熟悉VC++6。
0/C-Free等C语言程序编译软件运行环境2.掌握运行一个C程序的步骤,理解并学会C程序的编辑、编译、链接方法3.掌握C语言中使用最多的一种语句——赋值语句4.掌握数据的输入输出方法,能正确使用各种格式控制符(二)、实验内容1.写出下列程序的运行结果(1)#include 〈stdio.h>void main(){printf(“*****************\n”);printf(“This is a c program. \n");printf(“****************\n”);}运行结果及分析:将程序中的\n去掉后,运行结果及分析:(2)#include <stdio.h>void main(){int a=100,b=20,sum,sb;sum=a+b;sb=a/b;printf("sum=%d,sb=%d",sum,sb);}运行结果及分析:void main( ){char c1,c2;c1=97;c2=98;printf(”%c ,%c\n”,c1,c2);printf("%d,%d\n",c1,c2);printf(”%c %c\n",c1+1,c2+2);}运行结果及分析:2.程序填空任意输入一个有五位数字的正整数x,分别输出每一数位上的数字(由高到低分别用b5,b4,b3,b2,b1表示),请将程序补充完整。
#include 〈stdio。
h>main(){int b1,b2,b3,b4,b5;int x;Scanf(“%ld ",&x);b5= (x/10000)%10; ;b4=(x/1000)%10;b3= (x/100)%10;;b2=(x/10)%10;b1x%10;;printf(“the number is ⑤ %d \n",x);printf(“its bit is:%d,%d,%d,%d,%d\n",b5,b4,b3,b2,b1);}程序分析:3.程序改错(注意:题中的编号为行序号,并非程序本身)(1)计算任意一个半径为r的圆的面积和周长(结果保留两位小数)2)main(){3) float r; p=3。
c语言实验报告

C语言实验报告说明1;所有程序均用VC6.0编译运行;文件名命名为姓名+日期;因为实验存在补做;所以并不是按照日期先后排列的..2;为了使截图清晰;手动将运行窗口由“黑底白字”改为了“白底黑字”..实验2 数据类型、运算符和表达式一、实验目的:1掌握C语言数据类型;熟悉如何定义一个整型、字符型、实型变量、以及对它们赋值的方法..2学会使用C的有关算术运算符;以及包含这些运算符的表达式;特别是自加++和自减――运算符的使用..3掌握C语言的输入和输出函数的使用4进一步熟悉C程序的编辑、编译、连接和运行的过程..三、程序调试与问题解决:1输人并运行下面的程序include<stdio.h>void main{char c1;c2;c1='a';c2='b';printf"%c %c\n";c1;c2;}错误!运行此程序..错误!在上面printf语句的下面再增加一个printf语句.. printf"%d %d\n";c1;c2;再运行;并分析结果..输出结果如图;编译成功;无错误..错误!将第3行改为int c1;c2;再运行;并分析结果..错误!再将第4、5行改为c1=a;c2=b;再运行;并分析结果..a;b没有定义;编译报错..错误!再将第4、5行改为c1=‘’a‘’;c2=‘’b‘’;再运行;并分析结果..错误!再将第4、5行改为c1=300;c2=400;再运行;并分析结果..以字符型输出时;输出的将是300;400对应的字符.. 2输人并运行教材第3章习题3. 6给出的程序include<stdio.h>main{char c1='a';c2='b';c3='c';c4='\101';c5='\116'; printf"a%c b%c\tc%c\tabc\n";c1;c2;c3;printf"\t\b%c %c\n";c4;c5;}include<stdio.h>void main{int a;b;unsigned c;d;long e;f;a=100;b=-100;e=50000;f=32767;c=a;d=b;printf"%d;%d\n";a;b; printf"%u;%u\n";a;b; printf"%u;%u\n";c;d; c=a=e; d=b=f;printf"%d;%d\n";a;b;printf"%u;%u\n";c;d;}请对照程序和运行结果分析:①将一个负整数斌给一个无符号的变t;会得到什么结果..画出它们在内存中的表示形式..②将一个大于32767的长整数斌给整型变t;会得到什么结果..画出它们在内存中的表示形式..③将一个长整数赋给无符号变量;会得到什么结果分别考虑该长整数的值大于或等于65535以及小于65535的情况..画出它们在内存中的表示形式..错误!得到的是原来正数取存的数错误!将一个大于32767的长整数斌给整型变t;造成溢出;数据丢失..错误!可能会溢出;也可能正常..4输人习题3. 10include<stdio.h>void main{int i;j;m;n;i=8;j=10;m=++i;n=j++;printf"%d;%d;%d;%d\n";i;j;m;n; }①运行程序;注意i;j;m;n各变量的值..分别作以下改动并运行:②将第6;7行改为:m=i++; n=++j;再运行..③将程序改为:include<stdio.h>void main{int i;j;i=8;j=10;printf"%d;%d\n";i++;j++;}④在③的基础上;将printf语句改为:printf"%d;%d;%d;%d\n";i;j;++i;++j;⑤再将printf语句改为:printf"%d;%d;%d;%d\n";i;j;i++;j++;⑥将程序改为:include<stdio.h>void main{int i;j;m=0;n=0;i=8; j=10;m+=i++;n-=--j;printf"i=%d;j=%d;m=%d;n=%d\n";i;j;m;n; }②将第6;7行改为:m=i++; n=++j;再运行..以上程序结果的不同均是由于自增自减运算符引起的;考虑到一个判断技巧;看自增自减运算符时;先将它们从原程序中拿出来;如果++或—在后;就先把值放回去;然后自增自减;如果在前;先自增自减;再把结果放进去..printf"%d;%d;%d;%d\n";i;j;++i;++j;include<stdio.h>void main{int i;j;m=0;n=0;i=8; j=10;m+=i++;n-=--j;printf"i=%d;j=%d;m=%d;n=%d\n";i;j;m;n; }实验5 循环控制一、实验目的:1熟练掌握for 语句、while 语句、do-while 语句实现循环的方法;2理解循环嵌套及其使用方法;3掌握break 语句与continue 语句的使用;4掌握用循环实现一些常用算法如穷举、迭代、递推等..二、实验内容:1.输入两个正整数;求其中最大公约数和最小公倍数..2. 输入一行字符;分别统计出其中的英文字母、空格、数字和其它字符的个数..3.用牛顿迭代法求方程 2X3- 4X2+ 3X- 6=0在 1.5附近的根..4. 猴子吃桃问题..猴子第一天摘下若干个桃子;当即吃了一半;还不过痛;又多吃了一个..第二天早上又将剩下的桃子吃掉一半;又多吃了一个..以后每天早上都吃了前一天剩下的一半零一个..到第10天早上想再吃时;见只剩一个桃子了..求第一天共摘了多少桃子..三、程序调试与问题解决:1.输入两个正整数;求其中最大公约数和最小公倍数..编译无错误;运行如上图所示;使用了最简单的算法;清晰易理解;同时注意了编程的格式;在以往编程序时;往往不注意上下对齐等问题;容易出现缺标点等现象;将大括号一级一级对齐后;可以有效地避免出错..发现一个技巧;打括号时一次打出一对括号;可以减少括号不配对的错误..2. 输入一行字符;分别统计出其中的英文字母、空格、数字和其它字符的个数..编译无误;测试正确;写该程序时特意加了注释;以便阅读..3.用牛顿迭代法求方程 2X3- 4X2+ 3X- 6=0在 1.5附近的根..该程序缺少include<stdio.h>;是截图原因;原程序中是存在的..最开始不知道fabs函数的用法;通过百度查询..4. 猴子吃桃问题..猴子第一天摘下若干个桃子;当即吃了一半;还不过痛;又多吃了一个..第二天早上又将剩下的桃子吃掉一半;又多吃了一个..以后每天早上都吃了前一天剩下的一半零一个..到第10天早上想再吃时;见只剩一个桃子了..求第一天共摘了多少桃子..实验7 函数一、实验目的:1 掌握定义函数的方法..2 掌握函数实参与形参的对应关系及值传递的方式..3 掌握函数的嵌套调用和递归调用的方法..4 掌握全局变量和局部变量;动态变量和静态变量的概念和使用方法..5 学习对多文件程序的编译和运行..二、实验内容:1.写一个判别素数的函数;在主函数输入一个整数;输出是否素数的信息..本程序应当准备以下测试数据:17、34、2、1、0..分别运行并检查结果是否正确..2.用一个函数来实现将一行字符串中最长的单词输出..此行字符从主函数传递给该函数..1把两个函数放在同一个程序文件中..2将两个函数分别放在两个程序文件中;作为两个文件进行编译、连接和运行..3.用递归法将一个整数n转换成字符串..例如输入483.应输出字符串“483”..n的位数不确定;可以是任意的整数..4.求两个整数的最大公约数和最小公倍数..用一个函数求最大公约数用另一个函数根据求出的最大公约数求最小公倍数..分别用下面的两种方法编程..1不用全局变量;在主函数中输入两个数和输出结果..2用全部变量的方法;数据的传递通过全部变量的方法..5.写一个函数;输入一个十六进制数;输出相应的十进制数..三、程序调试与问题解决:1.写一个判别素数的函数;在主函数输入一个整数;输出是否素数的信息..本程序应当准备以下测试数据:17、34、2、1、0..分别运行并检查结果是否正确..该例编译时出现错误;原因是误将sushua==1写为sushua=1..改正后编译无误..2.用一个函数来实现将一行字符串中最长的单词输出..此行字符从主函数传递给该函数..子函数中第二个while考虑到了多种标点符号的情况;但是该程序可能存在的问题是;如果有两个单词的长度是相同的3.用递归法将一个整数n转换成字符串..例如输入483.应输出字符串“483”..n的位数不确定;可以是任意的整数..4.求两个整数的最大公约数和最小公倍数..用一个函数求最大公约数用另一个函数根据求出的最大公约数求最小公倍数..分别用下面的两种方法编程.. 1不用全局变量;在主函数中输入两个数和输出结果.. 2用全部变量的方法;数据的传递通过全部变量的方法..使用了两个子函数;我认为应该还有更简单的算法5.写一个函数;输入一个十六进制数;输出相应的十进制数..程序运行时出现错误;后检查发现在scanf格式字符串的双引号是中文符号;改成英文双引号后成功..实验9 指针一、实验目的:错误!通过实验进一步掌握指针的概念;会定义和使用指针变量;错误!能正确使用数组的指针和指向数组的指针变量;错误!能正确使用字符串的指针和指向字符串的指针变量;错误!能正确使用指向函数的指针变量;错误!了解指向指针的指针的概念及其使用方法..二、实验内容:1. 输入三个整数;按由小到大的顺序输出;然后将程序改为:输入三个字符串;按由小到大顺序输出..2. 将一个3X3的矩阵转置;用一函数实现之..l 3 57 9 1113 15 19将数组名作为函数实参;在执行函数的过程中实现矩阵转置;函数调用结束后在主函数中输出已转置的矩阵..3.有n个人围成一圈;顺序排号..从第1个人开始报数从1到3报数;凡报到3的人退出圈子;问最后留下的是原来第几号的那位..4. 用一个函数实现两个字符串的比较;即自己写一个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则输出负值..两个字符串s1、s2由main函数输入;strcmp函数的返回值也由main函数输出..5.用指向指针的指针的方法对n个整数排序并输出..要求将排序单独写成一个函数..n和各整数在主函数中输入;最后在主函数中输出..三、程序调试与问题解决:1. 输入三个整数;按由小到大的顺序输出;然后将程序改为:输入三个字符串;按由小到大顺序输出..2. 将一个3X3的矩阵转置;用一函数实现之..l 3 57 9 1113 15 193.有n个人围成一圈;顺序排号..从第1个人开始报数从1到3报数;凡报到3的人退出圈子;问最后留下的是原来第几号的那位..5.用指向指针的指针的方法对n个整数排序并输出..要求将排序单独写成一个函数..n和各整数在主函数中输入;最后在主函数中输出..实验12 文件一、目的要求:1.掌握文件以及缓冲文件系统、文件指针的概念;2.学会使用文件打开、关闭、读、写等文件操作函数..3.学会用缓冲文件系统对文件进行简单的操作..二、实验内容:1. 有5个学生;每个学生有3门课的成绩;从键盘输入以上数据包括学生号、姓名、三门课成绩;计算出平均成绩;将原有数据和计算出的平均分数存放在磁盘文件“Stud”中..三、程序调试与问题解决:1. 有5个学生;每个学生有3门课的成绩;从键盘输入以上数据包括学生号、姓名、三门课成绩;计算出平均成绩;将原有数据和计算出的平均分数存放在磁盘文件“Stud”中..。
C语言实验报告内容

《C语言程序设计》实验报告内容实验一熟悉C 程序的运行环境一、学时:2二、实验类型:演示、验证三、实验目的和主要内容:1.了解计算机系统对高级语言的基本操作方法2.熟悉和了解Turbo C 系统软件的使用和操作3.能进行简单的C语言程序录入、调试、编译和运行四、实验方法及步骤:1.熟悉开机操作,使用单机或计算机上网。
2.进入Turbo C 系统。
3.熟悉Turbo C 系统各菜单命令的使用和操。
4.录入、调试、编译和运行C语言程序float average(x,y,z)float x,y,z;{float aver;aver=(x+y+z)/3;return(aver);}main( ){float a,b,c,ave;a=3.5;b=4.6;c=7.9;ave=average(a,b,c);printf("average=%f",ave);}实验二简单C程序设计实验一、学时:2二、实验类型:验证、设计三、实验目的和主要内容:1.熟悉和了解C语言的数据类型2.使用C语言的有关算术运算符,以及包含这些运算符的表达式3.进行简单的C语言输入输出函数的使用,格式控制符的涵意,简单C程序的设计、调试、编译和运行四、实验方法及步骤:1.写出下面程序的输出结果。
main( ){int x;x=-3+4*5-6;printf(“%d\n”,x);x=3+4%5-6; printf(“%d\n”,x);x=-3*4%4-6/5; printf(“%d\n”,x);x=(7+6)%5/2; printf(“%d\n”,x);}结果:111-11main( ){printf(“%d%d%d%d\n”,1+2,5/2,-2*4,11%3);printf(“%.5f%.5f %.5f %.5f \n”,1.+2.,5./2.,-2.*4.);}结果:实验三选择结构实验一、学时:2二、实验类型:验证、设计三、实验目的和主要内容:1.熟悉和了解C语言系统分支语句的使用和操作2.进行C语言分支控制语句的设计、调试、编译和运行四、实验方法及步骤:1.“判断所输入的年号是否闰年”,编写、调试和运行程序。
C语言小实验

实验一 C 程序集成开发环境熟悉一、实验目的掌握在Visual C++ 6.0 集成开发环境下怎样编辑、编译、连接、执行、修改和调试C 语言程序。
二、实验内容1.使用visual C++ 6.0步骤文件—新建—文件—C++ Sourse File—输入文件名和选择保存位置点击‚确定‛—在编辑器输入源代码—‚组建‛中的‚编译‛—‚!‛2.调试过程若出现error C2059: syntax error : ')',即未输入main.实验二顺序结构程序设计一、实验目的1.掌握scanf 和printf 的主要用法。
2.掌握常用转换控制符的用法。
3.掌握赋值语句的用法。
4.掌握算术运算符的运算规律。
二、实验内容1.#include<stdio.h>void main( ){printf("%d\n",42);printf("%5d\n",42);printf("%f\n",123.45);printf("%12f\n",123.45);printf("%e\n",123.45);printf("%13e\n",123.45);printf("%g\n",123.45);printf("%8g\n",123.45);printf("%.5d\n",42);printf("%.0d\n",42);printf("%8.3f\n",123.45);printf("%8.1f\n",123.55);printf("%8.0f\n",123.55);printf("%g\n",123.56789);}运行结果:4242123.450000123.4500001.2345000e+0021.2345000e+002123.45123.450004242123.450123.6124123.5682.运行程序时没输入一个数据用空格,TAP,回车效果一样3.改错题#include "stdio.h"void main( )double a,b,c,s,v;printf(Input a,b,c:\n);scanf("%d%d%d",a,b,c);s=a*b;v=a*b*c;printf("a=%d b=%d c=%d\n",a,b,c);printf("s=%f\n",s, "v=%d\n",v);}改完后:#include "stdio.h"void main( ){float a,b,c,s,v;printf("Input a,b,c:\n");scanf("%f%f%f",&a,&b,&c);s=a*b;v=a*b*c;printf("%f% f% f\n",a,b,c);printf("%f %f\n",s,v);}4.#include "stdio.h"void main()13{char c1, c2;c1 = 'a';c2 = ‘b’;printf (‚%c %c\n‛, c1, c2);}运行结果:a b5.#include "stdio.h"void main(){int i,j,m,n;i = 8;j = 10;m = ++i;n = j++;printf(“%d,%d,%d,%d”, i, j, m, n);}结果:9,11,9,106.编程题。
c语言实验报告

c语言实验报告一、引言C语言是一种广泛应用于计算机科学和软件开发领域的编程语言。
它的简洁性、高效性以及跨平台的特性使其成为许多开发人员的首选。
本篇实验报告将介绍我在学习C语言过程中进行的几个实验项目,并详细记录每个实验的步骤、结果以及对C语言的理解。
二、实验一:Hello World!在学习任何一门编程语言时,第一个示例程序往往是输出"Hello World!"。
这个简单的程序虽然看似微不足道,却能够帮助初学者了解基本的编译和运行过程。
在实验中,我使用了C语言的基本语法,编写了一个简单的Hello World程序,并成功地将其编译并运行。
这个小小的成就让我对C语言有了初步的认识和信心。
三、实验二:计算器程序为了更深入地理解C语言的数据类型和运算符,我决定编写一个简单的计算器程序。
这个程序可以实现基础的四则运算和一些简单的数学函数,如平方根和求幂等。
通过这个实验,我学会了如何使用变量、条件语句和循环结构来实现计算功能,并通过不断调试和修改,使程序更加健壮和高效。
四、实验三:数组与排序数组是C语言中非常重要的概念,在实验三中,我探索了数组的用法和特性,并将其应用于一个排序算法中。
我选择了冒泡排序作为实验的排序算法,通过比较相邻元素的大小并不断交换位置,最终将数组中的元素按照升序排列。
这个实验使我更加熟悉了数组的操作,也加深了我对算法思想和效率的理解。
五、实验四:文件操作在现实世界中,大部分的应用程序需要与文件进行交互。
为了学习如何使用C语言进行文件操作,我进行了实验四。
在这个实验中,我编写了一个小程序,能够读取一个文本文件的内容,统计其中不同字符的数量,并将结果输出到另一个文件。
通过这个实验,我了解了如何打开、关闭和读写文件,也学习了异常处理以及文件操作的一些注意事项。
六、实验五:数据结构和指针C语言提供了指针的机制,允许直接访问和操纵内存中的数据。
为了更深入地理解指针和数据结构之间的关系,我进行了实验五。
计算机c语言实训报告(精选5篇)

计算机c语言实训报告(精选5篇)计算机c语言实训报告篇1一、课题名称:简单计算器设计一个简单的程序来模拟计算器的功能。
二、设计目的:1、通过理论知识与实际需求相结合,编辑解决一些日常中的实际问题,培养初步的独立分析和设计能力。
2、了解应用程序设计解决实际问题的具体过程和实现方法,掌握应用C语言进行程序设计的基本规范;3、重点掌握C语言的程序编写、函数设计、算法设计和程序调试方法;4、初步掌握系统开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能。
三、设计任务:1、通过结构体数组和共用体数组来存放输入的每一数字或运算符号的记录(包括1、2、3等数字,+、--、_、等运算符号),然后将其信息存入文件中。
输入一个算术计算式,就在屏幕上显示结果。
2、输入简单的加减乘除算术计算式,并在屏幕上显示计算结果;四、设计要求:1、用C语言实现程序设计并进行调试;2、画出查询模块的流程图;3、系统的各个功能模块要求用函数的形式实现;4、界面友好(良好的人机互交)。
5、完成设计(A4)。
五、代码设计:#include "stdio.h" main { float x,y;char operator;printf("x,yun suan fu ,y: "); scanf("%f%c%f",&x,&operator,&y); switch(operator){case '+': printf("%.2f+%.2f=%.2f",x,y,x+y); break; case '-':printf("%.2f-%.2f=%.2f",x,y,x-y); break; case '_':printf("%.2f_%.2f=%.2f",x,y,x_y); break; case '/': if(y==0) printf("chushushilingwuyiyi"); elseprintf("%.2f/%.2f=%.2f",x,y,x/y); break;default: printf("yunsunfuwuxiao"); } }?七、设计总结:学习C程序这门课一个学期了,这是我们学的第一门专业课,所以作为我这个计算机系的学生来说当然十分重要,老师在第一节课说过,C语言是计算机的基础,大多数软件都需要用C语言来编写,通过一个学期的学习,使我初步掌握了一些关于这门课的知识这次的课程设计是对我们一个学期来所学的知识的综合考察,里面涉及到了我们大多数所学知识。
C语言程序设计实验及代码

C语言程序设计实验及代码一、实验介绍本实验旨在通过C语言编程实践,培养学生的程序设计能力。
通过完成以下实验内容,学生将会加深对C语言的理解,掌握基本的编程技巧和方法,并能够编写简单的C语言程序。
二、实验内容1.实验一:实现一个简单的计算器程序编写一个简单的计算器程序,能够进行简单的加减乘除运算。
要求用户输入两个数字和操作符(+、-、*、/),然后输出计算结果。
实验提示:可以使用switch语句来实现根据操作符执行相应的运算。
2.实验二:实现一个学生成绩管理系统编写一个学生成绩管理系统程序,能够添加学生信息、显示学生信息、计算学生平均成绩等功能。
要求使用结构体来保存学生信息,并使用数组来存储多个学生的信息。
实验提示:可以使用循环来实现多次添加学生信息的功能。
可以使用指针来操作结构体数组。
3.实验三:实现一个简单的图书管理系统编写一个图书管理系统程序,能够添加图书信息、显示图书信息、查询图书信息等功能。
要求使用结构体来保存图书信息,并使用链表来存储多本图书的信息。
实验提示:可以使用链表的插入和删除操作来实现添加和删除图书的功能。
通过遍历链表来显示和查询图书的信息。
三、实验代码示例1.实验一代码示例:```c#include<stdio.h>int mainfloat num1, num2; //用于存储用户输入的两个数字char op; //用于存储用户输入的操作符float result; //用于存储计算结果printf("请输入两个数字和一个操作符(+、-、*、/):");scanf("%f %f %c", &num1, &num2, &op);switch(op)case '+':result = num1 + num2;break;case '-':result = num1 - num2;break;case '*':result = num1 * num2;break;case '/':if(num2 != 0)result = num1 / num2;elseprintf("除数不能为0!\n");return 0;}break;default:printf("操作符输入错误!\n");return 0;}printf("计算结果:%f\n", result);return 0;```2.实验二代码示例:```c#include<stdio.h>#define MAX_STUDENT 100 //定义最大学生数量struct Studentint id; //学号char name[20]; //姓名float score; //成绩};void addStudent(struct Student *students, int *count) if(*count >= MAX_STUDENT)printf("已达到学生数量上限!\n");return;}printf("请输入学生的学号、姓名和成绩:");scanf("%d %s %f", &(students[*count].id),students[*count].name, &(students[*count].score));(*count)++;void showStudent(struct Student *students, int count) int i;if(count == 0)printf("暂无学生信息!\n");return;}printf("学号\t姓名\t成绩\n");for(i = 0; i < count; i++)printf("%d\t%s\t%f\n", students[i].id, students[i].name, students[i].score);}float calculateAverage(struct Student *students, int count) int i;float sum = 0;if(count == 0)return 0;for(i = 0; i < count; i++)sum += students[i].score;}return sum / count;int mainstruct Student students[MAX_STUDENT]; //保存学生信息的数组int count = 0; //学生数量int choice;while(1)printf("\n学生成绩管理系统\n");printf("1.添加学生信息\n");printf("2.显示学生信息\n");printf("3.计算平均成绩\n");printf("0.退出\n");printf("请输入对应操作的序号:");scanf("%d", &choice);switch(choice)case 1:addStudent(students, &count);break;case 2:showStudent(students, count);break;case 3:printf("平均成绩:%f\n", calculateAverage(students, count));break;case 0:return 0;default:printf("输入无效的序号!\n");break;}}return 0;```3.实验三代码示例:```c#include<stdio.h>#include<stdlib.h>#include<string.h>struct Bookchar name[50]; //书名float price; //价格struct Book *next; //指向下一本书的指针};struct Book *head = NULL; //链表的头指针void addBookstruct Book *newBook;char name[50], author[20];float price;newBook = (struct Book *)malloc(sizeof(struct Book)); scanf("%s %s %f", name, author, &price);strcpy(newBook->name, name);strcpy(newBook->author, author);newBook->price = price;newBook->next = head;head = newBook;void showBooksstruct Book *p;if(head == NULL)printf("暂无图书信息!\n");return;}p = head;while(p != NULL)printf("%s\t%s\t%f\n", p->name, p->author, p->price); p = p->next;}void searchByNamestruct Book *p;char name[50];if(head == NULL)printf("暂无图书信息!\n");return;}printf("请输入要查询的图书的书名:");scanf("%s", name);p = head;while(p != NULL)if(strcmp(p->name, name) == 0)printf("%s\t%s\t%f\n", p->name, p->author, p->price); return;}p = p->next;}printf("未找到该图书!\n");int mainint choice;while(1)printf("\n图书管理系统\n");printf("1.添加图书信息\n");printf("2.显示图书信息\n");printf("3.查询图书信息\n");printf("0.退出\n");printf("请输入对应操作的序号:");scanf("%d", &choice);switch(choice)case 1:addBook(;break;case 2:showBooks(;break;case 3:searchByName(;break;case 0:return 0;default:printf("输入无效的序号!\n");break;}}return 0;```以上是三个C语言程序设计实验的相关介绍和代码示例。
C语言实验内容

实验1 C程序的运行钚境和运行C程序的方法实验内容和步骤:一、进入C编译集成环境,熟悉集成环境的界面和有关菜单的使用方法。
二、输入并运行一个简单的、正确的程序。
(1)输入下面的程序#include<stdio.h>int main( ){printf("This is a C program.\n");return 0 ;}(2)仔细观察屏幕上的已经输入的程序,检查有无错误。
(3)对源程序进行编译,观察屏幕上显示的编译信息。
如果出现“出错信息”,找出原因并进行改正,继续进行编译,如果没有错误,则进行连接。
(4)如果编译连接没有错误,运行程序,观察分析运行结果。
三、输入并编辑一个有错误的C 程序。
(1)输入以下程序:#include<stdio.h>int main( ){int a,b,suma=123;b=456;sum=a+bprint("sum is %d\n",sum);return 0;}(2)进行编译,仔细分析编译信息窗口,可能显示多个错误,逐个修改,直到不出现错误,最后与理论课上的程序对照。
(3)使程序运行,分析运行结果。
四、输入并运行一个需要在运行时输入数据的程序。
(1)输入下面的程序:#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);return 0;}int max(int x,int y){int z;if(x>y) z=x;else z=y;return (z);}(2)编译并运行,在运行时从键盘输入整数2和5,然后按“回车”键,观察运行结果。
c语言实验报告实验总结

c语言实验报告实验总结《C语言实验报告实验总结》在学习C语言编程过程中,实验报告是非常重要的一部分。
通过实验报告的撰写,可以帮助我们更好地理解和掌握C语言的知识,加深对编程的理解和应用。
在本次实验中,我们进行了一系列的C语言实验,通过实验报告的总结,我们可以对所学知识进行梳理和总结,从而更好地掌握C语言编程技能。
实验一:基本语法和数据类型在实验一中,我们学习了C语言的基本语法和数据类型,包括变量的定义和声明、常量的使用、数据类型的转换等。
通过实验,我们掌握了C语言中各种数据类型的使用方法,以及如何进行基本的运算和逻辑判断。
实验二:控制语句和循环结构在实验二中,我们学习了C语言的控制语句和循环结构,包括if语句、switch语句、for循环、while循环等。
通过实验,我们深入了解了这些语句和结构的使用方法,以及如何利用它们实现程序的流程控制和逻辑判断。
实验三:函数和数组在实验三中,我们学习了C语言的函数和数组,包括函数的定义和调用、函数的参数传递、数组的声明和使用等。
通过实验,我们掌握了如何编写和调用函数,以及如何使用数组来存储和处理大量的数据。
实验四:指针和内存管理在实验四中,我们学习了C语言的指针和内存管理,包括指针的定义和使用、指针和数组的关系、动态内存分配和释放等。
通过实验,我们深入了解了指针的概念和使用方法,以及如何进行内存管理和优化程序的性能。
通过以上一系列的实验,我们对C语言的基本知识和编程技能有了更深入的理解和掌握。
在实验报告的总结中,我们不仅对每个实验的内容和步骤进行了回顾和总结,还对所学知识进行了梳理和归纳,从而更好地掌握C语言的编程技能。
希望通过这次实验,我们可以在C语言编程的道路上走得更远、更稳健。
c 实验报告

c 实验报告引言:在计算机科学领域中,C语言是一门广泛应用的编程语言,它具有高效性、可移植性和灵活性等诸多优点,在软件开发和系统编程方面被广泛采用。
本次实验旨在探索C语言的特性和功能,并通过实际编码实验来加深对其的理解和应用。
实验一:变量和数据类型在C语言中,变量是存储数据的一个容器,它们具有不同的类型,如整数、字符、浮点数等。
在本实验中,我们使用基本数据类型来声明和初始化变量,并进行简单的数学运算。
实验二:条件语句和循环结构条件语句和循环结构是编程中常用的控制语句,它们可以让我们根据不同的条件执行不同的代码块,或者在满足条件的情况下重复执行一段代码。
在这个实验中,我们将学习如何使用if-else语句来进行条件判断,以及使用for和while循环来实现重复执行。
实验三:函数和数组函数在C语言中具有重要的地位,它们可以将一段代码封装为一个独立的模块,便于复用和维护。
数组也是C语言中常用的数据结构,它可以存储多个相同类型的元素。
在这个实验中,我们将探索函数的定义和调用,以及如何使用数组进行数据存储和处理。
实验四:指针和内存管理指针是C语言中一项重要的特性,它们可以引用内存地址,并对其进行操作。
正确使用指针可以提高程序的性能和效率,但也容易引发内存泄漏和野指针等问题。
在这个实验中,我们将学习如何声明和使用指针,以及动态内存分配和释放的方法。
实验五:文件操作和常用库函数文件操作是C语言中常见的功能之一,它可以用于读取和写入文件,处理文本和二进制数据等。
此外,C语言还提供了丰富的库函数,可以辅助我们进行各种操作。
在这个实验中,我们将学习如何打开、读取、写入和关闭文件,以及使用常用的库函数。
结论:通过本次实验,我们对C语言的基本特性和常用功能有了更深入的了解。
我们学习了变量和数据类型的使用,掌握了条件语句和循环结构的编写方法,理解了函数和数组的概念和用法,熟悉了指针的定义和操作,以及文件操作和常用库函数的应用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一最简单的C程序---顺序程序设计(验证性实验 2学时)(一)、实验目的1.熟悉VC++C-Free等C语言程序编译软件运行环境2.掌握运行一个C程序的步骤,理解并学会C程序的编辑、编译、链接方法3.掌握C语言中使用最多的一种语句——赋值语句4.掌握数据的输入输出方法,能正确使用各种格式控制符(二)、实验内容1.写出下列程序的运行结果(1)#include <>void main(){printf(“*****************\n”);printf(“Thi s is a c program. \n”);printf(“****************\n”);}运行结果及分析:将程序中的\n去掉后,运行结果及分析:(2)#include <>void main(){int a=100,b=20,sum,sb;sum=a+b;sb=a/b;printf("sum=%d,sb=%d",sum,sb);}运行结果及分析:(3)#include <>void main( ){char c1,c2;c1=97;c2=98;printf("%c ,%c\n",c1,c2);printf("%d,%d\n",c1,c2);printf("%c %c\n",c1+1,c2+2);}运行结果及分析:2.程序填空任意输入一个有五位数字的正整数x,分别输出每一数位上的数字(由高到低分别用b5,b4,b3,b2,b1表示),请将程序补充完整。
#include <>main(){int b1,b2,b3,b4,b5;int x;Scanf( “ %ld ”,&x);b5= (x/10000)%10; ;b4=(x/1000)%10;b3= (x/100)%10; ;b2=(x/10)%10;b1x%10; ;printf(“the number is ⑤ %d \n”,x);printf(“its bit is:%d,%d,%d,%d,%d\n”,b5,b4,b3,b2,b1);}程序分析:3.程序改错(注意:题中的编号为行序号,并非程序本身)(1)计算任意一个半径为r的圆的面积和周长(结果保留两位小数)1)#include <>2)main(){3) float r; p=,c,area;4)printf(“input r:”);5)scanf(“%f”, r);6)c=2p*r;7)area=p*r*r8)printf(“c=%-7.2f,area=%-7.2f”,c,area);9)}错误语句的行号: 3改正后的语句全行:float r,p=,c,area;错误语句的行号: 5改正后的语句全行:scanf(“%f”,&r);错误语句的行号: 6改正后的语句全行:c=2*p*r错误语句的行号: 7改正后的语句全行:area=p*r*r,改错分析:(2)修改下面的源程序,并调试出运行结果,并以命名保存。
#include <>mian( );{ int a b sum;a=4,b=15;sum=a*b;prinf(“sum is %d\n”,sum);}运行结果及分析:t4.编写程序(1)编写程序,输入两个整数:1500和350,求出它们的商数和余数并进行输出。
程序清单:#include <>void main(){int a;int b;int c,d;a=1500,b=350;c=a/b;d=a%b;printf("%d\n",c);printf("%d\n",d);}d程序编写注意事项:(2)输入一个双精度类型的数,使该数保留小数点后两位,对第三位小数进行四舍五入处理后,输出此数,以便验证处理是否正确。
程序清单:#include <>void main(){double x;printf("enter x:\n");scanf("lf%",&x);printf("x1=%d\n",x);x=x*100;x=x+;x=(int)(x);x=x/100;printf("x2=%f\n",x);}程序编写注意事项:(3)编写程序,输入三个数a、b、c,然后交换它们中的数,把a中原来的值给b,把b中原来的值给c,把c中原来的值给a。
程序清单:#include <>void main(){int a=1;int b=2;int c=3;int temp;temp=a;a=c;c=b;b=temp;printf("%d,%d,%d\n",a,b,c);}l程序编写注意事项:(4)输入一个华氏温度,要求输出摄氏温度,公式为:C=5/9(F-32)(要求保留3位小数)。
程序清单:#include <>void main(){float f,c;scanf("%f",&f);c=(f-32)*5/9;printf("%.3f\n",c);}程序编写注意事项:实验二逻辑运算&顺序结构的程序设计(验证性实验 2学时)(一)、实验目的1.了解输入输出的方式;2.了解逻辑量在C语言中的表示方法3.学会使用逻辑运算符和逻辑表达式3.掌握C的基本数据类型及其使用规则;4.重点熟悉C语言的基本语法单位;5.难点学习编写简单C程序。
(二)、实验内容1.写出下列程序的运行结果(1)#include <>void main( ){int a,b,x=10,y=9;a=(--x == y++) --x : ++y;b= y;printf(“%d,%d\n”,a,b);}运行结果及分析:(2)#include <>void main (){‘int i=8,j=10,m,n;m=++i;n=j++;printf("%d,%d,%d,%d",i,j,m,n);}运行结果及分析:再将本程序的第3行改为m=i++;n=++j;运行结果及分析:(3)先计算以下程序的结果,然后上机运行main(){int x,y,z;x=y=z=1;x+=y+=z;printf("(1)%d\n",x<yy:x);printf("(2)%d\n",x<yx++:y++);printf("x=%d,y=%d\n",x,y);printf("(3)%d\n",z+=x<yx++:y++);printf("x=%d,y=%d,z=%d\n",x,y,z);x=5;y=z=6;printf("(4)%d\n",(z>=y>=x)1:0);printf("(5)%d\n",(z>=y&&y>=x));}程序运行结果分析:(4)分析以下程序,并输入软件调试。
(掌握符号常量的用法)#define PImain(){float r,s,l;r=;s=PI*r*r;l=2*PI*r;printf(“s=%f,l=%f\n”,s,l);}程序清单:程序编写注意事项:(5).先计算以下程序的结果,然后上机运行int sum=10,cap=10;cap=sum++,cap++,++cap;printf("%d\n",cap);程序清单:#include <>void main(){int sum=10,cap=10;cap=sum++,cap++,++cap;printf("%d\n",cap);}程序编写注意事项:2.改错以下程序多处有错。
要按下面指定的形式输入数据和输出数据时,请对该程序做相应的修改。
main( ){ double a,b,c,s,v;printf(input a,b,c:\n);scanf(“%d%d%d”,a,,b,c);s=a*b;v=a*b*c;printf(“%d %d %d”,a,b,c);printf(“s=%f\n,s”,”v=%d\n,v”)#include <>main( ){ double a,b,c,s,v;printf("input a,b,c:\n");scanf("%d%d%d",&a,&b,&c);s=a*b;v=a*b*c;printf("%d %d %d",a,b,c);printf("s=%f\n,s","v=%d\n,v");}程序分析:3.编写程序(1)求下面算术表达式的值。
1)x+a%3*(int)(x+y)%2/4设x=,a=7,y=2)(float)(a+b)/2+(int)x%(int)y设a=2,b=3,x=,y=先自己分析,再试着用程序求解,看得到的结果是否一致。
程序清单:ojrt1’#include <>main( ){float x=;int a=7;float y=;double z;z=x+a%3*(int)(x+y)%2/4;printf("z=%f\n",z);}2’void main(){ #include<>int a=2,b=3;float x=,y=;float m=(float)(a+b)/2+(int)x%(int)y;printf("%f",m);}程序编写注意事项:(2)用程序的形式求出计算结果:已知整型变量a的初值是5,b的初值是3,计算下列表达式的值。
1). !a&&b++; 02). a||b+4&&a*b; 13). a=1,b=2,a>b++a:++b; 14). ++b,a=10,a+5;45). a+=b%=a+b; 86.) a!=b>2<=a+1;1程序清单:(1)#include <>void main(){kint a,b,c;b=3;printf("%d",!a&&b++);}程序编写注意事项:(3)要将“China”译成密码,密码规律是:用原来的字母后面第4个字母代替原来的字母。