c语言实验三实验报告
- 格式:doc
- 大小:94.50 KB
- 文档页数:6
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语言实训总结报告范文(通用5篇)在经济飞速发展的今天,报告的适用范围越来越广泛,报告包含标题、正文、结尾等。
一听到写报告马上头昏脑涨?以下是小编整理的C语言实训总结报告范文,仅供参考,希望能够帮助到大家。
C语言实训总结报告篇1这个星期,我们迎来了C语言实训——一次至为重要的实训。
在这个星期里,同学们都很认真的做着那20多道实训题目,遇到不懂的互相请教,或请问老师。
非常感谢老师对我们的帮助,这次实训使我受益匪浅,收获了很多。
通过C语言实训,让我加深了对C语言的了解,而不只是单单的在课本中学到的那些理论,平时乏味的课程,通过自己动手亲自编写,变的生动有趣,而在自己动手的过程中,出现的问题很多,比理论要难的多,当一个程序写完以后,经常会有很多错误而没法解决。
不过,通过几天的实训,逐渐积攒了一些经验,有些错误可以很快就看出来。
这次实训有很大的收获,让我对C语言有了更深的认识,平时在课堂上学到的东西可以自己动手编写,将其转化成一些实用的技能。
如果是一个程序写完一处错误也没有,会有种成就感,于是兴趣就来了,兴趣来了,自然学的东西也就多了,能把理论变成实际的技能,让我对C语言有了浓厚的兴趣和更深层的认识。
C语言是一个有序的学习,学了最基本的替换,然后扩展到循环,嵌套,条理很清楚,不是一个零散的知识,实际上所有的课程都如此,不过通过实训我也知道了自己的不足,存在的很多问题。
比如自己写的写的小程序出了问题,不会解决了就叫老师帮忙,虽然说一定意义上增加了师生之间的感情,但是会养成一种依赖的心理,碰到问题了第一个想到的是求助而不是自己独立解决,所以以后要多多锻炼自己的信心和增加自己的能力,争取做到老师不在身边的时候也可以完成一些简单的程序编写与错误排除。
还有自己的基础知识不扎实,遇到的问题,没有很好的逻辑思维,亲自编写一个陌生的程序的时候会有种无法下手的感觉,找不到突破口。
通过实训,逐渐理清了顺序,对于简单的程序和一些相对比较繁琐的嵌套,循环,不在是看着一头雾水。
《C语言程序设计》实验报告学院:专业:学号:姓名:成绩:课程代码: 2001301指导教师:实验中心:电气信息专业试验中心日期:目录实验总体要求实验一………………………………………………C语言的运行环境和运行过程实验二………………………………………………数据类型、运算符与表达式实验三………………………………………………程序结构(顺序、选择和循环) 实验四………………………………………………数组实验五………………………………………………函数实验六………………………………………………指针实验七………………………………………………结构体实验八………………………………………………类和对象实验总体要求C语言程序设计课程是一门实践性很强的课程,为了培养学生的计算机应用能力,除了课堂理论教学外,必须加强程序设计课程实验的教学环节。
1、课程实验教学目的通过C语言程序设计的课程实验教学,学生应具有使用计算机解决相关问题的能力,同时为学生今后学习其他计算机应用课程打下良好的程序设计基础。
⑴分析问题和解决问题能力的训练课程实验教学将课本上的理论知识和实际应用有机地结合起来,达到训练学生分析问题解决实际问题的能力,提高学生应用计算机知识开发应用系统的综合能力。
⑵逻辑思维能力的训练通过课程实验教学,使学生正确地掌握C语言的基本知识,较好掌握基本的程序算法,以及描述方法。
培养学生在程序设计解题思路、算法的描述、编程构思等方面的计算机逻辑思维能力。
⑶程序设计技能的训练通过C语言环境下的应用实例,训练学生编写程序的能力,掌握编程的思路和方法,掌握结构化程序设计的基本概念和基本技能。
通过课程实验教学,使学生掌握C程序设计语言的语法规则,数据结构的应用,掌握算法描述及相应代码描述,掌握结构化程序设计的基本方法,能熟练编写一般的应用程序。
2、课程实验教学要求⑴要求通过解题、程序设计和上机实践,加深对所学概念的理解,提倡理论与实践相结合的学习方法。
c语言实训报告一、实训介绍作为计算机专业学生,我们需要熟练掌握各种编程语言,其中C语言是所有计算机专业学生必须学会的语言之一。
为了更好地掌握C语言的使用,我们参加了C语言实训。
本次实训分为理论学习和实践操作两部分,理论学习主要涵盖C语言的基本语法、数据类型、运算符、流程控制等内容,实践操作部分则要求我们通过编写各种程序来巩固所学知识并提高编程能力。
二、实训过程1. 理论学习在理论学习阶段,我们通过老师讲解和课堂互动的方式掌握了C语言的基本概念和语法规则,并进行了主要控制语句的讲解和练习。
同时,我们通过一些实例掌握了C语言的运算符和数据类型,并学会如何使用它们来编写程序。
2. 实践操作实践操作阶段是整个实训的重点和难点,主要包括以下几个方面的内容:(1)程序编写在实践操作过程中,老师为我们提供了多个练习题目,包括简单的判断语句、循环语句、数组等等。
我们需要通过编写代码来实现这些题目的要求,并进行调试修改,直到程序执行无误为止。
(2)实验报告为了让我们更好地掌握C语言的应用,老师还要求我们编写实验报告,记录我们在实践过程中遇到的问题和解决方案,以及程序设计的思路和实现过程。
通过编写实验报告,我们不仅可以更好地回顾和总结实践操作,还能提高我们的文字表达能力。
三、实训体会通过参加C语言实训,我对C语言的掌握更加深刻,不仅能灵活运用其语法和控制语句,还能熟练使用其常用函数和数据类型。
在实践操作中,我也锻炼了自己的程序设计和调试能力,并学会了一些解决问题的方法和技巧。
同时,我也认识到了C语言编程并不是简单的代码拼接,要求我们具备较强的逻辑思维能力和耐心,只有不断地进行练习和思考,才能在C语言编程中达到自己的目标。
四、总结通过C语言实训,我不仅掌握了C语言的基础知识和应用技巧,还培养了自己的创新思维和问题解决能力。
在未来的学习和工作中,我会继续学习和应用C语言,不断提升自己的编程水平,并为计算机行业的发展做出自己的贡献。
实验三循环控制实验课程名:高级语言程序设计(C)专业班级:学号:姓名:实验时间:实验地点:指导教师:一、实验目的和要求1. 熟练掌握用while语句、do while语句和for语句实现循环的方法。
2. 掌握在程序设计中用循的方法实现一些常用算法。
并进一步学习调试程序的方法。
二、实验内容1、任务名称程序c40101.c求1+…+100,填空,实现该功能。
(1、)源代码:#include<stdio.h>int main(){int s,i;s=0;for(i=1;i<=100;i++)s=s+i;printf("1+2+...+100=%d\n",s);return 0;}运行结果:(需要截图)(2、)源代码:#include<stdio.h>int main(){int s=0,i=1;while(i<=100){s+=i;i++;}printf("1+2+...+100=%d\n",s);return 0;}运行结果:运行结果分析:2、任务名称:分别运行这两个程序,若输入7,这两个程序的结果分别是多少?若输入12,这两个程序的结果又分别是多少?比较为什么会有这样的区别?(1、)源代码:#include <stdio.h>void main(){ int i,n,sum=0;scanf("%d",&i);n=i;while(i<=10){ sum+=i;i++;}printf("%d+...+10=%d\n",n,sum);}运行结果:(需要截图)(2、)源代码:#include <stdio.h>int main(){ int i,n,sum=0;scanf("%d",&i);n=i;do{ sum+=i;i++;} while(i<=10);printf("%d+...+10=%d\n",n,sum);return 0;}运行结果:运行结果分析:3、任务名称:下面程序,若输入12345,分析输出结果是多少?源代码:#include <stdio.h>void main( ){ long data;scanf("%ld",&data);while(data){ printf("%ld,",data%10);data=data/10;}}运行结果:(需要截图)运行结果分析:4、任务名称:程序c40104.c 实现求Fibonacci 数列的前n 个数。
实验一C程序设计入门1.编程输出‚我的信息‛;#include <stdio.h>main(){printf("My Information:\n");printf("姓名:李坤\n性别:女\n专业名称:通信工程\n课程名称:高级语言程序设计实验\n");}2.编程:定义一个名为all的整型变量并为其赋值100。
分别计算all 的两倍及其平方,用文字什么的输出结果;#include <stdio.h>main(){int all=100;int x,y;x=2*all;y=all*all;printf("all的两倍是:%d\n all的平方是:%d\n",x,y);}3.编程求以下表达式的值;#include <stdio.h>#include <math.h>main(){float x;x=23+(pow(16,2)-15)/(9+14);printf("x=%.4f\n",x);}4.编程计算以下表达式的值(要求:分别定义一个int和float类型的变量,计算的结果存入该二变量并输出,分析结果)#include <stdio.h>main(){int x;float y;x=3/2+4/3+5/4+6/5;y=3.0/2+4.0/3+5.0/4+6.0/5;printf("x=%d\ny=%.4f\n",x,y);}实验二数据类型、常量变量及顺序结构程序设计1.输入两个人的身高,计算并输出他们的平均身高。
(结果保留两位小数)#include <stdio.h>main(){float x,a,b;printf("Input the height:");scanf("%f%f",&a,&b);x=(a+b)/2;printf("The average height is:%.2f\n",x);}2。
实验三循环结构程序设计(参考答案)1、设计程序sy3-1.c,计算并输出n(包括n)以内所有能被5或9整除的自然数的倒数之和。
例如输入n 的值为20时,输出0.583333。
算法分析:穷举1~n(含n)之间的每一个整数,能否被5或者9整除。
如果能,则把它的倒数累加到累加器里去。
因为能被5整除的自然数,应该至少从5才可能,所以循环控制变量i可以5开始。
参考答案:#include<stdio.h>void main(){int n,i;double s=0; //累加器要赋初值为0,结果为小数,所以定义为实数类型printf("请输入n的值:");scanf("%d",&n);for(i=5;i<=n;i++) //穷举小于等于n的自然数if(i%5==0||i%9==0)s=s+1.0/i;// 因为i是整数类型,所以1/i的值为0printf("s=%f\n",s);}运行结果:2、设计程序sy3-2.c,计算并输出给定整数n的所有因子(不包括1与自身)之和。
例如,输入n的值是856时,应输出763。
算法分析:因子,就是能整除n的值。
所以从2到n-1穷举每个数是不是它的因子,是就累加到s中。
参考答案:#include<stdio.h>void main(){int s=0,n,i;printf("请输入n:");scanf("%d",&n);for(i=2;i<n;i++) //穷举所有可能为因子的整数if(n%i==0) //因子即是能整除n的数s=s+i;printf("%d的所有因子之和是:%d\n",n,s);}运行结果:3、设计程序sy3-3.c,输入一个整数,要求将该整数上各位数字是偶数的数取出,并按原来从高位到低位的顺序组成一个新数。
c语言函数实验报告C 语言函数实验报告一、实验目的1、深入理解 C 语言中函数的概念、定义和使用方法。
2、掌握函数的参数传递机制,包括值传递和地址传递。
3、学会使用函数来实现程序的模块化设计,提高代码的可读性、可维护性和可重用性。
4、通过实验,熟练掌握函数的调用、返回值的处理以及函数之间的相互协作。
二、实验环境1、操作系统:Windows 102、编译环境:Visual Studio 2019三、实验内容(一)函数的定义与声明1、定义一个名为`add` 的函数,用于计算两个整数的和,并返回结果。
```cint add(int a, int b) {return a + b;}```2、在主函数之前对`add` 函数进行声明。
```cint add(int, int);```(二)函数的调用1、在主函数中调用`add` 函数,计算 5 和 10 的和,并输出结果。
```cint main(){int result = add(5, 10);printf("5 + 10 =%d\n", result);return 0;}```(三)值传递与地址传递1、定义一个函数`swap`,通过值传递方式交换两个整数的值。
```cvoid swapValue(int a, int b) {int temp = a;a = b;b = temp;}```2、定义一个函数`swapPointer`,通过地址传递方式交换两个整数的值。
```cvoid swapPointer(int a, int b) {int temp = a;a = b;b = temp;}```3、在主函数中分别调用这两个函数,观察交换结果。
(四)函数的递归调用1、定义一个递归函数`factorial`,计算一个整数的阶乘。
```cint factorial(int n) {if (n == 0 || n == 1) {return 1;} else {return n factorial(n 1);}}```2、在主函数中调用`factorial` 函数,计算 5 的阶乘,并输出结果。
计算机软件技术基础实验报告实验一:线性表的排序与查找一.实验内容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语言实验报告结果及分析#### 一、实验目的1. 学习如何使用函数;2. 了解函数的作用;3. 掌握C语言程序中函数的实现方法;4. 深入理解函数调用和参数传递。
#### 二、实验内容本次实验完成了一个函数factorial,它的作用是计算一个整数的阶乘。
实验代码:```c#include <stdio.h>int factorial(int n) //函数声明{int i; //定义变量int product = 1; //初始化变量for(i = 1; i<=n; i++) //循环语句{product *=i;}return product; //返回结果}int main(){int num;scanf("%d",&num); //输入变量printf("%d\n",factorial(num)); //调用函数return 0;}```#### 三、实验结果实验运行结果:实验结果验证了函数factorial的功能,它计算出了正确的结果:输入5,计算出120;输入4,计算出24。
#### 四、实验分析1. 在实验代码中,我们首先定义了一个函数factorial,并给出了它的参数n和返回值product。
然后,运用循环语句把参数n的各个数相乘,取得最终结果product,并用return语句把结果返回。
2. 然后,在进入main函数时,我们用scanf传入变量num,然后调用factorial函数计算num的阶乘,将结果用printf输出,这就完成了整个程序的工作。
3. 本实验验证了函数factorial的功能,完成了整数的阶乘计算任务,并且符合了性能要求,每次输入及计算结果都符合预期,可以满足实际使用需求。
实验十 参考答案(指针)三、实验内容( 按要求完善或设计以下程序,并调试分析运行结果)1. 程序填空题 给定程序BLACK10-1.C 中,函数fun 的功能是:将形参n 所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n 传回所指变量。
例如,输入一个数:27638496,新的数:为739。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
【解题思路】第一处:t 是通过取模的方式来得到*n 的个位数字,所以应填:10。
第二处:判断是否是奇数,所以应填:0。
第三处:最后通形参n 来返回新数x ,所以应填:x 。
2. 程序改错题 给定程序MODI10-1.C 中函数fun 的功能是: 计算n 的5次方的值(规定n 的值大于2、小于8),通过形参指针传回主函数;并计算该值的个位、十位、百位上数字之和作为函数值返回。
例如,7的5次方是16807, 其低3位数的和值是15。
【解题思路】第一处:变量d 的初始值应为1。
第二处:整除的符号是 /。
3. 程序设计题 请编写函数fun ,它的功能是:求出能整除形参x 且不是偶数的各整数,并按从小到大的顺序放在pp 所指的数组中,这些除数的个数通过形参n 返回。
例如,若 x 中的值为: 35,则有 4 个数符合要求,它们是: 1, 5, 7, 35。
【解题思路】本题是求出能整除形参x 且不是偶数的各整数,并按从小到大的顺序放在pp 所指的数组中,这些除数的个数通过形参n 返回。
【参考答案】void fun ( int x, int pp[], int *n ){ int i; *n=0;for(i=1; i <= x; i++)if((x % i== 0) && (i % 2)) pp[(*n)++]=i;}4. 程序填空题 给定程序中,函数fun 的功能是:找出N ×N 矩阵中每列元素中的最大值,并按顺序依次存放于形参b 所指的一维数组中。
南昌大学实验报告学生姓名:学号:专业班级:实验类型:□验证□√综合□设计□创新实验日期:实验成绩:一.实验名称实验3控制语句二.实验目的1.熟练掌握if 、if…else、if……elseif语句和switch语句格式及使用方法,掌握if语句中的嵌套关系和匹配原则,利用if语句和switch语句实现分支选择结构。
2.熟练掌握while语句、do……whil e语句和for语句格式及使用方法,掌握三种循环控制语句的循环过程以及循环结构的嵌套,利用循环语句实现循环结构。
3.掌握简单、常用的算法,并在编程过程中体验各种算法的编程技巧。
进一步学习调试程序,掌握语法错误和逻辑错误的检查方法。
三.实验内容1.选择结构程序设计;2.if语句的使用;3.使用switch语句实现多分支选择结构;4.三种循环语句的应用;5.循环结构的嵌套;6.break和continue语句的使用。
三.实验环境PC微机DOS操作系统或 Windows 操作系统Visual c++程序集成环境四.实验内容和步骤本实验要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。
学会单步调试和断点调试程序及变量跟踪方法。
1.任意输入4个整数,要求按由小到大的顺序输出。
2.编程实现:输入一个整数,将其数值按照①小于10,②10~99,③100~999,④1000以上四个类别分类并显示。
要求:(1)将变量定义为整型。
(2)输入整数前,利用puts ()/printf ()给出提示信息。
(3)输出结果时要有必要的说明,例如:输入358时,显示358 is 100 to 999。
(4)该程序利用if 语句实现。
运行程序,分别输入9,21,321,4321数据检查输出信息的正确性。
3.编写程序:根据公式 222221......3121116n ++++=π ,输出 π的值。
要求:(1)变量π为单精度类型,n 为整型;(2)计算当n 的取值分别为20,50 ,100,200时的π值,说明什么问题?(3)修改程序,不给出n 值,而改为求π值,直到最后一项的数值小于10-4 为止。
c语言顺序结构实验报告篇一:实验三顺序结构程序设计实验报告实验三顺序结构程序设计实验报告一、实验目的1. 掌握掌握赋值语句的使用方法。
2. 各种类型数据的输入输出的方法,能正确使用各种格式转换符。
3. 进一步掌握编写程序和调试程序的方法。
二、实验内容(源代码)1. sy3-(1) ①#includeint main() { int a,b;//基本整型float d,e; //单精度浮点型 char c1,c2;//字符型 double f,g;//双精度浮点型long m,n; //长整型unsigned int p,q;//"unsiguld"改成"unsigned" 无符号整型a=61,b=62; c1='a';c2='b';//'a''b'的"'"不能掉了d=3.56;e=-6.87; //d,e之间用";"隔开f=3157.890121;g=0.9; m=50000;n=-60000; p=32768;q=40000;printf("a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n", a,b,c1,c2,d,e);//"""与"a"之间的","不能掉了,"\"不能写成"/" printf("f=%15.6f,g=%15.12f\nm=%1d,n=%1d\np=%u,q=%u\ n",f,g,m,n,p,q); //f后的q改为g}③#includeint main() {int a,b;//基本整型 float d,e; //单精度浮点型char c1,c2;//字符型double f,g;//双精度浮点型 long m,n; //长整型unsigned int p,q;//"unsiguld"改成"unsigned" 无符号整型 a=61,b=62;c1=a;c2=b; //c1,c2之间用";"隔开 f=3157.890121;g=0.9; d=f;e=g;p=a=m=50000;q=b=n=-60000;printf("a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n", a,b,c1,c2,d,e);//"""与"a"之间的","不能掉了,"\"不能写成"/"printf("f=%15.6f,g=%15.12f\nm=%1d,n=%1d\np=%u,q=%u\ n",f,g,m,n,p,q); //f后的q改为g④#includeint main() {int a,b;//基本整型 float d,e; //单精度浮点型char c1,c2;//字符型double f,g;//双精度浮点型 long m,n; //长整型unsigned int p,q;//"unsiguld"改成"unsigned" 无符号整型 a=61,b=62;c1=a;c2=b; //c1,c2之间用";"隔开f=3157.890121;g=0.9; d=f;e=g;p=a=m=50000;q=b=n=-60000;printf("a=%d,b=%d\nc1=%d,c2=%d\nd=%d,e=%d\n",sizeof (a),sizeof(b),sizeof(c1),sizeof(c2),sizeof(d),sizeo f(e));printf("f=%d,g=%d\nm=%d,n=%d\np=%d,q=%d\n",sizeof(f ),sizeof(g),sizeof(m),sizeof(n),sizeof(p),sizeof(q) );}2. sy3-(2)#include int main() {float h,r,c,s1,s2,v1,v2; //定义float pi=3.1415926; //赋值printf("圆半径r=,圆柱高h=:");//提示scanf("%f,%f",&r,&h); //输入c=2*pi*r; //计算s1=pi*r*r;//"*"不可省略s2=4*s1;v1=4.0/3.0*s1*r; v2=s1*h;printf("圆周长:c=%6.2f\n",c); //输出 printf("圆面积:s1=%6.2f\n",s1);printf("圆球表面积:s2=%6.2f\n",s2); printf("圆球体积:v1=%6.2f\n",v1); printf("圆柱体积:v2=%6.2f\n",v2); return 0;}3. sy3-(3)#include#include //不要忘了数学函数 int main() {float p,r5,r3,r2,r1,r0,p1,p2,p3,p4,p5; //定义p=1000;//赋值printf("r5=,r3=,r2=,r1=,r0=:");//提示 scanf("%f,%f,%f,%f,%f",&r5,&r3,&r2,&r1,&r0); //输入 p1=p*r5*5; //计算}p2=p*(1+2*r2)*(1+3*r3)-p; p3=p*(1+3*r3)*(1+2*r2)-p; p4=p*pow(1+r1,5)-p; p5=p*pow(1+r0/4,20)-p;printf("方案1的利息:p1=%f\n",p1); //输出printf("方案2的利息:p2=%f\n",p2); printf("方案3的利息:p3=%f\n",p3); printf("方案4的利息:p4=%f\n",p4); printf("方案5的利息:p5=%f\n",p5); return 0;4. sy3-(4)① #include int main() {char c1='C',c2='h',c3='i',c4='n',c5='a';//定义与赋值 c1=c1+4;//计算 c2=c2+4; c3=c3+4; c4=c4+4; c5=c5+4;printf("用printf语句输出结果为:");//提示printf("%c%c%c%c%c\n",c1,c2,c3,c4,c5);//输出c1,c2之间的","不可省略 printf("用putchar语句输出结果为:");//提示putchar(c1);//输出putchar(c2); putchar(c3); putchar(c4); putchar(c5);printf("\n");//换行不要省略 return 0;}② #include int main(){ }char c1='T',c2='o',c3='d',c4='a',c5='y';//定义与赋值 c1=c1-22;//计算 c2=c2-22; c3=c3-22; c4=c4-22; c5=c5-22;printf("用printf语句输出结果为:");//提示printf("%c%c%c%c%c\n",c1,c2,c3,c4,c5);//输出c1,c2之间的","不可省略 printf("用putchar语句输出结果为:");//提示putchar(c1);//输出putchar(c2); putchar(c3); putchar(c4); putchar(c5);printf("\n");//换行不要省略 return 0;③ #include int main(){char c1='T',c2='o',c3='d',c4='a',c5='y';//定义与赋值 c1=c1-4;//计算 c2=c2-4; c3=c3-4; c4=c4-4; c5=c5-4;printf("用printf语句输出结果为:");//提示printf("%c%c%c%c%c\n",c1,c2,c3,c4,c5);//输出c1,c2之间的","不可省略 printf("用putchar语句输出结果为:");//提示putchar(c1);//输出putchar(c2); putchar(c3); putchar(c4); putchar(c5);printf("\n");//换行不要省略 return 0;}篇二:C语言实验二程序、总结顺序结构与输入、输出方法实验二顺序结构与输入/输出方法1 学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自增减运算符的使用。
c语言实验报告总结在大学的计算机科学与技术专业中,学习C语言是一个非常重要的环节。
通过实验的方式,我们可以更好地理解和掌握这门编程语言。
在此次实验中,我对C语言的基本语法、数据类型、控制结构以及函数等方面进行了深入学习和实践,并取得了一定的成果。
首先,在实验中我通过编写简单的程序,掌握了C语言的基本语法规则。
C语言是一门结构化的编程语言,具有严格的语法要求。
通过实验,我深刻理解了C语言的语法规则对编写正确程序的重要性。
在每个实验环节中,我都会根据实验要求,遵循正确的语法结构,确保程序能够顺利运行。
其次,在实验过程中,我掌握了C语言的各种数据类型。
C语言中的数据类型包括整型、浮点型、字符型等多种类型,每一种类型都有其特定的用途和限制。
通过实验,我学会了如何定义不同类型的变量,并能够利用这些变量进行各种运算和操作。
这为我后续的程序设计提供了基础。
另外,在实验中我学习了C语言的控制结构。
控制结构在程序设计中起到了重要的作用,可以通过条件判断和循环控制实现不同的功能。
在实验中,我通过编写程序,学会了使用if语句、switch语句以及for、while、do-while等循环语句。
这些控制结构的灵活运用使我的程序更加健壮和实用。
在实验的过程中,我还学习了C语言中的函数。
函数是C语言中的一种代码模块,可以将一段具有特定功能的代码封装起来,提高代码复用性和可维护性。
通过实验,我了解了函数的定义、声明和调用等基本概念,并学会了如何自己编写函数,并在主程序中调用这些函数。
函数的使用使我的程序模块更加清晰,减少了代码的重复性,提高了代码的可读性和可维护性。
总的来说,这次C语言的实验让我受益匪浅。
通过实际动手编写程序,我不仅巩固了对C语言基础知识的理解,还掌握了更多实际应用的技巧。
同时,实验还培养了我的分析和解决问题的能力,使我在编写程序时可以更加深入地思考和分析。
在未来的学习和工作中,C语言将成为我必不可少的工具。
实验3 逻辑结构程序设计一、实验目的1、了解C 语言表示逻辑量的方法(以0代表“假”,以非0代表“真” )。
2、学会正确使用逻辑运算符和逻辑表达式。
3、熟练掌握if 语句和switch 语句。
4、结合程序掌握一些简单的算法。
5、学习调试程序。
二、实验内容和步骤本实验要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。
1、改错题。
给定程序MODI1.C 的功能是:对于如下函数:用scanf 函数输入x 的值,求y 值。
/* MODI1.C */#include <stdio.h>void main(){int x, y;/***********found***********/scanf ("%d", &x);if ( x < 1 )y = x;/***********found***********/else if ( 1 <=x&& x < 10 )y = 2*x -1 ;elsey = 3*x -11; printf("y = %d\n", y ); }程序中有两处错误,错误都在提示行: /***********found***********/的下面一行。
请改正程序中的错误,使它能得出正确的结果。
注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构!修改程序后,运行程序,输入x 的值(分别为x<1、1≤x<10、x ≥10三种情况,如0.5、8、15),检查输出的y 值是否正确。
⎪⎩⎪⎨⎧≥-<≤-<=)10(113)101(12)1(x x x x x xy2、从键盘输入某学生的考试成绩,要求输出成绩等级A、B、C、D、E。
学生的成绩可分成5个等级,90-100分为A级,80-89分为B级,70-79分为C级,60-69分为D级,0-59分为E级。
要求在输入负数时,给出错误提示。
c语言实验报告分析总结3篇c语言实验报告分析总结1在科技高度发展的今天,计算机在人们之中的作用越来越突出。
而c语言作为一种计算机的语言,我们学习它,有助于我们更好的了解计算机,与计算机进行交流,因此,c语言的学习对我们尤其重要。
在这个星期里,我们专业的学生在专业老师的带领下进行了c语言程序实践学习。
在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。
由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。
包括了程序模块处理.简单界面程序.高级界面程序.程序的添加修改.用程序做一元线性回归处理以及用c语言程序来画粒度分布图等这几样比较重要的时间操作。
上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。
对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。
学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。
因为学时所限,课程不能安排过多的上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c语言开发程序的能力,为今后的继续学习打下一个良好的基础。
为此,我们结合课堂讲授的内容和进度,安排了12次上机实验。
课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面:1.加深对课堂讲授内容的'理解课堂上要讲授许多关于c语言的语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。
然而要使用c语言这个工具解决实际问题,又必须掌握它。
通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c语言的语法规定。
第一篇:C语言程序设计上机实验报告黔南民族师范学院C语言程序设计上机实验报告系部:计算机科学系年级:2013 级班级:姓名:学号:实验时间:实验成绩:2013年月日实验三顺序结构程序的设计一实验名称:顺序结构程序的设计二.实验环境:windows XP系统,VC++6.0软件三.实验目的:四.实验内容:五.算法描述流程图六.源程序七.测试数据及运行结果八.实验心得实验成绩评分要求1、原创性发现抄袭或雷同成绩为0分2、正确性程序正确60分3、可读性格式清楚,有注释,变量命名规范20分4、健壮性对特殊测试数据有考虑有测试10分5、效率程序运行效率高10分第二篇:C程序设计上机实验报告10C程序设计实验报告实验名称:指针与数组学时安排:2课时实验类别:上机操作型实验要求:1人1组 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄一、实验目的1. 理解指针、地址和数组间的关系;2. 掌握通过指针操作数组元素的方法;3. 掌握数组名作为参数的编程方式。
二、实验设备介绍软件需求: Visual C++ 6.0或CFree3.5以上版本硬件需求: 对于硬件方面的要求,建议配置是Pentium III 450以上的CPU处理器,64MB以上的内存,200MB的自由硬盘空间、CD-ROM驱动器、能支持24位真彩色的显示卡、彩色显示器、打印机。
三、实验内容1. 定义函数void sort(int a[],int n)amain函数,并在其中调用sort函数。
示例如下:After sorted the array is: -9 -6 1 2 4 52. 输入10个整数存储到数组a,再输入一个整数x,在数组a中查找x,若找到则输出相应的下标,否则显示“Not found!”。
要求定义和调用函数search(int list[], int n, int x),在数组list中查找元素x,若找到则返回相应下标,否则返回-1。
C语言程序设计实验报告
实验三使用数组的程序设计
班级学号姓名
一、实验目的
(1)掌握一维数组和二维数组的定义、赋值和输入输出方法。
(2)掌握字符数组的使用。
(3)掌握与数组有关的算法。
二、实验内容及步骤
1、检验并打印幻方矩阵
在下面的5*5阶幻方矩阵中,每一行、每一列、每一对角线上的元素之和都是相等的,试编写程序将这些幻方矩阵中的元素读到一个二维整型数组中,然后检验其是否为幻方矩阵,并将其按如下格式显示到屏幕上。
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
程序代码:
#include <stdio.h>
int main()
{
int i,j,k=0;
int sum1[5]={0},sum2[5]={0},b[2]={0};
int
a[5][5]={{17,24,1,8,15},{23,5,7,14,16},{4,6,13,20,22},{10,12,19,21,3},{11,18,25, 2,9}};
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
printf("%4d",a[i][j]);
sum1[i]=sum1[i]+a[i][j];
sum2[i]=sum2[i]+a[j][i];
}
printf("\n");
}
for(i=0;i<5;i++)
{
b[0]=b[0]+a[i][i];
b[1]=b[1]+a[i][4-i];
}
for(i=0;i<5;i++)
{
if(sum1[i]==b[0]&&sum2[i]==b[0]&&b[0]==b[1])
k++;
}
if(k==5)
printf("这是一个幻方矩阵.\n");
else
printf("这不是一个幻方矩阵.\n");
return 0;
}
2、完成以下程序,并进行调试
某班期末考试科目为数学、英语和计算机,有最多不超过30人参加考试,考试后要求:1)计算每个学生的总分和平均分;
2)按总分成绩由高到低排出成绩的名次;
3)打印出名次表,表格内包括学生学号、各科分数、总分和平均分;
4)任意输入一个学号,能够查找出该学生在班级中的排名及其考试分数。
【提示】:用二维数组score存放每个学生各门课程的成绩,用一维数组num存放每个学生的学号,用一维数组sum存放每个学生的总分,用一维数组aver存放每个学生的平均分。
程序代码:
#include <stdio.h>
int main()
{
int i,j,k,l,g,t,s,r,p;
int score[31][4],num[31],sum[31]={0},aver[31],m;
printf("请输入学生人数:\n");
scanf("%d",&k);
for(i=1;i<=k;i++)
{
printf("请输入学号和各科成绩:\n");//输入学号及成绩
scanf("%d",&num[i]);getchar();
for(j=1;j<4;j++)
{
scanf("%d",&score[i][j]);getchar();
sum[i]=sum[i]+score[i][j];
}
aver[i]=sum[i]/3;
}
for(j=1;j<k;j++)//排序
for(i=1;i<=k-j;i++)
{
if(sum[i]<sum[i+1])
{
for(l=1;l<4;l++)
{p=score[i][l];
score[i][l]=score[i+1][l];
score[i+1][l]=p;
}
t=sum[i];s=num[i];r=aver[i];
sum[i]=sum[i+1];
num[i]=num[i+1];
aver[i]=aver[i+1];
sum[i+1]=t;num[i+1]=s;aver[i+1]=r;
}
}
printf(" 学号英语高数计算机总分平均分\n");
for(i=1;i<k+1;i++)
printf("%4d%6d%6d%8d%6d%6d\n",num[i],score[i][1],score[i][2],score[i][3],sum [i],aver[i]);
for(j=1;j<k+1;j++)
{
printf("请输入你要查找的学号:");
scanf("%d",&m);
for(i=1;i<k+1;i++)
{
if(m==num[i])
{
printf("%4d,%4d\n",i,sum[i]);break;
}
}
}
return 0;
}
运行结果:
3.编写一个程序,利用字符数组实现两个字符串的比较。
(注意不能使用字符串比较函数strcmp())
程序代码:
#include <stdio.h>
#include <string.h>
int main()
{
int i,k,l,m=0,t;
char str1[100],str2[100];
printf("请输入你要比较的两个字符串,以空格隔开.\n");
scanf("%s%s",str1,str2);
k=strlen(str1);
l=strlen(str2);
t=k+1;
if(k>l)
t=l+1;
for(i=0;i<t;i++)
{
if(str1[i]==str2[i])
{
m++;
continue;
}
else if(str1[i]>str2[i])
{
printf("%d\n",str1[i]-str2[i]);
break;
}
else
{
printf("%d\n",str1[i]-str2[i]);
break;
}
}
if(m==t)
printf("%d\n",str1[i]-str2[i]);
return 0;
}
运行结果:
三、问题讨论
1、使用%s格式符输入字符串到数组时能否将空格符输入?如果不能该如何使用其它方法解
决?举例说明。
不能将空格输入。
可以利用多个%s的输出格式说明符。
例:#include <stdio.h>
int main()
{
char str1[10],str2[10],str3[10];
printf("请输入how are you\n");
scanf("%s%s%s",str1,str2,str3);
return 0;
}
运行结果:
2、数组在“定义”时和“引用”时所带的下标有何区别?
数组定义是的下标表示的是该数组所能容纳的数组元素个数;
数组引用时所带的下标表示引用元素所在的行和列。
因此,可以在定义数组时用“int a[5][5]={0};”为所有元素赋初值;语句“a[5][5]=0;”只能为a[5][5]这个元素赋初值.
四、实验心得
越来越觉得老师说的学习c语言的关键就是编程,编程,再编程的正确性和值得实践性。
虽然有些程序看起来思路通了,但却很难确保你在调试时一帆风顺。
我们需要的就是在不断的实践中,积累错误经验。
犯的错足够多了,也许就真正的有经验了。
能力不强,只可能是犯的错不够。