c语言考试复习要点

2024-07-22

c语言考试复习要点(精选8篇)

篇1:c语言考试复习要点

C语言考试复习要点:

一. 题型:

1.选择题——最基本的知识点,概念——共20分

2.程序运行结果分析——10道程序题——共30分

(来源于课本例题和作业,复习的重点是多看课本程序和作业程序)

3.程序填空题——一个完整的程序挖掉一些空格——共四个程序,10个空格——共30分

4.编程题——有两道——一道课后作业,比较容易,8分——另外一道比较难,12分——共20分

二.

了。

2.第五章到第八章的内容是核心内容,要重点复习,题型覆盖所有题目。

3.第九章主要复习宏定义和宏替换。

4.第十章考的不多,集中在10.2和10.3两节。

复习策略: 1.第一章到第四章的内容比较少,基本是考概念一些小题,以选择题为主,浏览一下就行

篇2:c语言考试复习要点

2007年9月,教育部考试中心对现有的全国计算机等级考试大纲进行了改革,二级C语言上机考试时间由60分钟增加到了90分钟,编程环境由以前的TC2.0改为VC++6.0。[2]本文根据对近几年来二级C语言上机考试中的程序设计题进行归类总结,提出相应的策略,并对考生应对2007新大纲以后的C语言上机环境给出一些建议。2 对以往考试的分析

历年的全国计算机等级考试中二级C语言上机考试程序设计题目全部出自于由南开大学出版社编写南开100题,每次考试教育部考试中心会对题库做相应的改动,增加一些新的题型或题目,考试中,考生随机抽取一套进行测试。笔者对2005年4月至2007年9月2004版新大纲以后的6次考试中的程序设计题目进行了总结,将这些题目一共分成了6大类,对每种类型的题目进行了分析。2.1 对一维数组和字符串的操作

该类型的题目在以往的机试中所占比例最大,为40%,考生应对该知识点做全面的复习和掌握。一维数组可以分为数值型和字符型,其中数值型数组的数据类型为整型和实型,字符型数组的数据类型为字符型,我们通常会把字符型数组叫做字符串,但是应该注意字符型数组与字符串之间是存在区别的,也就是’’结束标志问题。在复习该部分的时候,考生应该掌握以下两个问题:(1)对一维数组的操作

对一维数组进行操作的时候,不可避免的要访问相关的数组元素,在C语言中访问数组元素一般采取单层循环的方法进行遍历,假设数组长度为n,数组下标是在0到(n-1)之间的,考生应该牢固掌握在一维数组中求最大值、最小值,移动元素,查找特定值,存储数组元素的方法。

(2)对字符串的操作

该类问题是每次考试的重点和难点,特别是将字符串同指针结合起来以后,难度就更大了。考生在解决此类问题是应特别注意字符串的结束标志’’,它不仅仅用来作为字符串的结束标志,而且在对字符串进行操作的时候,它也是循环的结束标志。考生在复习该部分的时候,应该注意这样的几个基本问题:大小字母转换、奇偶数判别、删除或添加指定的字符和字符的移动。此外,考生应该牢固掌握指针的特性及字符串操作函数的使用和实现方法,特别是字符串连接函数与求子串函数,在以往的考试中多次要求考生自己编写,考生应对该知识点做重点掌握。2.2 数值计算

该类型的题目在历年的机试中占22%,考查的机率也非常高。该类题目一般给定一个数列计算公式,然后要求考生编写一个函数类实现求数列的前n项的值、累加和或者积。在解决该类的问题,首先要找到给定数列的变化规律,然后根据其变化规律来编写一个单层或者双层的循环来求其相应的值。在编写程序的过程中,往往还会用到一些数学函数,如:sqrt()、fabs()、pow()等,考生应该牢固掌握math.h中的一些常用数学函数的功能和使用方法。另外,还应该注意数据类型之间的区别,特别是float和int类型,不同的数据类型产生的运算结果也是不一样的。2.3 对结构体的操作

该部分对非计算机专业的学生来说是一个难点,因为结构体在《数据结构》这门课程中应用最为广泛,但考生忽视对该知识点的复习,但在以往的机试中,有17%的题目是属于该类型。考生在复习这部分的时候,首先应注意结构体成员的两种不同的引用方法:结构体变量和指向结构体的指针,也就是结构体成员运算符’.’和指向运算符’->’,在编程的过程中,往往会涉及到结构体数组,其实这类数组除了数据类型是结构体以外,其它的特性和普通数组是一样的,结构体除了定义、赋值和初始化以外,它的其它操作和普通变量也是一样的,包括在结构体数组(记录)中进行查找、删除、求最大最小值等操作,我们应该用对待普通变量的方法来解决结构体的问题,这样的话,难度就可以大幅度的降低。2.4 对二维数组的操作

该类问题在历年的机试中占16%,考生应对二维数组的数组元素的遍历方法、存储方式、矩阵转换等问题做重点掌握。在C语言中,访问二维数组的数组元素一般采用双层循环的方法实现,因为二维数组具有两个下标:行下标与列下标;二维数组可以按行或者按列转化成一维数组进行存储;对二维数组进行行列转换的时候,要将行下标和列下标进行互换。考生还应该掌握上三角矩阵、下三角矩阵的特性,在考试中,该知识点也有所涉及。2.5 数制转换

该部分在以往的机试中占11%,包括两类问题:一是整数合并,二是类型转换。在复习该部分时,考生应该注意C语言中int型、long型、float型和double型数据所占的存储空间的大小和精度,注意’%’(模)运算和’/’(除法)运算的特点,特别应该灵活的使用模运算与除法运算求数据相应位数上的数值。掌握强制类型转换的方法以及按规定的位数保留小数的方法。2.6 素数

该部分在历年的机试中占6%,考生应该牢固掌握素数的基本概念和判断素数的方法。特别需要考生注意的是整数1不是素数,所以在判断素数的时候,应该从2开始,到(n-1)结束,能够除尽的不是素数,不能除尽的是素数。判断素数问题是C语言中的一个基本算法,不仅会在程序设计中会考到,而且往往在程序填空和程序改错中也会有所涉及,因此,考生应对该知识点认真复习。3 程序设计中应注意的问题 3.1 熟悉编程环境

根据2007年9月教育部考试中心颁布的新大纲,二级C语言的编程环境由TC2.0改为VC++6.0,考生应该熟练掌握VC++6.0的使用方法,虽然VC支持鼠标操作,但是考生还是应该掌握几个常用快捷方式来提高编程效率。特别要注意在对程序进行改动以后要保存,要进行编译连接生成可执行(.exe)文件。3.2 养成良好的程序设计风格

二级C语言机试中的程序设计题,一般来说程序都比较简短,源代码一般不超过5行,在题目指定的函数内编写程序。考生在答题的时候尽量采用易于理解而且比较简单的代码来解决问题,注意不要改动函数的参数,语句的界符“{}”也应该具有层次性的缩进,必要时,使用一定的注释来帮助自己理解程序。3.3 谨慎使用指针

指针是C语言的精华,也是机试考查的重点内容,指针的使用非常灵活,在使用的指针的时候一定要注意对其进行初始化,所谓初始化也就是给指针一个初值,没有初值的指针是很危险的,除了一定得不到正确答案外,如果指针越界,容易引起死机。如果死循环带来的死机是“假死”,大部分可以用“Ctrl+Break”来恢复,但指针越界引起的死机却是真死,请考生一定要牢记。[3] 3.4 熟练掌握循环结构

循环结构的程序是程序设计中涉及最多的知识点,根据以上的分析,我们可以看出几乎每一类题目都会涉及到使用循环来解决问题,因此考生应该掌握循环结构的特征和使用方法,以达到能够熟练使用的目标。应该引起注意的是,在编制循环结构程序的时候考生应该尽量使用“for”循环和“while”循环,避免使用“do……while”循环和“goto”语句,因为“for”循环和“while”编写出来的循环程序易于理解,不容易出错。3.5 沉着应战,认真细心

二级C语言上机考试时间有限,虽然从以前的60分钟改为了90分钟,但是相对于其它语种的上机考试来说,二级C语言的上机时间还是非常紧迫的。考生在答题的过程中应该保持一个良好的心态和平静的心情,遇到问题的时候不能慌乱,最好能够在机试时带一张草稿纸和一支笔,在编程之前先画出程序的流程图来明确解题思路。在遇到程序错误时一定要根据错误代码检查相应位置,检查的过程中应该认真仔细,确保能够解决问题。4 结束语

篇3:C语言程序设计的四个要点

在计算机科学技术快速发展,计算机教学内容不断变化的今天,怎样学C语言显然是个老话题了。C语言功能丰富,表达能力强,兼具低级语言特点,可移植性好,关键是广泛的应用,使其早已替代了Fortran、Pascal成为现今主要的教学语言。C语言也是进一步学好C++、C#、Java的必备基础。对初学者来说,由于C语言知识点多,灵活多变,学习起来如不得法,就会很长时间不能通其精要。学好C语言程序设计最主要的是掌握四个要点,即:数据类型、表达式、函数及常用算法。这是通过教学及编程实践,以及分析那层出不穷的试题基础上总结出的一些经验,供读者借鉴和探讨。

2 数据类型

C语言可由基本类型来构造数组及结构体类型,从而也可派生出各种复杂类型。通过类型定义变量来存储不同类别的数据,各种类型可有对应的指针类型,用来处理变量的地址。变量具有特定的存储类别、作用域和生存期。用一种类型定义一个变量要同时这样理解:(1)在内存中分配了特定大小的存储单元,确定了存储方式;(2)限定了变量的取值范围;(3)确定了此变量可进行的运算。

如多数教材中有定义存放一个班学生数据的结构数组,分析时清楚每个结构体成员占多少字节,可具体算一下整个结构数组占多少字节,它们又能进行何种运算,怎样存取成员变量,这些对初学者是很重要的。C语言构造新类型的能力很强,如二叉树结点类型的构造就可体现其简洁精巧之处:

typedef struct aBiTreeNode BTN,*BT;

struct aBiTreeNode{char d;BT lc,rc;};

那么BTN s;BT p;分别定义了一个5字节的树结点,和2字节的结点指针。

3 表达式运算

丰富的运算符和运算对象组成灵活多变的表达式,造就了C语言丰富的表达能力;C语言中的运算符多达40多种,优先级共分了15级,运算对象可以是常量、变量、函数、表达式。学习C语言要把重点放在理解和掌握表达式上,这也是其精华所在,计算机的“计算”在C语言中主要体现在对表达式的计算上;赋值语句和函数调用语句在C语言中也是运算表达式。分析表达式时要考虑运算符所要求的对象、优先级、结合性、运算次序,这几点在分析复杂表达式时都是很重要的。在表达式求值时,先按运算符的优先级别高低顺序执行,如果在一个运算对象两侧的运算符优先级别相同,则按规定的结合方向处理;C语言中有单目和三目运算符,结合方向均为自右至左,双目运算符除赋值运算外都是自左至右。逻辑运算要考虑短路作用,即只要确定了表达式的值就不再进行后面的运算。

赋值类运算表达式还要存储值到“变量”中,C语言中一般只能对简单类型对应的内存区取值、赋值,特殊之处有:(1)数组名作函数参数,(2)串常量赋给指针,等同strcpy)函数,(3)相同结构类型的结构变量之间赋值。

要正确理解表达式中的赋值:(1)赋值即“写内存”,相当于汇编语句MOV,完全不同比较符的等于。(2)因C语言缺乏数据类型的一致性检测机制,赋值号两端要“相容”,如两个字节的整型变量不能完整存放双精度数,指针变量也不能存放其它类型的变量,同时也不要存放指向其它类型的指针。(3)要有“左值”的概念,即赋值号左边一定是可存入值的、代表某块存储空间的变量。(4)对指针变量的赋值,可理解为“指向”,指针变量存有某变量的地址,也就是指针指向这一变量。(5)和赋值号“=”相当的方式还有变量定义时的初始化,函数调用时的实参形参结合,以及“++”、“--”运算符和一系列复合赋值运算符。

初学者都觉得指针和数组是难点,但它还是严格遵循了上述数据类型和表达式运用法则的。只要熟练掌握表达式,其实指针和数组也并不难理解和应用。指针加整数表示以此指针所指元素类型大小为单位的相对位移,取下标运算符“]”也类似,相当于变址再取值。指针是存放地址的变量,数组名是表示整个数组首地址的常量,但也可看作是指向该数组之元素的指针。

指针和数组的定义及运算都可用表达式分析法:(1)考虑运算符的优先级、结合性、运算次序;(2)由类型所决定的运算对象的性质;(3)对于指针的级别或数组的维数,定义时“*”、“[]”使级别升高,运算时“*”、“[]”使级别降低,“&”使级别升高。分析时最好要简单画图表示内存的开辟、存入、取读等状态,明白定义时分配了多大存储空间,以及执行或运算时值的变化。

4 函数调用

C程序由函数组成,实现了程序设计结构化。函数有返回类型,可有若干参数,要注意函数中变量的作用域和生存期。系统提供了大量函数供用户调用来完成复杂功能。理解函数的调用机制要知道计算机的基本组成和工作方式。在冯·诺依曼结构中,程序和数据都是要放入存储器中的。

可这样理解调用函数的过程:(1)把函数代码复制存放于内存;(2)调用指令的地址存放于堆栈;(3)分配形参存储空间;(4)把实参表达式值“赋值”给形参,即传值调用;(5)执行函数体,包括分配局部变量存储空间;(6)结束执行,或遇到return语句开始返回;(7)带上返回值从栈顶取出返回地址返到主调函数;(8)释放被函数代码及变量(除static静态变量)占用的内存。

指针作为函数参数,是传递了地址之值,相当于实现传址调用,在C语言中没有真正的传址调用,在C++中可用引用“&”实现。函数名也类似数组名,代表函数的起始地址或称入口地址;也可定义指向函数的指针实现间接调用,或把一个函数传递给另一个函数使用;当然函数指针是不能进行诸如++等运算的,其所指对象是不能确定存储空间大小的,这不同于数组。“()”也可看作是函数调用运算符,可用上述分析表达式的方式理解函数指针的定义和使用,如定义in*f()时,因()的优先级高于*,则f是一函数,返回类型是整型指针,定义int(*p)()中p先和*结合,则p是指针,是可指向整型函数的“函数指针”。

递归函数的特点是有自己调用到自己的部分和满足某个条件时结束并返回的部分。处理某些问题时使用递归可不用复杂的循环,使程序简化,但分析时还是要按上述函数调用机制来套用,机器的执行过程不会简化。

5 常用算法

算法设计的主要工作是分析问题、编写语句,实现问题空间向程序空间的映射转换,也就是把我们用自然语言描述的解决问题的方法翻译成计算机语言让机器来运算。为提高编程能力,设计出较好的算法,可按以下几点来学习。

初学算法设计时不但要考虑算法的正确性,也要遵循简洁可读、有效性等原则,可靠的算法一定是简洁的。不要只顾暂时解决问题,而忽略对设计一个好算法的追求,否则既不能发挥C语言的简洁性,也很难提高编程能力。

要学习和记住一些常用的算法,诸如需选择和循环结合的计算问题(如求素数、最小公倍数)、数列或级数的迭代处理、多维数组处理、字符串处理、查找排序、某些递归算法等。

对于算法的设计和实现可按以下几个步骤进行:(1)理解题意,把问题分析清楚;(2)考虑人工怎样解决,理清思路,有的问题一看就知道答案,却不知怎样写语句,其实在这一看之中,我们的大脑也是一步步地进行了运算;(3)再进行思路的细化,按电脑机械式分步计算或处理问题,多数问题可找出有规律的部分,用循环结构完成;(4)确定数据结构,即定义变量,分配存储空间,写流程轮廓;(5)进一步细化写出代码,并注意变量的命名和程序的格式;(6)上机调试,找出错误。这一步对初学者也不易,关键要锻炼“调试心理素质”,调试自己编写的代码时要能在自信的创作思维和批评性的自我怀疑之间反复“平和”转换;(7)进一步完善和优化,追求一个好的算法,好的算法应该有简洁性、可读性、节约存储空间及运算时间等特性。

6 结语

对于C语言其它知识,如控制流语句、常用输入输出等系统函数的学习,只是一个不断熟悉的过程。通过读程序和一些练习,多数是容易掌握的,如不能理解和运用好,只通过近乎死记硬背的方法很难掌握C语言的精华,学习C语言是有原则可遵循的。掌握好这四个要点,也有助于学好数据结构、C++或Java等后续课程。

参考文献

[1]谭浩强.C语言程序设计.第二版,清华大学出版社,1999.

[2]郭陵之.C语言基础教程[M].云南大学出版社,1995.

篇4:七年级复习测试题(C)

1. 下面运算正确的是()

A. (a+1)2=a2+1 B. (b-1)(-1-b)=b2-1

C. (-2a+1)2=4a2+4a+1D. (x+1)(x+2)=x2+3x+2

2. 下面每组数分别是三根小木棒的长度,其中能摆成三角形的是()

A. 12 cm,3 cm,6 cmB. 8 cm,16 cm,8 cm

C. 6 cm,6 cm,13 cmD. 2 cm,3 cm,4 cm

3. 设“、▲、”分别表示不同的物体.如图1所示,前两架天平保持平衡,如果要使第三架天平也保持平衡,则“”处应放“”的个数为()

A. 5B. 4C. 3D. 2

4. 在一个不透明的袋子里放入8个红球,2个白球.小明随意摸出一个球,这个球是白球的概率为()

A. 0.2 B. 0.25 C. 0.4 D. 0.8

5. 一个角是40°,那么它的余角的补角是()

A. 130° B. 140°C. 50°D. 90°

6. 如图2,已知∠A=∠D,∠1=∠2,下列条件中能使△ABC≌△DEF的是()

A. ∠E=∠B B. ED=BC

C. AB=EFD. AF=CD

7. 下列图形中对称轴条数最多的是()

A. 线段 B. 等边三角形 C. 正方形 D. 钝角

8. 下列说法中错误的是()

A. 三角形的中线、角平分线、高线都是线段

B. 任意三角形的内角和都是180°

C. 三角形按角分可分为锐角三角形、直角三角形和等边三角形

D. 直角三角形的两锐角互余

9. 某种商品的售价为120元.由于购买的人多,商家提价25%销售.但提价后,商品滞销,商家只好再降价x%,使商品恢复到原价,那么x的值为()

A. 25 B. 20 C. 25%D. 20%

10. 一辆汽车在高速公路上以150 km / h的速度匀速行驶,下列图象中能大致刻画汽车的速度与时间的关系的是()

二、填空题(每小题3分,共30分)

11. 计算(-2xy3)4=.

12. 把一张写有A、B、C、D、6、7、8、9的长方形纸条平放在一张平面镜前的桌子上,则镜子里纸条上的字母或数字不改变的是 .

13. 已知等腰三角形一个内角为50°,则它的另外两个内角分别为.

14. 如图3,∠AOB=125°,AO⊥OC,BO⊥OD.则∠COD=.

15. 如图4,已知△ABC≌△EBF,AB⊥CF,ED⊥AC,若AB=5 cm,BC=3 cm,则AF=cm.

16. 已知点A在数轴上表示的数是-2,点B在数轴上且AB=3,则点B所表示的数是.

17. 若4a2+2ka+9是一个完全平方式,则常数k=.

18. 如图5,一只蚂蚁自由自在地在用七巧板拼成的正方形中爬来爬去,它最终停留在1号七巧板上的概率为.

19. 图6是用四张相同的长方形纸片拼成的图形,请利用图中空白部分的面积的不同表示方法,写出一个关于a、b的恒等式:.

20. 人需要不断地吸入新鲜空气,排出二氧化碳.据统计,人每排出1 L二氧化碳,就需要吸入20 L空气.一个成人每年大约要呼出400 L二氧化碳,则他需要吸入L空气.

三、解答题(每题10分,共40分)

21. (1)利用公式计算:2 0032-2 002×2 004;(2)计算:(m-1)(m+1)(m2-1).

22. 下列图形中,图7所示的是一个正方体木块,把它切去一块,可能得到如图8、图9、图10、图11所示的木块.

(1)我们知道,图7的正方体木块有8个顶点、12条棱、6个面.请你将图8、图9、图10、图11中木块的顶点数、棱数、面数填入下表:

(2)观察上表,各种木块的顶点数、棱数、面数之间的数量关系可以归纳出一定的规律,请试写出顶点数x、棱数y、面数z之间的关系式.

23. 一位旅行者早晨8时从城市出发到郊外游玩,图12是他离城市的距离随时间变化的图象.根据图象回答问题:

(1)在这个变化过程中,自变量是,因变量是.

(2)9时,10时,12时这三个时刻他离城市的距离分别是多少?

(3)他休息了多长时间?

(4)他从休息后直至到达目的地这段时间的行进速度是多少?

24. 如图13,在四边形ABCD中,AD∥BC,∠ABC=∠DCB,AE=DF.

(1)猜想BF和CE能相等吗?为什么?

(2)当点E、F相向运动,形成图14时,BF和CE还相等吗?

请证明你的结论.

篇5:C语言复习大纲

2、printf()和scanf()函数常用的方法,主要包括格式控制符;

3、常见的基本类型(现学过3种)以及表示数据的范围(大致的)。

4、熟练掌握以下几类运算符的运算规律:算术运算符、关系运算符、逻辑运算符、条件运

算符、自增自减运算符、逗号运算符、简单赋值运算符以及复合的赋值运算符。

5、C程序三种结构。

6、数组(主要是字符和一维)定义、初始化以及引用和函数的定义、以及引用。

7、常见的数组字符串处理函数(包括stccpy()和strcmp())。

8、常见的转义字符的表示及含义作用(如nrtb等)。

9、C语言标识符规则(主要有3条)。

10、break语句和continue语句的功能和使用。

11、逻辑值“真”“假”的判定。

12、if和else配对原则。

13、数组长度与有效下标的关系。

14、熟练掌握三种结构语句的执行流程,特别是循环语句。

15、熟练掌握求最大(小)值、判断素数以及排序等基本算法和程序实现。

篇6:二级C语言复习资料顺序结构

1、给b赋值

2、给 c赋值3,以下输入形式中错误的是(注:□代表一个空格符)()。答案:A A)1□2□3<回车> B)□□□1,2,3 <回车> C)1,□□□2,□□□3<回车> D)1,2,3<回车> 4.设变量均已正确定义,若要通过 scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。以下所示的输入形式中正确的是(注:□代表空格字符)()。A)10X<回车> 20Y<回车> B)10□X20□Y<回车> C)10□X<回车> 20□Y<回车> D)10□X□20□Y<回车> 5.若变量均已正确定义并赋值,以下合法的C语言赋值语句是()。答案:A A)x=y==5;B)x=n%2.5;C)x+n=i;D)x=5=4+1;6.设有定义: int a;float b;执行

scanf(“%2d%f”, &a, &b);语句时,若从键盘输入 876 543.0<回车> 则a和b的值分别是()。A)87和6.0 B)876和543.0 C)87和543.0 D)76和543.0 7.有如下程序段: int x=12;double y=3.141593;printf(“%d%8.6f”, x, y);其输出结果是()。答案:A A)123.141593 B)12 3.141593 C)12, 3.141593 D)123.1415930 8.若有定义语句: int a=3,b=2,c=1;以下选项中错误的赋值表达式是(A)a=(b=4)=3;B)a=b=c+1;)。C)a=(b=4)+c;D)a=1+(b=c=4);9.若有定义: int a,b;通过语句

scanf(“%d;%d”,&a,&b);能把整数3赋给变量a,5赋给变量b的输入数据是()。答案:A A)3;5 B)3,5 C)3 5 D)35 10.若有定义 int a;float b;double c;程序运行时输入: 3 4 5<回车> 能把值3输入给变量a、4输入给变量b、5输入给变量c的语句是()。

A)scanf(“%d%f%lf”, &a,&b,&c);B)scanf(“%d%lf%lf”, &a,&b,&c);C)scanf(“%d%f%f”, &a,&b,&c);D)scanf(“%lf%lf%lf”, &a,&b,&c);11.若变量已正确定义并赋值,以下不能构成C语句的选项是()。答案:A A)a=a+b B)A=a+b;C)B++;D)A?a:b;12.设有定义: double a,b,c;若要求通过输入分别给a、b、c输入1、2、3,输入形式如下(注:此处□代表一个空格)□□1.0□□2.0□□3.0<回车> 则能进行正确输入的语句是()。A)scanf(“%lf%lf%lf”,&a,&b,&c);B)scanf(“%lf%lf%lf”,a,b,c);C)scanf(“%f%f%f”,&a,&b,&c);D)scanf(“%5.1lf%5.1lf%5.1lf”,&a,&b,&c);13.以下叙述中正确的是()。答案:A A)在赋值表达式中,赋值号的右边可以是变量,也可以是任意表达式

B)a是实型变量,a=10在C语言中是允许的,因此可以说:实型变量中可以存放整型数

C)若有int a=4,b=9;执行了a=b后,a的值已由原值改变为b的值,b的值变为0 D)若有int a=4,b=9;执行了a=b;b=a;之后,a的值为9,b的值为4 14.以下叙述中正确的是()。

A)赋值语句是一种执行语句,必须放在函数的可执行部分 B)scanf和printf是C语言提供的输入和输出语句

C)由printf输出的数据都隐含左对齐

D)由printf输出的数据的实际精度是由格式控制中的域宽和小数的域宽来完全决定的 15.以下叙述中正确的是()。答案:A A)当用scanf从键盘输入数据时,每行数据在没按下回车键(Enter键)前,可以任意修改 B)花括号对{}只能用来表示函数的开头和结尾,不能用于其他目的

C)空语句就是指程序中的空行

D)复合语句在语法上包含多条语句,其中不能定义局部变量

16.以下叙述中正确的是()。

A)在scanf函数中的格式控制字符串是为了输入数据用的,不会输出到屏幕上

B)在使用scanf函数输入整数或实数时,输入数据之间只能用空格来分隔 C)在printf函数中,各个输出项只能是变量 D)使用printf函数无法输出百分号% 17.以下叙述中正确的是()。答案:A A)在scanf函数的格式串中,必须有与输入项一一对应的格式转换说明符

B)只能在printf函数中指定输入数据的宽度,而不能在scanf函数中指定输入数据占的宽度 C)scanf函数中的字符串,是提示程序员的,输入数据时不必管它

D)复合语句也被称为语句块,它至少要包含两条语句

18.有以下程序 #include main(){ int a=2, c=5;printf(“a=%%d,b=%%dn”, a,c);} 程序的输出结果是()。A)a=%d,b=%d B)a=%2,b=%5 C)a=2,b=5 D)a=%%d,b=%%d 19.若有定义和语句: int a, b;scanf(“%d,%d,”,&a,&b);以下选项中的输入数据,不能把值3赋给变量a、赋给变量b的是()。答案:A A)3 ,5 B)3,5 C)3,5, D)3,5,4 20.有以下程序 #include main(){ char a,b,c,d;scanf(“%c%c”,&a, &b);

5c=getchar();d=getchar();printf(“%c%c%c%cn”,a,b,c,d);} 当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意:回车也是一个字符)12 34 则输出结果是()。A)12 3 B)12 C)1234 D)12 34 21.有以下程序 #include main(){ int a1,a2;char c1,c2;scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);printf(“%d,%c,%d,%c”,a1,c1,a2,c2);} 若想通过键盘输入,使得a1的值为12,a2的值为34,c1的值为字符a,c2的值为字符b,程序输出结果是:12,a,34,b,则正确的输入格式是(以下□代表空格,代表回车)()。答案:A A)12a34b B)12□a□34□b C)12,a,34,b D)12□a34□b 22.有以下程序段 #include int a, b, c;a=10;b=50;c=30;if(a>b)a=b, b=c;c=a;printf(“a=%d b=%d c=%dn”, a, b, c);程序的输出结果是()。A)a=10 b=50 c=10 B)a=10 b=50 c=30 C)a=10 b=30 c=10 D)a=50 b=30 c=50 23.有以下程序 #include main(){ int i,j;for(i=1;i<4;i++){ for(j=i;j<4;j++)printf(“%d*%d=%d ”,i,j,i*j);printf(“n”);} } 程序运行后的输出结果是()。答案:A A)1*1=1 1*2=2 1*3=3 2*2=4 2*3=6 3*3=9 B)1*1=1 1*2=2 1*3=3 2*1=2 2*2=4 3*1=3 C)1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 D)1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 24.有以下程序 #include main(){ char b,c;int i;b= ’a’;c = ’A’;

for(i=0;i<6;i++){ if(i%2)putchar(i+b);else putchar(i+c);} printf(“n”);} 程序运行后的输出结果是()。A)AbCdEf B)ABCDEF C)aBcDeF D)abcdef 25.有以下程序 #include main(){ char c1,c2,c3,c4,c5,c6;scanf(“%c%c%c%c”, &c1,&c2,&c3,&c4);c5=getchar();c6=getchar();putchar(c1);putchar(c2);printf(“%c%cn”,c5,c6);} 程序运行后,若从键盘输入(从第1列开始)123<回车> 45678<回车> 则输出结果是()。答案:A A)1245 B)1256 C)1278 D)1267 26.有以下程序段 #include int j;float y;char name[50];scanf(“%2d%f%s”, &j, &y, name);当执行上述程序段,从键盘上输入55566 7777abc 后,y的值为()。A)566.0 B)55566.0 C)7777.0 D)566777.0 27.有以下程序段 char name[20];int num;scanf(“name=%s num=%d”,name, &num);当执行上述程序段,并从键盘输入:name=Lili num=1001<回车>后,name的值为()。答案:A A)Lili B)name=Lili C)Lili num= D)name=Lili num=1001 28.以下叙述中错误的是()。

A)getchar函数用于从磁盘文件读入字符 B)gets函数用于从终端读入字符串 C)fputs函数用于把字符串输出到文件

篇7:c语言考试复习要点

哥特建筑产生的原因

大城市的出现: 12C.后城市文化开始恢复和发展, 工商业繁荣,人口增多, 需要许多教堂与城市管理机构.教堂内不仅举行宗教活动, 也举行国会, 演讲, 商务等活动.宗教原因: 13C.教堂的权利达到顶峰, 宗教狂热情绪高涨, 大批的哥特教堂兴建起来, 教堂高大向上的形体代表着神权的尊严与崇高.城市经济兴旺: 教会财富大增, 为建造大型教堂提供了物质基础.结构技术的进步: 发明了尖券,飞扶壁,框架结构体系, 解决了罗马风建筑没有解决的问题.哥特教堂的起源

哥特教堂起源于法国(那里远离古罗马文化, 容易产生新的建筑风格), 后来在德国,英国,尼德兰和意大利,西班牙等欧洲国家流行.哥特教堂, 以结构为标志, 初成于圣德尼教堂(St.Denis), 夏特尔教(Cathedral Charter)主堂成型, 巴黎圣母院(Notre Dame,Paris)成熟, 韩斯主教堂(Reims)和亚眠(Amiens)教堂最繁荣, 15C.后各地教堂趋同, 装饰华丽.哥特教堂的结构特点(一)使用尖券, 拱高一致, 拱侧推力减小, 而且任何形状的平面都能覆盖所有装饰细部都用尖券, 艺术风格很统一.哥特教堂的结构特点(二)使用飞扶壁, 解放并降低侧廊, 加大中厅高侧窗及外墙窗

哥特教堂的结构特点(三)整个结构是框架体系, 外墙不承重, 可完全开窗.哥特教堂的平面特点

拉丁十字

法国教堂东端小礼拜室很多 英国正厅长,常有两横厅

哥特教堂的立面特点

法国教堂多为双塔

德国很多教堂西端只有一个塔

哥特教堂的空间特点

突出向前和向上飞升的动势

支柱常用束柱, 垂直线条不断, 象树一样向上生长, 把人的灵魂导向天国 窗户占满了外墙支柱间的空间

意大利和德国的教堂侧廊与中厅同高, 称为广厅式巴西利卡

哥特教堂的装饰特点

彩色玻璃窗 玫瑰花窗 拱顶装饰 雕刻

哥特教堂的入口特点

透视门 雕刻 中央立柱

巴黎圣母院(Notre Dame,Paris)1163-1250

典型的法国哥特教堂, 法国皇家教堂

巴黎圣母院平面

47mx125m 纵轴微折 中间四排柱五通廊 两翼突出很少 教堂周围环以小祈祷室 东部空间很多 可容近万人

巴黎圣母院立面

立面划分横三段竖三段 钟塔位于两侧 中央玫瑰花窗 透视门 浮雕像装饰带 镂空券带连廊 构图统一,典雅安祥

巴黎圣母院室内

空间高大 装饰华丽 宗教气氛强烈

巴黎圣母院细部

镂空券带连廊 飞扶壁

德国科隆大教堂 意大利米兰大教堂(Milan Cathedral)1385-1485

市政厅 修道院 威尼斯公爵府 城市住宅

小结

篇8:c语言考试复习要点

二级C语言考试由笔试和上机两部分。笔试考察的是应试者对基础知识和基本理论的掌握情况,而上机考试主要测试的是应试者的逻辑思维能力和运用C语言的能力,一般包括3种题型:填空题、改错题、编程题。该文对考试题库中编程题作出归纳,总结,希望对应试者有所帮助。

1 上机编程题的知识点

上机考试的知识点大概可以有5个,分别是:基本运算、循环、数组、字符串、结构体。以下对这5个知识点分别举例说明。

1.1 基本运算

例如有以下编程题:

编写函数fun,它的功能是:将两个两位正整数a, b中个位数和十位数合并成一个新的整数放在c中。合并的方式是:将a中的十位和个位依次放在变量c的百位和个位上,b中的十位和个位依次放在变量c的十位和千位上。

例如:当a=45, b=12。调用函数后c=2415。

注意:部分源程序存在文件PROG1.C中,数据文件IN.DAT中的数据不得修改。请勿改动主函数main () 和其他函数中的任何内容,仅在函数fun的花括号中填写编写的如干语句。

程序如下:

分析:这类基础题主要是考察应试者对基本运算的掌握。针对这个题关键是把这两个数的个位和十位求出来,然后再重新组合成一个新数。表示两位数a的个位数的方法是:a对10取余,即a%10;表示两位数a的十位数的方法是:a先除10后在对10取余,即a/10%10。

本题的答案为:c=b%10*1000+a/10*100+b/10*10+a%10;

1.2 循环

循环中最主要的应用就是迭代和遍历。迭代一般是用来解决累加、累乘的问题,可用for语句来实现。

例如有以下编程题:

编写函数fun,它的功能是计算并输出以下多项式的值:

例如:当在主函数中从键盘给n输入5,则输出为:s=-0.28333。

注意:要求n的值大于1但不大于100。部分源程序存在文件PROG1.C中,数据文件IN.DAT中的数据不得修改。请勿改动主函数main () 和其他函数中的任何内容,仅在函数fun的花括号中填写编写的如干语句。

程序如下:

分析:这类题主要是考察应试者对迭代的掌握。关键是找出迭代公式、变量的起始值和最大值。本题中表达式的每一项是都是一个分数,分子都是1,分母初始值是2,最大值是n, 而且每项增1,所以可设一整型变量i, 用for语句实现:for (i=2;i<=n;i++) 。表达式的值用变量s表示,s的初始值为1,每一项之间用减号连接,所以迭代公式,也就是循环语句可表示为s=s-1/i。除此以外,还应注意两点1。变量s的类型,因为表达式的值是实数,所以变量s应定义为double。2.注意基本算术运算中,两整数相除结果为整数,而题目中每一项要得到的结果为实数,所以应用算术运算中数据类型的转换将s=s-1/i改为s=s-1.0/i。

本题的答案为:

1.3 数组

数组可以分为一维数组和二维数组。

1.3.1 一维数组

编写函数fun, 它的功能是:找出一位整型数组中元素的最大值和它所在的下标,最大值和下标通过形参传回。数组元素中的值已在主函数中赋予。

主函数中的x是数组名,n是x中的数据个数,max存放最大值,index存放最大值的下标。

程序如下:

分析:这类题是遍历在数组中的应用。要找出数组中的最大值,必须对数组中每一个元素查找一遍,同时要进行比较。编程思想:可设一变量max, 假设数组中的第一个元素a[0]是最大的,然后后面的元素依次和max进行比较,只要比当前max的值大,就把它放在max中。

本题的答案为:

1.3.2 二维数组

编写程序,实现矩阵的转置。

例如:输入下面的矩阵:

分析:这类题是关键是解决两个问题:1.怎样对二维数组元素的遍历。2.怎样完成矩阵的转置法。因为二维数组元素表示要用到两个下标即行标和列标,所以遍历数组元素用到两层循环。矩阵的转置就是对应行和变成对应列,换句话说就是关于主对角线的对应元素交换。

本题的答案为:

1.4 字符串

例如有以下编程题:

规定函数中只包含字母和*。请编写函数fun, 它的功能是:删除字符串中的所有*。在编写函数时,不得使用字符串函数。

例如:字符串中的内容为:****A*BC*DEF*G*****,删除后,字符串中的内容为:ABCDEFG。

分析:这类题要对字符串中所有字符遍历,把不是*的字符保留下来。本题要解决两个问题:1.怎样判断字符串结束。2.怎样把不是*的字符放在原来的字符串中。字符串都是以’�’作为结束标志,可以把字符串中元素是不是’�’作为判断字符串结束的依据。可设一变量j作为字符串的新下标,初始值为0,只要原字符串中的元素不是’�’, j就加1,特别注意要在最后加上’�’最为字符串结束标志。

本题的答案为:

1.5 结构体

例如有以下编程题:

学生的记录是有学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun, 它的功能是:把分数最低的学生数据放在数组b中,注意:分数最低的学生可能不止一个,函数返回分数最低的学生的人数。

程序如下:

分析:这类问题其实编程思想和前面的没有太大的差别,主要考察的是对结构体成员的引用,其引用形式为:结构体变量名.成员名。

本题的答案为:

2 结论

本文只是对计算机等级考试二级C语言的上机题作了简单的分析和总结,仅过分析可以看出,考察的知识点总共有5个,但是基本上都是循环的两方面的应用:迭代、遍历。

参考文献

[1]未来教育与教学研究中心.全国计算机等级考试二级C语言上机考试题库[M].北京:金版电子出版社, 2007.

上一篇:苏轼 水调歌头下一篇:学生毕业实习任务书