《2021计算机二级C语言测试题库及答案解析.docx》由会员分享,可在线阅读,更多相关《2021计算机二级C语言测试题库及答案解析.docx(43页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2021计算机二级C语言测试题库及答案解析计算机二级C语言测试题及答案解析11 . (A)是构成C语 言程序的基本单位。A、函数B、过程C、子程序D、子例程2 .C语言程序从C开始执行。A、 程序中第一条可执行语句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语言不区分大小写。B、 C程序的三种基本结构是顺序、选择、循环23对二维数组的正确定义是(C )详见教材P149N152,二维数组的定义、初始化类型符数组名常量表达式常量表达式二维数组可以看做是矩阵类型符是指数组中数组元素的类型;数组名要符合标识符命 名规那么;第一个常量表达式是指数组的行数;第二个常量表达式 是指数组的列数;常量表达式的值只能是整数,不可以是变量, 而且从1开始计数。一维数组初始化时可以省略数组长度二维数组初始化时可以省略行数,但不能省略列数选项A,B,都省略了列数选项D,不符合二维数组定义的一般形式,行、列常量表达 式应该放在不同的口中A、int a =
3、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 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,列逻辑地址下标
4、超过范围选项B,D,的引用形式不正确。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 oA、 reg i
5、 sterC、st at icD extern.未指定存储类别的变量,其隐含的存储类别为(A ) oA、a ut oB、stat icC、externD register29 .假设有以下说明语句:struct student int num;char name;float score; stu;那么下面的表达不正确的选项是:(D )A、struct是结构体类型的关键字B、 struct student是用户定义的结构体类型C、num, score都是结构体成员名D、 stu是用户定义的结构体类型名30 .假设有以下说明语句:struct date int year;int month;int
6、 day;jbrithday;那么下面的.表达不正确的选项是C .A、struct是声明结构体类型时用的关键字struct dat e是用户定义的结构体类型名B、 brithday是用户定义的结构体类型名D、year,day都是结构体成员名31 .以下对结构变量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指向
7、data中的a域,正确的赋值语句是Cp=&a ;A、 p=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是用户定义的结构体变量名33 .语句int *P;说明了 C。A、p是指向一维数组的指针B、p是指向函数的指针,该函数返回一 int型数据C、p是指向int型数据的指针/ /指针的定义教材P223D、p是
8、函数名,该函数返回一指向int型数据的指针34 .以下不正确的定义是( 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= qB、 *p=*qn=*qD、p=n p,
9、q同为整型指针变量,二者里面仅能存放整型变量的地 址。选项A, q中为地址,因此可将此地址赋给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中的整数值赋给p38 .有吾句:int a10,;那么B是 对指针变量p的正确定义 和初始化。A 1廿一p /一,卜*pII呢.选项A, a是数 组名,不是指针变量名,因此不可用大标注数 组名a选项C, a是数 组名,数组名就
10、是地址,无需再用地址符号。 而且在定义指针变量p时,应在变量名前加大标明p是指针变 量选项D, a是数 组名,数组名就是地址,无需再用地址符号。39 .假设有说明语句“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开始计数,方括号中的 下标可以是变量,可以是表达式,但结果
11、一定要是整数。选项A, P中存放的是地址,不是整数,不能做数组元素的 下标选项B, a是数组名,数组名就是地址,不是整数,不能做 数组元素的下标选项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,并同
12、时对P进行初始化,将数组a的地址赋给Po因 此此时P中存放的数组a的首地址,即数组中第一个元素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中的值。40 .在C语言中,以D作为字符串结束标
13、志A、,B、,C、 0D、 0.以下数据中属于“字符串常量”的是(A ) oA、“a”B、ABCC、vabc OD、a假设干个字符构成字符串在C语言中,用单引号标识字符;用双引号标识字符串选项B, C,分别用)和标识字符串选项D,标识字符。41 . char x =,.hello, y 口 = 那么关于两个数组长度的正确描述是B .A、相同B、x大于yC、X小于yD、以上答案都不对C语言中,字符串后面需要一个结束标志位,通常系统 会自动添加。对一维数组初始化时可采用字符串的形式(例如此题数组 x),也 可采用字符集合的形式(例如此题数组y)。在以字符串形 式初始化时,数组x不尽要存储字符串中的
14、字符,还要存储字符 串后的结束标志位,因此数组x的长度为6;在以字符集合形式 初始化时,数组Y,仅存储集合中的元素,因此数组y长度为5D、C程序从main函数开始执行42 以下正确的标识符是(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均为为 关键字,
15、不满足(3);选项D中的”不满足(1);行U四组选项中,正确的C语言标识符是(C )。A、 %x计算机二级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.控 制
16、流B.加 工C.存储文件D.源和潭参考答案:A参考解析:数据流图用于抽象描述一个软件的逻辑模型,它 由一些特定的图符构成,包括4个方面,即加工、数 据流、存储 文件、源和潭。3、对关系S和R进行集合运算,结果中既包含S中的所有 元组也包含R中的所有元组,这样的集合运算称为()。A.并运算B.交运算C.差运算D.积运算参考答案:A参考解析:关系的并运算是指由结构相同的两个关系合并,形成一个新的关系,新关系中包含两个关系中的所有元组。4、以下方法中,属于白盒法设计测试用例的方法的是 OoA.错误推测B.因果图C.基本路径测试D.边界值分析参考答案:C参考解析:白盒测试方法也称为结构测试或逻辑测试,
17、主要 方法有逻辑覆盖测试、基本路径测试等。5、设R是一个2元关系,有3个元组,S是一个3元关系, 有3个元组。如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、数据管理技术开展的三个阶段中,()没有专门的软件对数据进行管理。I .人工管理阶段.文件系统阶段III .数据库阶段A.仅 I B.仅 Ill C. I 和 11 D. 11 和 111参考答案:A参考解析:数据管理技术开展的兰个阶段中,只有人工管理 阶段,没有操作系统,没有管理数据的软件,数据处理方式是 批处理。在文件系统阶段,操作系统中已经有了专门数据管理软 件,一般称为文件系统。在数据库系统阶段,出现了统一管理数 据的专门软件系统,即数据库管理系统。8
19、、数据库系统的核心是()。A.数据模型B.软件开发C.数据库设计D.数据库管理系统参考答案:D参考解析:数据库管理系统DBMS是数据库獭的核心。DBMS 是负责数据库的建立、使用和维护的软件。DBMS建立在操作系 统之上,实施对数据库的统一管理和控制。用户使用的各种数据 库命令以及应用程序的执行,最终都必须通过DBMS。另外,DBMS 还承当着数据库的平安保护工作,按照DBA所规定的要求,保证 数据库的完整性和平安性。9、以下表达正确的选项是()。A变量的作用域取决于变量定义语句的位置B全局变量可以在函数以外的任何部位进行定义C.局部 变量的作用域 可用于其他函数的调用D. 一个变量说明为st
20、 at ic存储类型是为了限制其他编译单 元的引用参考答案:D参考解析:此题考查函数调用的变量作用域。全局变量不在 任何函数俸内定义,作用域为整个文件i局部 变量在函数体内定 义,作 用域仅为本次函数;st at ic类型是静态变量,为了方便其 他编译单元的引用,不能随意改变。一个函数包含两局部:函数 首和函数体,函数体包括花括号内的所有语句。10、以下选项中,不属于数据管理员(DBA)职责的是()。A.数据库维护B.数据库设计C.改善系统性能,提高系统效率D.数据类型转换参考答案:D参考解析:数据库管理员(Dat aBaseAdmi n i strator, OBA) 是指对数据库的规划、设
21、计、维护、监视等的人员,其主要工作 如下:数据库设计。DBA的主要任务之一是数据库设计,具体地 说是进行数据模式的设计。.数据库维护。DBA必须对数据库中的数据平安性、完整性、 并发控制及系统恢复、数据定期转储等进行实施与维护。改善系统性能,提高系统效率。DBA必须随时监视数据库 的运行状态,不断调整内部结构,使系统保持最正确状态与效率。计算机二级C语言测试题及答案解析31. #include stdio.hmain 0char c;c=get);whi I e(c !=?) putc) ;c=get) ; )如果从键盘输入abode?f gh (叵车)运行结果为:abc de#include
22、main() char c;whi le(c=get) !=,$,) if(,A,=c&c=,Z)putc);else if (,a=c&c=z,)putc-32) ;当输入为ab*AB%cd#C国时,运行结果为:ABABCDCD2. #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)
23、求解表达式2,假设其值为真,执行循环体,然后执行(3).假设为假,那么结束循环,转到(5)求解表达式3(4)转回上面(2)继续执行(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。循环
24、条件x=10成 立,进入第2次循环第2次循环执行if语句。1小于10, if语句的条件表达式不成立,不 执行break;执行 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+,
25、x=x+l=4+l=5o循环条件x=10成立,进入第5次循环第5次循环执行if语句。10等于10, if语句的条件表达式成立,执 行break,跳出循环。从break跳出至for语句的下一条语句。执行 pr int f (%d %d, y, x);输出当前的y与x.结果为10 53. #includemain ()char ch;ch=get);switch (ch) caseA: printfC%c”A);casefBf: printf(ff%cff/Bf); break;default: printf (%s , other); )当从键盘输入字母A时,运行结果为:AB详见教材pl03,
26、swi t c h语句sw it ch (表达式) case常量1 :语句1case常量2 :语句2 I IIIII”,期一”不满足(1);选项C中的whi Ie为关键字,不满足(3)C语言中的简单数据类型包括(D) oA、整型、实型、逻辑型B、整型、实型、逻辑型、字符型C、整型、字符型、逻辑型D、整型、实型、字符型9. 在二语言程序中,表达式5%2的结果是C。A、2.5B、2C、1输出变量b,结果为1010. #includemainO_ c ha r grade=*C;switch(grade)caseA: printf (n90-100 ”);case B1: printf (80-90
27、 ”);case。: printf (n70-80 ”);case,D,: printf(n60-70 ); 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
28、)转向表达式3,执行y- , y=y-l=7-l=6o循环条件y0成立, 进入第3次循环第3次循环执行i f语句。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语句的
29、条件表达式成立,执行pr i nt f (%d, - . - y),即y先自减1变为2,然后在输出,因此屏幕 上输出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不成立, 循环结束。12. #includemainO int i, sum=O; i =1;do sum=sum+i ; i +; whi le(i =10);pr i ntf (%d, sum);)运行结果为:
30、5513. #include#define N 4mainO int i;int xl=l,x2=2;pr i ntf ();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执行
31、if语句。1%2不为0, if语句的条件表达式不成立,不执行 pr intf (11 11);执行x1=x1+x2=1+2子3t匕时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次循环第
32、3次循环执行printf (%4d %4d,x1,x2);因此屏幕上输出813执行if语句。3%2不为0, if语句的条件表达式不成立, 不执行 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
33、 1=34+55=89转向表达式3,执行i+, i为5。循环条件i=4不成立,结 束循环10#includemain ()i 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,在编
34、译过程中,遇到N 即视为整数4o外层for循环,表达式1为i=1,表达式2 (循环条件)为i=N, 表达式3为i+内层for循环,表达式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 ();执行内
35、层循环表达式3, j廿为2, j 执行printf (”*);执行printf )换行至此外层循环体执行完,计算外层循环的表达式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循环
36、体外层for循环第4次此时i为4内层循环j=1,使得循环条件j 第1次执行内层循环体执行内层循环表达式3, j+为2, j 第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子程
37、序D标识符. 程序的输出结果是()omain () int a=7,b=5;pr i ntf (%d , b=b/a);A 5 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表达式
38、2:表达式3先计算表达式1,假设表达式1成立, 那么选择计算表达式2,并表达式2的值 作为整个大表达式的值;假设表达式1不成立,那么选择计算表达式3,并将表达式3的 值作为整个大表达式的值此题中的aa为3, b为4。a12.假设int x=2,y=3,z=4贝ij表达 式xA、4B、3C、2D、04 . 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,205 .设有如下程序段,下面描述中正确的选项是()。int k=10
39、; while(k=O) k=k-l;A循环执行一次B循环是无限循环C循环体语句一次也不 执行D循环体语句执行一次.以下程序的输出结果为()。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函数的定义和函数的调用都可以嵌套6 .以下函数调用语句中含有()个实
40、参。func(el, e2), (e3,e4, e5);A2B3c5D语法错误7 .以下程序的输出结果为()。#define ADD(x) x*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=7008 .职工记录描述如下,在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
41、6 n .设有以下定义,值为5的枚举常量是()。 enum weeksun, mon=4, tue, wed, thu, fri, sat w;A tue B sat C fr i D t hu12 .下面选项中正确的赋值语句是(设 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+13 . C语言中的文件类型只有()oA索引文件和文本文件两种B文本文件一种C二进制文件一种D ASCII码文件和二进制文件两种二判断对错,对的划,错的划“X”(5分,每题 0. 5 分)1.在Turbo C中,整型数据在内存中占2个字节。()2 . int i=20;switch(i/10) case 2:printf(A) ;case l:pri ntf (B); 的输出结果为