第一篇:国家级二级C分类培训-实验五教案
国家二级C机试培训资料
国家二级C机试培训资料
fun(char *p){ int i,t;char c[80];
国家二级C机试培训资料
fun(s,n);
国家二级C机试培训资料
r=t;while(*r)
if(*r==*p){r++;___1__;} else break;if(*r==__2___)n++;__3___;} return n;} main()
{char a[N],b[N];int m;
国家二级C机试培训资料
int bb[26], k, n;clrscr();
国家二级C机试培训资料
国家二级C机试培训资料
国家二级C机试培训资料
}
国家二级C机试培训资料
main(){
char s[100],t[100],*p;clrscr();
IF(*r == *p){ r++;p++;} else break;
if(*r == ' ')a = w;w++;
攀枝花学院计算机基础教研室 国家二级C机试培训资料
} main()
国家二级C机试培训资料
main()
{int n;char s[80];clrscr();
国家二级C机试培训资料
国家二级C机试培训资料
国家二级C机试培训资料
第二篇:c分类教案
三、分类与整理
(第一课时)教学内容: “分类与整理”P27例1 教学目标:
1、让学生经历和感受数据的收集、整理和分析的过程;体验统计结果在不同标准下的多样性,并会用简单的方法收集整理数据。
2、初步认识条形统计图和简单的统计表;能根据统计图中的数据提出并回答简单的问题。
3、通过活动,培养合作、交流意识,体会数学与生活的密切联系。教学重点:
使学生会用简单的方法收集、整理数据。教学难点
能根据统计图中的数据回答问题。教具准备:课件、统计图、彩色贴纸。教学方法:启发互动式教学 教学时间:一课时 教学过程
一、创设情境,生成问题。
师:这个星期的主题班会马上就要召开了,我们一起来给班会布置一下教室吧!(出示情境图)看一看这些气球好看吗?
哪位同学能说一说他们手里分别有几个气球?(生边说师边用课件点出)
师;那你们觉不觉得这样数起来容易数乱?有没有一种比较好的方法数得既快有不乱?
二、探索交流,解决问题。
在学生注意观察后,教师设问:我们要想数的既准确又快速可以用什么办法呢? 学生自由发言。
你们刚才数气球的过程就是对数据进行分类与整理。(板书:分类与整理)
大家想把这些气球的个数统计下来吗?现在用你们自己刚才想到的好方法进行统计一下吧!
学生小组合作,教师巡视指导,完成后学生之间互相交流。师:同学们,来把你们的好方法都说出来吧!(师根据学生不同的汇报把不同的统计结果展示在黑板上)全班学生看完后,再全班汇报。
师:原来同学们想出了这么多好的表示方法,你们真是了不起,现在请同学们自由交流,看看哪种方法最容易看出那种颜色的气球最多?哪种颜色的气球最少?
三、巩固应用,内化提高。
同学们,请打开课本的第29页,看到第一大题,你们知道在这些交通工具里哪些是汽车吗?用你喜欢的彩笔把车
图上颜色吧!
四、回顾整理,反思提升。
这节课我们通过亲身体验得出数据,再整理制成统计图,并根据统计图的分析使问题得到解决,实际上统计就发生在我们的身边。你们知道自己家里人和邻居都喜欢什么颜色吗?请你们课外进行调查,统计一下他们最喜欢的颜色。
五、作业 29页第2题
三、分类与整理
(第二课时)
教学内容: “分类与整理”P28例2 教学目标:
2、让学生经历和感受数据的收集、整理和分析的过程;体验统计结果在不同标准下的多样性,并会用简单的方法收集整理数据。
2、初步认识条形统计图和简单的统计表;能根据统计图中的数据提出并回答简单的问题。
3、通过活动,培养合作、交流意识,体会数学与生活的密切联系。教学重点:
使学生会用简单的方法收集、整理数据。教学难点
能根据统计图中的数据回答问题。教具准备:主题图、统计图、彩色贴纸。教学方法:启发互动式教学 教学时间:一课时 教学过程
一、创设情境,生成问题。1.谈话导入
上节课我们共同学习了新的内容,还记得是什么内容吗?
对,大家学得非常认真,咱们继续学习这一部分的内容。2.但本节课的内容与上一节课又有所区别,想知道区别在哪吗?
好,咱们就共同来探究吧。
(设计意图:导入课题,明确学习内容,激发学生的探究欲望。)
二、探索交流,解决问题。
四个家庭报名参加了中央电视台少儿频道的智慧树节目,(出示情境图),谁发现了数学信息? 生自由说
现在这四个家庭要分成两组做游戏,你觉得应该怎样来分? 小组合作交流
学生可能会出现以下几种情况; 1.按大人和孩子分 2.按男女分
3.两个家庭一组,另外两个家庭一组 4.........师:可以把你们的分类结果整理成一个简单的表格吗?(学生制作表格比较困难,建议教师提前准备学习用表)好了,孩子们,交流完了吗?把你们的成果分享给大家吧!师通过学生不同的分类标准进行呈现。
从你们的分类中,你们都能发现什么数学问题?你能解决吗?
三、巩固应用、内化提高。1.28页做一做。
请同学们把我们班的同学分成两类,你是怎么分的呢? 2.打开课本,翻到29页页,根据统计的数据,独立完成第二题以及后面的作业题目,师巡视,指导。班内交流,订正。(设计意图:巩固应用这个环节,让学生把学到的知识应用到生活中,巩固了所学知识,进一步了解统计图的意义,加深对统计图的了解。)
四、回顾整理,反思提升: 今天我们学到了什么?你都会用哪种方法整理和收集数据?有什么收获呢?
五、作业:
32页7 题
第三篇:二级C语言改错题分类总结
改错题分类总结
改错题总的出错分为两大类:语法出错和逻辑出错,此类题目是比较简单的题型,因此也是最容易把握的知识点。
注意:错误都是出现在/**********found**********/下面的这一行。只是下面的这一行,其他行都没有错误。不能修改其他行。做题方法:
1.首先拿到题目,先将题目详细看看(包括题干),看清题目对做题时很有帮助,特别是一些逻辑性较强的题目很有用。有的同学可能会觉得题目太难了不想去读,其实在做改错题目时即便你不会也能把题目做对。
2.按照以下的步骤解决题目中的错误的内容,对应着修改。修改完之后保存即可。一 语法错误
1.关键字出错:在二级C语言考试中仅仅考查学生对基本的关键字掌握情况,比如:整型就是int 不是Int,知识点简单。(1)6题第二个空:If应该改为if;(2)1 2题第二个空:If应该改为if;(3)2 3题第一空:dounle 应该改为double;(4)3 5题第二空:I f应该改为if;(5)3 6题第二空:Double 应该改为double。(6)2题第二空:wihle 应该改为while。
2.格式出错:在考试中主要考查学生细心的程度,最喜欢考简单的知识点。
(1)少分号:2题第一空、28 题第一空、29 题第一空、34 题第二空、37 题第 二空、48 题第二空。考查的知识点:分号是语句结束的标志。
(2)for 语句的格式:for(;;)中间用分号隔开不是用逗号隔开。3题第二空、6 题第一空、14 题第二空都是出现了for 语句格式出错的问题。
(3)if 语句的格式:if(表达式),if 后面必须加上小括号。3 7题第一空if 后面必须加上小括号。
(4)命令行格式出错:17 题第一空中include 命令少了#,正确的形式应该是#include “std io.h”;
(5)常用函数格式:
A 22 题第一空中n=strlen[aa]应该改为n=strlen(aa),记住函数名后面一定是花括号,不能是方括号,方括号只有在数组下标中用到。
B 4 9题第一空int j,c, float xa =0.0;应该改为int j,c;float xa =0.0;记住:要同时定义两种以上不同的数据类型的时候必须在不同类型的数据中间加上分号。
C 4 1题第二空scanf(“%d”,a[i][j]);应该改为scan f(“%d”,&a[i][j])。考查scanf 输入函数的格式。
(6)数组:所有老师讲到数组时候必须统一将此知识点给学生回顾一遍!A数组下标引用时候只能用反括号。2 8题第二空t(k)=b(j)应该改为t[k]=b[j]。
B二维数组中的列下标不能省略。4 6题第一空必须将数组列下标补充完整。A[][3](7)常用符号出错:
A C语言中大于等于符号是“>=”,但是在考试的时候可能出现将它写为“=>”,49 题第二空就是这样的错误。
B当题目中需要比较某个字符是否是大写字母或是小写字母、数字时,必须将“与”、“或”、“非”记住。判断某个字符是否是大写字母:char ch;if(ch>=’A’&&ch<=’Z’)printf(“%c”,c h);判断某个字符是否是小写字母:char ch;if(ch>=’a’&&ch<=’z’)printf(“%c”,c h);判断某个字符是否是数字:c har ch;if(c h>=’0’&&c h<=’9’)printf(“%c”,c h);判断某个数字是否能同时被5和7整除:
int i=35;if(i%5==0&&i%7==0)printf(“%d”,i);判断某个数字是否能被5或7整除:
int i=35;if(i%5==0||i%7==0)printf(“%d”,i);判断某个数字是否是偶数或奇数:
int i=35;if(i%2==0)printf(“%d是一个偶数”,i);else printf(“%d是一个奇数”,i);
二 逻辑错误
1.使用了没有定义过的变量:这种题目可以通过编译查找出出错的地方并改之。(1)0(零)和o(字母欧)的区别:19 题第一空、2 3题第二空、43 题第二空。(2)P(大)和p(小)的区别:3 3题第一空。(3)普通变量大小写的区别:int a=10;A A有的变量在定义的时候是小写但是在使用的时候是大写,或是在定义的时候是大写在使用的时候却是小写。B大小写没有出错,程序中直接使用了没有定义过的变量,要求学生更加细心的读题目。4 5题第二空使用到了i这个变量,但是我们在定义行中没有找到i的定义,因此在做题时候要上下结合来分析题目。22 题第二空c=aa [j]中的c没我们一直用心做教育!有定义过,参看定义的语句不能发现应该是c h=aa [j]。3 8题第一空要求将后面用到的变量s1 定义完整。2.运算符号出错:
(1)C语言中除号是“/”不是“”
(2)赋值号(=)和等号(==)混淆,记住在if 语句中出现赋值号(=)一般是讲它改为等号(==)。14 题第一空和29 题第二空都是这样的错误。3.表达式的取值范围出错:
当遇到计算表达式的累加或是累减时,一定用到循环来完成相应的操作。例如:改错题第七题中要求计算t=1-1/2*2-1/3*3-„.-1/m*m这个表达式,在这个题目中第一空有这样的f or 语句:for(i=2;i 这个考点同样考查表达式的相关知识。例如:改错题第七题中要求计算t=1-1/2*2-1/3*3-„.-1/m*m这个表达式,在这个题目中第一空有这样的for 语句:for(i=2;i 遇到这种题目在改错题中最容易考查的是大于(>)、小于(<)等符号的变化,当你查找出错的地方没有语法错误,也没有使用了未定义的变量时,记住这个口诀:将大于改为小于,将小于改为大于!6.函数的返回值及其参数:重点 int fun(int x, int y) main(){ { if(x>y)return x; int a,b,c;else return y; scanf(“%d%d”,&a,&b);} c=fun(a,b); printf(“最大值为:%d”,c);}(1)函数的返回类型:在上面的例子中fun 函数的返回值是int,如果将int 改为doubl e,很明显是错误的。从两个地方来看,首先return x;中x的类型必须和fun 函数中的返回值相同,x是整型。其次c=fun(a,b);中fun 函数将一个返我们一直用心做! 回值赋值给了变量C,说明函数返回的值一定是整型。记住:函数调用、函数的返回值和return中数据类型必须一致! (2)return后面的表达式及其类型:1 9.2、3 0.2、39.2(3)函数传递的参数: int fun(int x, int y) main(){ { if(*x>*y)return*x; int a,b,c;else return*y; scanf(“%d%d”,&a,&b);} c=fun(&a,&b); prin t f(“最大值为:%d”,c);} 一定注意:传递的是值还是地址。比较上面两个例子大家很容易区别传递的是值 还是地址,第一个例子调用函数的时候传递的是值,因此在f u n函数的形参中x 和y仅仅是普通的变量,而第二个例子中调用函数的时候传递的是地址,因此在 f un 函数的形参中x和y就是两个指针变量。5.1、13.1、17.2、2 0.1、2 5.2依据刚 刚讲的方法很快就能找出出错点。(4)指针的使用: int fun(in t *x, in t *y){ if(*x>*y)return*x;else return*y;} 在此例中f un 函数的形参是x和y,它们的类型是整型的指针,那么在f un 函数的函数体中使用到x和y的值时一定要区分:x>y比较的是x和y所存变量地址的大小,*x>*y才是比较值的大小。如果存在*x=x+y;的类似情况一定是错误的,必须要将赋值号的左右两边的类型变为一致。5.2、5.3、20.2、24.2、35.1、44.1 一定特别注意!7.数组: (1)数组下标的初始值:数组下标从零开始,到长度减一结束。考试技巧:当出错行在定义部分时,先检查该定义语句有没有语法错误,再看定义语句中的变量有没有赋初始值,最后看变量赋的初始值有没有正确。定义初始值有窍门,遇到累加时,用来存放累加和的变量一般赋值为零,遇到求阶乘时,用来存放阶乘值的变量一般赋值为一。8.1中的变量k赋值为1,但是我们说了数组的下标只能从0开始,因此将1改为0就行了。 (2)普通变量的初始值:依照上面的技巧,我们同样可以将它延伸到普通变量中。4 1.1中需要将变量的值进行初始化,题目中有这样的要求:“输出主对角线元素之和”,既然这样我们很肯定初始值应该为零,接着我们看看是给哪个变量赋值?看printf(“su m =%d”,su m);输出的是sum 的值,说明sum 就是我们要补充在横线上的变量。10.1也可以用同样的方法来分析。 (3)数组和字符串长度减一:当使用数组中的元素时,最大值只能到数组长度减一。字符串以’ ’作为字符串的结束标志,因此取值最大也只能到字符串长度减一。25.2中输出p r in t f(“%d”,a a[i]);分析程序知道i在此时就是数组的长度,我们要输出数组中的元素,最大就只能到a a[i-1],因此改为printf(“%d”,aa[i-1]);就行了。4.1和38.2中考查的是字符串长度减一的问题。 (4)数组下标往后走:当题目要求将一个数组中的元素直接赋值或是以某种方式复制到另一个数组中时,接受数据的数组中的下标要自增9.。1中s[j]=s[i];将s[i]中的值复制给s[j],联系上下函数段发现i是一个变量被for语句控制,从0开始直到遇到’ ’结束。i一直在加但是j没有变化,因此改为s[j++]=s[i];即可。类似的题目有:25.2、26.2、32.1、50.2。8.特例: 部分题目的解答很特殊,需要根据上下文中的内容来解答题目;例如10.1,在此题目中,定义了变量t=0;根据下面程序中的循环,s=0.0,首先加的是变量t的值,即s的值是从0.0开始的,s得到的值是:s=0.0+0.0+1.0/3+„„,观察表达式的值,这个少加了第一项1.0的值,所以变量t的初值不能是0.0,只能是1.0,或者是1;21.2中的这个题目中,表达式的值是从2/1+3/2+5/3„„即表达式的规律是从第一项开始,以后的每一项的分子是前一项的分子和分母的和,分母为前一项的分子。所以该题目的第二个空中的内容应该是:c=a;a+=b;b+=c;这一条语句中a代表的变量的分子,b代表的是变量的分母,执行第一个表达式的值,把a的值赋值给变量c,第二个表达式是把分子和分母的和相加复制给变量a,第三个表达式是把原来a的值和变量b的值相加之后得到的值赋值给变量b,则变量b得到的值也为分子分母的和,不满足题意,而分母应该为原来分子的值。第三表达式的值应该改为:b=c;9.素数 掌握求素数的格式: 判断一个数是否是素数的方法很多,只用掌握一种即可,首先掌握判断一个素数的方法; 素数的定义: 1、是自然数 2、只能被1和本身整除,2到本身减一之间的数不能整除该数。判断m是否为素数的格式: for(i=2;i 求素数的题目只要把格式给带进去就可以了。1 1.1这个题目中只用改为“==”。29 题也是一样的解答方法。10、链表 链表的题目分为带头结点的和不带头结点的链表; 1、带头结点的链表 带头结点的链表的第一个空的改为:p=h->next;第二个空改为:p=p->next;.2、不带头结点的链表 不带头结点的链表的第一个空的改为:p=h;第二个空改为:p=p->next;. 国家二级C机试培训资料 strcpy(p,c);国家二级C机试培训资料 main() { char c,s[80]; 攀枝花学院计算机基础教研室 国家二级C机试培训资料 fun(s, t); printf(“nThe result is: %sn”, t);} 攀枝花学院计算机基础教研室 国家二级C机试培训资料 case('i'): case('o'): 攀枝花学院计算机基础教研室 国家二级C机试培训资料 printf(“n”);} 攀枝花学院计算机基础教研室 国家二级C机试培训资料 c=getchar(); while(__2___)//填:c!=‟#‟ { s[i]=c;i++;c=getchar();___3___; //填:s[i]=‟ ‟ 攀枝花学院计算机基础教研室 国家二级C机试培训资料 printf(“n Please enter the character to search :”); c = getchar(); /**********found**********/ fun(___3___); //填:s,c printf(“nThe result is %sn”, s);} 5、程序填空题 国家二级C机试培训资料 while(*s) { p=s;r=t; 国家二级C机试培训资料 main() { char s[100], t1[100], t2[100], w[100]; printf(“nPlease enter string S:”);scanf(“%s”, s); printf(“nPlease enter substring t1:”);scanf(“%s”, t1);printf(“nPlease enter substring t2:”);scanf(“%s”, t2);if(strlen(t1)==strlen(t2)){ fun(s, t1, t2, w); } else printf(“nError : strlen(t1)!= strlen(t2)n”);printf(“nThe result is : %sn”, w); 国家二级C机试培训资料 国家二级C机试培训资料 { char a[LEN],b[LEN]; char c; clrscr(); printf(“Enter the string:n”); 国家二级C机试培训资料 14、程序设计题 实验一 熟悉C语言程序开发环境 实验目的: 1、了解计算机程序设计语言。 2、熟悉Turbo C集成环境。 3、正确启动和退出Turbo C。实验内容: 1.熟悉Turbo C集成环境。 2.编写一个在窗口中显示字符的程序。#include 实验二 数据描述 (一)实验目的: 掌握C语言的运算符和表达式的正确使用方法。实验内容: 写出以下程序的运行结果 #include 实验二 数据描述 (二)实验目的: 掌握C语言的运算符和表达式的正确使用方法。实验内容: 写出以下程序的运行结果 #include 实验三 顺序结构程序设计 实验目的: 掌握C语言的几种基本数据类型和基本输入/输出函数的使用方法。实验内容: 1.编程列出在用户的系统下各种数据类型的长度。#include 2.编程执行下列语句后, a,b,c,d,e的值分别等于多少? 为什么? int a, b,c,w=10,x=20,y=30,z=40,d=10,e=60;a=b=c=10;++a||++b&&++c;(d=w>x)&&(e=y>z); 3.下面程序的功能是从键盘上输入x=20, y=25.5, z=A, 然后将输入的内容从屏幕上输出。调试程序,修改有错误的语句行, 并输出正确的结果。main(){int x;float y;char z;scanf(“x=%d,y=%d,z=%c”,x,y,z);printf(“n x=%d,y=%d,z=%c”,x,y,z);getch();} 4.下面程序的输出结果是什么? 并对输出结果给予合理的解释。main(){char ch;int k;ch=‟A‟;k=0;printf(“%d,%x,%o,%c”,ch,ch,ch,ch);printf(“k=%dn”,k);} 5.编写一个程序, 从键盘输入一个字符, 然后打印该字符的ASCII码。 实验四 选择结构程序设计 实验目的: 掌握结构化程序设计的的思想方法、C语言的基本控制结构和控制转移语句。实验内容: 一、IF语句 判断两个数的大小 #include main() { int x,y; printf(“Enter integer x,y:”); scanf(“%d,%d”,&x,&y); if(x!=y) if(x>y)printf(“X>Yn”); else printf(“X else printf(“X==Yn”); } 二、switch语句 1.阅读下面的程序, 试分析该程序的运行结果。#include 实验五 循环结构程序设计 实验目的: 掌握结构化程序设计的的思想方法、C语言的基本控制结构和控制转移语句。实验内容: 一、while语句 二、do-while语句 三、for语句 四、break和continue语句 求1加到100的和? main(){int i,s=0;i=1;while(i<=100){ s=s+i;i++;} printf(“%dn”,s);} 1、输入两个数M和N,求其最大公约数和最小公倍数。(用展转相除法求之) 2、求Sn=a+aa+aaa+„„+aa„a之值,其中a是一个数字。例如:2+22+222+2222+2222(此时n=5),n由键盘输入。 3、求100-200之间的素数。 4、求1000内的同构数 5、求完数。 6、求水仙花数 7、Fibonacci数列 8、自然数的阶乘 9、阅读下面的程序, 试分析该程序并指出该程序具有什么功能? #include 10、试编写一个程序解决猴子吃桃问题。问题描述如下: 猴子第一天摘了N个桃子, 当即吃了一半, 又多吃了一个;第二天早上, 将剩下的吃了一半,又多吃了一个。以后每天如此, 等到第20天想吃桃子时, 就只剩下一个桃子了, N是多少? 实验六 数组 (一)实验目的: 掌握一维数组和二维数组的使用, 以及字符串处理函数的使用方法。 实验内容: 1.试写出下面程序的运行结果。#include 4.用二维数组编写程序: 读入3个字符串, 然后反序输出每个字符串以及每个字符串的长度。 实验六 数组 (二)实验目的: 掌握一维数组和二维数组的使用, 以及字符串处理函数的使用方法。实验内容: 5.试编写程序解决母牛生母牛, 母牛何其多的问题。问题描述如下: 有一头母牛, 它每一年生一头小母牛, 而这头小母牛在4 年后, 也是每一年生一头小母牛, 小母牛4 年后还仍然如此。那么, 在20年内, 每一年的母牛数是多少。6.完善程序, 使其能打印出如下图形。main(){static char a[]={„*‟, „*‟ , „*‟ , „*‟ , „*‟}; ***** int i,j,k;char space=‟ „;for(i=0;i<2;i++) {printf("%c”,a[i]); } } 7.编写程序,实现: 输入一行字符, 统计其中有多少个单词, 单词之间用空格分隔开。 8.试编写程序实现: 在三个字符串中, 找出其中最大者。 实验七 函数 (一)实验目的: 掌握C语言函数的定义和调用方法, 学会编写通用程序模块, 掌握程序设计的基本方法,并编写出具有清晰模块结构的C程序。实验内容: 1.编写程序计算C nm。 2.编写程序解决汉诺塔问题。汉诺塔问题是这样的: 有3个塔, 分别为A,B,C塔, 现在A塔上有64个盘子, 盘子大小不等, 并且大的始终在下, 小的在上。现在要将64个盘子全部移到C塔上, 每次只许移动一个盘子, 移动过程中, 始终保持大的在下, 小的在上, 可以借助B塔。 实验七 编译预处理 (二)实验目的: 掌握编译预处理功能的使用。实验内容: 1.如果要求a,b中的最大值,使用带参数宏定义如何编程来实现。 2.输入一行字母字符, 根据需要设置条件编译, 使之能将字母全必为大写输出, 或全改为小写字母输出, 编写程序。 3.试利用宏定义编写程序实现两个数交换位置。4.试写出下面程序段的运行结果。#define PR(ar)printf(“%d”,ar)main(){int j,a[]={1,3,5,7,9,11,13,15},I=5;for(j=3;j;j--){switch(j) {case 1: case 2: PR(a[I++]);break; case 3: PR(a[--I]; }}} 5.设有以下程序, 为使之正确运行, 请在____中填入应包含的命令行。___________ main(){int x=2,y=3;printf(“%dn”,pow(x,y));} 实验八 指针 实验目的: 掌握C语言有关指针的概念, 正确使用指针变量、指针数组、字符串指针和二级指针, 编写简捷、高效的程序, 掌握指针的运算。实验内容: 1.通过下面的程序理解指针与数组的关系。main(){int a[5],*p,i;for(i=0;i<5;i++)a[i]=i+1;p=a;for(i=0;i<5;i++){printf(“[p+%d]=%dt”,i,*(p+i));printf(“a[%d]=%dn”,i,a[i]);}} 2.指出下面程序中的错误, 并说明错误的原因。main(){int *p,i;char *q,ch;p=&i;q=&ch;*p=40;*p=*q;} 3.下面程序的运行结果是______。#include if(b<10)*p=b+48; else *p=b+55; p++; a=a/5;}while(a>0);*p=‟ ‟;puts(s);} 4.试分析下面程序的运行结果。#include 实验九 结构体与共用体 实验目的: 掌握结构体类型、共用体类型以及相应类型变量的定义方法和引用方法。实验内容: 1.分析以下程序的结果。union cc {int a;int b;};union cc s[4];union cc *p;main(){int n=1,i;printf(“n”);for(i=0;i<4;i++){s[i].a=n;s[i].b=s[i].a+1;n=n+2;} p=&s[0];printf(“%d”,p->a);printf(“%d”,++p->a);} 3.试编写程序实现将输入的16进制的低位字节和高位字节交换。 5.试利用结构体类型编程序实现将一个学生的数学期中和期末成绩,然后计算并输出其平均成绩。 7.编写程序实现按学生姓名查询其排名和平均成绩, 查询可连续进行, 直到键入0时结束。请调试该程序, 允许修改和添加语句, 但不得删除整行。第四篇:实验五教案
第五篇:C实验教案(清华)