第一篇:C语言实验教案封面加内容(学生)
实验1 熟悉C语言程序开发环境
一、实验目的
1、了解TC环境的组成。
2、学习TC环境的使用方法。
3、了解C语言程序从编辑、编译、连接到运行并得到运行结果的过程。
二、实验内容
1、开机进入系统;
2、进入TC开发环境下;
3、建立工作目录并进行环境配置;
4、编写并编译、链接、运行一个简单的程序,测试自己所建立的环境是否正确;
5、查看自己建立的工作环境;
6、记录实验过程中所出现的现象;
7、退出系统。
三、实验报告要求
①实验名称、日期、学号②菜单中英对照及注释③心得体会
四、实验重点
1.程序的编辑定位2.各菜单项的快捷键3.程序的基本调试步骤
实验2 C语言程序初步
一、实验目的
1、进一步熟悉C语言程序设计的环境
2、明确C语言程序结构及书写规则
二、实验内容和步骤
1、输入下面的程序,进行编译,记录编译时出现的信息,分析出现这些错误的信息的原因,按照自己的分析改正错误后,在进行编译,连接和运行。/ * * * * * test1.c * * * * * / main()(print(“this is a erroneous program.”);)/ * * * * * test2.c * * * * */ #include
三、实验报告要求
①实验名称、日期、学号②源程序及注释③程序结果④心得体会
四、实验重点
1.C语言中大小写字母的区分; 2.良好的程序书写风格。
实验3 变量与赋值
一、实验目的
1、掌握变量名的构成规则
1)测试哪些字符可以组成变量名。2)测试哪些单词可以用做变量名。3)测试变量名的长度限制。
2、赋值运算符的意义和正确用法
1)测试赋值运算符的意义。2)测试哪些量可以放在赋值号的左边。
二、实验内容
1、分析下面字符的功能,分析它们是否可以用在变量名中,并编写程序上机测试之。!# % ^ & *()-+ =;“ ‘
2、分析下面的表达式,找出其中的错误,分析错误原因,将其与实验过程中所出现的信息进行对比。x+2=5;3=y+3;
四、实验报告要求
① 实验名称、日期、学号②源程序及注释③程序结果④心得体会
五、实验重点
1.变量的命名规则
2.赋值运算符的位置
实验4 运算符与表达式
一、实验目的
1、理解常用运算符的意义
2、掌握C语言表达式的运算规则
二、实验内容和步骤
依次编写下述程序,记录程序运行结果。
1、整数除的危险
2、试比较x++与++x之间的区别;
3、分析下列表达式的值编写测试程序对这些表达试的值进行比较,并使各表达试在相同的初始条件下执行。
b++a+++a b+(a++)+a b+a+(++a)b+a+++a++
4、测试逗号表达式
要求在各表达式中,i和j都分别有相同的初值。
三、分析讨论
1、整数除存在什么危险?如何避免这种危险?
2、分析a++与++a的区别。
3、分析++和--运算符的使用限制。
四、实验报告要求
①实验名称、日期、学号②源程序及注释③程序结果④心得体会
五、实验重点
1.运算符的组合顺序
实验5 数据类型
一、实验目的
1、深入理解C语言中数据类型的意义。
2、测试不同类型数值数据的存储空间大小、取值范围、有效数字位数和精度。
二、实验内容和步骤
依次完成下述6个程序,记录程序运行结果。
1、编写一个用于测试所使用系统中的基本数据类型所占内存宽度的程序
2、编写程序来测试基本数据类型的取值范围
3、编写程序来测试数据类型的有效数字长度和精度
4、编写程序来测试不同类型数据之间转换所出现的截去高位、丢失精度和变得不可知等问题
5、编写程序来测试字符型数据的算术特征
6、编写程序来测试转义字符的用法
三、分析与讨论
1、总结数据类型与运算类型之间的关系。
2、总结进行数据类型转换时,会发生什么变化。
3、分析转义字符“n”与”r”的意义有何不同。
四、实验报告要求
①实验名称、日期、学号②源程序及注释③程序结果④心得体会
实验6 控制台输入/输出
一、实验目的
1、掌握用printf()进行格式化输入的方法。
2、掌握用scanf()进行格式化输入的方法
3、掌握其他的控制台输入/输出函数。
二、实验内容和步骤
依次完成下述6个程序,记录程序运行结果。
1、设计一个程序来测试printf()函数中数据参数被引用的顺序
2、设计一个程序来测试printf()函数中格式符的意义
3、设计一个程序来测试printf()函数定义域宽与精度的方法
4、设计一个程序来测试scanf()函数中格式的意义
5、设计一个程序来测试scanf()输入含有字符型数据的多个项时,数据项之间的分隔问题
6、编写一个=程序来测试getchar()和putchar()的用法。
三、分析讨论
1、总结在printf函数中可使用的各种格式符,并给出相应的样例。
2、总结在printf函数中可使用的各种格式符及其功能
四、实验报告要求
①实验名称、日期、学号②源程序及注释③程序结果④心得体会
五、实验重点
1.控制台I/O函数的格式控制
实验7 关系运算与逻辑运算
一、实验目的
1、测试关系表达式和逻辑表达式的意义和取值。
2、测试关系运算符和逻辑运算符的优先级别和结合性。
3、掌握逻辑运算的基本规律。
二、实验内容和步骤
依次运行下述程序,记录程序运行结果。
1、编写用于测试关系表达式意义和取值的程序
2、测试”=”与”==”的区别
3、编写用于测试逻辑表达式的意义和取值的程序
4、编写程序来测试逻辑表达式的值
5、编写程序来测试逻辑表达式与关系运算的组合
三、分析讨论
1、条件表达式与逻辑表达式的意义是什么?它们在各种情况下分别取什么值?
2、比较2个实数是否相等的操作容易产生什么问题?如何解决?
3、逻辑表达式有哪些基本规律?编译器中使用这些运算规律吗?
四、实验报告要求
①实验名称、日期、学号②源程序及注释③程序结果④心得体会
五、实验重点
1.关系运算与逻辑运算的组合优先级
实验8 分支程序的测试与调试
一、实验目的
1、了解条件与程序流程的关系
2、掌握分支程序的基本结构。
3、了解用不同的数据使程序的流程覆盖不同的语句、分支和路径。
二、实验内容和步骤
1、有如下程序段:
if(a>1&&b= =0)x=x/a;if(a==2||x>1)x=x+1;要求:编写一个C语言程序,要求使用上述分支结构,并增加一些输入语句和输出语句 2、实验步骤
记下分别使用下列各组数据运行时的操作流程。
(1)a=1,b=1,x=1;(2)a=1,b=1,x=2;(3)a=3,b=0,x=1;(4)a=2,b=1,x=4;(5)a=2,b=1,x=1;(6)a=1,b=0,x=2;(7)a=2,b=1,x=1;(8)a=3,b=0,x=2。
三、分析讨论
1、用哪一组数据就可使程序中的每个处理语句都执行一次?、用哪两组数据就可以使程序段中的每个分支都运行一次?这种情形与上面的讨论有何不同?、用哪两组数据就可以把判定框中的每个条件运算都进行一次?
4、用哪四组数据才可以把各种条件的组合都检测一遍?、用哪四组数据才可以把起始到终止的各条路径都覆盖一次?
四、实验报告要求
①实验名称、日期、学号②源程序及注释③程序结果④心得体会
实验9 条件型循环结构及其测试
一、实验目的
1、掌握在程序设计条件型循环结构时,如何正确地设定循环条件,以及如何控制循环的次数。
2、了解条件型循环结构的基本测试方法。
二、实验内容和步骤
1、编写一个计算e的近似值(使误差小于给定的δ)的程序。
2、实验步骤
1)调试上面的程序,写出程序所依据的计算公式。
2)当输入的detax各是什么值时,能分别使程序按下面的要求运行:
.不进入循环;.只循环一次;.只循环两次;.进入死循环(程序将永远循环下去)。为了能知道程序循环了多少次,应该在程序中增加一条什么样的语句?
3)将程序中while语句中的y>=detax,分别换成y>detax,y=detax,y 4)把程序中while语句之前的y=1/x语句去掉,观察程序的运行将会发生什么样的变化。5)若把原程序中的++i换成i++,观察程序的运行发生了什么变化? 6)把原程序中的while结构改写成do—while结构,再分别按上述的2)、3)两步进行实验。 三、分析与讨论 总结一下测试条件循环结构的一般方法 四、实验报告要求 ①实验名称、日期、学号②源程序及注释③程序结果④心得体会 实验10 计数型循环结构及其测试 一、实验目的 1、掌握如何正确地控制计数型循环结构的次数。 2、了解对计数型循环结构进行测试的基本方法。 3、了解在嵌套循环结构中,提高程序效率的方法。 二、实验内容和步骤 1、阅读下面的程序,画出程序流程图,指出程序的功能。main(){ int i,j;long sum=0; for(i=1;i<=20;i++)for(j=1;j<=3;j++) sum+=(i+1)*(i+1)*(j+2);printf(“sum is :%ldn”,sum);} 2、按照下面的要求选择表达式中i和j的测试用例,记录运行结果。 1)不循环;2)外循环1次,不进入内循环;3)外循环、内循环各1次;4)外循环1次,内循环各2次;5)外循环2次,内循环各1次;6)外循环19次,内循环各3次 3、在循环体中插入必要的输出语句,重新执行步骤2的内容,以了解每循环一次时循环体中变量的变化。 三、分析与讨论 为了提高嵌套循环程序的执行效率,应当如何安排内/外循环? 四、实验报告要求 ①实验名称、日期、学号②源程序及注释③程序结果④心得体会 实验11 函数及其测试 一、实验目的 1、掌握函数定义、说明及调用的正确方法。 2、了解函数调用时参数传递的本质。 二、实验内容和步骤 1、分别采用递归和非递归的方法来实现一个用来求2+4+6的程序 2、考虑在程序何处插入输出语句,可以测试下列内容。1)参数传递是否正确。2)函数返回值是否正确。 三、分析讨论 1、分析在函数调用时,参数的计算顺序。 2、总结测试函数的一般方法。 3、通过说显示的递归函数的调用过程,理解递归函数的工作机理。 四、实验报告要求 ①实验名称、日期、学号②源程序及注释③程序结果④心得体会 实验12 变量的存储属性 一、实验目的 掌握如何正确地使用变量的存储属性 二、实验内容和步骤 1、编程测试全局变量、局部变量、static变量、extern变量的效果,并分析原因 三、分析讨论 1、总结变量存储属性的意义。 2、总结不同存储属性变量的使用方法。 四、实验报告要求 ①实验名称、日期、学号②源程序及注释③程序结果④心得体会 实验13 数 组 一、实验目的 1、掌握数组定义的规则。 2、掌握C语言数组的基本用法。 3、掌握一维数组的定义、赋值和输入输出的方法; 4、掌握字符数组的使用。 二、实验内容和步骤 1、编写程序,测试下列数组的定义方式是否正确 (1)int a[n];(2)const int n=10;int a[n];(3)#define M 10n();int a[M];(4)int a[2+2*4];(5)#define M 2;#define N 8 ;int a[M+N];通过这一实验,可以说明什么问题? 2、编写程序,测试数组的下标使用范围。 3、测试Ken Thompson 的例子程序,分析结果,指出功能和原因。 三、分析与重点 1、总结C语言中数组的用途; 2、总结C语言中数组定义的正确方法。 3、字符串与数组的区别。 4、字符数组与普通数组的区别。 四、实验报告要求 ①实验名称、日期、学号②源程序及注释③程序结果④心得体会 实验14 指 针 一、实验目的 1、熟悉指针的正确用法。 2、了解指针参数的特殊性。 二、实验要点提示 C语言中,每个变量都占有内存中一个存储区域,每个区域都有地址。所谓指针,就是地址,一个变量的指针就是该变量的地址。我们常把地址存放在一个变量中,那么存放地址的变量就是指针变量。 三、实验内容和步骤 1、编写程序,测试指针与普通类型变量的关系。 2、编写程序,测试指针与字符串、字符数组的关系。3.设计一个C程序,用以测试下列各表达式的运算。 (1)y=*px++(2)y=*++py(3)y=(*py)++(4)y=--*ppx++ 5、使用指针,实现交换两个整数的函数。 四、分析与重点 1、分析实验过程中所出现的现象。 2、总结指针与地址之间的关系。 3、指针变量与普通变量的区别。 五、实验报告要求 ①实验名称、日期、学号②源程序及注释③程序结果④心得体会 实验15 结构体 一、实验目的 1、掌握结构体类型的概念和定义方法以及结构体变量的定义和引用。 2、掌握指向结构体变量的指针变量的概念和应用。 3、掌握运算符“.”和“->”的应用 二、实验要点提示 1、圆点运算符 “.”是圆点运算符,它的功能是连接结构体变量与其成员 2、指向运算符 “->”是指向运算符,它的功能是连接指针变量与指向的结构体变量的成员。 三、实验内容和步骤 1、设计结构体,编程实现,输入具体的年、月、日,输出该日期是这一年的第几天。 2、编写程序,测试结构体变量与结构体指针的关系。 四、分析与重点 1、分析实验过程中所出现的现象 2、比较数组、结构体之间的联系和区别 3、结构体与指针的关系 五、实验报告要求 ①实验名称、日期、学号②源程序及注释③程序结果④心得体会 实验16 文 件 一、实验目的 1、掌握文件和文件指针的概念以及文件的定义方法。 2、了解文件打开和关闭的概念及方法。 3、掌握有关文件的函数 二、实验内容和步骤 编写程序,实现2个文件之间的比较,具体功能要求如下: 1、使用命令行参数输入2个文件的文件名; 2、要求给出2个文件首次出现的不同的行和字符的位置。main(int argc,char *argv[]){ }_ 四、分析与重点 1、分析实验过程中说出现的现象。 2、总结如何测试文件操作的程序。 3、文件读写模式的区别。 五、实验报告要求 ①实验名称、日期、学号②源程序及注释③程序结果④心得体会 FILE *f1,*f2,*fopen();int line=0,count=0;char c1,c2;if(argc>2){ f1=fopen();f2=fopen(); if(f1!=NULL&&f2!=NULL)while((c1=fgetc(f1))!=EOF) { c2=fgetc(f2);if() count++;else;if()line++; } else { printf(“input filename isn't exist!n”);exit(1);} if(c1==EOF)printf(“two file is same.”);else printf(“two file is not same line=%d, cha_num=%dn”,line,count);fclose(f1);fclose(f2);} else printf(“----Usage:e91 filename1 filename2 n”);7 实验一 C语言的运行环境和基础知识 一、实验目的 1.掌握c程序设计编程环境visual c++,掌握运行一个c程序设计的基本步骤,包括编辑、编译、连接和运行。 2.熟练掌握Visual C++ 6.0环境运行的C程序上机步骤 3.数据类型、常量和变量的使用 4.表达式及运算符的应用 5.C程序的调试。 二、实验内容和源程序清单、测试数据、结果。 1、最简单的C程序。(要求文件名:1_1.c)#include printf(“Hello world!n”);return 0;} 2、一个具有致命错误的程序,请修改。(要求文件名:1_2.c)#include printf(“i=%dn”,i); return 0;} 3、一个具有警告语法错的程序。(要求文件名:1_3.c)#include s=i+j;printf(“s=%dn”,s);return 0;} 4、写出一个程序测试整型、字符型数据表示,并输出以验证是否正确。(要求文件名:1_4.c)#include int x=010,y=10,z=0x10; /* 整型数据表示 */ char c1='M',c2='x4d',c3='115',c4=77,c; /* 字符型数据表示 */ /* 整型数据的输出 */ printf(“x=%o,y=%d,z=%xn”,x,y,z); /* 数据以原进制输出,注意是否有前导0或0x */ printf(“x=%d,y=%d,z=%dn”,x,y,z); /* 数据以10进制输出,换算到10进制,结果对吗? */ /* 字符型数据的输出 */ printf(“c1=%c,c2=%x,c3=%o,c4=%dn”,c1,c2,c3,c4); /* 数据以原进制输出,注意是否有前导0或0x ?*/ printf(“c1=%c,c2=%c,c3=%c,c4=%cn”,c1,c2,c3,c4); /* 结果都是什么字符?,也就是说字符可以自由的表示成几种形式? */ printf(“c1=%d,c2=%d,c3=%d,c4=%dn”,c1,c2,c3,c4); /* 看看这些字符的10进制ASCII码,哦,ASCII码一样,同一种字符 */ /* 字符型数据参与算术运算 */ c=c1+32; /* 字符怎么参加了数学运算,哦,是字符对应的ASCII码-整数 /* 参与数学运算;结果还是一个整数-另外一个字符的ASCII码 */ printf(“c=%c,c=%dn”,c,c); /* 看看这个字符是什么?哇,'M'+32='m'了,看看ASCII码表,原来如此!*/ return 0;} 参考结果: x=10,y=10,z=10 x=8,y=10,z=16 c1=M,c2=4d,c3=115,c4=77 c1=M,c2=M,c3=M,c4=M c1=77,c2=77,c3=77,c4=77 c=m,c=109 三、实验报告要求 将题目:2和4的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,以及实验过程中的心得体会,写在实验报告上。2 实验二 顺序结构程序设计 一、实验目的: 1.掌握顺序结构程序设计 2.掌握赋值语句的用法 3.熟练地进行数据输入和输出 二、实验内容和源程序清单、测试数据、结果。 1、已知:a=2,b=3,x=3.9,y=2.3(a,b整型,x,y浮点),计算算术表达式(float)(a+b)/2+(int)x%(int)y的值。试编程上机验证。(要求文件名:2_1.c)提示编程要点: (1)先判断结果值类型,可设置一个此类型的变量用于记录表达式结果,本例用r存放结果;(2)程序先给几个变量赋初值,然后将表达式赋值给变量r;(3)最后打印变量r的值就是表达式的值。参考程序: #include int a=2,b=3;float x=3.9,y=2.3; float r; r=(float)(a+b)/2+(int)x%(int)y; printf(“%fn”,r);return 0;} 参考结果: 3.500000 思考:为什么是这个结果? 2、分析下面程序结果,并上机验证。(要求文件名:2_2.c)#include int i,j,m,n; i=8; j=10; m=++i; n=j++; printf(“i=%d, j=%d, m=%d, n=%dn”,i,j,m,n); return 0;} 参考结果: i=9, j=11, m=9, n=10 3、用下面的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=’A’,c2=’a’。从键盘如何输入?(要求文件名:2_3.c)#include 4、编程序,用getchar函数读入两个字符给c1、c2,然后分别用 putchar函数和 printf函数输出这两个字符。(要求文件名:2_4.c)参考程序: #include 三、实验报告要求 将题目:1和3的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,以及实验过程中的心得体会,写在实验报告上。 实验三 选择结构程序设计 一、实验目的 1.2.3.4.了解C语句表示逻辑量的方法(以0代表“假”以1代表“真”); 学会正确使用逻辑运算符和逻辑表达式; 熟练掌握if语句和switch语句; 熟练掌握switch语句中break语句的作用。 二、实验内容和源程序清单、测试数据、结果。 (1)掌握各种格式转换符的正确使用方法,输出结果。(要求文件名:3_1.c)#include (2)1.从键盘任意输入一个年号,判断它是否是闰年。若是闰年,输出“Yes”,否则输出“No”。已知符合下列条件之一者是闰年:(1)能被4整除,但不能被100整除;(2)能被400整除。(要求文件名:3_2.c)参考程序: #include int year, flag;printf(“Enter year:”);scanf(“%d”, &year);if(year%4==0&&year%100!=0 || year%400==0) { flag = 1; } else { flag = 0; } if(flag) { printf(“Yesn”); } else { printf(“Non”);} return 0;}(3)编程序,并给出程序的运行结果,注意思考case中break的用法以及为什么是这样的结果?(要求文件名:3_3.c)参考程序: #include int x=2,y=1,a=1,b=2;switch(x){ case 2: switch(y) { case 1:a++; case 2:b++;break; } case 3:a++;b++;break;} printf(“%d %dn”,a,b);return 0;}(4)编程序:输入4个整数,要求按由小到大的顺序输出。(要求文件名:3_4.c)参考程序: #include int t,a,b,c,d;scanf(“%d,%d,%d,%d”,&a,&b,&c,&d);printf(“a=%d,b=%d,c=%d,d=%dn”,a,b,c,d);if(a>b){t=a;a=b;b=t;} if(a>c){t=a;a=c;c=t;} if(a>d){t=a;a=d;d=t;} if(b>c){t=b;b=c;c=t;} if(b>d){t=b;b=d;d=t;} if(c>d){t=c;c=d;d=t;} printf(“%d,%d,%d,%dn”,a,b,c,d);return 0;} 三、实验报告要求 将题目:2和3的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,以及实验过程中的心得体会,写在实验报告上。 实验四 循环结构程序设计 一、实验目的 1.2.3.4.5.熟练使用while、for语句实现循环程序设计 理解循环条件和循环体,以及while、for语句的相同及不同之处 掌握嵌套循环程序设计 熟练掌握下拉菜单Debug的程序调试方法 掌握break和continue的用法 二、实验内容和源程序清单、测试数据、结果。 (1)输入两个正整数m和n,求它们的最大公约数和最小公倍数。(要求文件名:4_1.c)参考程序: #include m=x;else m=y;for(i=1;i<=m;i++){ if((x%i==0)&&(y%i==0)) max=i;} printf(“%dn”,max);printf(“%dn”,x*y/max);return 0;}(2)从键盘输入一个 int 类型的正整数,输出它的所有因子。如输入6,输出1,2,3;输入20,输出1,2,4,5,10。(要求文件名:4_2.c)参考程序: #include printf(“%dn”,i);} return 0;}(3)输入一行字符,分别统计出其中的英文字母、空格、数字和其他字符的个数。(要求文件名:4_3.c)参考程序: #include if(c>='a'&&c<='z'||c>='A'&&c<='Z') letter++; else if(c>='0'&&c<='9') digit++; else if(c==' ') space++; else other++;} printf(“%d,%d,%d,%dn”,letter,digit,space,other);return 0;}(4)编程计算111111的值。(要求文件名:4_4.c)23499100参考程序: #include int sign = 1;double sum = 1;double deno = 2;double term = 1;while(deno<=100){ sign =(-1)*sign; term = sign*(1/deno); sum = sum+term; deno++;} printf(“%lfn”,sum);return 0;} 三、实验报告要求 将题目:3和4的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,以及实验过程中的心得体会,写在实验报告上。 实验五 数组 一、实验目的 1.掌握一维、二维数组的定义、引用、应用 2.掌握字符数组的定义、引用、应用 3.掌握字符串处理函数 二、实验内容和源程序清单、测试数据、结果。 (1)给出下面程序的结果,思考为什么?(要求文件名:5_1.c)#include char a[]=“Chinaren”,b[]=“Tiananmen”;char *p1,*p2; int k=0;p1=a; p2=b;for(k=0;k<10;k++) if(*(p1+k)==*(p2+k)) printf(“%c”,*(p1+k));printf(“n”);return 0;}(2)有一个3×4的矩阵,要求输出其中值最大的元素的值,以及它的行号和列号。(要求文件名:5_2.c)参考程序: #define M 3 #define N 4 #include int a[M][N]={{123,94,-10,218},{3,9,10,-83},{45,16,44,-99}}; max=a[0][0]; for(i=0;i for(j=0;j if(a[i][j]>max) { max= a[i][j]; r=i; c=j; } printf(“max=%d , row =%d , colum=%d n”,max , r, c); return 0;}(3)编程序用于读入10个字符串,然后找出最大的字符串并打印。(要求文件名:5_3.c)参考程序: #include char str[10][80],maxstring[80]; int i;printf(“Enter ten strings:n”);for(i=0;i<10;i++) { scanf(“%s”, str[i]);} strcpy(maxstring, str[0]); for(i=1;i<10;i++) { if(strcmp(str[i],maxstring)>0) { strcpy(maxstring,str[i]); } } printf(“The max string is:%sn”,maxstring);}(4)给出下面程序的运行结果,思考为什么?(要求文件名:5_4.c)#include int a[4][4]={{1,2,-3,-4},{0,-12,-13,14},{-21,23,0,-24},{-31,32,-33,0}};int i,j,s=0;for(i=0;i<4;i++){ for(j=0;j<4;j++) { if(a[i][j]<0)continue; if(a[i][j]==0)break; s+=a[i][j]; } } printf(“%dn”,s);return 0;}(5)测试二维数组的各个地址值,结果是什么,思考原因。(要求文件名:5_5.c)#include int a[M][N];printf(“%xn”,a);printf(“%xn”,a[0]);for(int i=0;i printf(“%x,”,&a[i][j]); return 0;} 三、实验报告要求 将题目:2和3的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,以及实验过程中的心得体会,写在实验报告上。 实验六 函数 一、实验目的 1.掌握C语言函数的定义方法、函数的声明及函数的调用方法。 2.了解主调函数和被调函数之间的参数传递方式。 二、实验内容和源程序清单、测试数据、结果。 (1)给出下面程序的结果,思考为什么?(要求文件名:6_1.c)#include #include printf(“%d is prime!”,number);else printf(“%d is not!”,number);return 0;} int prime(int number)/*此函数用于判别素数*/ { int flag=1,n;for(n=2;n if(number%n==0) flag=0;return(flag);}(3)求两个整数的最大公约数和最小公倍数。写一个函数求最大公约数。(要求文件名:6_3.c)参考程序: #include max=i;} return(max);}(4)写一函数,输入一个十六进制数,输出相应的十进制数。(要求文件名:6_4.c)参考程序: #include if(shu[i]>=48&&shu[i]<=57) sum=sum+(shu[i]-48)*pow(16,k-i); else if(shu[i]>=65&&shu[i]<=70) sum=sum+(shu[i]-55)*pow(16,k-i); else if(shu[i]>=97&&shu[i]<=102) sum=sum+(shu[i]-87)*pow(16,k-i); else { printf(“error!n”); break; } return sum;} int main(){ char str[100];long s;gets(str);s=change(str);if(!s) printf(“The number is not oxn”);else printf(“change:%ldn”,s);return 0;} 三、实验报告要求 将题目:3和4的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,以及实验过程中的心得体会,写在实验报告上。 实验七 指针 一、实验目的 1.掌握指针变量的定义与引用。 2.熟练使用函数指针、数组指针、字符串指针编写应用程序。 二、实验内容和源程序清单、测试数据、结果。 (1)输入三个整数,按由小到大的顺序输出,然后将程序改为:输入三个字符串,按由小到大顺序输出。参考程序:(输入三个整数,按由小到大的顺序输出)(要求文件名:7_0.c)#include #include int x,a[100],*p,i;p=a;scanf(“%d”,&x);for(i=0;i scanf(“%d”,p++);p=a;printf(“n”);maopao(p,x);printf(“the sorted numbers:n”);p=a;for(i=0;i printf(“%dt”,*p); return 0;} void maopao(int *p,int x){ int i,j,temp;for(i=0;i for(j=0;j if(*(p+j)>*(p+j+1)) { temp=*(p+j); *(p+j)=*(p+j+1); *(p+j+1)=temp; } }(3)利用函数和指针将给定字母字符串的第一个字母变成大写字母,其它字母变成小写字母。在main函数中接收字符串的输入,改变后的字符串的输出也在main函数中实现。(要求文件名:7_3.c)参考程序: #include *s-=32;s++; } for(i=0;i *s+=32; 三、实验报告要求 将题目2和3的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,以及实验过程中的心得体会,写在实验报告上。 实验八 结构体和共用体 一、实验目的 1.掌握结构体类型和结构体变量的定义。 2.掌握结构类型变量的定义和使用。 3.掌握链表的概念,初步学会对链表进行操作。 二、实验内容和源程序清单、测试数据、结果。 (1)给出下面程序的运行结果,思考为什么?(要求文件名:8_1.c)#include char num[10]; float score[3];}; int main(){ struct STU s[3]={{“1122301”,90,95,85}, {“1122302”,80,90,75}, {“1122303”,98,92,85}}, *p=s; int i; float sum = 0; for(i=0;i<3;i++){ sum = sum + p->score[i]; } printf(“%6.2fn”,sum); return 0;}(2)有10个学生,每个学生的数据包括学号,姓名,三门课的成绩,从键盘输入十个学生的数据,要求打印出每个学生的平均成绩,以及最高分的学生的数据(包括学号,姓名,三门课的成绩,平均分数)。(要求文件名:8_2.c)#include char num[6]; char name[8]; float score[3]; float avr;} stu[N]; int main(){ int i,j,maxi; float sum,max,average; for(i=0;i { printf(“input scores of student %d:n”,i+1); printf(“NO.:”); scanf(“%s”,stu[i].num); printf(“name:”); scanf(“%s”,stu[i].name); for(j=0;j<3;j++) { printf(“score %d:”,j+1); scanf(“%f”,&stu[i].score[j]); } } average=0; max=0; maxi=0; for(i=0;i { sum=0; for(j=0;j<3;j++) sum+=stu[i].score[j]; stu[i].avr=sum/3.0; average+=stu[i].avr; if(sum>max) { max=sum; maxi=i; } } average/=N; printf(“ NO.name score1 score2 score3 averagen”); for(i=0;i for(j=0;j<3;j++) printf(“%9.2f”,stu[i].score[j]); printf(“ %8.2fn”,stu[i].avr); } printf(“average=%5.2fn”,average); printf(“The highest score is : student %s,%sn”,stu[maxi].num,stu[maxi].name);printf(“his scores are:%6.2f,%6.2f,%6.2f,average:%5.2f.n”,stu[maxi].score[0],stu[maxi].score[1],stu[maxi].score[2],stu[maxi].avr);return 0;}(3)建立一个链表,每个结点包括:学号,姓名,性别,年龄。输入一个年龄,如果链表中的结点所包含的年龄等于此年龄,则将此结点删去。(要求文件名:8_3.c) #include char num[6];char name[8];char sex[2];int age;struct student *next;} stu[10]; int main(){ struct student *p,*pt,*head;int i,length,iage,flag=1;int find=0; //找到待删除元素 find=1,否则find=0 while(flag==1){ printf(“input length of list(<10):”); scanf(“%d”,&length); if(length<10) flag=0;} //建立链表 for(i=0;i p=(struct student *)malloc(LEN); if(i==0) head=pt=p; else pt->next=p; pt=p; printf(“NO.:”); scanf(“%s”,p->num); printf(“name:”); scanf(“%s”,p->name); printf(“sex:”); scanf(“%s”,p->sex); printf(“age:”); scanf(“%d”,&p->age); } p->next=NULL; p=head;printf(“n NO.name sex agen”); //显示 while(p!=NULL){ printf(“%4s%8s%6s%6dn”,p->num,p->name,p->sex,p->age); p=p->next;} // 删除 printf(“input age:”); //输入待删年龄 scanf(“%d”,&iage);pt=head;p=pt; if(pt->age==iage) //链头是待删元素 { p=pt->next; head=pt=p; find=1; } else //链头不是待删元素 pt=pt->next; while(pt!=NULL){ if(pt->age==iage) { p->next=pt->next; find=1; } else // 中间结点不是待删元素 p=pt; pt=pt->next; } if(!find) printf(“ not found %d.”,iage); p=head; printf(“n NO.name sex agen”);//显示结果 while(p!=NULL){ printf(“%4s%8s”,p->num,p->name); printf(“%6s%6dn”,p->sex,p->age); p=p->next; } return 0;} 三、实验报告要求 将题目3的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,以及实验过程中的心得体会,写在实验报告上。 实验九 文件操作 一、实验目的 1.掌握文件和文件指针的概念以及文件的定义方法。 2.了解文件打开和关闭的概念和方法。 3.掌握有关文件的函数。 二、实验内容和源程序清单、测试数据、结果。 (1)对data.dat文件写入100条记录。(要求文件名:8_1.c) #include int i; float x; fp=fopen(“c:data.dat”,“w”); for(i=1;i<=100;i++) { scanf(“%f”,&x); fprintf(fp,“%fn”,x); } fclose(fp); return 0;} (2)设有一文件cj.dat存放了50个人的成绩(英语、计算机、数学),存放格式为:每人一行,成绩间由逗号分隔。计算三门课平均成绩,统计个人平均成绩大于或等于90分的学生人数。(要求文件名:8_2.c) #include int num=0; float x , y , z , s1 , s2 , s3; fp=fopen(“c:cj.dat”,“r”); while(!feof(fp)) { fscanf(fp,“%f,%f,%f”,&x,&y,&z); s1=s1+x; s2=s2+y; s3=s3+z; if((x+y+z)/3>=90) num=num+1; } printf(“分数高于90的人数为:%dn”,num); fclose(fp); return 0;} (3)统计上题cj.dat文件中每个学生的总成绩,并将原有数据和计算出的总分数存放在磁盘文件“stud”中。(要求文件名:8_3.c) #include “stdio.h” int main(){ FILE *fp1,*fp2; float x,y,z; fp1=fopen(“c:cj.dat”,“r”); fp2=fopen(“c:stud”,“w”); } while(!feof(fp1)){ fscanf(fp1,“%f,%f,%f”,&x,&y,&z); printf(“%f,%f,%f,%fn”,x,y,z,x+y+z); fprintf(fp2,“%f,%f,%f,%fn”,x,y,z,x+y+z);} fclose(fp1);fclose(fp2);return 0; 三、实验报告要求 将题目1、2和3的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,以及实验过程中的心得体会,写在实验报告上。 焦 作 大 学 篮 球 比 赛 策 划 书校学生会体育部 2011年3月 为了营造一个积极、健康、热烈、活沷、朝气蓬勃的校园环境,值此春暖花开之际,为增强同学们的体质,丰富同学们的课余文化生活,校会体育部策划组织2011“校学生会—社团”篮球联赛。 一、目的:为了丰富同学们的业余生活,增进同学间友谊,促进合谐的校园文化氛围,特举办此次篮球比赛。口号:友谊第一,比赛第二 二、主办单位:焦作大学学生会 三、参赛队伍: 学生会代表队社联代表队 四、比赛时间:4月2日——4月23日比赛地点:新、老校区篮球场 五、参加办法: (1)报名方法:校学生会、社团联合会各挑选两组队伍进行比赛,实行自愿报名,每队报名人数(包含领队)为5人。每队须设有队长、领队(场下负责人)。 (2)报名时间:4月6日中午12点之前,各队负责人把队员名单报至校学生会组织部,并进行抽签分组。 六、比赛规则: (1)比赛的开始:赛时间为二节,每节20分钟,中间休息十分钟;每节中场休息五分钟。第一节比赛开始五分钟前,各队队员需要在计分台进行签到。 (2)比赛的结束:比赛在计时员发出比赛结束终了信号时结束;在比赛时间即将终了前的投篮,如在信号发出前球已在空中,投中有效。 (3)比赛应从裁判员在对手中间抛球,以中圈跳球开始;出现加时赛的情况,同样执行跳球程序;半场后交换场地进行比赛。(4)加时赛:下半场比赛结束,如两队得分相同,则进行一次或多次的五分钟加时赛;每次加时赛前有两分钟的休息时间。(5)犯规:球员与对手身体接触或违反运动道德的违规,即为犯规;犯规登记在球员个人名下,单场个人犯规达到五次降取消本次参赛资格;单场比赛时,每节内,每队球员侵人犯规满五次时,其后该队每一次的球员犯规应判罚两次(投三分球时被犯规,则罚球三次),由被侵犯球员主罚。 (6)弃权:比赛开始时,一方队员不足五人时,球赛不得开始。在比赛时间十五分钟候后,依然不足五人时,则由裁判判令该队弃权,由对方球队获胜;一方球队因各种原因提出弃权时,则判定对方球队获胜。 (7)三秒违例:当一队控球时,其本队球员不能在对方禁区内超过连续三秒以上的停留;违例则由对方在违例处最近边线外掷界外球。 (8)暂停:每队在每节内可以请求二次暂停,规定时间内未使用暂停不得保留至下半场或加时赛;加时赛各队均有一次暂停。(9)替补:替补球员入场前,应向纪录员报告;球成死球状态或 正当停表时或裁判宣判犯规时,替补球员方可上场。 (10)球员做出的不体现运动员精神的犯规动作,比如打人等,发生此类情况后,球员将被罚出场外,如有滋事者可将其班级的该场比赛按弃权处理。 (11)如比赛出现队员受伤,立即暂停比赛,到有关工作人员处进 行伤口处理,情况严重者请马上送往校医处。 (12)在比赛中须尊重裁判、尊重工作人员、尊重对手、尊重队友。场上裁判有比赛最终裁定权。 附表:人员分配与资源配置 焦作大学体育部 2011年3月28日 人员分配与资源配置 一、人员分配 1、宣传部及广播站负责本次活动的前期宣传和比赛宣传。 2、外联部负责筹集本次活动所需的资金。 3、体育部和学生会各部门负责本次活动的人员安排,每个场地设一名主裁、一名副裁、一名记分员、计时员、二名场边工作人员(处理现场事宜等)。 4、比赛期间各部门临时听从体育部工作安排。 二、资源配置 (一)活动所需用品及器材: 比赛用球4个口哨2个 记分牌1个秒表1块 纯净水共8件(每场1件) 海报、条幅、队服(根据实际情况统计) (二)附表(赛事安排): 备注:本赛采取积分制,赢一场得一分,输一场扣一分,最后一场由得分前两名争夺冠亚军,其余两队分出季军。 HENAN LUDA LAW FIRM 河南陆达律师事务所 法律顾问服务方案 二0一一年十一月二十日 河南·郑州·郑东新区CBD商务内环路9号龙湖大厦16楼、8楼、6楼 邮编:450046 电话: 0371-6031582 2传真: 0371-60315822 Http://www.xiexiebang.com 河南陆达律师事务所 法律顾问服务方案 一、河南陆达律师事务所简介 河南陆达律师事务所(HENAN Ludalaw Firm)是河南省司法厅直属的大型现代化合伙制律师事务所,目前有专兼职律师93人。本所合伙人和资深律师多数毕业于北京大学、武汉大学、中国政法大学、西南政法大学、中南财经政法大学、郑州大学等著名高等院校,不少律师执业达20年以上。多名律师担任或曾经担任河南省政府法制咨询专家、河南省律师协会副会长、常务理事、理事、河南省律师协会省直律师协会会长、河南省律师协会发展战略委员会主任、公司证券委员会主任、青年律师工作委员会主任、教育培训委员会主任、中华全国律师协会公司法专业委员会委员、知识产权委员会委员、青年律师工作委员会委员等。本所拥有首届“全国优秀律师”两名、郑州仲裁委员会仲裁员10余人。 本所实行团队作业模式,设有民商事法律业务部、刑事业务部、投融资法律业务部、建筑与房地产法律业务部、公司证券法律业务部、金融法律业务部、法律顾问业务部、服务中原经济区专项业务部等专业部门,促使广大律师按照专业化、学术型的方向发展,靠专业水平和优质服务赢得尊重。本所并制定有严格的业务流程和重大业务层层签批制度,实行关键控制点质量保证体系,确保以最优的资源和最佳的管理,为客户提供最优质高效的法律服务。本所律师具有国家有关部门授予的多种从业资格,如证券法律事务从业资格、国有资产产权 河南陆达律师事务所 法律顾问服务方案 企业工作人员来进行,所以制定合理的劳动管理制度,明确劳动者的责任、权利、利益是很有必要的,他不但可以提高劳动者的工作积极性,还可以增强贵企业的凝聚力。顾问律师将在劳动关系中提供如下法律服务: (1)提供劳动人事政策、劳动人事法律法规咨询。 (2)协助企业建立健全劳动人事制度,建立制定企业有关用工、工资分配、福利保险等方面的内部管理制度和劳动纪律。 (3)协助企业审查、起草、修改、制订完善《劳动合同》、《企业章程》、《员工守则》、《劳动纪律手册》和《企业安全生产有关规定》,帮助调整劳资关系。 (4)为顾问单位的专利权、商标权、著作权、商业秘密和专有经营权的保护提供法律建议,并协助顾问单位制定保密制度、保密协议和竞业禁止制度。 (5)定期了解企业劳动合同订立、履行情况,帮助企业规范其用工行为,使企业避免因解除劳动合同程序不合法或解除劳动合同条件不合法引起的风险。 (6)协助企业预防和处理工资、工伤、辞退、社保费和补偿金等引起的劳动争议,真正为企业减轻负担,使企业能够把全部精力放在生产、经营上。 (7)协助企业进行劳动仲裁、提起一审和二审诉讼。(8)根据企业的需要,对员工进行法律培训。 河南陆达律师事务所 法律顾问服务方案 否符合国家法律,合同的条款是否完备,双方的权利义务是否明确具体,文字表述是否清楚,双方签订合同是否履行了法律规定的特别手续等等,尽可能的避免因合同法律问题给贵局造成的损失。 (三)企业决策中的法律服务 贵企业经营决策的正确与否将决定贵企业的兴衰成败。重大决策的失误会给贵企业带来严重的后果。我们作为贵企业法律顾问的主要职责,就是当好贵企业领导层法律方面的参谋助手,协助贵企业领导层正确的进行决策,避免因不知法、不懂法而出现的决策失误。特别是新的法律法规不断出台,更需要律师参与贵企业的依法决策。我们担任法律顾问在参与决策中的职责包括: 1、为贵企业领导决策提供法律依据。及时准确地向贵企业领导提供有关决策的法律依据,避免决策的盲目性。我方律师提供的法律依据不仅包括与决策有关的法律、法规的条文规定,还包括对法律法规的准确解释、有关的法学理论知识,司法实践中的一些做法。特别是当前我国法律、法规体系还不够完善,经济活动的一些方面还无法可依,在这种情况下,法律顾问应依据国家的有关法律和政策,以及运用所掌握的法学理论知识,对问题做出分析判断,提出决策的依据。 2、对决策事实过程中可能遇到的风险作出预测,从法律角度提出避免或减少风险的措施。决策本身就包含着风险,毫无风险的决策是没有的。我方律师在参与决策时要对各种决策方案的风险因素进行预测和分析,帮助贵企业选择风险最小、获利最大的方案,提出法律 河南陆达律师事务所 法律顾问服务方案 4、对合同签订、履行的数据进行统计分析,建立合同数据台帐。 (六)企业涉及行政处罚法律服务 对各种行政处罚帮助企业与行政部门协调,减少损失,分析行政处罚原因和事实,对行政处罚的合法依据进行审查,及时帮助企业申请听证,回避,对涉及到违法和不合理的,全面代理提起行政复议或行政诉讼。向企业提供相关法律法规依据,对符合国家赔偿要求代理申请国家赔偿等相关法律服务。 (七)专项法律服务 1、建设工程法律服务(1)建设工程项目立项;(2)建设工程贷款融资;(3)建设工程项目合作开发;(4)建筑工程承包合同草拟; (5)参加企业各类谈判,维护企业合法利益,使企业的合法权益不受侵犯; (6)建筑工程项目评估与抉择、可行性分析、项目谈判、建筑环境项目申报有关招投标程序和总承包、分包法律策划; (7)建设工程招投标;(8)建设工程项目管理; (9)建筑工程造价所涉及的法律事务;(10)建筑工程质量法律控制及其索赔; 河南陆达律师事务所 法律顾问服务方案 关系融资的成败。律师可以为融资方的资源整合(包括项目公司的设立)提供专业服务。 (2)融资方式选择及法律风险分析 融资种类繁多,不同的融资方式所涉经营管理、风险分担、收益分配、投资回收等法律问题差异极大。融资方应当根据项目实际情况选择合理的融资方式并对其法律风险有充足的认识,否则融资的实际效果将难以保证。 (3)选择适格的投资主体 融资方式确定后,融资方将面临选择投资者的问题。投资者的合法性及与项目资金需求相适应的资金供给能力,需要律师的专业服务来查证。 (4)融资方案的设计 投资者总希望能获得最大限度的回报,融资方也希望能使项目收益最大化。如何使己方融资方案在合法有效的基础上最大限度地被采用,需要包括律师在内的专业人员的参与。 (5)商务谈判 在设计方案基础上的融资谈判是与融资对象不断进行交流和协商的过程。在此阶段需要双方相互妥协,最后达成一致。因为谈判是现场解决问题,因此需要包括法律人员在内的专业人员参加,及时提供咨询并发表意见,以便现场决策,使双方约定合法有效。 (6)文件起草 河南陆达律师事务所 法律顾问服务方案 5、劳动合同格式 二、知识产权保护方案 1、计算机软件著作权保护概述 2、公司知识产权保护规定 3、保密合同 4、维护职务作品权益法律解析 5、软件著作权转让合同 三、聘请法律顾问合同 项目建设任务书佐证材料 (4-4数控加工专业) 4-4-1人才培养模式与课程体系改革 4-4-1-1创新工学结合人才培养模式 (共X册,第X册) 湛江市高级技工学校 2014年 月 日 一、目录格式: 请按照《邓老师模板》 ... 二、文档内容格式: (一)标题——由于各种文本不同,如有的是总结、文件、表格等,标题层级不一样,但可以参考以下格式 1.正文标题:小二,黑体,段后:1行 文内一级标题:三号、黑体 文内二级标题四号、黑体。文内三级标题四号、宋体、加黑。 (二)正文内容---必须要按照以下统一 ....1.正文:四号字,宋体; 2.页边距:上、下、左、右各2.5厘米; 3.行距23磅,段前0行,段后0行;除非插入图片、表格需要适当调整行距外,一般都要求统一行距。 4.每张A4放2张图片,图片电子版用彩色,图片大小大概10CMX16CM,并配文字说明(图片说明居中、文字四宋体,段前0.5行,段后0,行距12磅),两个图片之间空3行。 (参考文档模板见下页) 三、整体内容排版模式----见《邓老师模板---整体内容排版模式》 模具制造专业建设总体情况简述 一、总体概述 建立和实施工学结合的人才培养模式,构建和完善“工作过程导向”课程体系,着重进行课程体系框架构建,开发一批体现人才培养需求的核心课程,创新教育教学内容,„„„„„„„„„„ (一)具体目标 1.创新工学结合的人才培养模式 与5个企业签订合作协议,依托校内实训基地、校企合作生产中心、校外实习基地,以“工作过程导向”„„„„„„„„ (1)„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„ ①„„„„„„„„„„„„„„„„„„„„„„„„„„„„ ②„„„„„„„„„„„„„„„„„„„„„„„„„„„„(2)„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„ 2.构建“基于工作过程导向”的课程体系 在市场调研、工作岗位分析的基础上,根据岗位工作任务进一步提炼专业典型工作任务,合理设计课程内容。 (1)„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„ ①„„„„„„„„„„„„„„„„„„„„„„„„„„„„ ②„„„„„„„„„„„„„„„„„„„„„„„„„„„„(2)„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„ (二)实施过程 1.开发课程教材,创新教学内容 (1)„„„„„„„„„„„„„„„„„„„„„„„„„„„ 示范校工作会议 示范校工作会议第二篇:C高级语言程序设计实验内容
第三篇:篮球比赛策划(加封面)
第四篇:法律顾问方案(加封面)
第五篇:封面、目录、内容格式-