说明每个实验做完以后,按照实验报告模板格式完成相应的实验报告,存储为word 文档,最终提交的实验文档数量种类和命名原则如下例:(不按要求者拒收)目录结构图目录实验 1 内的文件种类和命名原则实验报告成绩将作为平时成绩的一部分计算到期末总成绩中。
实验报告严禁相互抄袭,一经发现抄袭和被抄袭者本次实验按零分计算!实验1 C 的实验环境和C 语言的数据类型1. 实验目的⑴ 了解在具体的语言环境下如何编辑、编译、连接和运行一个C 程序。
⑵ 通过运行简单的C 程序,初步了解C 源程序的特点。
⑶ 掌握C 语言数据类型, 熟悉如何定义一个整型、字符型和实型的变量,以及对它们赋值的方法。
⑷ 掌握不同的类型数据之间赋值的规律。
⑸ 学会使用C 的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。
2. 实验内容和步骤检查所用的计算机系统是否已安装了C 编译系统并确定他所在的子目录。
进入所用的集成环境。
熟悉集成环境的界面和有关菜单的使用方法。
输入并运行一个简单的、正确的程序。
3. 实验题目输入下面的程序# include "stdio.h"void main(){ printf( "This is a c program.\n" );}程序无误,其运行的结果为:(请填写)⑵ 输入并编辑一个有错误的 C 程序。
# include “ stdio.h ”void main(){ int a,b,sum a=123; b=456; sum=a+b print( “ suism%d n” ,sum);}运行后程序出现几处错误,请分别指出,并逐一更改:⑶ 若k,g 均为int 型变量, 则下列语句的输出为, :# include "stdio.h" void main(){ int k, g; k=017;g=111;printf( "%d\t" ,++k); printf( "%x\n" ,g++); }运行结果为:1.实验目的实验2 顺序结构程序设计掌握C 语言中赋值语句的使用方法。
掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。
进一步熟悉C 程序的编辑、编译、连接和运行的过程。
2.实验内容用下面的seanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1二'A ,G2问在a'键盘上如何输入?请书写程序#include "stdio.h"void main(){ int a,b;float x,y;char c1,c2;scanf( "a=%d b=%d",&a,&b);scanf( "%f %e" ,&x,&y);scanf( " %c %c" ,&c1,&c2);printf( "a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n" ,a,b,x,y,c1,c2); }运行,并按照如下方式在键盘上输入:a=3 b=78.5 71.82A a运行结果:思考:为什么在第三个seanf函数双引号第一个字符为空格字符,如果没有这个空格字符,而写成:seanf( “%c %C,&c1,&c2按以上的输入、输出将如何变化?请分析原因1.实验目的实验3 选择结构程序设计了解C语言表示逻辑量的方法(以0代表”假”,以非0代表”真”)。
学会正确使用逻辑运算符和逻辑表达式。
熟练掌握if 语句和switch 语句。
结合程序掌握一些简单的算法。
学习调试程序。
2.实验内容题目⑴:有3个整数a、b、c,由键盘输入,输出其中最大的数。
题目⑵:求三位数的水仙花数(水仙花数是指一个n位数(n >3 ),它的每个位上的数字的n次幕之和等于它本身。
(例如:1八3 + 5八3 + 3八3 = 153)) 。
要求:每道题目分别画出程序流程图,书写程序,试运行(如何输入,结果如何)。
1.实验目的实验4、循环结构程序设计⑴ 熟悉掌握用while 语句,do-while 语句和for 语句实现循环的方法。
⑵ 掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等)。
⑶ 进一步学习调试过程。
2.实验内容题目⑴:输入两个正整数m和n,求其最大公约数和最小公倍数(公约数, 亦称“公因数”。
它是几个整数同时均能整除的整数。
如果一个整数同时是几个整数的约数,称这个整数为它们的“公约数;”公约数中最大的称为最大公约数; 最小公倍数(Least Common Multiple ,缩写,如果有一个自然数 a 能被自然数b整除,则称a 为b的倍数,b为a的约数,对于两个整数来说,指该两数共有倍数中最小的一个。
)。
题目⑵:输入一行字符,分别统计出其中大小写英文字母、空格、数字和其他字母的个数(注意每输入一个非空格符字符后加一个空格符所有字符输入后回车)。
题目⑶:猴子吃桃问题。
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。
第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
以后每天早上都吃了前一天剩下的一半零一个。
到第10 天早上想再吃时,就只剩一个桃子了。
求第一天共摘多少桃子。
要求:每道题目分别画出程序流程图,书写程序,试运行(如何输入,结果如何)。
文档来源为:从网络收集整理.word 版本可编辑.欢迎下载支持.1.实验目的 实验5函数定义和使用学习C 语言中函数的定义和调用方法。
掌握通过参数在函数间传递数据的方法。
熟悉VC 集成环境对包含函数调用的程序的调试方法。
2.实验题目A :修改调试题目: 题目⑴:调试下列程序,使之具有如下功能:fun 函数是一个判断整数是否为素数的函数,使用该函数求1000以内的素数平均值。
写出调试过程。
#include Stdio.h ”void main(){ int a=0,k ;float av ;for (k=2 ;if(fun(k)) a+=k ; av=a/1000;printf("av=%f\n",av);} fun(int n) /*判断输入的整数是否为素数 */{ int i,y=0 ;for(i=2 ; ivn ; i++)if (n%i==0) y=1 ;else y=0 ; return y ;}题目⑵:调试以下程序并查看运行结果:#include Stdio.h ”void main(){ int a=1,b=2,c;c=max(a,b);printf("max is %d\n",c);}max(int x,int y)〃请回答:函数功能是什么? { int x;/* a 保存素数之和*//* av 保存1000以内素数的平均值*/ kv=1000; k++) /*判断k 是否为素数*/文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持.z=(x>y)?x:y; return(z);}题目(3):调试以下程序并查看运行结果:int a=5;int b=7;#include Stdio.h”void main(){ int a=4,b=5,c;c=pl us(a,b);prin tf("A+B=%d\n",c);}int plus(int x,int y)请回答:函数功能是什么?{ int z;z=x+y;return(x);}B、编程题目: 要求:每道题目分别书写程序,试运行(如何输入,结果如何)题目⑴:编写函数求x的n次方的值(提示:有一个参数的函数)题目⑵:编写一个求水仙花数的函数,求3位正整数的全部水仙花数中的次大值。
所153就是谓水仙花数是指三位整数的各位上的数字的立方和等于该整数本身。
例如:个水仙花数:153 = 13 + 53 + 331. 实验目的实验 6 编译预处理掌握宏定义的规则,领会带参数宏定义和函数调用的区别。
了解文件包含命令的功能和使用规则。
了解条件编译的特点和功能。
宏定义及其应用 ⑴ 以下程序的运行结果是#define MIN(x,y) (x)<(y)?(x):(y)#include "stdio.h" void main(){ int i=10,j=15,k; k=10*MIN(i,j);printf( "%d\n" ,k);}⑵ 若有宏定义如下:X Y Z printf 语句后,输出结果是printf("%d\n",Z); printf("%d\n",--a); ⑶ 请读程序:#include <stdio.h>#define MUL(x,y) (x)*y main(){ int a=3,b=4,c; c=MUL(a++,b++); printf( "%d\n" ,c); }上面程序的输出结果是⑷ 以下程序的运行结果是#include "stdio.h"2. 实验内容 #define#define #define 则执行以下 inta;a=Y; 5X+1Y*X/2PR(S ,string);}调试并察看运行结果。
注意文件保存的路径。
void main() { incx();incy();incx(); incy(); incx();incy(); } incx(){ int x=0; printf( } incy(){ static printf( }"x=%d\t" ,++x); int y=0; "\ny=%d\n" ,++y); 文件包含”处理测试 文件 format.h 包含以下内容: #define PR #define NL #define D #define D1 #define D2 D D NL printf "\n" "%D" D NL #define D3 D D D NL #define D4 D D D D NL #define S "%S" 文件 file1.C 包含以下内容: #include "format.h" void main() { int a ,B ,C ,D; char string[]="CHINA"; a=1;B=2;C=3;D=4; PR(D1, PR(D2, PR(D3, PR(D4, a); a , a , a , B); B ,C);B ,C ,D);实验7 数组应用编程1.实验目的掌握一维数组和二维数组定义、赋值和输入输出的方法。