C语言程设计实验与案例周信东主编实验七函数
C程序设计实验七实验报告
实验报告工学院土木工程专业09级2011 至2012 学年度第 1 学期学号:xxxxxxxxxx 姓名:xxxxxxx2011 年11月17日第3~4节综合楼325教室②将主函数的函数声明删掉,再进行编译,分析编译结果。
删掉后编译过程发现错误,指示主函数中的判别素数的处理函数无法识别。
因为C 语言规定,在程序中用到的所有函数,必须“先定义,后使用”。
③把主函数的位置改为在其他函数之后,在主函数中不含函数声明。
运行结果如①。
④保留判别素数的函数,修改主函数,要求输出100~200之间的素数。
输入程序如下:#include<stdio.h>int main(){int prime(int);int n;printf("There are primes:\n",n);for(n=100;n<=200;n++)if(prime(n))printf("%d,",n);printf("\n");return 0;}int prime(int n){int flag=1,i;for(i=2;i<n/2&&flag==1;i++)if(n%i==0)flag=0;return(flag);}运行结果如下:(2)写一个函数,将一个字符串中得元音字母复制到另一个字符,然后输出。
①输入程序,编译和运行程序,分析结果。
输入程序如下:#include<stdio.h>int main(){void cpy(char[],char[]);char str[80],c[80];printf("Input string:");gets(str);cpy(str,c);printf("The vowel letters are:%s\n",c);return 0;}void cpy(char s[],char c[]){int i,j;for(i=0,j=0;s[i]!='\0';i++)if(s[i]=='a'||s[i]=='A'||s[i]=='e'||s[i]=='E'||s[i]=='i'||s[i]=='I'||s[i]=='o'||s[i]=='O'||s[i]=='u'||s[i]= ='U'){c[j]=s[i];j++;}c[j]='\0';}运行结果如下:②分析函数声明中参数的写法。
C语言实验七 函数 实验报告
C语言实验七函数实验报告一、实验目的1、掌握函数的定义和调用方法。
2、理解函数参数的传递方式。
3、学会使用函数实现程序的模块化设计。
二、实验环境1、操作系统:Windows 102、开发工具:Visual Studio 2019三、实验内容本次实验主要涉及以下几个方面的内容:1、编写简单的函数实现特定功能,如计算两个数的和、差、积、商等。
2、理解函数参数的传递方式,包括值传递和引用传递,并通过实例进行验证。
3、利用函数实现程序的模块化设计,将复杂的问题分解为多个相对简单的函数,提高程序的可读性和可维护性。
四、实验步骤及结果(一)函数的定义和调用1、首先,定义了一个计算两个整数之和的函数`int add(int a, intb)`,函数内部通过返回`a + b`的值来实现求和功能。
```cint add(int a, int b) {return a + b;}```2、在`main`函数中调用该函数,并输出结果。
```cint main(){int num1 = 5, num2 = 3;int sum = add(num1, num2);printf("两数之和为:%d\n", sum);return 0;}```运行结果:两数之和为:8(二)函数参数的传递方式值传递1、定义一个函数`void swap_value(int a, int b)`,尝试在函数内部交换两个参数的值。
```cvoid swap_value(int a, int b) {int temp = a;a = b;b = temp;}```2、在`main`函数中调用该函数,并输出交换前后参数的值。
```cint main(){int num1 = 5, num2 = 3;printf("交换前:num1 =%d, num2 =%d\n", num1, num2);swap_value(num1, num2);printf("交换后:num1 =%d, num2 =%d\n", num1, num2);return 0;}```运行结果:交换前:num1 = 5, num2 = 3交换后:num1 = 5, num2 = 3可以看到,值传递方式下,函数内部对参数的修改不会影响到函数外部的实参。
C语言程设计实验与案例周信东主编机试试卷013
C语言程设计实验与案例周信东主编机试试卷考前准备:请在E盘根目录下建一个以自己学号命名的文件夹,试题中的所有程序所对应的工程目录都创建在学号文件夹下。
第1题:改错题(30分)要求:该程序文件中有1~5个错误,请改正程序中的错误,使程序能输出正确的结果。
不得增加行或删除行,也不得更改程序的结构。
否则为0分。
该程序的功能:调试A07.C程序,使之具有如下功能:读入一个n*n的整数矩阵的元素,再找出这个矩阵的最小的元素及其所在的行号和列号(行号和列号均从1开始)输出。
【A07.c】【评分标准】每一错误处改正正确后得分6分,否则不得分。
各处错误设置如下:#include "stdio.h"; /*(1)去掉行末分号*/main(){int n,i,j,a[80,80] ; /*(2)数组定义改为a[80][80]*/int min,min_i,min_j;printf(“Please enter n=”); /*(3)括号内的全角双引号改为半角双引号*/ scanf("%d",&n);printf("\n");if (n<=0) printf("error:over limt!");else{printf("Please enter a[][]:\n");for (i=0; i<n; i++)for (j=0; j<n; j++)scanf("%d",a[i][j]); /*(4)加地址符为&a[i][j] */min=a[0][0], min_i=0, min_j=0;for (i=0; i<n; i++)for (j=0; j<n; j++)if (min<a[i][j]) /*(5)小于号应改为大于号,改为min>a[i][j] 或 a[i][j]<min */{min=a[i][j];min_i=i;min_j=j;}printf("min:row=%d,col=%d,value=%d\n",min_i+1,min_j+1,a[min_i][min_j]);}}第2题:编程题1(30分)题目描述:根据以下公式编程求π的近似值,直到最后一项的绝对值小有10的-6次方为止。
C语言程序设计实验五:函数(5篇范例)
C语言程序设计实验五:函数(5篇范例)第一篇:C语言程序设计实验五:函数C语言程序设计实验五:函数1、定义函数返回两个数中较大的数,在主函数中通过调用该函数求三个数中较大的数并输出,编写主函数调用该函数。
说明:(1)请大家按学号来坐,便于考勤和管理。
(2)请珍惜宝贵的实验时间!不要做与实验无关的事情,比如聊QQ、上网或打游戏。
(3)直接把C语言代码粘贴到相应的实验题目下方,上交实验报告时只交word文档。
(4)文档名称:班级+学号后2位+姓名+实验编号,例如12通1班12张山实验五.doc。
第二篇:C语言程序设计实验七:函数、数组、指针C语言程序设计实验七:函数、数组、指针1、程序运行后,用户任意输入一个字符串,求出字符串长度,然后输出字符串内容及个数。
不能使用strlen函数。
求字符串长度函数的函数原型必须如下:int MyStrLenPt(char *str)若输入:nihao123!则输出:nihao123!:9 chars2、编写一个对一维数组进行排序的程序。
要求:写两个函数,一个主函数,一个sort函数。
在主函数中完成数组的输入和输出,通过调用sort函数对数组进行排序。
sort函数的原型为:voidsort(int*p, intn);说明:(1)请大家按学号来坐,便于考勤和管理。
(2)请珍惜宝贵的实验时间!不要做与实验无关的事情,比如聊QQ、上网或打游戏。
(3)直接把C语言代码粘贴到相应的实验题目下方,上交实验报告时只交word文档。
(4)文档名称:班级+学号后2位+姓名+实验编号,例如11电1班12张山实验七.doc。
第三篇:C语言程序设计—函数—实验报告实验报告专业软件工程班级X班学号_ XXXXXXXXXXX_姓名实验日期:201X年X月X日报告退发(订正、重做)课程C程序设计实验实验名称函数一、实验目的① 熟练掌握C程序中函数的定义;② 掌握函数的调用,函数参数的传递;③ 熟练掌握函数的嵌套调用和递归调用;二、实验环境(描述实验的软件、硬件环境)① 软件环境:windows xp/win7等操作系统,Microsoft Visual C++ 6.0编译器;② 硬件环境:PC机一台三、实验内容、步骤和结果分析题目一:编写一个用来判断质数(素数)的函数。
桂林电子科技大学 C语言 程序设计 习题 答案(周信东) 实验2 顺序结构与逻辑运算
成绩:良评语:继续努力... 批改时间:2013-11-16 10:51:55 批改老师:实验2 顺序结构与逻辑运算学号:姓名:实验日期:2013-10-301.实验目的和要求(1)掌握数据输入/输出函数的使用,能正确使用各种格式转换符。
(2)熟悉顺序结构程序中语句的执行过程,并学会基本调试程序方法。
(3)能够正确使用逻辑运算符和逻辑表达式。
(4)学会运用逻辑表达式或关系表达式等表示条件。
(5)熟练掌握if语句和switch语句,掌握条件表达式构成的选择结构。
(6)熟练掌握跟踪调试程序,针对具体数据组织输入测试数据,观察程序运行能否得到预期的输出结果。
(7)学会编写简单程序。
2.实验内容:实验指导书中的实验三和实验四3.实验步骤及结果实验三部分:3-1-1 该程序正确的源程序代码(或窗口截图):程序运行结果画面如下:3-1-2该程序正确的源程序代码(或窗口截图):程序运行结果画面如下:3-2-1该程序完整的源程序代码(或窗口截图):程序运行结果画面如下:3-2-2该程序完整的源程序代码(或窗口截图):程序运行结果画面如下:3-3语法错误和逻辑错误的区别何在?语法错误是指违背了程序的语法规则,比如增添了某个符号,或者少了头文件,且无法通过编译器的编译,更无法运行。
逻辑错误是指在语法正确的前提下算法上的错误,能够运行,但结果往往不对,且很难发现。
如何启动单步调试?单击菜单栏“组建”下的“开始调试”,单击“STEP INTO”,也可以按快捷键F11,使每条语句单独执行。
要使程序运行到“ss=(k…”这一行暂停下来,该如何操作?怎样终止调试状态(程序复位)?单击调试菜单中的“stept over”或按快捷键F10。
单步调试状态下,向下运行一条语句的操作方法(分两种情况回答,第一种,跟踪到自定义函数内部,第2种,不跟踪到自定义函数内部):1.单击调试菜单中的Step into 进入到自定义函数内部。
2.单击调试菜单中的step over 不跟踪到自定义函数内部。
lab7-函数
相关知识点:
说明: – 实参必须有确定的值 – 形参必须指定类型 – 形参与实参类型一致,个数相同 – 若形参与实参类型不一致,自动按形参类 型转换———函数调用转换 – 形参在函数被调用前不占内存;函数调用时 为形参分配内存;调用结束,内存释放
实验要求
对编程实验题,要求在实验课前预先将源程序写 出。 整理上机步骤,总结经验和体会,并对实验结果 写出你自己的分析结论。
相关知识点:
例 比较两个数并输出大者
int max(int a, int b); main() { int a,b,c; scanf("%d,%d",&a,&b); c=max(a,b); printf("Max is %d",c); } max(int x, int y) { int z; z=x>y?x:y; return(z); }
相关知识点:
函数定义格式
函数返回值类型 缺省int型 无返回值void
合法标识符
函数类型 函数名(形参类型说明表) { 函数体 说明部分 语句部分 return 语句 }
函数头 部
相关知识点:
函数的调用 调用形式 函数名(实参表); 说明: –实参与形参个数相等,类型一致,按顺序一一对 应 –实参表求值顺序,因系统而定(Turbo C,VC+!
屏幕提示用户输入2个正整数,n和m(从n中取m个元素) 输出从n中取m个元素的组合数
实验步骤–最大公约数和最小公倍数
写两个函数,分别求两个整数的最大公约数 和最小公倍数。用主函数调用这两个函数, 并输出结果。
(a)不用全局变量,直接调用函数输出结果。 (b)用全局变量的方法,用两个函数求最大公约 数和最小公倍数,其值不由函数带回。
C语言实验七函数实验报告
C语言实验七函数实验报告一、实验目的本次 C 语言实验七函数实验的目的在于深入理解和掌握 C 语言中函数的定义、声明、调用以及参数传递等重要概念和操作。
通过实际编写和调试函数相关的程序,提高编程能力和问题解决能力,培养良好的编程习惯和代码结构组织能力。
二、实验环境本次实验使用的编程环境为 Visual Studio 2019 集成开发环境,操作系统为 Windows 10 专业版。
三、实验内容与步骤(一)函数的定义和声明首先,学习了函数的定义格式和声明方法。
函数的定义包括函数头和函数体两部分,函数头指定了函数的返回值类型、函数名和参数列表,函数体则包含了函数的具体实现逻辑。
例如,定义一个计算两个整数之和的函数:```cint add(int a, int b) {return a + b;}```在使用函数之前,需要在程序的适当位置进行函数声明,以告知编译器函数的存在及其参数和返回值类型。
```cint add(int, int);```(二)函数的调用掌握了函数的调用方法,通过传递实际参数来执行函数,并获取返回值。
```cint num1 = 5, num2 = 10;int result = add(num1, num2);printf("两数之和为:%d\n", result);```(三)参数传递学习了值传递和地址传递两种参数传递方式。
值传递是将实参的值复制给形参,在函数内部对形参的修改不会影响实参的值;地址传递则是将实参的地址传递给形参,通过指针在函数内部可以修改实参的值。
```cvoid swap(int a, int b) {int temp = a;a = b;b = temp;}int num3 = 20, num4 = 30;printf("交换前:num3 =%d, num4 =%d\n", num3, num4);swap(&num3, &num4);printf("交换后:num3 =%d, num4 =%d\n", num3, num4);```(四)函数的嵌套调用和递归调用了解了函数的嵌套调用和递归调用的概念和应用。
《C语言程序设计与实验指导》7
int max(int ,int);
/*函数说明*/
main( )
{ int a,b,c;
c=max(a,b);
/*函数调用*/
printf(“%d”,c);
}
பைடு நூலகம்
int max(int a,int b)
/*函数定义*/
{ int c;
c=a>b?a:b;
return c;
}
青岛滨海学院——C语言程序设计——第七章 函数
return 表达式; 或者 return (表达式);
青岛滨海学院——C语言程序设计——第七章 函数
7.1 函数的定义和返回值
说明: (1)return语句中表达式的值就是函数的返回值。因此该表达式的类
型和函数定义的类型应该一致。如果不一致,则以函数定义的类型 为准,由系统自动进行转换。 (2)return 语句还可以终止函数的执行。因此,如果函数中有多个 return语句,也只执行一个return 语句。 (3)函数体内若没有return语句,这时定义函数的类型为void 类型, 程序的流程一直执行到末尾的“}”,然后返回调用函数,并没有确 定的函数值返回。 5.函数定义时,如果花括号中没有任何语句,此时函数被称为空函数。 例如: void dummy( ) {} 6.函数体中,除形参外,用到的其他变量必须在说明部分进行定义, 这些变量,只有在函数被调用时才临时分配内存单元,当函数调用 结束后,这些临时分配的内存单元全被释放。
#include<stdio.h> int isprime(int a) { int i;
for(i=2;i<=a/2;i++) if(a%i= =0) return 0;
C语言程设计实验与案例周信东主编机试试卷003
C语言程设计实验与案例周信东主编课程名称C语言程序设计适用年级10 考试时间60 分钟试卷编号:003考前准备:请在E盘根目录下建一个以自己学号命名的文件夹,试题中的所有程序所对应的工程目录都创建在学号文件夹下。
第1题:改错题(30分)要求:该程序文件中有1~5个错误,请改正程序中的错误,使程序能输出正确的结果。
不得增加行或删除行,也不得更改程序的结构。
否则为0分。
该程序的功能:给定程序A03.C中函数fun的功能是:读入一个字符串(长度<20),将该字符串中的所有字符按ASCII码升序排序后输出。
例如,若输入:dceba,则应输出:abcde。
【A03.c】【评分标准】每一错误处改正正确后得分6分,否则不得分。
各处错误设置如下:#include <stdio.h>#include <string.h>void fun( char t[] ){int c;int i, j;for( i = strlen( t )-1; i; i-- ); /*(1)i>=0; (2)去掉行末分号*/for( j = 0; j < i; j++ )if( t[j] < t[ j + 1 ] ) /*(3)“<”改为“>”*/{c = t[j];t[j+1] = t[ j ]; /*(4)本行改为t[j] = t[ j+1 ];*/t[i ] = c; /*(5)本行改为t[j+1] = c*/}}main(){char s[81];printf( "\nPlease enter a character string: " );gets( s );printf( "\n\nBefore sorting:\n \"%s\"", s );fun( s );printf( "\nAfter sorting decendingly:\n \"%s\"", s );}第2题:编程题1(30分)题目描述:有一个数组,内放10个整数,要求找出最小的数和它的下标。
C语言程序设计实验报告:函数
C 语言实验报告课程__C 程序设计_实验名称_函数______________第 页 共 页 系 别__电气工程______________________ 实 验 日 期 2010 年 5 月 19日 专业班级___ 自动化 __2班 _______________ 实 验 报 告 日 期 2010 年 5月 19日 姓 名___马震_________学号_P091813232___ 报 告 退 发 ( 订正 、 重做 ) 教 师 审 批 签 字一.实验目的一般函数练习二.实验内容(-)实验题目一:求二元一次方程的根,用三个函数分别求当b*b-4ac 大于0、等于0、和小于0时的根,并输出结果。
从主函数输入a 、b 、c 的值。
1.要点分析 见右图2.实验步骤#include <stdio.h>void main(){float a,b,c,s,z=0;scanf("%d,%d,%d",&a,&b,&c);float azreal(float x,float y);s=b*b-4*a*c;if(s==0) azreal(a,b);printf("根为%f\n",z);}float azreal(float x,float y){float z;z=-y/2*x;return(z);} 3.实验结果(二)实验题目二:判断素数的函数,在主函数输入一个整数,输出是否是素数。
1.要点分析见下页右侧图2.实验步骤#include <stdio.h>void main(){int x,y;scanf("%d",&x);int avalon(int w);y=avalon(x);s=b*b-4*a*c 是 否 输出根为’z ’z=0void main() 输入二元一次方程的a,b,c. s==0 z=-y/2*x j=0 是 否 输出’是素数’ 输入一个正整数x j=1 从i=2到i<=x 依次加一 若x 除i 的余数=0且i<w 返回循环 若x 除i 的余数=0 是 否 输出’不是素数’if(y==0) printf("不是素数\n");if(y==1) printf("是素数\n");}int avalon(int w){int i,j;for(i=2;i<=w;i++)if(w%i==0&&i<w) break;if(w%i==0) j=0;else j=1;return (j);}3.实验结果(三)实验题目三:写一函数,输入一个四位数字,要求输出这四个数字字符,但每两个数字间空格。
C程序设计_函数_实验报告
贵州大学《C程序设计实验》实验报告实验名称:函数专业电子信息科学与技术班级姓名学号教师2010年}else{printf("%d isn't a prime number\n",n);}}bool prime_number(int x){bool flag=true;for(int i=2;i<x/2&&(flag==true);i++){if(x%i==0)flag=0;}return flag;}运行情况:分析:程序开始:bool prime_number(int x);声明一个函数,函数返回值为bool型,函数名为prime_number,函数带一个int型参数。
scanf("%d",&n);从屏幕输入数n。
if(prime_number(n)) 调用函数,传入参数n。
bool prime_number(int x){bool flag=true;for(int i=2;i<x/2&&(flag==true);i++){if(x%i==0)flag= false;}return flag;}把两个函数分别放在两个程序文件中,作为两个文件进行编译、连接和运行。
(3). 用递归法将一个整数n转换成字符串。
例如,输入483,应输出字符串“483”。
n的位#include <stdio.h>void main(){int n;void covert( int n);printf("input n\n");scanf("%ld",&n);if(n<0){putchar('-');n=-n;}covert(n);}void covert(int n){inti;if((i=n/10)!=0)covert(i);printf("%c",n%10+'0');}数不确定,可以是任意的整数。
C语言程设计实验与案例周信东主编实验八 指针
实验6 指针学号:1700200224姓名:莫新锋实验日期:一、实验目的和要求(1)掌握指针的概念、指针变量定义和引用。
(2)掌握指针的运用方法。
(3)掌握数组的指针和指向数组的指针变量。
(4)掌握指针与函数的关系。
(5)能正确使用字符串的指针和指向字符串的指针变量。
(6)了解指向函数的指针。
(7)了解指向指针变量的指针的概念及其使用方法。
二、实验内容完成实验指导书中的实验八“基础部分”和“增强部分”的题目。
实验九的内容由同学自行选作。
三、实验步骤及结果【基础题】:Ex8-1请在下面分别插入改正错误后的源程序代码及运行成功时的画面源程序代码:请在此粘贴修改后正确的程序代码。
、#include<stdio.h>//#define N 12void main(){int j, a[12],*p=a;//p=&a[N];for(j=1;j<=12;j++)scanf("%d",p);for(j=1;j<=12;j++){printf("%d",p++);if(j%4==0)printf("\n");}}运行结果:请在此粘贴本程序运行结果的截图Ex8-2请在下面插入该程序的运行结果的画面:运行结果:#include<stdio.h>swap(int *pl,int *p2){int p;p=*pl;*pl=*p2;*p2=p;}void main(){int n1,n2,n3;int *p1,*p2,*p3;printf("Input n1,n2,n3: ");scanf("%d,%d,%d",&n1 ,&n2,&n3);p1=&n1;p2=&n2;p3=&n3;if (n1>n2)swap(p1,p2);if (n1>n3)swap(p1,p3);if(n2>n3)swap(p2,p3);printf("The result is:%d %d %dn",n1,n2,n3);}请在此粘贴本程序运行结果的截图试用解释本程序是如何通过指针参数p1、p2改变主函数main中的变量n1、n2、n3的值的?请回答问题将n1,n2,n3的地址分别给p1,p2,p3,通过对n1,n2,n3两两的比较,调用函数swap进行排序,进而得到新的地址排序后输出【增强题】:Eh8-1请在下面分别完成本题的源程序代码及运行结果的画面:源程序代码:请在此粘贴完成本题的程序源代码。
c语言程序设计周信东
c语言程序设计周信东C语言程序设计是一门基础而重要的计算机编程课程,它由周信东教授主讲。
C语言以其高效、灵活和广泛应用的特点,成为计算机科学和工程领域中不可或缺的工具。
下面,我们将从C语言的基本概念、语法结构、程序设计方法和实践应用等方面进行详细的介绍。
C语言的基本概念C语言是一种过程式编程语言,由Dennis Ritchie在20世纪70年代初期开发,用于UNIX操作系统的编写。
C语言以其简洁的语法、高效的运行速度和广泛的可移植性而闻名。
它支持结构化编程,允许程序员通过模块化的方式构建程序。
C语言的语法结构C语言的语法结构主要包括以下几个部分:1. 数据类型:C语言提供了多种数据类型,如整型(int)、浮点型(float)、字符型(char)等,以满足不同程序设计的需求。
2. 变量:变量是程序中存储数据的容器,必须先声明后使用。
3. 运算符:C语言提供了丰富的运算符,包括算术运算符、关系运算符、逻辑运算符、位运算符等。
4. 控制结构:控制结构包括条件语句(if、switch)、循环语句(for、while、do-while)和跳转语句(break、continue、return)等。
5. 函数:C语言支持函数的定义和调用,允许程序模块化设计。
程序设计方法在C语言程序设计中,通常采用以下方法:1. 需求分析:明确程序需要实现的功能和性能要求。
2. 算法设计:选择合适的算法来解决特定问题。
3. 模块化:将程序分解为多个模块,每个模块完成特定的功能。
4. 编码:根据设计编写代码,注意代码的可读性和可维护性。
5. 测试:对程序进行测试,确保其正确性和稳定性。
6. 调试:找出并修复程序中的错误。
实践应用C语言在各个领域都有广泛的应用,包括但不限于:1. 操作系统:许多操作系统,如Linux和Windows的部分内核,都是用C语言编写的。
2. 嵌入式系统:C语言因其高效性,常用于嵌入式系统开发。
3. 数据库:许多数据库管理系统,如MySQL和PostgreSQL,使用C语言作为后端开发语言。
【优质文档】C语言程设计实验与案例周信东主编实验七--函数
if(src[i]==' ') {
for(j = i; src[j]; j++) src[j] = src[j+1];
i--; } } return p; }
int main () {
char s[128] = {0};
运行结果截图:
请在此粘贴本程序运行成功时的截图
:\n");
精品资料
欢迎下载
【增强题】: Eh7-1 请在下面分别完成本题的源程序代码及运行结果的画面: 源程序代码:
请在此粘贴完成本题的程序源代码。
#include <stdio.h> #include <string.h>
char *Del(char *src) {
Ex7-2 请在下面分别插入改正错误后的源程序代码及运行成功时的画面: 源程序代码:
请在此粘贴修改后正确的程序代码。
#include <stdio.h> #include <stdlib.h>
float px(float x, int n) {
精品资料
欢迎下载
if(n>0) return x*px(x,n-1); else
精品资料
欢迎下载
实验 5 函数
学号:
姓名:
实验日期:
一、 实验目的和要求
(1)掌握 C 语言函数的定义方法、函数的声明及函数的调用方法。 (2)掌握函数实参和形参的对应关系以及“值传递”的方式。 (3)掌握函数嵌套调用和递归调用的方法。 (4)掌握全局变量和局部变量、动态变量和静态变量的定义、说明和使用方法。
“电子科技大学出版社(周信东主编)”的C语言程序设计实
-前言-/*非常感谢度娘以及各位网上C语言高手的支持,才能让敝人完成此文档的整理。
本文档集合了本人、度娘、众网友的力量,其中代码的正确率约为90%(不正确的有标注)。
为回报度娘及众网友的帮助,本文档免费下载。
*//*配“电子科技大学出版社(周信东主编)”的C语言程序设计实验*//*努力吧,骚年以及学妹们!*//*整理ed by 口玉刀一of GUET.*/=====================实验一C语言程序初步=====================1.----------------------------已知a=5,b=4,c=6,求出s并换行#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);}2.-------------------------------输入一个数字求他的平方#include<stdio.h>main(){int r,s;scanf("%d",&r);s=r*r;printf("s=%d\n",s);}3.--------------------------------(1)#include<stdio.h>main(){printf(" *\n");printf("***\n");printf(" *\n");} (2)#include<stdio.h>main(){int v;int a,b,c; //a,b,c aer sides,v is volume of cubea=3;b=3;c=5;v=a*b*c;printf("v=%d\n",v);}=================================实验二数据类型、运算符和表达式=================================1.(1)--------------------------------------------------//总觉得打印结果怪怪的,DO YOU THINK SO?main(){char s1='3',s2='4',s3='5';int c1=101,c2=102;printf("3%c\t4%c\t5%c\n",s1,s2,s3); //3%c为输出3和%cprintf("s1=%d\ts2=%d\ts3=%d\n",s1,s2,s3);//注意哦,s1,s2,s3是char!而%d:输入输出为整形%ld 长整型%hd短整型%hu无符号整形%u %lu%s:输入输出为字符串%c字符%f:输入输出为浮点型%lf双精度浮点型printf("c1=%d\t~%c\n",c1,c1); //换码符'\t',表示水平制表位(horizeontal tab),它的作用是将光标移到最接近8的倍数的位置printf("c2=%d\t~%c\n",c2,c2); //注意c1,c2的类型}(2)//运行结果为8.300000 %是求余数先运算x-y,把结果转换为int型的有利于四则运算main(){float x=8.3,y=4.2,s;int a=7;s=x+a%5*(int)(x-y)%2/3;printf("s=%f",s);}(3)main(){int i,j,p,q;i=3;j=6;p=i++;q=--j;printf("%d,%d,%d,%d\n",i,j,p,q);p=i--+3;q=++j-4;printf("%d,%d,%d,%d",i,j,p,q);}(4)main(){int m=15,n=9,s;m*=3+2;printf("%d",m);n+=n-=n*=n;printf("%d",n);printf("%d\n",(s=6*5,m+n+s));printf("%d\n",s);}2.---------------------------------------------------- (1)#include<stdio.h>#define MM 40main(){int a=3,b=6,t;t=MM/(3+6);printf("%d%d",t,MM); }//原来printf语句打成了print,printf语句中少了一个%d.(2)#include<stdio.h>main(){int m;double x;scanf("%d",&m);x=3.14*m*m;printf("%f",x);}//注意分号,%f转义(3)main(){int m=8,n=5;printf("%d",m*=m-n);printf("%d,%d,%d",m=m+1,n-1,m+n);}3.----------------------------------------------------main(){int a=9,b=5;a+=b;b=a-b;a-=b;printf("%d%d",a,b);}4.----------------------------------------------------//4.输入a,b,c三个变量,计算数学公式(a*b)/cmain(){int a,b,d;float s,c;scanf("%d%d%f",&a,&b,&c);d=a*b;s=d/c;printf("%f",s);}=================================实验三顺序结构和输入输出方法=================================1.---------------------------------------------------(1)main(){int m=345,t;float n=2.56;t=2.56*100;printf("m=%d,n*100=%d\n",m,t);}(2)main(){int a,b,c,s,v;scanf("%d%d%d",&a,&b,&c);s=a*b;v=a*b*c;printf("%d,%d,%d\n",a,b,c);printf("s=%d,v=%d\n",s,v);}2.----------------------------------------------------(1)main(){int m,n;float x=3.5,y=6.2;scanf("%d,%d",&m,&n);printf("%6d,%6d",m,n); /*每个数的输出宽度为6,两个数之间逗号建个。
C语言程设计实验与案例周信东主编机试试卷015
C语言程设计实验与案例周信东主编机试试卷考前准备:请在E盘根目录下建一个以自己学号命名的文件夹,试题中的所有程序所对应的工程目录都创建在学号文件夹下。
第1题:改错题(30分)要求:该程序文件中有1~5个错误,请改正程序中的错误,使程序能输出正确的结果。
不得增加行或删除行,也不得更改程序的结构。
否则为0分。
该程序的功能:给定程序C09.c中函数fun的功能是:计算正整数num的各位上的数字之积。
例如,若输入:252,则输出应该是:20。
若输入:202,则输出应该是:0。
【C09.c】【评分标准】每一错误处改正正确后得分6分,否则不得分。
各处错误设置如下:#include"stdio.h"main(){long fun (long num); /*(1)行末的全角分号应改为半角分号*/long n;printf("Please enter a number:");scanf("%ld",n); /*(2)未加地址符,n应改为&n */printf("%ld\n",fun(long n)); /*(3)函数调用错,应改为:fun(n) */}long fun (long num){long k; /*(4)变量k应初始化,改为:k=1; */do{k*=num%10;num/=10;} while(num) /*(5)行末缺少分号*/return (k);}第2题:编程题1(30分)题目描述:输入正方体的长宽高l,w,h。
编写函数VOL计算其体积及三个面x*y,x*z,y*z的面积。
要求:编程题对应的工程名为“prog1”,工程目录放在学号文件夹下。
【参考程序】void vol(float l, float w, float h){printf("正方体的v=%f\n",l*w*h);printf("正方体x*y面的面积=%f\n",l*w);printf("正方体x*z面的面积=%f\n",l*h);printf("正方体y*z面的面积=%f\n",w*h);}main(){float l,w,h;printf("\n请输入正方体的长宽高:");scanf("%f,%f,%f",&l,&w,&h);vol(l,w,h);}【评分标准】1、程序结构完整:2分2、变量定义、语句、表达式书写正确、规范:2分3、算法描述正确:15分4、使用函数:5分5、有输入/输出操作信息提示:1分6、输入数据错误检测:1分7、编译无错误:2分8、结果正确:2分第3题:编程题2(40分)题目描述:函数fun的功能是:将一字符串中除了下标为奇数、同是ASCII码值也为奇数的字符之外,其余的所有字符都删除,串中剩余字符所形成的一个新串放在t所指的数组中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学号:姓名:实验日期:
一、实验目的和要求
(1)掌握C语言函数的定义方法、函数的声明及函数的调用方法。
(2)掌握函数实参和形参的对应关系以及“值传递”的方式。
(3)掌握函数嵌套调用和递归调用的方法。
(4)掌握全局变量和局部变量、动态变量和静态变量的定义、说明和使用方法。
二、实验内容
实验指导书中的实验七“基础部分”和“增强部分”的题目。
sum+=1/long(i);
return sum;
}
void main()
{
double s;
s=add (19);
printf("the result is : %lf\n",s);
}
运行结果截图:
请在此粘贴本程序运行成功时的截图
四、选作实验题目完成情况
若你选作了课堂布置之外的题目,请按照上述格式依次编写你所作各题目的题号、源程序代码、运行结果截图及其结果情况分析。
在被调函数内部,通过对形式参数的操作实现对外部数据的引用。
(5)通过单步调试运行本程序,需要在程序执行过程中观察自定义的函数内部变量的变化情况,该如何操作:
请回答
(1)点击组建
(2)点击开始调试
(3)单步调试
(4)函数内部调试
Ex7-2请在下面分别插入改正错误后的源程序代码及运行成功时的画面:
源程序代码:
m=px(c,b);
printf("%f",m);
}
float px(float x, int n)
{
if(n>0)
return px(x,n-1)*x;
else
if(n==0)
return 1;
else
re
运行结果截图:
请在此粘贴本程序运行成功时的截图
【增强题】:Eh7-1请在下面分别完成本题的源程序代码及运行结果的画面:
不是
(3)程序按第②步修改后的运行结果:
请在此粘贴本程序运行结果的截图
(4)程序按第③步修改,去掉关键字“extern”后再运行的结果:
请在此粘贴本程序运行结果的截图
观察结果有何变化?请回答
有关键字“extern”时的结果为,无关键字“extern”是输出的值乱码,函数并没有调a,b的值。
通过本题,可以得出什么结论?请回答
源程序代码:
请在此粘贴完成本题的程序源代码。
#include <stdio.h>
#include <string.h>
char *Del(char *src)
{
char *p = src;
int i,j;
for(i=0;src[i];i++)
{
if(src[i]==' ')
{
for(j = i; src[j]; j++)
src[j] = src[j+1];
i--;
}
}
return p;
}
int main ()
{
char s[128] = {0};
scanf("%[^\n]",s);
printf("%s\n",Del(s));
return 0;
}
运行结果截图:
请在此粘贴本程序运行成功时的截图
Eh7-2请在下面分别完成本题的源程序代码及运行结果的画面:
源程序代码:
请在此粘贴完成本题的程序源代码。
#include "stdio.h"
long jc(int x)
{
long item=1,i;
for (i=1;i<=x;i++)
item*=i;
return item;
}
long add(int y)
{
long sum;
int i;
sum=0;
for (i=1;i<=y;i=i+3)
三、实验步骤及结果
【基础题】:Ex7-1请在下面分别插入根据题意进行修改后的运行运行结果的截图
(2)按第①步修改,在主函数的printf语句前加入int a=8;语句后的运行结果:
请在此粘贴本程序运行结果的截图
实参a是否为同一变量?请回答
int main()
{
float c,m;
int b;
printf("请输入一个数和所要求得次方数:\n");
scanf("%f %d",&c,&b);
m=px(c,b);
printf("%f",m);
}
运行结果:
请在此粘贴本程序运行结果的截图
Ex7-3请在下面分别完成本题的源程序代码及运行结果的画面:
请在此粘贴修改后正确的程序代码。
#include <stdio.h>
#include <stdlib.h>
float px(float x, int n)
{
if(n>0)
return x*px(x,n-1);
else
if(n==0)
return 1;
else return px(x,n+1)/x;
}
源程序代码:
请在此粘贴完成本题的程序源代码。
#include <stdio.h>
#include <stdlib.h>
void main()
{
float px(float ,int );
float c,m;
int b;
printf("请输入一个数和所要求得次方数:\n");
scanf("%f %d",&c,&b);
五、实验总结
总结你在实验中易犯的错误及其解决方法,或总结本次实验中你学到的经验或技能等。注意,不要说空话。
基本掌握C语言函数的定义方法、函数的声明及函数的调用方法,也在一定程度上掌握函数实参和形参的对应关系以及“值传递”的方式,但是在实际的运用中,运用得不怎么灵活,有时候都反应不过来。