第一篇:c语言试题及答案
一、单选题
1.在C语言中,下列类型属于构造类型的是(D)A.整型 B.字符型 C.实型 D.数组类型 2.下列字符串不是标识符的是(D)A.sum B.Average C.Day_night D.M.D.JOHN 3.在C语言中,回车换行符是(A)A.n B.t C.v D.b 4.在C语言中,语句和数据定义是用(C)作为结束标记的 A.句号 B.逗号 C.分号 D.括号 5.设有如下定义: int x=10,y=5,z;则语句printf(“%dn”,z=(x+=y,x/y));的输出结果是(C)A.0 B.1 C.3 D.4 6.10.以下程序的输出结果是(B)main(){char c1=’8’,c2=’2’;
printf(“%c,%c,%d,%dn”,c1,c2,c1-c2,c1+c2);} A.因输出格式不合法,输出出错信息 B.8,2,6,106 C.8,2,6,10 D.8,2,5,9 7.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是(A)main(){int x;scanf(“%d”,&x);
if(x++>5)printf(“%dn”,x);else printf(“%dn”,x--);} A.7和5 B.7和4 C.6和4 8.表达式(int)2.1416的值时(A)A.2 B.2.1 C.0 D.3 9.下列运算符优先级最高的是(B)A.> B.+ C.&& D.!= 10.C语言容许函数值类型缺省定义,此时该函数值隐含的类型时(B)A.float型 B.Int型 C.Long 型 D.Double型
11、C程序的基本构成单位是(C)A、子程序 B、过程 C、函数 D、文件
12、C语言中要求操作数都为整型数据的算术符是(C)A、/ B、!C、% D、= =
13、若int x=1,y=1;则表达式(!x||y--)的值是(B)。A、0 B、1 C、2 D、-1
14、能正确表示逻辑关系:a≥10或a≤0的C语言表达式(D)A、a>=10 or a<=0 B、a>=0|a<=10 C、a>=10 && a<=0 D、a>=10||a<=0
15、double x,y;表达式x=1,y=x+3/2的值是(C)。A、1 B、2 C、2.0 D、2.5
16、运行C源程序的命令是(D)A、ALT+F5 B、ALT+F9 C、CTRL+F5 D、CTRL+F9
17、运行完C程序后,查看C程序运行结果的命令是(A)A、ALT+F5 B、ALT+F9 C、CTRL+F5 D、CTRL+F9 18.若有程序段:int i=2,j;j=i++;printf(“%d,%d”,++i,j);该程序段的输出结果是:(D)A、3,2 B、4,3 C、3,3 D、4,2 19设 int a=12;表达式a+=a-=a*=a的值是(C)。A 12 B 144 C 0 D 132 20、若给定条件表达式(M)?(a++):(a--),则其中表达式M和(D)等价。A M==0 B M=1 C M!=1 D M!=0
21、在C语言中,if语句后的一对圆括号中,用以决定分支流程的表达式为(D)。A 只能是逻辑表达式 B只能是关系表达式
C 只能是逻辑表达式或关系表达式 D可以是任意表达式
22、下列选项中,(A)给变量赋初值是错误的。
A int a=b=3;B int a,b,c=5;C int a=3,b,c=a;D float f=3.56;
23、在C语言中,一个字符变量在内存中占用(A)个字节。A 1 B 2 C 3 D 4
24、int a=12,b=13,c;c=(a
25、设有int i;则表达式i=1,++i,++i||++i,i的值为(C)A.1 B.2 C.3 D.4 30以下程序段中与语句k=a>b?(b>c?1:0):0;功能等价的是(A)A)if((a>b)&&(b>c))k=1;B)if((a>b)||(b>c))k=1 else k=0;C)if(a<=b)k=0;D)if(a>b)k=1;else if(b<=c)k=1;else if(b>c)k=1;else k=0;
31、算法具有五个特性,以下选项中不属于算法特性的是(A)有穷性(B)简洁性(C)可行性(D)确定性 32以下选项中可作为C语言合法常量的是(A)(A)-80.(B)-080(C)-8e1.0(D)-80.0e
33、以下叙述中正确的是(C)
(A)用C语言实现的算法必须要有输入和输出操作(B)用C语言实现的算法可以没有输出但必须要有输入(C)用C程序实现的算法可以没有输入但必须要有输出(D)用C程序实现的算法可以既没有输入也没有输出
33、以下选项中,不能作为合法常量的是(B)(A)1.234e04(B)1.234e0.4(C)1.234e+4(D)1.234e0
34、有以下程序
B)(main(){ int i=1,j=2,k=3;if(i++==1&&(++j==3||k++==3))printf(“%d %d %dn”,i,j,k);} 程序运行后的输出结果是(D)(A)1 2 3(B)2 3 4(C)2 2 3(D)2 3 3
35、判断变量ch中的字符是否为数字字符,正确表达式是____D___。
A)ch>=0&&ch<=9 B)’0’<=ch<=’9’ C)ch>=’0’||ch<=’9’ D)ch>=’0’&&ch<=’9’
36、若执行以下程序时从键盘上输入9,则输出结果是__B_____ A)11 B)10 C)9 D)8 main()
{ int n; scanf(“%d”,&n); if(n++<10)printf(“%dn”,n); else printf(“%dn”,n--); }
37、若w=1,x=2,y=3,z=4;则条件表达式w>x?w:y 38、以下非法的赋值语句是(C)A)n=(i=2,++i);B)j++;C)++(i+1);D)x=j>0; 39、设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是(D)A)6.500000 B)6 C)5.500000 D)6.000000 40、已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为 1、j的值为 2、k的值为3,以下选项中正确的输入语句是(C)A)scanf(“---”,&i,&j,&k);B)scanf(“%d %d %d”,&i,&j,&k);C)scanf(“%d,%d,%d”,&i,&j,&k);D)scanf(“i=%d,j=%d,k=%d”,&i,&j,&k); 41、若有以下程序: main(){ int k=2,i=2,m;m=(k+=i*=k);printf(“%d,%dn”,m,i);} 执行后的输出结果是(C)A)8,6 B)8,3 C)6,4 D)7,4 42、已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2的值是(D)A)6 B)0 C)2 D)1 43 以下选项中,与k=n++完全等价的表达式是(A)A)k=n,n=n+1 B)n=n+1,k=n C)k=++n D)k+=n+1 39、若有说明:int i,j=7, *p=&i;,则与i=j;等价的语句是B A)i= *P;B)*P=*&J;C)i=&j;D)i=* *p;40、若有以下说明: int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为6的表达式是C A)*p+6 B)*(p+6)C)*p+=5 D)p+5 二、填空题 1.C语言是通过 库函数 来进行输入和输出的。 2.C语言的数据类型有四大类,他们是 基本类型、构造类型、指针类型和 空类型。 4.下面程序的运行结果是 3.600000,3 main(){float x;int i;x=3.6;i=(int)x;printf(“x=%f,i=%d”,x,i);} 5.数组名定义规则和变量名相同,遵守 标识符 命名规则。 6、main(){char c1,c2,c3;c2=’c’;c1=c2-1;c3=c2+1;printf(“%c,%d,%cn”,c1,c2,c3);} 程序的运行结果是: b,99,d 7、main(){int a=5,b=6,c;c=a;if(a>b)c=1;else if(a= =b)c=0;else c=-1;printf(“c=%dn”,c);} 程序的运行结果是:-1 11.设x的值为15,n的值为2,则表达式x%=(n+=3)运算后,x的值为 0。12.设 int a=7,b=9,t;执行完表达式t=(a>b)?a:b后,t的值是 9。14.求100~200间的全部素数。# include 15、main(){ int x,y=1,z=10;if(y!=0)x=5; printf(“x=%dt”,x);x=1;if(z<0)if(y>0)x=3;else x=5;printf(“x=%dn”,x);if(z=y<0)x=3;else if(y==0)x=5;else x=7;printf(“x=%dt”,x);printf(“z=%dn”,z);} 写出程序的运行结果:x=5 x=1 x=7 z=0 16、百马百担问题:有100匹马,驮100担货,大马驮3担,中马驮2担,两匹小马驮1担,问大、中、小马各多少匹? main(){ int hb,hm,hl,n=0;for(hb=0;hb<=100;hb+= 3)for(hm=0;hm<=100-hb;hm+= 2){ hl=100-hb-hm;if(hb/3+hm/2+2* hl ==100){ n++;printf(“hb=%d,hm=%d,hl=%dn”,hb/3,hm/2,2*hl);} } printf(“n=%dn”,n);} 17、写出程序运行结果,并简述功能(运行结果5分,功能描述3分,共8分)#include 将整型数组a以逆序形式显示出来 18、有以下语句段 int n1=10,n2=20;printf(“ n1=%dnn2=%d ”,n1,n2); 要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。n1=10 n2=20 19、有以下程序 main(){ int n=0,m=1,x=2;if(!n)x-=1;if(m)x-=2;if(x)x-=3;printf(“%dn”,x);} 执行后输出结果是-4。 21、.以下程序运行后的输出结果是____ main(){ int a,b,c;a=10;b=20;c=(a%b<1)||(a/b>1);printf(“%d %d %dn”,a,b,c);} 答案:10 20 0 22、任意输入三条边(a,b,c)后,若能构成三角形且为等腰、等边和直角,则分别输出DY、DB和ZJ,若不能构成三角形则输出NO。main(){ float a,b,c,a2,b2,c2 scanf(“%f%f%f%,&a,&b,&c);printf(”%5.1f,%5.1f,%5.1f“,a,b,c);if(a+b>c&&b+c>a&&a+c>b){ if(a==b || b==c || a==c)printf(”DY“);if(a==b && b==c)printf(”DB“);a2=a*a;b2=b*b;c2=c*c;if((a2+b2==c2)||(a2+c2==b2)||(b2+c2==a2))printf(”ZJ“);printf(”n“);} else printf(”NOn“);} 23、当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是___x=2______ if(a 24、以下程序运行后的输出结果是 20,0。 main(){ int x=10,y=20,t=0;if(x==y)t=x;x=y;y=t;printf(“%d,%d n”,x,y);} 三、程序题 1、在购买某物品时,若所花的钱x在下述范围内,所付钱y按对应折扣支付: x x<1000 0.9x 1000≤x<2000 0.8x 2000≤x<3000 0.7x x.≥3000 y= 2、编一程序根据上网时间计算上网费用,计算方法如下: 费用= 30元基数 <10小时 每小时3元 10 ~50 每小时2.5元 ≥50小时 同时为了鼓励多上网,每月收费最多不超过150元。 3、已知输入某课程的百分制成绩mark,要求显示对应五级制的评定,评定条件如下: 等级= 优 mark≥90 良 80≤mark<90 中 70≤mark<80 及格 60≤mark<70 不及格 mark<60 第一题答案: #include 宝鸡文理学院2013年《影视语言分析》期末试题及答案 ————蒙红 1.从光影、色彩两个角度分析《云中漫步》的画面造型语言? 1)光影:夕阳斜下,一派祥和,爱情慢慢的降临在这样的美景之中!再配上小提琴 和钢琴的协奏曲,光影世界里德诸多结合也就显得那么相得益彰。 “庄园,古堡,农场主,爱情”这种如名著小说似的设定,使得电影在很多场景里显得高雅而浪漫,使得整个电影的浪漫色彩显得浓重而又不过火!色彩的调和与爱情的发展不需浓墨重彩,薄暮之中的清晨与日暮使得葡萄园里的葡萄显得温暖而甜美!此般情境里的爱情来的悄无声息 又怎么会被人们太轻易地发现呢? 整体上竟然有种音乐剧般得感受。红酒成为电影的最主要场景,成为男女主人公情到浓时的浪漫见证,同时也成为预示故事结局的主角。“品味爱情,如同红酒般有甘甜、有酸楚,有醒目的一刻,也有失落的终极。”杯中的桑干亭亭玉立于面前,眼前亮起一片莹润的颜色,而只有把它送入口中,才知其中的极致美味和酸楚无奈,这也许才是爱情的真实写照。 2)色彩:全片以金黄的怀旧色调来诉说一段气氛朦胧的爱情故事,并伴以浓厚的拉丁风味,部分片段维持了导演擅长的魔幻写实手法,葡萄园的美感亦相当怡人。这个经典的爱情故事,在我的印象里只留下大片的火光和苍山暮霭之中的葡萄园,一个在镇子上奔跑着的男子和在深夜窗下传来的悠扬琴声。在“云乡”,导演用大量的空镜头向我们展示了美丽的田园风光,夕阳中的小路,雾霭下的葡萄园,宁静的村庄。那种乡间的浪漫气息很容易让人联想到陶渊明的《桃花源记》或John Denver的《乡村路带我回家》。保守率真的父亲,慈祥的母亲和奶奶,爱吃巧克力的爷爷,顽皮的弟弟,友善的庄园仆人„„影片所极力渲染的 “家”的和谐氛围不仅打动了保罗,也打动了我们。什么是“家”?它带给你温暖,带给你勇气,它为你提供庇护,使你能够成长。它包容你的一切,使你在每一个夜晚都感受到时光的静谧和岁月的静好。 2.在《寻枪》中为什么要用到大量的主观镜头? 警察马山在寻枪的过程中还在寻求什么? 1)主观镜头的运用让观众身临其境地参与到剧中人的活动场景,感同身受的获取电影人物的所见所闻、所思所想,从而设身处地的为其着想,更好地理解人物性格和剧情发展。而且,主观镜头对人物情绪和心理的刻画、对剧情悬念氛围的营造都起到相当重要的作用。主观镜头运用越多,观众越是渗入到剧中人的感官世界,越有被蒙蔽的感觉,也就越有挣脱蔽障、挖掘谜底的欲望。导演正是把握了主观镜头能够制造悬念色彩这一重要因素,贯穿于“寻枪”整个过程,吸引观众去推理、猜测最后的真相,使得《寻枪》故事变得如此扣人心弦、紧张有趣。 2)警察马山在寻枪的过程中还在寻求责任,以及自我与本我的统一。 警察丢了用来维护正义的工具和能力,失掉了对公众的责任,失掉了男人应该有的担当。马山作为家庭中是唯一的男人,肩负着呵护好妻子,教育好孩子的责任。但是影片中,我们能看到的吵架画面就不下3次,李小萌的出现进一步使双方感情沦陷。马山被捕入狱时,他的儿子反过来教育他,该多读读书,出狱以后不准打他,可见马山没有尽到一个做父亲担当的责任。马山寻枪的过程也是他找寻丢失的责任的过程。马山找了,也找到了。影片最后,当马山要用血肉之躯去引诱歹徒时,他悔悟到了作为家中唯一的男人应当充当什么角色。他留了一束小花给相扶持多年的妻子,又留了一包弹珠和六根棒棒糖给儿子,意表对于妻子和孩 子最后的关怀,而他留给自己的是最后一颗子弹。在结尾,他找到了真枪,同时也找到了责任。 换个角度剖析,《寻枪》又可以抽象为:自我与本我的剥离,自我与本我的互相斗争,自我与本我的对话,最终找到了自我与本我的归一。? 3.通过本门课程的学习,你学会了怎样去看电影? 学习了本门课程后,突然发现自己以前看的不是电影,而是热闹。现在我学会了用影视语言分析的眼光去欣赏每一部电影,我会一遍又一遍的去看同一部电影,每一次的感受都是不一样的。通常,我会从以下几个方面来看电影: 第一:先看光,每个镜头中光是怎么用的,下一个镜头的光有什么变化,有没有投影的变化,有没有黑天白天的变化,有没有阴天、下雨; 第二:空间有没有大小的变化,大房间,小房间,有没有室内室外的变化; 第三:听声音,是同期还是后期,每个镜头中有有没有表现出的音空间来,它是什么样的,下个镜头的声音空间感有什么变化 ; 第四:背景是什么,与前景的关系,它怎样变的(这是透视关系); 第五:有没有运动,是画面内的被摄体在运动,还是摄影机在运动,是水平运动(左右横移)多还是纵深运动多。 第六:有没有用变焦,它是准确地表现了两个人物关系,还是造成了错误的关系。变焦用得多不多;摇镜头有没有增加新的信息或含义; 第七:运动的动与静的关系,是前景有运动,背景没有;或是背景有运动,前景没有;或是前后景都有,或前后景都没有; 第八:剪辑点在哪里,起幅的画面是怎么样的,落幅的画面是怎样的,如果是一个人在跑,注意起幅的人体造型好不好,好与不好,看的时候有什么不同;是用切换多,还是用叠化多。 第九:在一个镜头中人物的调度是怎样的,有没有第四面墙的舞台处理(即所有镜头中的人都排成一排面向摄影机,就象幼儿园里的排排坐,吃果果。)演员的单独表演也是力求面向第四面墙? 第十,音乐用在哪里;有没有主题歌,有作用吗?音乐与人物动作(或称表演)关系,音乐与摄影机运动的关系,音乐与色彩变化的关系,音乐与对话的情绪及节奏的关系,音乐与自然音响(即噪声)的关系等等 第十一,如果是故事片,情节的转折点是用什么手段来表现的,是用嘴皮子说出来的,还是无声的段落,如果是你的话,你能用无声把这一段落表现出来吗? 第十二,画面上人物关系的变化,有变化,还是没有变化,A在整个镜头里始终站在B右边,就没有走到B的左边去过,等等; 第十三,画外空间是怎么用的,是作为画面内的空间的延伸,还是另外一个非叙事的空间; 第十四,对话写得是否生活化,还是舞台腔,好念吗? 第十五,每个镜头中人物都穿什么颜色的服装,他们之间的相互关系,也就是说,有没有色彩的调度,即作为流动色彩来使用; 第十六,道具的时代,地域,民族,文化方面准确吗? 第十七,时间上是否用闪回,是用什么手段来表现的,合理吗? 第十八,用长镜头吗?最长的镜头有多长,你感觉是长,还是没有实际那么长,这个长镜头内的人物关系是怎样的。全在画面,或者是一个在画内,一个在画外(正反拍不算内)。第十九,人声,是男高音,女高音,男中音,女中音,男低音这样的搭配吗? 第二十,特写是作为情节中的视觉重音来用的吗?第二十一,全片的声画结合如何,有精彩的地方吗? 第一章 基础知识 一.填空 1.每个C程序都必须有且仅有一个________ 函数。 2.C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载 和执行。 3.软件是程序,以及______、使用和维护所需要的所有文档。 4.国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5.程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6.C语言是由________组成的。 7.C语言的函数可分为主函数main、标准库函数和_________。 8.一个函数是由两部分组成的,即:________和 函数体。 9.编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10.程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动 化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程 序,统称为_________。 11.机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻 译可以直接识别和执行的程序设计语言。 12.与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对 象,也可以用标号和符号来代替地址、常量和变量。13.在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14.C程序的执行均是由执行_________开始。 15.函数体即为包含在{ }内的部分。它分为________和为完成功能任务由若干个C语句 组成的执行部分。 16.C语言程序中一条简单语句是以________字符作为结束符的。 17.18.C语言是结构化、________的程序设计语言。 由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19.用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以 说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。 20.第一个系统体现结构化程序设计思想的教学工具语言是_______语言。 解答: 1.main()2.编译 3.开发 4.指令序列 5.高级语言 6.函数 7.自定义函数 8.函数首部 9.翻译 10.应用软件 11.二进制代码 12.助记符 13.# 14.main函数 15.声明部分 16.;(或分号) 17.模块化 18.翻译 19.执行速度 20.PASCAL 二.阅读程序写结果 解答: 三.补充程序 解答: 四.改错题 解答: 五.编程一 解答: 六.编程二 解答: 第二章 常量、变量和表达式 一.填空 1.以16位计算机为例,若定义long int a;则变量a占______个字节的内存空间。 2.以16位计算机为例,若定义double a;则变量a占______ 个字节的内存空间。 3.以16位计算机为例,若定义long double;则变量a占 ______ 个字节的内存空间。 4.在______ 位机,int型占4个字节。 5.C语言的数据类型有:基本数据类型、构造数据类型、枚举类型、______ 、空类型。 6.在C语言中,基本数据类型有:______。 7.整型常量046转换为十进制数等于______。 8.整型常量054转换为十进制数等于______。 9.整型常量0x125转换为十进制数等于 ______。 10.整型常量0x7C转换为十进制数等于 ______。 11.整型常量39转换为八进制等于 ______。 12.实数473.468写成规范化指数形式,则应为 ______。 13.实数0.0453写成规范化指数形式,则应为 ______。 14.将0x123转换为二进制等于 ______。 15.字符’A’表示成十六进制等于 ______。 16.在C语言中,称代表常量的标识符为 ______。 17.C语言中是用编译预处理命令______ 来定义符号常量 18.在C语言中,以反斜杠符()开头,后跟字符的字符序列,称之为 ______ ,主 要用来表示控制及不可见的字符或者一些图形符号 19.语句printf(“106”)执行的结果输出是 ______。 20.语句printf(“b”)执行的结果输出是______。 21.语句printf(“b”)执行的结果输出是 ______。 22.语句printf(“102”)执行的结果输出是 ______。 23.若有char ch1;ch1='a'+4;则语句printf(“%c”,x)的输出结果为 ______。 24.字符串常量“Hello, everyone!”占据的内存空间为______ 个字节 25.字符串常量“Hello,Bob!”占据的内存空间为 ______ 个字节 26.十进制整型常量由0~9个数据组成,但不能以______ 开始,没有小数部分 27.十六进制常量由0~9和______ 组成 28.unsigned long类型常量通常以______ 为后缀 29.实型常量通常有小数形式和______ 两种表达方式 30.C语言中是用编译预处理命令______ 来包含其他源文件 31.为了表示字符串的结束,系统自动在字符串的最后加一个______ ,但不被输出 32.C语言中,其值可被改变的量称为变量,它具有三个基本要素:变量名、______ 和变量值 33.C语言规定,变量的标识符只能由字母、数字和下划线组成,且不能以______ 开 头。34.在16位机中,sizeof(“hellon”)等于 ______。 35.在16位机中,printf(““hello””)等于 ______。 36.字符变量在内存中占用______ 个字节的存储空间。 37.若有定义int x=27, y=6;则表达式 x/y的值为 ______。 38.若有定义int x=47, y=8;则表达式 x%y的值为 ______。 39.若有定义char ch1='A',ch2,ch3;执行ch2=ch1++;ch3=++ch1;printf(“ch1=%c, ch2=% c”,ch1,ch2);则输出为 ______。 40.若有定义char ch1='A',ch2,ch3;执行ch2=ch1++;ch3=++ch1;printf(“ch2=%c, ch3=% c”,ch2,ch3);则输出为 ______。 41.若有定义int i=5, j, k;执行j=i--;k=--i;printf(“i=%d, j=%dn”, i, j);则输 出为 ______。 42.表达式(int)(13.7+25.6)/4%5 的值是 ______。 43.表达式 3.6-5/2+1.2+5%3 的值是______。 44.表达式54%10/2+4.0*(8/5)的值是 ______。 45.若定义int x;double b=5.45;执行x=b后,则x的值为______。 46.若定义int y;char c='A';执行y=c后,则y的值为 ______。 47.若定义 int a=8;float b=2.5;则a/(int)(b)的值为 ______。 48.若a=5,则执行a*=7-3语句后,a的值是 ______。 49.若int a=1,b=0,c=4,d=2;则表达式(a>b ? a:b)&&(c-d)的值为______。 50.已知a = 0,表达式 a = 1?b = 1:b = 0;执行后,b的值是 ______。 51.若定义int m=7,n=12;则表达式n%=m-m%5的值是 ______。 52.若定义int a=8;float b=4.5;执行a*=a/=a-b后,a的值为 ______。 53.int a=2;!a++的值为 ______。 54.int a=0;!a++&++a的值为 ______。 55.int a=7;float b=4.5;则printf(“%d”,a*=a/=a-b)的值为 ______。 56.int k=7;float a=2.5,b=4.7;则表达式a+k%3*(int)(a+b)%2/4的值为 ______。 57.#define Max(a,b)(((a)-(b))&0x80000000)?(a):(b),int a=2,b=6;printf(“%dn”,M ax(a,b))的值为 ______。 58.在32位机中,int a=4,b=7;printf(“%0x”,a-b)的值为:______。 59.int x,y,z;x=y=2;z=3;y=x++-1;printf(“%d,%d”,x,y)的值为: ______。 60.int i=2,j;printf(“%d”,j=i<1)的值为:______ 解答: 1.0 2.4 3.10 4.32 5.指针类型 6.int、float、double、char 7.38 8.44 9.293 10.124 11.047 12.4.734680e+002 13.4.530000e-002 14.100100011 15.x41/41H 16.符号常量 17.#define 18.转义字符常量 19.F 20.b 21.b 22.B 23.e 24.16 25.11 26.0 27.A~F 28.U 29.指数形式 30.#include 31.“ ” 32.变量类型 33.数字 34.7 35.“hello” 36.1 37.4 38.7 39.ch1=C, ch2=A 40.ch2=A, ch3=C 41.i=3, j=5 42.4 43.4.800000 44.7.000000 45.5 46.65 47.4 48.20 49.1 50.1 51.2 52.4 53.0 54.0 55.4 56.2.500000 57.2 58.fffffffd 59.3,1 60.0 二.阅读程序写结果 解答: 三.补充程序 解答: 四.改错题 解答: 五.编程一 解答: 六.编程二 解答: 第三章 顺序结构 一.填空 1.C语言的语句可分为5类,它们是:控制语句、____________、函数语句、符合语句和空 语句。 2.常用于字符输入的函数为:________________。 3.常用于字符输出的函数为:________________。 4.常用于字符串输入的函数为:________________。 5.常用于字符串输出的函数为:________________。 6.格式输入函数的一般形式为:________________。 7.格式输出函数的一般形式为:________________。 8.printf和scanf是标准的库函数,它们的函数原型在头文件________________中。 9.有char ch,则从键盘给ch赋值的格式输入语句为:________________。 10.如果要输出字符串常量“HelloWord!”,则格式输出语句为:________________。 11.设有定义:long x=-123456L;,请写出能够正确输出变量x值的语句________________。 12.若有int a,b;,想通过scanf(“%d%d”,&a,&b);输入语句给a赋于1,给b赋于2,则从键盘 输入数据的形式是________________。 13.若有int i,j;scanf(“i=%d,j=%d”;&i,&j);,要求给i赋10,给j赋20,则应该从键盘 输入_______。 14.已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为 1、j的值为 2、k 的值为3,请写出正确的输入语句________________。 15.有int m,n,p;scanf(“m=%dn=%dp=%d”,&m,&n,&p);printf(“%d%d%dn”,m,n,p);若想 从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是_____ ___________。 16.有 int a;float b, c;scanf(“%2d%3f%4f”,&a,&b,&c);printf(“na=%d, b=%f, c= %fn”, a, b, c);,若运行时从键盘上输入9876543210<回车>,则程序的输出结果是___________________ __。 17.有 int m=0256,n=256;则 printf(“%o %on”,m,n);的输出结果是__________________ ___。 18.有int x=102,y=012;,则printf(“%2d,%2dn”,x,y);的输出结果是______________ _______。 19.有定义和语句:int a;char c=10;float f=100.0;double x;a=f/=c*=(x=6.5);,则 printf(“%d %d %3.1f %3.1fn”,a,c,f,x);的输出结果是_____________________。 20.若有定义和语句:int m=0xabc,n=0xabc;m-=n;则printf(“%on”,m);的输出结果是___ __________。 21.若有int m=32,n=032;,则printf(“%d,%xn”,m,n);执行后输出结果是______________ _____。 22.若有 int a=1234;,则 printf(“%2dn”,a);的输出结果是_____________________。 23.若变量已正确说明为float类型,要通过语句scanf(“%f %f %f ”,&a,&b,&c);给a赋于1 0.0,b赋予22.0,c赋予33.0,不正确的输入形式是_____________________。 A)10 <回车>22<回车>33<回车> B)10.0,22.0,33.0<回车> C)10.0<回车> 22.0 33.0<回车> D)10 22<回车> 33<回车> 24.若有 int x=3,y=1;则printf(“%d %dn”,x++,y+2);的输出结果是__________________ ___。 25.若有定义和语句:double d;float f;long l;int i;i=f=l=d=20/3;则 printf(“% d %ld %f %f n”, i,l,f,d);的输出结果是(小数点后只写一位)_____________________。 26.以下说法中正确的是 _____________________。 A)#define和printf都是C语句 B)#define是C语句,而printf不是 C)printf是C语句,但#define不是 D)#define和printf都不是C语句 27.若有 int k=17;,则 printf(“%d,%o,%x n”,k,k,k);的输出结果是_________________ ____。 28.以下叙述中正确的是_____________________。 A)输入项可以是一个实型常量,如:scanf(“%f”,3.5);B)只有格式控制,没有输入项,也能正确输入数据到内存,例如:scakf(“a=%d,b=%d”);C)当输入数据时,必须指明变量地址,例如:scanf(“%f”,&f); 29.若有定义和语句:int u=010,v=0x10,w=10;则printf(“%d,%d,%dn”,u,v,w);输出结果是 _____________________。 30.若有int a=1,b=4,c=2;float x=10.5, y=4.0, z;z=(a+b)/c+sqrt((double)y)*1.2/c+ x;,则printf(“%fn”,z);的输出结果是_____________________。 31.若有int a=2,c=5;,则printf(“a=%%d,b=%%dn”,a,c);的输出结果是________________ _____。 32.有char c;int n=100;float f=10;double x;x=f*=n/=(c=50);则printf(“%d %f n”,n,x);的输出结果是_____________________。 33.有int i=0,j=0,k=0;scanf(“%d%*d%d”,&i,&j,&k);printf(“%d%d%dn”,i,j,k);若 从键盘输入:10 20 30<回车>。输出结果是_____________________。 34.若有int a,b,c;a=25;b=025;c=0x25;,则printf(“%d %d %dn”,a,b,c);的输出结果 是___________。 35.有以下语句段 int n1=10,n2=20; printf(“________________”,n1,n2); 要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。 n1=10 n2=20 36.若有语句int i=-19,j=i%4;则printf(“%dn”,j);的输出结果是_____________________。 37.有int a=0;a+=(a=8);则printf(“%dn”,a);的输出结果是_____________________。 38.有int a=1, b=2;a=a+b;b=a-b;a=a-b;则printf(“%d,%dn”, a, b);的输出结果是 ______________。 39.有unsigned short a=65536;int b;,则printf(“%dn”,b=a);的输出结果是________ ______。 40.语句printf(“10289n”);的数据结果为:__________________。 解答: 1.表达式语句 2.getchar() 3.putchar() 4.gets() 5.puts() 6.scanf(“格式控制字符串”,地址表列); 7.printf(“格式控制字符串”,输出表列); 8.stdio.h 9.scanf(“%c”,&ch); 10.printf(“%s”,HelloWord!);或者:printf(“HelloWord!”); 11.printf(“x=%1dn”,x); 12.1 2 或者 1 13.i=10,j=20 14.scanf(“%d,%d,%d”,&i,&j,&k); 15.m=123n=456p=789 16.a=98, b=765.000000, c=4321.000000 17.256 400 18.102,10 19.1 65 1.5 6.5 20.0 21.32,1a 22.1234 23.B 24.3 3 25.6 6 6.0 6.0 26.D 27.17,21,11 28.C 29.8,16,10 30.13.700000 31.a=%d,b=%d 32.2 20.000000 33.10300 34.25 21 37 35.n1=%dnn2=%d 36.-3 37.16 38.2,1 39.0 40.B89 二.阅读程序写结果 解答: 三.补充程序 解答: 四.改错题 解答: 五.编程一 解答: 六.编程二 解答: 第四章 选择结构 一.填空 1.在if, while, case, do, else 等关键字中,用于选择结构的有().2.已知 a = 1;那么 if(a = 2)printf(“%d”, 2);else printf(“%d”, 1);的输出结 果是().3.已知 char a = 'A';那么 if(a > 65)printf(“%s”, “bigger”);else printf(“%s” , “smaller”);的输出结果是().4.表示“x≥ y≥ z”的C语言表达式是()。 5.在C语言中,用于实现选择结构的语句有()语句和()语句。 6.判断两个浮点型变量x和y是否相等一般用:if(<1e-6)„。 7.设有程序段: t=6;a=7;b=8;if(a=b)t=a;,这段程序执行后,t的结果是()。 8.设a=1,b=2,c=3,d=4,则表达式:a>b?a:c>d?a:d的结果为()。 9.表达式98 && 8 && 31 &&(9812; printf(“%dn”, y); return 0;} 输入:12<回车> 17.#include float x, y; char op; double r; scanf(“%c%f%f”,&op,&x,&y); switch(op) { case '+': r = x + y;break; case '-': r = x-y;break; case '*': r = x * y;break; case '/': r = x / y;break; } printf(“%.1f”, r); return 0;} 输入:3.5<回车> 18.#include “stdio.h” void main(){ int a=7; if(a>9 || a<10) a=a/3; a=a%3; printf(“a=%d”, a);} else 19.#include int a=20; switch(a%3) { case 0: printf(“0”); case 1: printf(“1”); case 2: printf(“2”); default: printf(“3”); } printf(“4”);} 20.#include int a=2,b=5,c=8,t; if(a < b){ t = a;a = b;b = t;} if(b < c){ t = b;b = c;c = t;} if(a < b){ t = a;a = b;b = t;} printf(“%d,%dn”, a++,--c);} 解答: 1.运行结果: 9,7 2.a=1,b=3 3.ch1= F 4.3,5 5.m=21 6.ch3=D 7.y=31.600000 8.Good!Best!9.A B C 10.*** 11.q=35 12.**0****2** 13.*& 14.d=20 15.**1** 16.0 17.0.6 18.a=2 19.234 20.8,1 三.补充程序 1.根据输入字符的ASCII码来判别字符的类别。由ASCII码表可知ASCII值小于32的为控制字 符。在“0”和“9”之间的为数字,在“A”和“Z”之间为大写字母,在“a”和“z”之 间为小写字母,其余则为其它字符。 #include“stdio.h” #include“string.h” int main(){ char c;printf(“input a character: ”); _____________________________________________ if(c<32)printf(“This is a control charactern”); _____________________________________________ printf(“This is a digitn”);else if _______________________________________ printf(“This is a capital lettern”);else if(c>='a'&&c<='z') printf(“This is a small lettern”); ____________________________________________ printf(“This is an other charactern”); return 0;} 2.计算器程序。用户输入运算数和四则运算符,输出计算结果.#include“stdio.h” int main(){ float a,b;____________________________________________;printf(“input expression: a+(-,*,/)b n”);scanf(“%f%c%f”,&a,&c,&b);switch(c){ case '+': printf(“%fn”,a+b);____________________________________________ case____________________________________________ printf(“%fn”,a-b);break;case '*': printf(“%fn”,a*b);break;case '/': ____________________________________________;break;default: printf(“input errorn”);} return 0;} 3.输入三个整数,输出最大数和最小数(注:max总是记录最大数,而min总是记录最小数).#include“stdio.h” int main(){ int a,b,c,max,min;printf(“input three numbers: ”);scanf(“%d%d%d”,&a,&b,&c);if(a>b){ _______________________________________ _______________________________________ } else {max=b;min=a;} ____________________________________________ max=c;if(min>c)_____________________________________ printf(“max=%dnmin=%d”,max,min);return 0;} 4.#include“stdio.h” int main(){ int a;printf(“input integer number: ”);scanf(“%d”,&a);_____________________________________________ { case 1:printf(“Mondayn”);break;_____________________________________________ printf(“Tuesdayn”);break;case 3:printf(“Wednesdayn”);break;case 4:printf(“Thursdayn”);_____________________________________________ case 5:printf(“Fridayn”);break;case 6:printf(“Saturdayn”);break;case 7:printf(“Sundayn”);break;_____________________________________________ printf(“errorn”);} return 0;} 5.判断a>b、a #include“stdio.h” int main(){ int a,b;printf(“please input a,b: ”);scanf(“%d%d”,&a,&b);_____________________________________________ printf(“A=Bn”);_____________________________________________ printf(“A>Bn”);_____________________________________________ printf(“A 6.根据以下函数关系,对输入的每个x值,计算出相应的y值。 #include“stdio.h” int main(){ int x,c,m;float y;scanf(“%d”,&x); _________________________________________c=-1;c=_____________________________________________;switch(c){ case –1 : y=0;break;case 0 : y=x;break;case 1 : y=10;break;case 2 : case 3 : y=-0.5*x+20;_____________________________________________; else 7.default : y=-2;} if(c!=2)printf(“y=%f”,y); _____________________________________________ printf(“error!”);return 0;} 找出x,y,z三个数中的最小数,并判断该数是否等于b。#include“stdio.h” int main(){ int x=4,y=5,z=8 ,b;int u,v;scanf(“%d”,&b);u = x 8.输入两个运算数x,y和一个运算符号op,输出该运算结果的值,例如输入3+5↙得到结果8.#include“stdio.h” int main() { float x,y,r; char op; scanf(“%f,%c,%f”,&x,&op,&y); switch(op) { case '+': r=x+y;_____________________________________________; _____________________________________________ r=x-y;break; case '*' :_____________________________________________;break; _____________________________________________ r=x/y;break; } printf(“%f”,r); return 0;} 9.根据输入字符的ASCII码来判别字符的类别。由ASCII码表可知ASCII值小于32的为控制字 符。在“0”和“9”之间的为数字,在“A”和“Z”之间为大写字母,在“a”和“z”之 间为小写字母,其余则为其它字符。 #include“stdio.h” int main(){ char c;printf(“input a character: ”);c=getchar();_____________________________________________ printf(“This is a control charactern”); if(c>='0'&&c<='9') printf(“This is a digitn”);_____________________________________________ printf(“This is a capital lettern”);_____________________________________________ printf(“This is a small lettern”);_____________________________________________ printf(“This is an other charactern”);return 0;} 10.找出a,b,c三个数中的最大数,并判断该数是否等于x。 #include“stdio.h” int main(){ int a=8,b=4,c=12,x;int u,v;scanf(“%d”,&x); u = a } 解答: 1.c=getchar(); (c>='0'&&c<='9') (c>='A'&&c<='Z') else 2.char c; break; '-': printf(“%fn”,a/b); 3.max=a; min=b; if(max min=c; 4.switch(a) case 2: break; default: 5.if(a==b) else if(a>b) else if(a else 6.if(x<0)c=x/10; break; else 7.x:y; u:z; (v==b) else 8.break; case '-': r=x*y; case '/': 9.if(c<32) else if(c>='A'&&c<='Z') else if(c>='a'&&c<='z') else 10.b:a c:u (v==x) else 四.改错题 解答: 五.编程一 1.求分段函数的值,输入x值,输出结果。 2.从键盘上输入一个数x,计算并输出下列分段函数y的值。 3.某运输公司运费计算时根据运输距离打折计算,折扣的计算方法如下: (其中,discount表示折扣,S表示运输距离)。 编写一完整程序,输入运输距离,统计运费并输出。每公里的运费通过符号常量定义为2.5。 4.编程输入一元二次方程的三个系数,求解一元二次方程的实根,无实根时不用求虚根,给出相应提示信息即可。 5.给定三条边,判断其是否能构成三角形,若能构成,判断其是等腰三角形、等边三角形、直角三角形还是普通三角形。 6.从键盘输入一个三角形的三条边,判断是否能组成三角形,若能组成三角形,则输出它 的面积。7.从键盘输入一个百分制的学生成绩,输出其对应的分数等级,其中90~100为A,80~89 为B,70~79为C,60~69为D,60以下为E。 8.编写一个程序,从键盘输入三个整数给a,b,c,然后交换它们中的数,把a中原来的值 给b,把b中原来的值给c,把c中原来的值给a。 9.输入一个字符,判断其是否为英文字母,若是英文字母,则将其大小写进行转换,若不 是英文字母,则不变。 10.给定三个整数型x,y,z,输出三个数中的最大值和最小值。 解答: 1.#include “stdio.h” #include “math.h” void main(){ float x,y;printf(“input xn”);scanf(“%f”,&x);if(x<0) y=1;else if(x<=5) y=2*x;else y=sqrt(x);printf(“x=%5.1fy=%8.3fn”,x,y);} 2.#include “stdio.h” #include “math.h” void main(){ float x,y;printf(“input xn”);scanf(“%f”,&x);if(x>20||x>1&&x<10){ printf(“无定义n”); return;} if(x<0) y=-x;else if(x<=1) y=sin(x)+x;else if(x>=10&&x<=20) y=x*x*x;printf(“x=%5.1fy=%8.3fn”,x,y);} 3.#include “stdio.h” #include “math.h” #define price 2.5 void main(){ float discount,cost,s;printf(“input distancen”);scanf(“%f”,&s);if(s<250) discount=0;else if(s<800) discount=0.02;else if(s<1500) discount=0.05;else discount=0.08;cost=s*(1-discount)*price;printf(“distance=%5.1f;cost=%5.1fn”,s,cost);} 4./*功能:求一元二次方程的解。*/ #include “math.h” #include “stdio.h” main(){float a,b,c,disc,x1,x2; scanf(“%f,%f,%f”, &a, &b, &c); disc=b*b-4*a*c; if(disc==0) printf(“x1=x2=%7.2fn”,-b/(2*a));/*输出两个相等的实根*/ else if(disc>0) { x1=(-b+sqrt(disc))/(2*a);/*求出两个不相等的实根*/ x2=(-b-sqrt(disc))/(2*a); printf(“x1=%7.2f,x2=%7.2fn”, x1, x2); } else printf(“无实根n”);} 5.#include “stdio.h” void main(){ float a,b,c;printf(“输入三条边:n”);scanf(“%f%f%f”,&a,&b,&c);if(a+b>c&&a+c>b&&b+c>a){ if(a==b&&b==c) printf(“等边三角形n”); else if(a==b||b==c||c==a) printf(“等腰三角形n”); else if(a*a==b*b+c*c||b*b==a*a+c*c||c*c==b*b+a*a) printf(“直角三角形n”);} else printf(“不能构成三角形 n”);} 6.#include “stdio.h” #include “math.h” void main(){ float a, b, c, s, area;printf(“输入三条边:n”);scanf(“%f%f%f”,&a,&b,&c);if(a+b>c&&a+c>b&&b+c>a){ s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c)); printf(“area=%7.2fn”,area);} else printf(“不能构成三角形 n”);} 7.#include int score; char d; printf(“Input scoren”); scanf(“%d”,&score); if(score>100||score<0) { printf(“data error!n”); return; } switch(score/10) { case 10: case 9:d='A';break;case 8:d='B';break; case 7:d='C';break; case 6:d='D';break;default : d='E';break; } printf(“score=%3ddengji=%cn”,score,d);} 8.#include int a,b,c,t; printf(“Input a,b,cn”); scanf(“%d%d%d”,&a,&b,&c); t=a; a=b; b=c; c=t; printf(“a=%d;b=%d;c=%d;n”,a,b,c);} 9.#include char c1,c2; printf(“Input a letter: ”); c1=getchar(); if(c1>='a'&&c1<='z') c2=c1+'A'-'a'; else if(c1>='A'&&c1<='Z') c2=c1+'a'-'A'; else c2=c1; printf(“原字符:%c转换后为:%cn”,c1,c2);} 10.#include int a,b,c,max,min; printf(“Input a,b,cn”); scanf(“%d%d%d”,&a,&b,&c); max=a;min=a; if(b>max)max=b; else if(b if(c>max)max=c; else if(c printf(“a=%d;b=%d;c=%d;n”,a,b,c); printf(“max=%d;min=%dn”,max,min);} 六.编程二 解答: 第五章 循环结构 一.填空 1.C语言中提供了三种循环控制语句,它们是:()、do-while语句、()。 2.break语句在C程序中只能出现在两种场合:一是用于()语句中,二是用于()语句中。 3.以下程序段中的语句printf(“***”)要执行5次,请在空白处填入合适的数。 for(i=1;i<=();i=i+2) printf(“***”); 4.定义int k=10;执行语句 while(k<20)k += 1 ; 后,k的值为()。 5.在循环控制结构中break语句的作用是()。 6.在循环控制结构中continue语句的作用是:()。 7.若已知int a[5][5];并在运行过程中a数组已经赋值;要打印次对角线元素,在空白处 填入合适的值/表达式; for(i = 0;i<5;i++) for(j =();j >=0;j--) printf(“%5d”, a[i][j]);8.执行完语句sum = 0;for(i = 0;i < 10;i++){ if(i % 5 = = 0)sum += i;sum =()。 9.在使用while 语句中需要注意,为了防止“死循环”的发生,在循环体中一定要有()语句。 10.do-while 语句中,判断循环条件在(),执行循环体在()。(填“先”“后 ”) 解答: 1.2.3.4.5.6.7.8.9.10.二.阅读程序写结果 1.#include int number , digit; number = 1234; while(number!= 0) { digit = number%10; printf(“%d” , digit); number = number / 10; } } 2.#include int i; for(i=1;i printf(“%dn”,i*i);} 3.#include int i,s,x; s=0; x=15; for(i=1;i<=5;i++) if(x%i==0) s= s + i; printf(“i=%d,s=%dn”,i,s);} 4.#include int counter=1; while(counter <= 5) printf(“%d n”, counter); counter++; } } 5.#include int i,sum,m,a; sum=0; m=5; for(i=0;i<=3;i++) { scanf(“%d”,&a); if(a>m) sum+=a; } printf(“sum=%dn”,sum); return 0;} { 输入:2 10 8 3<回车> 6.#include int i,j,k; for(i=1;i<=4;i++) { for(j=1;j<5-i;j++) printf(“ ”); for(k=1;k<=i;k++) printf(“*”); printf(“n”); } return 0;} 7.#include int i,j; i=1; while(i<5) { for(j=1;j<2*i+1;j++) printf(“%c”,'#'); printf(“n”); i++; } return 0;} 8.#include int i=10,m=0,n=0; do { if(i%2!=0) m=m+i; else n=n+i; i--; }while(i>=0); printf(“m=%d,n=%dn”,m,n); return 0;} 9.#include int sum=0,n; scanf(“%d”,&n); while(n<=5) { sum+=n; n++; } printf(“sum=%d”,sum);} 输入:1<回车> 10.#include int i, j; for(i=2;i>=0;i--) { for(j=1;j<=i;j++) printf(“*”); for(j=0;j<=2-i;j++) printf(“!”); printf(“n”); } } 11.#include int a,b; for(a=1,b=1;a<=100;a++) { if(b>20)break; if(b%4==1) b=b+4; } b=b-5; } printf(“a=%dn”,a);} 12.#include { continue; { char k; int i; for(i=1;i<3;i++) { scanf(“%c”,&k); switch(k) { case '0': printf(“anothern”); case '1': printf(“numbern”); } } } 输入:01<回车> 13.#include int i, s = 0; for(i = 1;i < 10;i++) { s += i * i; if(s > 10)break; } printf(“i=%d, s=%dn”, i, s); return 0;} 14.#include char ch; while((ch=getchar())!='n') { if(ch>='A'&&ch<='Z') ch=ch+32; else if(ch>='a'&&ch<='z') ch=ch-32; printf(“%c”,ch); } } 输入:ABCdef<回车> 15.#include int a, b; for(a = 1, b = 1;a <= 100;a++) { if(b >= 9)break; if(b % 3 == 1) { b += 3; continue; } b-= 5; } printf(“%d,%dn”, a, b); return 0;} 16.#include int i = 0,j = 0; while(i < 10)i++; while(j++ < 10); printf(“i=%d,j=%dn”,i,j); return 0;} 17.#include “stdio.h” void main(){ int i,j,t; for(i=1,j=10;i<3;i++,j--) t=i+j; t++; printf(“%d,%d”,j,t);} 18.#include “stdio.h” void main(){ int i=10,j; do { j = i%2; printf(“%d”,j); i--; } while(i> 4);} 19.#include “stdio.h” void main(){ int i=7,j; while(i> 2) { j = i%2; printf(“%d”,j); i--; } printf(“%d”,i);} 20.#include int i,j,t=0; for(i=3;i>0;i--) for(j=0;j<4;j++) t+=j; printf(“t=%d”,t);} 解答: 1.4321 2.1 4 9 16 3.i=6,s=9 4.1 2 3 4 5.sum=18 6.* ** *** **** 7.## #### ###### # 8.m=25,n=30 9.sum=15 10.**!*!!! 11.a=6 12.another number number 13.i=3, s=14 14.abcDEF 15.4,10 16.i=10,j=11 17.8,12 18.010101 19.101012 20.t=18 三.补充程序 1.输出100以内能被3整除的数 #include“stdio.h” int main(){ _____________________________________________;for(_________________________;n<=100;________________________){ if(n%3!=0)________________________ printf(“%d ”,n);} return 0;} 2.输出100以内的素数。素数是只能被1 和本身整除的数。为减少循环次数,只需对数n用2 ~ 去除来判断该数是否素数。 #include“stdio.h” ________________________ int main(){ int n,i,k;for(n=2;n<=100;________________________){ k=sqrt(n);for(i=2;i<=k;________________________)if(n%i==0)________________________ if(i>k)printf(“t%2d”,n);} return 0;} 3.输出200以内能被5整除的数 #include“stdio.h” int main(){ ________________________ for(________________________;n<=200;________________________){ if(n%5!=0)________________________ printf(“%d ”,n);} return 0;} 4.求输入的十个整数中正数的个数及其平均值 #include int i,num=0,a;float sum=0; for(i=0;________________________;________________________){ scanf(“%d”,&a);if(a>=0){ ________________________;________________________;} } printf(“%d plus integer's sum: %6.0fn”,num,sum);printf(“Mean value:%6.2fn”,sum/num);return 0;} 5.求输入的十个整数中负数的个数及其平均值 #include int i,num,a;float sum=0;________________________;________________________;while(i<10){ scanf(“%d”,&a);if(a<=0){ ________________________;num++;} ________________________; } printf(“%d plus integer's sum: %6.0fn”,num,sum);printf(“Mean value:%6.2fn”,sum/num);return 0;} 6.分解并打印出X的各个素数因子.如18=1*2*3*3.#include int i,x; scanf(“%d”,&x); printf(“%d=1”,x); for(________________________;i<=x;________________________){ while________________________ { printf(“*%d”,i); ________________________;} } return 0;} 7.输出九九乘法表.#include int i,j; for(i=1;________________________;________________________) { for(________________________;________________________;j++) printf(“%2d*%2d=%2d”, j, i ,i*j); printf(“nn”); } return 0;} 8.有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。 #include “stdio.h” int main(){ int n,t,number=20;float a=2,b=1, ________________________;for(n=1;________________________;________________________){ s=s+a/b;t=a; a=a+b;________________________;} printf(“sum is %9.6fn”,s);return 0;} 9.求1+2!+3!+...+20!的和.#include “stdio.h” int main(){ float n, ________________________,t=1;for(n=1;________________________;________________________;){ t*=n;________________________;} printf(“1+2!+3!...+20!=%en”,s);return 0;} 10.有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。 #include “stdio.h” int main(){ int n,t,number=20;float a=2, ________________________,s=0;for(________________________;________________________;n++){ s=s+a/b;t=a; ________________________;b=t;} printf(“sum is %9.6fn”,s);return 0;} 解答: 1.int n; n=1; n++ continue; 2.#include“math.h” n++ i++ break; 3.int n; n=1 n++ continue; 4.i<10 i++ num++ sum+=a 5.i=0; num=0; sum+=a; i++; 6.i=1 i++ (x%i==0) x=x/i; 7.i<=9 i++ j=1 j<=i 8.s=0 n<=20 n++ b=t; 9.s=0 n<=20 n++ s+=t; 10.b=1 n=1 n<=20 a=a+b 四.改错题 解答: 计算机二级考试是全国计算机等级考试(National Computer Rank Examination,简称NCRE)四个等级中的一个等级,考核计算机基础知识和使用一种高级计算机语言编写程序以及上机调试的基本技能。计算机二级考试采用全国统一命题、统一考试的形式。那么计算机二级c语言会怎么考?以下仅供参考! 1.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从 C 开始执行。 A、程序中第一条可执行语句 B、程序中第一个函数 C、程序中的main函数 D、包含文件中的第一个函数 3、以下说法中正确的是(C)。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main()函数中定义 C、C语言程序总是从main()函数开始执行 D、C语言程序中的main()函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B)。 A、C程序的工作过程是编辑、编译、连接、运行 B、C语言不区分大小写。 C、C程序的三种基本结构是顺序、选择、循环 D、C程序从main函数开始执行 5.下列正确的标识符是(C)。 A、-a 1B、a[i] C、a2_i D、int t 5~8题为相同类型题 考点:标识符的命名规则 只能由字母、数字、下划线构成数字不能作为标识符的开头 关键字不能作为标识符 选项A中的“-”,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3) 6.下列C语言用户标识符中合法的是(B)。 A、3ax B、x C、case D、-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是(C)。 A、%x B、a+b C、a12 3D、12 3选项A中的“%”,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2) 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、Iam one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 选项B中的“”,”$”,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while为关键字,不满足(3) 9.C语言中的简单数据类型包括(D)。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C。 A、2.5B、2C、1D、3%为求余运算符,该运算符只能对整型数据进行运算。且符号与被模数相同。5%2=1;5%(-2)=1;(-5)%2=-1;(-5)%(-2)=-1; /为求商运算符,该运算符能够对整型、字符、浮点等类型的数据进行运算,5/2= 211.如果int a=3,b=4;则条件表达式"aA、3B、4C、0 D、1详见教材P97.表达式1?表达式2:表达式 3先计算表达式1,若表达式1成立,则选择计算表达式2,并表达式2的值作为整个大表达式的值; 若表达式1不成立,则选择计算表达式3,并将表达式3的值作为整个大表达式的值 此题中的aa为3,b为4。a12.若int x=2,y=3,z=4 则表达式x A、4B、3C、2D、0 E) 113.C语言中,关系表达式和逻辑表达式的值是(B)。 A、0 B、0或 1C、1D、‘T’或’F’ 14.下面(D)表达式的值为4.A、11/ 3B、11.0/ 3C、(float)11/ 3D、(int)(11.0/3+0.5) 14~16题为同一类型 详见教材P54~56.(1)相同数据类型的元素进行数学运算(+、-、*、/)得到结果还保持原数据类型。 (2)不同数据类型的元素进行数学运算,先要统一数据类型,统一的标准是低精度类型转换为高精度的数据类型。 选项A,11与3为两个整数,11/3结果的数据类型也应为整数,因此将3.666666的小数部分全部舍掉,仅保留整数,因此11/3=3.选项B,11.0为实数,3为整数,因此首先要统一数据类型,将整型数据3转换为3.0,转换后数据类型统一为实型数据,选项B变为11.0/3.0,结果的数据类型也应为实型数据,因此选项B 11.0/3=3.666666 选项C,先将整数11强制类型转换,转换为实型11.0,因此选项C变为11.0/3,其后计算过程、结果与选项B同 选项D,首先计算11.0/3,其计算过程、结果与选项B同,得到3.666666;再计算3.666666+0.5=4.166666,最后将4.166666强制类型转换为整型,即将其小数部分全部舍掉,结果为 415.设整型变量 a=2,则执行下列语句后,浮点型变量b的值不为0.5的是(B) A、b=1.0/a B、b=(float)(1/A、C、b=1/(float)a D、b=1/(a*1.0) 16.若“int n;float f=13.8;”,则执行“n=(int)f%3”后,n的值是(A) A、1B、4C、4.33333 3D、4.6 “(int)f“表示将f中的值强制类型转换为整型,即将13.8的小数部分舍掉,转换为13;然后计算13%3,结果为1,再将结果赋给变量n,因此n的值为 117.以下对一维数组a的正确说明是: D A、char a(10); B、int a[]; C、int k=5,a[k]; D、char a[3]={‘a’,’b’,’c’}; 详见教材P143~144,一维数组的定义、初始化 类型符 数组名 [常量表达式] 类型符是指数组中数组元素的类型;数组名要符合标识符命名规则;常量表达式是指数组的长度(数组中包含元素的个数),其值只能是整数,不可以是变量,而且从1开始计数。 选项A,常量表达式只能放在中括号 [ ]中 选项B,只有在对数组初始化(即赋值)的时候才可以省略数组的长度,B中并未对a进行初始化。 选项C,常量表达式不能为变量。 18.以下能对一维数组a进行初始化的语句是:(C) A、int a[5]=(0,1,2,3,4,) B、inta(5)={} C、int a[3]={0,1,2} D、int a{5}={10*1} 详见教材P145,一维数组的定义、初始化 选项B,D,常量表达式只能放在中括号 [ ]中 选项A,数组可以看做是若干个相同数据类型元素的有序集合,因此以集合的形式对其初始化,使用{ }对其初始化,选项A用了().19.在C语言中对一维整型数组的正确定义为 D。 A、int a(10); B、int n=10,a[n]; C、int n;a[n]; D、#define N 10 int a[N]; 20、已知:int a[10];则对a数组元素的正确引用是(D)。 A、a[10] B、a[3.5] C、a(5) D、a[0] 详见教材P144,数组元素的引用 数组名[下标] 引用数组元素时,[ ]中的下标为逻辑地址下标,只能为整数,可以为变量,且从0开始计数 int a[10]表示定义了一个包含10个整型数据的数组a,数组元素的逻辑地址下标范围为0~9,即a[0] 表示组中第1个元素;a[1] 表示组中第2个元素;a[2] 表示组中第3个元素;......;a[9] 表示组中第10个元素.选项A,超过了数组a的逻辑地址下标范围; 选项B,逻辑地址下标只能为整数 选项C,逻辑地址下标只能放在[ ]中 21.若有以下数组说明,则i=10;a[a[i]]元素数值是(C)。 int a[12]={1,4,7,10,2,5,8,11,3,6,9,12}; A、10 B、9 C、6 D、5先算a[a[i]]内层的a[i],由于i=10,因此a[i]即a[10].a[10]对应下面数组中的元素为9.因此a[a[i]]即为a[9] a[9]对应下面数组中的元素为6.因此a[9]即为6 22.若有说明:int a[][3]={{1,2,3},{4,5},{6,7}};则数组a的第一维的大小为:(B) A、2B、3C、4D、无确定值7 D、3 6 9 二维数组的一维大小,即指二维数组的行数,在本题中,按行对二维数组赋值,因此内层有几个大括号,数组就有几行 23.对二维数组的正确定义是(C) 详见教材P149~152,二维数组的定义、初始化 类型符 数组名 [常量表达式][常量表达式] 二维数组可以看做是矩阵 类型符是指数组中数组元素的类型;数组名要符合标识符命名规则;第一个常量表达式是指数组的行数;第二个常量表达式是指数组的列数;常量表达式的值只能是整数,不可以是变量,而且从1开始计数。 一维数组初始化时可以省略数组长度 二维数组初始化时可以省略行数,但不能省略列数 选项A,B,都省略了列数 选项D,不符合二维数组定义的一般形式,行、列常量表达式应该放在不同的[]中 A、int a[ ][ ]={1,2,3,4,5,6}; B、int a[2] []={1,2,3,4,5,6}; C、int a[ ] [3]={1,2,3,4,5,6}; D、int a[2,3]={1,2,3,4,5,6}; 24.已知int a[3][4];则对数组元素引用正确的是__C___ A、a[2][4] B、a[1,3] C、a[2][0] D、a(2)(1) 详见教材P150,数组元素的引用 数组名[下标] [下标] 引用数组元素时,[ ]中的下标为逻辑地址下标,只能为整数,可以为变量,且从0开始计数 第一个[下标]表示行逻辑地址下标,第二个[下标]表示列逻辑地址下标。 本题图示详见P149图6.7 因此a的行逻辑地址范围0~2;a的列逻辑地址范围0~3; 选项A,列逻辑地址下标超过范围 选项B,D,的引用形式不正确。 25.C语言中函数返回值的类型是由 A 决定的.A、函数定义时指定的类型 B、return语句中的表达式类型 C、调用该函数时的实参的数据类型 D、形参的数据类型 26.在C语言中,函数的数据类型是指(A) A、函数返回值的数据类型 B、函数形参的数据类型 C、调用该函数时的实参的数据类型 D、任意指定的数据类型 27.在函数调用时,以下说法正确的是(B) A、函数调用后必须带回返回值 B、实际参数和形式参数可以同名 C、函数间的数据传递不可以使用全局变量 D、主调函数和被调函数总是在同一个文件里 28.在C语言中,表示静态存储类别的关键字是:(C) A、auto B、register C、static D、extern 29.未指定存储类别的变量,其隐含的存储类别为(A)。 A、auto B、static C、extern D、register 30.若有以下说明语句: struct student { int num; char name[ ]; float score; }stu; 则下面的叙述不正确的是:(D) A、struct是结构体类型的关键字 B、struct student 是用户定义的结构体类型 C、num, score都是结构体成员名 D、stu是用户定义的结构体类型名 31.若有以下说明语句: struct date { int year; int month; int day; }brithday; 则下面的叙述不正确的是__C___.A、struct是声明结构体类型时用的关键字 B、struct date 是用户定义的结构体类型名 C、brithday是用户定义的结构体类型名 D、year,day 都是结构体成员名 32.以下对结构变量stul中成员age的非法引用是 B struct student { int age; int num; }stu1,*p; p=&stu1; A、stu1.age B、student.age C、p->age D、(*p).age 33.设有如下定义: struck sk { int a; float b; }data; int *p; 若要使P指向data中的a域,正确的赋值语句是 C A、p=&a; B、p=datA、a; C、p=&datA、a; D、*p=datA、a; 34.设有以下说明语句: typedef struct stu { int a; float b; } stutype; 则下面叙述中错误的是(D)。 A、struct是结构类型的关键字 B、struct stu是用户定义的结构类型 C、a和b都是结构成员名 D、stutype是用户定义的结构体变量名 35.语句int *p;说明了 C。 A、p是指向一维数组的指针 B、p是指向函数的指针,该函数返回一int型数据 C、p是指向int型数据的指针 // 指针的定义教材P22 3D、p是函数名,该函数返回一指向int型数据的指针 36.下列不正确的定义是(A)。 A、int *p=&i,i; B、int *p,i; C.int i,*p=&i; D、int i,*p; 选项A先定义一个整型指针变量p,然后将变量i的地址赋给p。然而此时还未定义变量i因此编译器无法获得变量i的地址。(A与C对比,选项C先定义变量i,则在内存中为i分配空间,因此i在内存空间的地址就可以确定了;然后再定义p,此时可以为p赋i的地址,C正确) 37.若有说明:int n=2,*p=&n,*q=p,则以下非法的赋值语句是:(D) A、p=q B、*p=*q C、n=*q D、p=n p,q同为整型指针变量,二者里面仅能存放整型变量的地址。 选项A,q中为地址,因此可将此地址赋给p 选项B,*p表示p所指向对象n的内容,即一个整数;*q表示q所指向对象的内容,由于在定义q时为其初始化,将p中n的地址给q,因此p中存放n的地址,*q表示q所指向对象n的内容.因此*p=*q 相当于 n=n; 选项C,n=*q 等价于n=n; 选项D,p中只能存放地址,不能将n中的整数值赋给p 38.有语句:int a[10],;则 B 是对指针变量p的正确定义和初始化。 A、int p=*a; B、int *p=a; C、int p=&a; D、int *p=&a; 选项A,a是数组名,不是指针变量名,因此不可用*标注数组名a 选项C,a是数组名,数组名就是地址,无需再用地址符号。而且在定义指针变量p时,应在变量名前加*,标明p是指针变量 选项D,a是数组名,数组名就是地址,无需再用地址符号。 39.若有说明语句“int a[5],*p=a;”,则对数组元素的正确引用是(C)。 A、a[p] B、p[a] C、*(p+2) D、p+ 2首先定义一个整型数组a,a的长度为5,然后定义一个指针变量p,并同时对p进行初始化,将数组a的地址赋给p。因此此时p中存放的数组a的首地址,即数组中第一个元素a[0]的地址。 对于数组元素下标的引用(详见p144), 一般形式 数组名[下标] 其中下标为逻辑地址下标,从0开始计数,方括号中的下标可以是变量,可以是表达式,但结果一定要是整数。 选项A,p中存放的是地址,不是整数,不能做数组元素的下标 选项B,a是数组名,数组名就是地址,不是整数,不能做数组元素的下标 选项C,(重点!!详见p231~234)p+2表示指向同一数组中的下两个元素的地址,当前p指向a[0],则p+2表示a[2]的地址,因此*(p+2)表示a[2]的内容 40.有如下程序 int a[10]={1,2,3,4,5,6,7,8,9,10},*P=a; 则数值为9的表达式是 B A、*P+9 B、*(P+8) C、*P+=9 D、P+8 (重点!!详见p231~234) 首先定义一个整型数组a,a的长度为5,然后定义一个指针变量P,并同时对P进行初始化,将数组a的地址赋给P。因此此时P中存放的数组a的首地址,即数组中第一个元素a[0]的地址。 数组中9对应的是a[8], 选项B,P+8表示数组中后8个元素的地址,即a[8]的地址。*(P+8)则表示该地址内所存放的内容,即a[8]的值。 选项A,*P表示P所指向对象的内容,此时P指向a[0], *P即a[0]的值1.*P+9=1+9=10 选项C,*P表示P所指向对象的内容,此时P指向a[0], *P即a[0]的值。因此*P+=9 即*P =*P+9, 等价于a[0]=a[0]+9.选项D,P+8表示数组中后8个元素的地址,即a[8]的地址,而非a[8]中的值。 一、填空题: 1._语言能力__就是使用语言的人对语言内容内在规则的把握,语言运用能力则是指在一定的语境中对于语言具体运用的能力。 2.语言符号的__任意性_和_强制性_是对立的统一,人们不能随意更改已经约定的音义关系。 3.语言可以分为底层和上层:底层是一套音位;上层一般分为三级分别是语素_、词_、句子。 4._组合关系_是符号与符号组合起来的关系,也就是构成线性序列的语言成分之间的结构关系。 5.语言是一种非常复杂的符号结构系统,按其构成成分来说,包括_语音__、_词汇_、_语法三个方面。 6.、___和__天与后天相互作用论_。 7.____体现了造句的基本原理,就是选择需要的词,按照学会的格式把它们组合在一起。 8.一般而言,学前儿童只掌握基本的__的增加、_词类范围__的扩大,以及__词义理解_的确切和加深等方面。 二、判断题 1.语言就是人类的话语,是可以用来沟通的某种方式。.× 2.语言是一种自然现象,是人生来就有的自然属性。.× 3.集合哨声、进军号角等有约定的意义,所以也是语音。.× 4.观察评估法方法是由孩子通过观察、模仿老师的示范,从而学习语言的一种方法。.× 5.“幼儿口头语言和书面语言发展关键时间的调查”主要调查儿童的语言发展特征随时间推移而发展变化的情况,它属于相关调查旨。.× 6.为了让幼儿更好容易理解语言,与幼儿交流时教师要模仿幼儿常用的词语,如把“小狗”说成“小狗狗”、把“一根线”说成“线线”等。.× 7.儿童模仿语言的过程是一个个性化的过程。√ 8.学前儿童语言学习受到各种因素的影响,大致可以分为生理因素、心理因素。.× 9.成人的语言观念对儿童的语言学习没有多大影响。.× 10.会说普通话是小学语文教学的任务,所以幼儿园不必使幼儿在入学前基本掌握普通话音节的发音。.× 11.婴儿都很喜欢反复听同一故事,几乎百听不厌。√.12.幼儿听到别人说“知不道”提出异议,指出应该说“不知道”.说明幼儿有了一定的语法意识√ 13.0—3岁是儿童语言真正形成时期,也是儿童语言发展最迅速阶段。√ 14.倾听是幼儿语言学习不可缺少的一种行为能力,在幼儿阶段,培养儿童倾听行为是十分重要的。√ 15.学前儿童语言教育的基本任务就是促进幼儿语言的发展,提高幼儿运用语言的能力。√ 16.语言教育活动是幼儿自发地观察、模仿学习语言的过程。.× 17.仿编是通过想象和联想,对原作的某些部分进行扩充。.× 18.在谈话活动中,教师要做示范,给幼儿一些提示,及时纠正幼儿说话时用词造句的错误。.× 19.讲述的语言要求比谈话的语言要求高,并且建立在一般交谈的语言基础之上。√ 20.早期阅读活动主要是为学前儿童提供阅读图书的经验,包括早期识字经验和早期书写经验。√ 三、问答题(前4题为简答题,每小题5分;后2题为论述题,每小题10分。共40分) 1.学前儿童语言教育评价有哪些内容? 学前儿童语言教育评价的内容主要包括两方面:(1)学前儿童语言发展的评价① 学前儿童语言发展水平的评价。② 对幼儿语言学习行为评价。(2)学前儿童语言教育活动的评价① 正规的语言教育活动。② 渗透在日常活动(包括生活活动)的非正规语言教育活动。 2.“视听讲做结合法”在具体运用时应注意哪些问题? (1)辅助材料来源于幼儿生活。(2)留有一定的时间和空间。3)教师的提问具有开放性。总之,运用视、听、讲、做结合法让幼儿学习语言,可使幼儿运用多种感官参与学习,在促进语言发展的同时,也获得了认知发展。 3.语言教育活动的“有计划”集中体现在哪些方面?(1)根据语言教育目标来选择教育内容。 2)根据幼儿语言发展的特点来选择教育内容。3)有计划地选择教育内容,使幼儿的语言得到全面发展。 4.为什么说语言是人类最重要的交际工具? 首先,语言是一种人类所特有的社会现象。它随着人类社会的产生而产生,也随着人类社会的发展而发展,在人类社会之外是没有语言的,社会属性是语言最为基本的一种属性。其次,在人类的交际工具中,语言是最重要的。人类的交际工具除语言外,还有文字、旗语、红绿灯、电报代码、数学符号、化学公式以及手势、表情等。文字记录语言,处于从属地位,是最重要的辅助交际工具。旗语、电报代码、数学符号等交际工具,大多是在语言和文字的基础上产生的,且在特定领域内为社会服务,使用的范围相当狭窄。体态语只能作为辅助交际工具,代替不了语言交际的功能。 5.儿童文学作品学习有哪些基本特征? 儿童文学作品作为儿童学习的内容,它具有以下的特征:(1)围绕文学作品展开学习活动。文学作品是语言艺术的结晶体,每一个具体的儿歌或故事都含有丰富而独特的语言信息。学习理解文学作品是幼儿在活动中的首要任务。文学作品呈现的是书面的语言信息,幼儿需要有一个中介方式将书面语言信息转化为口头语言信息,需要通过聆听、诵读、阅读图画,观看动画等方式接受理解文学作品所传递出的信息。因此,任何一个文学活动都必须从文学教育入手,围绕一个具体的作品开展活动,让幼儿完全理解文学作品含载的丰富有趣的信息。 (2)包含感受、理解与表现的审美目标。文学作品作为艺术品,首要的是审美价值,其次才是其他的认识价值和娱乐价值等。文学作品学习活动的主要目标应是培养儿童审美能力和文学理解能力、想象力,而不仅仅是达成知识和道德的教育目标。文学作品学习活动是一个包含感受美、理解美、表现美以及表达自己对文学作品的理解和想象的系列多层次审美教育活动。(3)整合相关的学习内容。幼儿园的文学活动从文学作品教学出发,常常整合与其相关的其他学科内容的活动,使得幼儿有更多的机会认识某一个文学作品中表现的社会与自然生活内容,促进他们对作品的感知理解。文学作品是社会知识、认知知识和语言知识的结合物,在设计组织文学活动时,根据具体的文学作品整合相关学习内容,就为幼儿提供了在这三方面协调扩充经验的机会,帮助幼儿完成整个语言学习的调整。(4)提供多种与文学作品相互作用的途径。发展是儿童自身的操作活动与外界环境相互作用而建构起来的。儿童的语言发展,也是通过个体与外界环境中各种语言和非语言信息交互作用逐步实现的。幼儿园的文学活动,应当着重引导幼儿积极地与文学作品相互作用,通过多种操作途径让幼儿得到发展。用活动的形式来组织幼儿文学作品教学过程,意味着幼儿可以在动手、动嘴、动眼、动耳、动脑等各种途径学习中获得亲身经验。 6.如何从倾听、表述、欣赏文学作品和早期阅读四个方面理解《纲要》的语言教育目标? (1)养成幼儿注意倾听的习惯,发展他们的语言理解能力。倾听是儿童感知和理解语言的行为表现,是幼儿语言学习和发展不可缺少的一种行为能力。懂得倾听、乐于倾听并且善于 倾听的人,才能真正理解语言的内容、语言的形式和语言运用的方式,掌握与人进行语言交流的技巧。2)鼓励幼儿大胆、清楚地表达自己的想法和感受,尝试说明、描述简单的事物或过程,发展思维能力和语言表达能力。以一定的语言内容、语言形式以及语言运用方式表达和交流个人观点的行为,是幼儿语言学习和语言发展的主要表现之一。只有懂得表述的作用、愿意向别人表述自己的见解,并且具备表述能力的人,才能真正与人进行语言交际。3)引导幼儿接触优秀的儿童文学作品,使之感受语言的丰富和优美,并通过各种活动帮助幼儿加深对作品的体验和理解。幼儿在学习文学作品中形成的综合的语言能力,能够增强他们对语言核心操作能力的不同层次的敏感性。因此要尽可能地给幼儿创造学习等各种文学作品的机会。4).培养幼儿对生活中常见的简单标记和文字等感兴趣。利用图书、绘画和其他多种方法,引发幼儿对书籍、阅读和书写的兴趣,培养阅读和前书写技能。 四、根据所给的材料设计活动方案(共20分)。 要求:1.设计应符合语言教育目标和幼儿年龄发展特点;2.任意选择一种活动类型设计相应的活动方案,可提炼“材料2”主题设计谈话活动或听说游戏方案,可围绕“材料2”设计讲述活动、文学作品学习活动或早期阅读活动方案;3.方案结构完整,包含活动目标、活动准备、活动过程等内容;4.按照活动设计与实施的步骤列出活动过程每一环节的要点。 材料1:中班幼儿语言教育目标 第一,谈话活动。能集中注意力,耐心倾听别人谈话,不打断别人的话;乐意与同伴交流,能大方地在集体面前说话;能说普通话,较连贯地表达自己的意思;学会围绕一定的话题谈话,不跑题;学会用轮流的方式谈话,不抢着讲,不乱插嘴;继续学习交往语言,提高语言交往能力。 第二,讲述活动。养成先仔细观察,后表达讲述的习惯;逐步学会理解图片和情景中展示的事件顺序;能主动地在集体面前讲述,声音响亮,句式完整;学习按照一定的顺序讲述实物、图片和情景的内容;能积极地倾听别人的讲述内容,发现异同,并从中学习好的讲述方法。第三,听说游戏。在游戏中巩固练习发音,正确运用代词、方位词、副词、动词、连词和介词等;能说简单而完整的合成句;能听懂并理解多重游戏规则;学习较迅速地领悟游戏中的语言规则,并能及时作出相应的反应。 第四,文学作品学习活动。喜欢不同形式的文学作品,主动积极地参加文学活动;知道文学作品语言与日常生活语言的不同,进一步感受文学作品的语言美;学习理解文学作品的人物 形象,感受作品的情感基调,能运用较恰当的语言、动作、绘画形式表现自己的理解;能根据文学作品提供的线索,扩展想象,仿编或续编一个情节或一个画面。 第五,早期阅读。能仔细观察图画书画面的人物情节、看懂单页多幅的儿童图画书的内容,增强预知故事情节发展和结局的能力;懂得爱护图书,知道图书的构成,有兴趣模仿制作图画书;在阅读过程中初步了解汉字的由来和汉字认读的规律,并有主动探索汉字的愿望;喜欢描画图形,尝试用有趣的方式练习汉字的笔画。 材料2:给熊奶奶读信 熊奶奶收到一封信,是她的孙子小熊寄来的。熊奶奶年纪大了,请小老鼠来帮忙读信。小老鼠拿起信一看,里面是一幅画,画着熊奶奶和小熊,还有一罐蜂蜜。小老鼠大声地读起来:“喂!奶奶,给我一罐蜂蜜……” 熊奶奶一听,皱起眉头生气了:“我这孩子,真不会说话!”小老鼠看熊奶奶生气了,吓得没有读完,就放下信溜走了。 熊奶奶捡起信,又去请小松鼠来读信。小松鼠拿着那幅画读起来:“亲爱的奶奶:你好!我非常想念你。我每次来,你都会给我吃蜂蜜,太好吃了。过几天,我会来看你,也要送给你一罐蜂蜜,你一定会说太好吃了!每天都在想念你的孙子小熊。” 小松鼠还没有读完信,熊奶奶就笑起来:“我的小孙子真好!真会说话!”小松鼠看见熊奶奶的眉毛在笑,眼睛在笑,脸上都在笑。 附:活动过程一般步骤 文学作品学习设计与实施的步骤:1.初步感知文学作品;2.理解体验作品经验;3.迁移作品经验;4.创造性想象和语言表述。 讲述活动设计与实施的步骤:1.感知理解讲述对象;2.运用已有经验自由讲述;3.引进并学习新的讲述经验。 谈话活动设计与实施的步骤:1.创设谈话情境,引出谈话话题;2.鼓励幼儿围绕话题自由交谈;3.引导幼儿围绕中心话题逐步拓展交谈内容;4.教师隐性示范新的谈话经验。听说游戏活动设计与实施的步骤:1.创设游戏情景,引发幼儿兴趣;2.交待游戏规则,明确游戏玩法;3.教师指导幼儿游戏;4.幼儿自主游戏。 早期阅读活动设计与实施的步骤:1.幼儿自己阅读;2.师幼共同阅读;3.围绕阅读重点开展活动;4.归纳阅读内容第二篇:《影视语言分析》期末试题及答案
第三篇:C语言程序设计试题集及其答案
第四篇:计算机二级c语言试题及答案
第五篇:学前儿童语言教育试题及答案2