2021计算机二级C语言测试题库及答案解析_第1页
2021计算机二级C语言测试题库及答案解析_第2页
2021计算机二级C语言测试题库及答案解析_第3页
2021计算机二级C语言测试题库及答案解析_第4页
2021计算机二级C语言测试题库及答案解析_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2021计算机二级C语言测试题库及答案解析计算机二级C语言测试题及答案解析1. (A)是构成C语 言程序的基本单位。A、函数B、过程C、子程序D、子例程.C语言程序从C开始执行。程序中第一条可执行语句B、程序中第一个函数C、程序中的main函数D、包含文件中的第一个函数3、以下说法中正确的选项是(C ) oA、C语言程序总是从第一个定义的函数开始执行B、在C语 言程序中,要调用的函数必须在mainO函数中 定义C、C语 言程序总是从main。函数开始执行D、C语言程序中的main()儆必须放在程序的开始局部4.由U关于C语言的说法错误的选项是(B ) oA、C程序的工作过程是编辑、编译、连接、

2、运行C语言不区分大小写。C程序的三种基本结构是顺序、选择、循环23对二维数组的正确定义是(C )详见教材P149N152,二维数组的定义、初始化类型符数组名常量表达式常量表达式二维数组可以看做是矩阵类型符是指数组中数组元素的类型;数组名要符合标识符命 名规那么;第一个常量表达式是指数组的行数;第二个常量表达式 是指数组的列数;常量表达式的值只能是整数,不可以是变量, 而且从1开始计数。一维数组初始化时可以省略数组长度二维数组初始化时可以省略行数,但不能省略列数选项A,B,都省略了列数选项D,不符合二维数组定义的一般形式,行、列常量表达 式应该放在不同的口中A、int a =1,2,3,4,5,

3、6);B、int a 2 口=1, 2, 3, 4, 5, 6);C、int a 3 =1,2, 3, 4, 5,6);D、int a2, 3=1, 2,3,4,5,6;明 int a3H4;那么对数组元素引用正确的选项是一C_A、a 2 4B、al, 3C、a 2 OD、a 详见教材P150,数组元素的引用数组名下标下标引用数组元素时,中的下标为逻辑地址下标,只能为整 数,可以为变量,且从0开始计数第一个下标表示行逻辑地址下标,第二个下标表示列逻 辑地址下标。此题图示详见P149图6. 7因此a的行逻辑地址范围0N2 ; a的列逻辑地址范围0N3 ;选项A,列逻辑地址下标超过范围选项B,D,

4、的引用形式不正确。S C语言中函数返回值的类型是由A决定的.A、函数定义时指定的类型B、 ret urn语句中 的表达式类型C、调用该函数时的实参的数据类型D、形参的数据类型25 在C语言中,函数的数据类型是指(A)A、函数返回值的数据类型B、函数形参的数据类型C、调用该函数时的实参的数据类型D、任意指定的数据类型土 趣数调用时,以下说法正确的选项是(B )A、函数调用后必须带回返回值B、实际参数和形式参数可以同名C、函数 间的数据传递不可以使用全局变量D、主调函数和被调函数总是在同一个文件里28.在C语言中,表示静态存储类别的关键字是:(C )a ut oreg i sterC、st at

5、icD extern.未指定存储类别的变量,其隐含的存储类别为(A ) oA、a ut oB、stat icC、externD register.假设有以下说明语句:struct student int num;char name;float score; stu;那么下面的表达不正确的选项是:(D )A、struct是结构体类型的关键字B、 struct student是用户定义的结构体类型C、num, score都是结构体成员名D、 stu是用户定义的结构体类型名.假设有以下说明语句:struct date int year;int month;int day;jbrithday;那么下面

6、的.表达不正确的选项是C .A、struct是声明结构体类型时用的关键字struct dat e是用户定义的结构体类型名brithday是用户定义的结构体类型名D、year,day都是结构体成员名.以下对结构变量stul中成员age的非法引用是B struct student int age;int num; stul, *P;p=&stul;A、 s t ul. ageB、s t ude nt. agep-) ageD、(* p). age.设有如下定义: struck sk int a;float b;data;int *p;假设要使P指向data中的a域,正确的赋值语句是Cp=&a ;p

7、=dat A、a ;C p=&dat A a;D *p=datA、a;.设有以下说明语句: typedef struct stu int a;float b; stutype;那么下面表达中错误的选项是(D )oA、struct是结构类型的关键字B、struct st u是用户定义的结构类型C、a和b都是结构成员名D s t ut ype是用户定义的结构体变量名.语句int *P;说明了 C。A、p是指向一维数组的指针B、p是指向函数的指针,该函数返回一 int型数据C、p是指向int型数据的指针/ /指针的定义教材P223D、p是函数名,该函数返回一指向int型数据的指针.以下不正确的定义是

8、( 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,贝!J以下非法的赋值语 句是:(D)A、p= q*p=*qn=*qD、p=n p,q同为整型指针变量,二者里面仅能存放整型变量的地 址。选项A, q中为地址

9、,因此可将此地址赋给p选项B, *P表示p所指向对象n的内容,即一个整数;*4表 示q所指向对象的内容,由于在定义q时为其初始化,将p中n 的地址给q,因此p中存放n的地址,*q表示q所指向对象n 的内容因此*p=*q相当于n=n;选项C, n=*q等价于n=n;选项D, P中只能存放地址,不能将n中的整数值赋给p.有吾句:int a10,;那么B是 对指针变量p的正确定义 和初始化。A 1廿一p /一,卜*pII呢.选项A, a是数 组名,不是指针变量名,因此不可用大标注数 组名a选项C, a是数 组名,数组名就是地址,无需再用地址符号。 而且在定义指针变量p时,应在变量名前加大标明p是指针

10、变 量选项D, a是数 组名,数组名就是地址,无需再用地址符号。.假设有说明语句“int a5/p=a;z,那么对数组元素的正确引用是(C)。A、apB、paC、* (p+2)D、p+2首先定义一个整型数组a, a的长度为5 ,然后定义一个指 针变量P,并同时对p进行初始化,将数组a的地址赋给Po因 此此时p中存放的数组a的首地址,即数组中第一个元素aO 的地址。对于数组元素下标的引用(详见pl44), 一般形式 数组名下标其中下标为逻辑地址下标,从0开始计数,方括号中的 下标可以是变量,可以是表达式,但结果一定要是整数。选项A, P中存放的是地址,不是整数,不能做数组元素的 下标选项B, a

11、是数组名,数组名就是地址,不是整数,不能做 数组元素的下标选项C,(重点! !详!见p23 ll(Y234) p+2表示指向同一数组中 的下两个元素的地址,当前p指向a O,那么p+2表示a 2的地 址,因此* p+2)表示a2的内容.有如下程序int a10=l, 2,3,4,5, 6, 7,8,9, 10,*P=a;那么数值为9的表达式是BA、 * P+9B、* (P+8)C、* P+=9D、P+8(重点!! !详见p23 T234)首先定义一个整型数组a, a的长度为5 ,然后定义一个指 针变量P,并同时对P进行初始化,将数组a的地址赋给Po因 此此时P中存放的数组a的首地址,即数组中第

12、一个元素a0 的地址。数组中9对应的是a 8,选项B, P+8表示数组中后8个元 素的地址,即a 8的地址。*P+8)那么表示该地址内所存放的内 容,即a8的值。选项A, *P表示P所指向对象的内容,此时P指向a0, *P 即 a0的值 1. *P+9=l+9=10选项C, *P表示P所指向对象的内容,此时P指向a0, *P 即aO的值。因止匕*1=9即*P=*P+9,等价于aO=aO+9.选项D, P+8表示数组中后8个元素的地址,即a 8的地址, 而非a 8中的值。.在C语言中,以D作为字符串结束标志A、,B、,C、 0D、 0.以下数据中属于“字符串常量”的是(A ) oA、“a”B、A

13、BCC、vabc OD、a假设干个字符构成字符串在C语言中,用单引号标识字符;用双引号标识字符串选项B, C,分别用)和标识字符串选项D,标识字符。. char x =,.hello, y 口 = 那么关于两个数组长度的正确描述是B .A、相同B、x大于yC、X小于yD、以上答案都不对C语言中,字符串后面需要一个结束标志位,通常系统 会自动添加。对一维数组初始化时可采用字符串的形式(例如此题数组 x),也 可采用字符集合的形式(例如此题数组y)。在以字符串形 式初始化时,数组x不尽要存储字符串中的字符,还要存储字符 串后的结束标志位,因此数组x的长度为6;在以字符集合形式 初始化时,数组Y,仅

14、存储集合中的元素,因此数组y长度为5D、C程序从main函数开始执行以下正确的标识符是(C)oA、- alB、aiC、a2_iD、i nt t58题为相同类型题考点:标识符的命名规那么只能由字母、数字、下划线构成数字不能作为标识符的开头关键字不能作为标识符选项A中的“-”,选项B中“与不满足;选项 D中的int为关键字,不满足(3)以下C语言用户标识符中合法的是(B)。A、3axB、xC、caseD、- e2 E)union选项A中的标识符以数字开头不满足(2);选项C, E均为为 关键字,不满足(3);选项D中的”不满足(1);行U四组选项中,正确的C语言标识符是(C )。A、 %x计算机二

15、级C语言测试题及答案解析21、设一棵满二叉树共有15个结点,那么在该满二叉树中的叶子 结点数为()。A. 7 B.8 C.9 D.10参考答案:B参考解析:在具有n个结点的满二叉树,其非叶子结点数为i nt (n/ 2),而叶子结点数等于总结点数减去非叶子结点数。此题 n=15,故非叶子结点数等于int (15/2) =7,叶子结点数等于15-7=8 o2、数据流图用于抽象描述一个软件的逻辑模型,数据流图 由一些特定的图符构成。以下图符名标识的图符不属于数据流 图合法图符的是()。A.控 制流B.加 工C.存储文件D.源和潭参考答案:A参考解析:数据流图用于抽象描述一个软件的逻辑模型,它 由一

16、些特定的图符构成,包括4个方面,即加工、数 据流、存储 文件、源和潭。3、对关系S和R进行集合运算,结果中既包含S中的所有 元组也包含R中的所有元组,这样的集合运算称为()。A.并运算B.交运算C.差运算D.积运算参考答案:A参考解析:关系的并运算是指由结构相同的两个关系合并,形成一个新的关系,新关系中包含两个关系中的所有元组。4、以下方法中,属于白盒法设计测试用例的方法的是 OoA.错误推测B.因果图C.基本路径测试D.边界值分析参考答案:C参考解析:白盒测试方法也称为结构测试或逻辑测试,主要 方法有逻辑覆盖测试、基本路径测试等。5、设R是一个2元关系,有3个元组,S是一个3元关系, 有3个

17、元组。如T=RX S,那么T的元组的个数为()。A.6 B. 8 C.9 D.12参考答案:C参考解析:R为n元关系,有P个元组S为n元关系,有q 个元组。两个关系笛卡儿积是一个n+m元的关系,元组个数是 qXpo所以T的元组的个数为9个。6、在数据库系统 中,数据库 用户能够看见和使用的局部数据 的逻辑结构和特征的描述是()oA.外模式B.逻辑模式C.概念模式D.物理模式参考答案:A参考解析:外模式也称子模式,它是数据库用户(包括应用 程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特 征的描述,它是由概念模式推导出来的,是数据库用户的数据视 图,是与某一应用有关的数据的逻辑表示。个概

18、念模式可以有 假设干个外模式。7、数据管理技术开展的三个阶段中,()没有专门的软件对数据进行管理。.人工管理阶段.文件系统阶段III .数据库阶段A.仅 I B.仅 Ill C. I 和 11 D. 11 和 111参考答案:A参考解析:数据管理技术开展的兰个阶段中,只有人工管理 阶段,没有操作系统,没有管理数据的软件,数据处理方式是 批处理。在文件系统阶段,操作系统中已经有了专门数据管理软 件,一般称为文件系统。在数据库系统阶段,出现了统一管理数 据的专门软件系统,即数据库管理系统。8、数据库系统的核心是()。A.数据模型B.软件开发C.数据库设计D.数据库管理系统参考答案:D参考解析:数据

19、库管理系统DBMS是数据库獭的核心。DBMS 是负责数据库的建立、使用和维护的软件。DBMS建立在操作系 统之上,实施对数据库的统一管理和控制。用户使用的各种数据 库命令以及应用程序的执行,最终都必须通过DBMS。另外,DBMS 还承当着数据库的平安保护工作,按照DBA所规定的要求,保证 数据库的完整性和平安性。9、以下表达正确的选项是()。A变量的作用域取决于变量定义语句的位置B全局变量可以在函数以外的任何部位进行定义C.局部 变量的作用域 可用于其他函数的调用D. 一个变量说明为st at ic存储类型是为了限制其他编译单 元的引用参考答案:D参考解析:此题考查函数调用的变量作用域。全局变

20、量不在 任何函数俸内定义,作用域为整个文件i局部 变量在函数体内定 义,作 用域仅为本次函数;st at ic类型是静态变量,为了方便其 他编译单元的引用,不能随意改变。一个函数包含两局部:函数 首和函数体,函数体包括花括号内的所有语句。10、以下选项中,不属于数据管理员(DBA)职责的是()。A.数据库维护B.数据库设计C.改善系统性能,提高系统效率D.数据类型转换参考答案:D参考解析:数据库管理员(Dat aBaseAdmi n i strator, OBA) 是指对数据库的规划、设计、维护、监视等的人员,其主要工作 如下:数据库设计。DBA的主要任务之一是数据库设计,具体地 说是进行数据

21、模式的设计。.数据库维护。DBA必须对数据库中的数据平安性、完整性、 并发控制及系统恢复、数据定期转储等进行实施与维护。改善系统性能,提高系统效率。DBA必须随时监视数据库 的运行状态,不断调整内部结构,使系统保持最正确状态与效率。计算机二级C语言测试题及答案解析3#include stdio.hmain 0char c;c=get);whi I e(c !=?) putc) ;c=get) ; )如果从键盘输入abode?f gh (叵车)运行结果为:abc de#includemain() char c;whi le(c=get) !=,$,) if(,A,=c&c=,Z)putc);el

22、se if (,a=c&c=z,)putc-32) ;当输入为ab*AB%cd#C国时,运行结果为:ABABCDCD#includemain 0 int x, y =O;for(x= 1 ;x= 10;x+) if (y)=w)break;y=y+x;hpr i nt f (%d %d, y, x);)运行结果为:10 5详 见教材pl20for语句详 见教材 pl26128 break, cont inue 语 句for (表达式1;表达式2;表达式3)先求解表达式1(2)求解表达式2,假设其值为真,执行循环体,然后执行(3).假设为假,那么结束循环,转到(5)求解表达式3(4)转回上面(2

23、)继续执行(5)循环结束,执行for语句下面的一个语句break ,跳出循环体;continue,结束本次循环 第i次循 环),继续执行下一次循环 第i+1次循环)此题表达式1为x=l,表达式2(循环条件)为xv=10,表达 式3为x+初值x为1, y为0,循环条件(即表达式2)x= 10成立,进 入循环体第1次循环执行if语句。小于10, if语句的条件表达式不成立,不 执行break;执行 y=y+x; y=0+1=1转向表达式3,执行x+, x=x+l=l+l=2。循环条件x=10成 立,进入第2次循环第2次循环执行if语句。1小于10, if语句的条件表达式不成立,不 执行break;

24、执行 y=y+x;. y=l+2=3转向表达式3,执行x+, x=x+l=2+l=3。循环条件x=10成 立,进入第3次循环第3次循环执行if语句。3小于10, if语句的条件表达式不成立,不执行break;执行 y=y+x; y=3+3=6转向表达式3,执行x+, x=x+l=3+l=4o循环条件x=10成 立,进入第4次循环第4次循环执行if语句。6小于10, if语句的条件表达式不成立,不 执行break;执行 y=y+x;. y=6+4=10转向表达式3,执行x+, x=x+l=4+l=5o循环条件x=10成立,进入第5次循环第5次循环执行if语句。10等于10, if语句的条件表达式

25、成立,执 行break,跳出循环。从break跳出至for语句的下一条语句。执行 pr int f (%d %d, y, x);输出当前的y与x.结果为10 5#includemain ()char ch;ch=get);switch (ch) caseA: printfC%c”A);casefBf: printf(ff%cff/Bf); break;default: printf (%s , other); )当从键盘输入字母A时,运行结果为:AB详见教材pl03, swi t c h语句sw it ch (表达式) case常量1 :语句1 TOC o 1-5 h z case常量2 :语

26、句2 I IIIII”,期一”不满足(1);选项C中的whi Ie为关键字,不满足(3)C语言中的简单数据类型包括(D) oA、整型、实型、逻辑型B、整型、实型、逻辑型、字符型C、整型、字符型、逻辑型D、整型、实型、字符型在二语言程序中,表达式5%2的结果是C。A、2.5B、2C、1输出变量b,结果为10#includemainO_ c ha r grade=*C;switch(grade)caseA: printf (n90-100 ”);case B1: printf (80-90 ”);case。: printf (n70-80 ”);case,D,: printf(n60-70 );

27、break;caseE: printf (n0,表达式 3 为 y-初值y为9,循环条件(艮衰达式2)y0成立,进入循环体第1次循环执行i f语句。9%3 = 0, if语句的条件表达式成立,执行pr i nt f (%d- y),即y先自减1变为8,然后在输出,因此屏幕上输出8转向表达式3,执行y-, y=y-l=8-l=7。循环条件y0成立, 进入第2次循环第2次循环执行i f语句。7 %3不为0 , i f语句的条件表达式不成立, 不执行 pr int f (%d n, - -y)转向表达式3,执行y- , y=y-l=7-l=6o循环条件y0成立, 进入第3次循环第3次循环执行i f语

28、句。6 %3= 0 , i f语句的条件表达式成立,执行pr i ntf (%d, - - y),即y先自减1变为5 ,然后在输出,因此屏幕 上输出5转向表达式3,执行y- , y=y-l=5-l=4o循环条件y0成立, 进入第4次循环第4次循环执行i f语句。4 %3不为0 , i f语句的条件表达式不成立, 不执行 pr int f (%d , - -y)转向表达式3,执行-, y=4-l=3o循环条件y0成立,进 入第5次循环第5次循环执行i f语句。3%3= 0 , if语句的条件表达式成立,执行pr i nt f (%d, - . - y),即y先自减1变为2,然后在输出,因此屏幕

29、上输出2转向表达式3,执行y- -, y=y-1 =2-1=1。循环条件y0成立, 进入第5次循环第6次循环执行i f语句。1 %3不为0 , i f语句的条件表达式不成立, 不执行 pr int f (%d, - -y)转向表达式3,执行y,y=1- 1=0 o循环条件y0不成立, 循环结束。#includemainO int i, sum=O; i =1;do sum=sum+i ; i +; whi le(i =10);pr i ntf (%d, sum);)运行结果为:55#include#define N 4mainO int i;int xl=l,x2=2;pr i ntf ();

30、for (i =1; i=N; i+) printf (-4d%4d, xl,x2);if (i%2=0)printf();xl=xl+x2;x2=x2+xl;运行结果为:12 3 58 132134此题 首先为整型 变量赋初值xl=l,x2=2表达式1为i = l,表达式2(循环条件)为i=N即i=4,表达式3为i+循环变量初值i为1,循环条件(即表达式2)i=4成立,进 入第1次循环第1次循环执行pr intf (%4d%4d, xl,x2);因此屏幕上输出12执行if语句。1%2不为0, if语句的条件表达式不成立,不执行 pr intf (11 11);执行x1=x1+x2=1+2子3

31、t匕时x1中的值已变为3执行 x2=x2+x1 =2+3=(5转向表达式3,执行i+, i为2。循环条件iv=4成立,进入 第2次循环第2次循环执行phntf (11%4d %4d, x1,x2);因此屏幕上输出35执行if语句。2%2=0, if语句的条件表达式成立,执行 pr i ntf ( );换行执行x1=x1+x2=3+5三毗时x1中的值已变为8执彳丁 x2=x2+x1 =5+8=1 o3转向表达式3,执行i+, i为3o循环条件iv=4成立,进入第3次循环第3次循环执行printf (%4d %4d,x1,x2);因此屏幕上输出813执行if语句。3%2不为0, if语句的条件表达

32、式不成立, 不执行 pr i ntf ();执行x1=x1+x2=8+13=2此时x1中的值已变为21执行 x2=x2+x1 =21+13=34转向表达式3,执行i+, i为4。循环条件iv=4成立,进入 第4次循环第2次循环执行printf (%4d%4d, xl,x2);因此屏幕上输出2134执行if语句。4%2= 0, if语句的条件表达式成立,执行 pr i ntf ( );换行执行xl=xl+x2=21+3=55;止匕时xl中的值已变为55执行 x2=x2+x 1=34+55=89转向表达式3,执行i+, i为5。循环条件i=4不成立,结 束循环10#includemain ()i

33、ntx, y;for(x=30, y=O; x)=10, y(10; x-, y+)x/=2, y+=2;pr i ntf (x=%d, y=%d , x, y);运行结果为:x=O,y=12 11.#include#define N 4main () inti, j;for(i=l; i=N; i+) for (j=l; j printf ();pr i ntf (*);pr i ntf ();)运行结果为:*详见教材P41符号常量用宏处理指令定义符号常量N为4,在编译过程中,遇到N 即视为整数4o外层for循环,表达式1为i=1,表达式2 (循环条件)为i=N, 表达式3为i+内层for循

34、环,表达式1为j = l,表达式2(循环条件)为j首先计算外层循环的表达式1, i为1使得循环条件i=4成立,进入外层for循环体外层for循环第1次此时i为1内层循环户1,使得循环条件j执行printf (”*);执行print f ()换行至此外层循环体执行完,计算外层循环的表达式3, i+,此时i为2.使得循环条件iv=4 成立,再次进入外层for循环体外层for循环第2次此时i为2内层循环j=1,使得循环条件j 第1次执行内层循环体 pr intf ();执行内层循环表达式3, j廿为2, j 执行printf (”*);执行printf )换行至此外层循环体执行完,计算外层循环的表达

35、式3, i+,此时i为3.使得循环条件i=4成立,进入外层for循环体外层for循环第3次此时i为3内层循环j=1,使得循环条件j 第1次执行内层循环体 pr i ntf (.);执行内层循环表达式3, j+为2, j 第2次执行内层循环 体 pr i ntf ();执行内层循环表达式3, j廿为3, j 执行printf (”*”);执行pr int f )换行至此外层循环体执行完,计算外层循环的表达式3, i+,此时i为4.使得循环条件i=4成立,进入外层for循环体外层for循环第4次此时i为4内层循环j=1,使得循环条件j 第1次执行内层循环体执行内层循环表达式3, j+为2, j 第

36、2次执行内层循环 体 pr i ntf ();执行内层循环表达式3, j+为3, j 第3次执行内层循环 体 pr i nt f (11 11);执行内层循环表达式3, j廿为4, j 执行pr i ntf (”*);执行print f( );换行至此外层循环体执行完,计算外层循环的表达式3, i+,此时i为5.使得循环条件i=4不成立,跳出外层for循环体计算机二级C语言测试题及答案解析4选择题(7分,每题0. 5分).C语言源程序的基本单位是()0A过程B函数C子程序D标识符. 程序的输出结果是()omain () int a=7,b=5;pr i ntf (%d , b=b/a);A 5

37、 B 1 COD不确定值3.假设变量 a, b 均为整型,表达式(a=5, b=2, a) b?a+: b+, a+b)的值是()。D、3%为求余运算符,该运算符只能对整型数据进行运算。且符号与被模数相同。5%2=1; 5%(-2)=1; (-5)%2=-1 ; (-5)%(-2)=-1;/为求商运算符,该运算符能够对整型、字符、浮点等类型 的数据进行运算,5/2=211.女噪int a=3,b=4;那么条件表达式aA 3B、4C、0D、1详见教材P97.表达式V表达式2:表达式3先计算表达式1,假设表达式1成立, 那么选择计算表达式2,并表达式2的值 作为整个大表达式的值;假设表达式1不成立

38、,那么选择计算表达式3,并将表达式3的 值作为整个大表达式的值此题中的aa为3, b为4。a12.假设int x=2,y=3,z=4贝ij表达 式xA、4B、3C、2D、0. Mint型变量,执行以下赋值语句后,a的取值分别 是()。a=125.534; a=(int)l25.521 %4; a=52;A 125,31, 1 B 125, 1,20 C 125,31,20 D 125.534,2,20.设有如下程序段,下面描述中正确的选项是()。int k=10; while(k=O) k=k-l;A循环执行一次B循环是无限循环C循环体语句一次也不 执行D循环体语句执行一次.以下程序的输出结果

39、为()。int i ;void prt () for(i=5; i(8; i+) printf(”cpri ntf ( ”);main () for (i =5; i =8; i+)prt ();)A* b * * * c *d.在语言程序中,以下说法正确的选项是()。A函数的定义可以嵌套,但函数的调用不可以嵌套B函数的定义不可以嵌套,但函数的 调用可以嵌套C函数的定义和函数的调用都不可以嵌套D函数的定义和函数的调用都可以嵌套.以下函数调用语句中含有()个实参。func(el, e2), (e3,e4, e5);A2B3c5D语法错误.以下程序的输出结果为()。#define ADD(x) x

40、*xmain () int a=4,b=6,c=7,d=ADD(a+b)*c;pr intf (d=%d, d);)A d=70 B d=80 C d=140 D d=700.职工记录描述如下,在TurboC中,系统为变量w 分配()字节的空间。struct worker int no;char name 20;char sex;union int day; int month; int year;birth; w;A 29 B 20 C 25 D 6 n .设有以下定义,值为5的枚举常量是()。 enum weeksun, mon=4, tue, wed, thu, fri, sat w;A

41、 tue B sat C fr i D t hu.下面选项中正确的赋值语句是(设 char a 5, *p=a;)()。A p=abcd; B a=abcd; C *p=abcd”; D *a=abcd”;.设有以下程序段,那么值为6的表达式是()。struct st int n; struct st *next;static struct st a3=5,&al,7,&a2,9,0, *p;p=&aO;A p+-)n B +p-)n C p-)n+D(*p).n+. C语言中的文件类型只有()oA索引文件和文本文件两种B文本文件一种C二进制文件一种D ASCII码文件和二进制文件两种二判断对

42、错,对的划,错的划“X”(5分,每题 0. 5 分)1.在Turbo C中,整型数据在内存中占2个字节。(). int i=20;switch(i/10) case 2:printf(A) ;case l:pri ntf (B); 的输出结果为 Ao (). break语句用在循环体中,可结束本层循环,cont inue 语句用在循环体中,可结束本次循环。().函数的递归调用不过是一个函数直接或间接地调用它自身。().函数strlen(”ASDFG )的值是 7。().通过ret urn语句,函数可以带回一个或一个以上的返回 值。0.结构体类型只有一种。(). char *p=girl;的含

43、义是定义字符型指针变量P, p的值 是字符串“girl。().假设有定义:char *p(char a10);那么p是函数名。().用 f open (Ilf ilell, llr+11); 开的 I 件file”可以进行修 改。()三 写出以下程序的运行结果(10分,每题2分)float average (float array 10) int i;float aver,sum二array O;for (i =1 ; i 10; i+)sum=sum+ar ray i;aver=sum/10;return (a ver);main ()/floatscorelO = 89, 67.5, 78

44、,91,56,82.5, 65,70, 79,88, aver;int i;aver=average (score);pri ntf. (naverage score is %5.2f 二 aver);)main () chara5 = ,A;B,O,E,,*p=a,*pa;for (p=0; pa+S; p+)pr intf (n%2cn, *p);pri ntf ();pr intf (%2c ,社 a=&p);main () int a,b,s=O;for(a= 1 ,b= 1 ;a=20) break;if (b%3=l) b+=3; continue; b-=5;)pri ntf (

45、a=%d b=%d , a, b);.main() printf(nmain():%d Tfact(S);fact(-5);) fact (int va lue) int f;if (va I ueO) printf(nArg error);return (-1);else if(value=l llvalue=O) f=l;else f=value*fact(value-1)+1;printf (This called value=%d ,f);return f;. main () int a=012,b=Ox 12,k= 12;char c=02 ,d=::printf (a=%d b=%

46、d k=%d , a, b, k);pr i ntf (c=%c, d=%c%o , c, d, a);a=A; c=49;pr i ntf (a=%d c=%c , a, c);四 阅读以下程序,在处填入适当内容,使程 序完整(8分,每个空1分).有一个3*4矩阵,求其中的最大元素。max value(1) i nt i, j, max;max=array O O;for (i=O; i3;i+)for (j=O; jmax)max=array i j;(2);main () int a 3 4, 二for (i=O; i3; i+)for (j=O; j(4;j+)(3);printf(n

47、max value is %d n,max_value(a);).徐x、y两个整数,按先大后小的顺序输出X、y。#incIude stdio. h” main () int x, y, *px,*PY, (4);scanf (%d%d, &x,&y);(5) ; (6);if (xy) p=,H,) p=px; px=py; py=p; pr i ntf (x=%d, y=%d , x, y);pr i ntf (MAX=%d,MIN=%d , *px, *py);3.用选择排序法对任意10个整数按照由小到大排序。main 0 intall,i,j,k, t;printf(nPlease in

48、put 10 numbers: );for (i =1; i 11; i +) scanf (%d, &a i);pr i ntf ();for (i =1 ; i a k) k=j;if(k! = i) t=a k ; ak=ai ; a i =t;pr intf (nThe sorted numbers:);for(i=l;ill;i+) printf(n%d n,ai);答案一选择题(7分,每题0.5分)1. B 2. C 3. B 4. B 5. C6. A 7. B 8. A 9. A 10. C11. A 12. A 13. B 14. D二判断对错,对的划J ,错的划“X”(5分

49、,每题 0.5 分)1. X 2. X 3. .J. 4.J 5.X6.X 7. X 8.X 9. .J 1O.J三写出以下程序的运行结果(10分,每题2分)1. 2. 3.5.四阅读以下程序,在处填入适当内容,使程序完整(8分, 每个空1分)(l)int array3 4 (int array 4) (2)return(max) (3)scanf(n%du,&ai j)修P(郸二&x (py=&y)(6) py=&y (px=&x)(7) (8)2003C语言试题3-选择题(24分,每题2分).函数f read的调用形式为f read (buf f er, si, ze, count, fp

50、),其中 buffer 代表的是()。A存放读入数据项的存储区B存放读入数据的地址或指向 此地址的指针C 一个指向所读文件的文件指针D 一个整形变量,代表要 读入的数据项总数.以下程序的输出结果为()omain () int i=010, j=10;pr i ntf (%d,%d , i+, j-);)A 11,9 B 9, 10 C 8, 10 D 9,9.设a为int型变量,执行以下赋值语句后,a的取值分别 是()。a= 125. 5 34; a=20. 0/ 3 ; a= (i nt) 125. 521 %4; a =52 ;A 125,6, 31, 1 B 125, 6, 1, 20

51、C 125, 6. 666666,31, 20 D125.534,6.666666,2,20.设和K都是int类型,贝U for循环语句()。for (i=O, k=-l ;k=l; i+, k+) printf(* );A循 环结束的条件不合法B循环体一次也不执行C循环 体只执行一次D是无限循环.以下程序的输出结果为()。main () cha r. c;E)113. C语言中,关系表达式和逻辑表达式的值是(B )。A、0B、0 或 11或F14.下面(D )表达式的值为4.、 11/3、 11.0/3、 (f I oat) 11/3(int) (11.0/3+0.5)1416题为同一类型详

52、见教材P5456.相同数据类型的元素进行数学运算6、-、*/)倒结果还保持原数据类型。(2)不同数据类型的元素进行数学运算,先要 统一数据类型, 统一的标准是低精度类型转换为高精度的数据类型。选项A, 11与3为两个整数,11/3结果的数据类型也应为 整数,因此将3. 666666的小数局部全部舍掉,仅保存整数,因 此 11/3=3.选项B, 11. 0为实数,3为整数,因此首先要统一数据类型,将整型数据3转换为3.0,转换后数据 类型统一为实型数据,选int i;for (i =65; i (68;i+) c=i+32;switch (c) casea:caseb:casec:printf(

53、%c, ;c) ;break; default:printf(,end,*) ;A a,b,c,end B a,a,a,end C a,a,a, D a,b,c,函徼调用语句:f s e e k (fp, -10L, 2);的含义是()。A将文件 位 置指针从文件末尾处向文件头的方向移动10个 字节B将文件位置指针从当前位置向文件头的方向移动10个字 节 /C将文件位置指针从当前位置向文件末尾方向移动10个字 /D将文件位置指针移到距离文件头10个字节处以下程序的输出结果为()。main () char si 40=ncountryn, s220=nsiden;int i=O,j=O;wh i

54、le (s 1 i != O)i+-h:whi le(s2j !=O)sli+ = s2j +;si i=O;print f (ll%s 11,si);A side B country C si de try D countryside以下说法不正确的选项是()。A主函数ma in中定义的变量在整个文件或程序中有效B不同函数中,可以使用相同名字的变量C形式参数是局部变量D在一个函数内部,可以在复合语句中定义变量,这些变量 只在本复合语句中有效在以下程序段中,枚举变量cl的.值是()。enum color red,yel low,blue=4,green,whitecl; cl=yel low;

55、 cl=white;A 1 B 3 C 5 D 6.设有说明int (*ptr) 0 ;其中标识符pt r是()。A是一个指向整形变量的指针B是一个指针,它指向一个 函数值是int的函数C是一个函数名D定义不合法.定义由n个指向整形数据的指针组成的数组p,其正确的 方式为()OA int p; B int (*p) n ; C int *P n ; D int (*p)();.具有相同类型的指针类型变量p与数组a,不能进行的操作是O OA p=a; B *p=aO; C p=&aO; D p=&a;二判断对错,对的戈ij J,错的戈I “X” (20分,每小 题2分).参加位运算的数据可以是任

56、何类型的数据。().假设 有定义和语句:int a;char c;float f;scanf (%d,%c,%f,&a,&c,&f);假设通过键盘输入:10, A,12. 5, 贝ij a = 10, c= A , f =12.5。(). C语言把文件看作是一个字符(字节)的序列。().假设有宏定义:#define S(a,b) t=a;a=b;b=t 由 于变量 t 没定义,所以此宏定义是错误的。().在Turbo C中,下面的定义和语句是合法的:file *fp;fp=fopen (a. txt n, nr );().假设有定义:c har s =china;那么Turbo C系统为数组s

57、 开辟6个字节的内存单元。().假设 有 定 义 和 语 句: inta 3 3 =3,5, 8,9, 12, 35, i, sum=O ; for (i =0; i 3; i+) sum+=ai 2- i ;贝ij s um=21 o ().假设有定义和语句:str uct student int num; char name10 ;floatscore; s5=1, “lili”,98.5, 9,nxiaohuan,66,*p=s;printf(H% d”,*PH);端出结果是lo ().在程序中定义了一个结构体 类型后,可以屡次 用它来定义 具有该类型的变量。().在Turbo C中,此

58、定义和语句是合法的:e num aa a=5, b, c bb; bb二(enum aa) 5;()三 写出以下程序的运行结果(36分,每题6分). main() int i=29,j=6,k=2,s;s=i+i/j%k-9;printf (ns=%d , s);. main () int x=31,y=2,s=O;do s-=x*y;x+=2;y-=3; wh i Ie (x%3=0);pr i ntf (x=%d y=%d s=%d , x, y, s);. main () int a 6 =10, 20, 30, 40,50, 60, i;invert (a,0,5);for(i=O;

59、i6; i+) printf(H%d/ai);print f(n n);invert(int sintiintj) intt;if(ij) invert (s, i+1 j-1);t=si ;si=sj ;sj =t;.#includemain 0 char str = The C program”, c;int i;for (i=2; (c=str i) !=O;i+) switch (c) case ,g : +i; break;6 ,case ”07 : continue;default: printf(M%c,c); continue;Qprint f ;)printf (n n);r

60、. struct w char low;char high;unlonu struct w byte;short word;uw;main () int resu It;uw.word=Oxl234;pr intf (word value: %04x uw. word);pr i ntf (high byte:%02x , uw. byte, high);pr i ntf ( low byte:%0 2x. , uw. byte. I ow);uw上yte. low=Ox74;pr intf (nword value: %04x uw. word);result=uw.word+Ox2a34;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论