国家二级C语言机试(选择题)模拟试卷107(题后含答案及解析).pdf
《国家二级C语言机试(选择题)模拟试卷107(题后含答案及解析).pdf》由会员分享,可在线阅读,更多相关《国家二级C语言机试(选择题)模拟试卷107(题后含答案及解析).pdf(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、国家二级国家二级 C C 语言机试(选择题)模拟试卷语言机试(选择题)模拟试卷 107107(题后含答案及解析题后含答案及解析)题型有:1.选择题选择题1 下列选项中不属于结构化程序设计原则的是()。A可封装B自顶向下C模块化D逐步求精正确答案:A解析:结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用 goto 语句,所以选择 A。知识模块:选择题2 有两个关系 R 和 T 如下:则由关系 R 得到关系 T 的操作是()。A投影B交C选择D并正确答案:A解析:从表图中可以看出,关系 T 是从关系 R 中选取一部分字段(A 和 C)及其值构成新的关系,是一种纵向操作产生新列,属于投
2、影,正确选项为 A。知识模块:选择题3 有以下程序:#includestdio hmain()printf(dn”,NULL);程序运行后的输出结果是()。A1B变量无定义,输出不确定C1D0正确答案:D解析:NULL 为一个符号常量,对应的 ASC码值为 0,答案选 D。知识模块:选择题4 有以下程序:#includestdioh#define f(x)x*x*xmain()int a=3,s,t;s=f(a+1);t=f(a+1);printf(d,dn,s,t);程序运行后的输出结果是()。A10,64B10,10C64,10D64,64正确答案:A解析:C 语言中带参数的宏可以理解为用
3、参数直接替代定义式中的变量,而不经过任何修改。所以s=f(a+1)=a+1*a+1*a+1,t=f(a+1)=(a+1)*(a+1)*(a+1),所以有无括号的运算结果是不同的。知识模块:选择题5有以下程序:#includestdio hint f(int x,int y)return(yx)*x);voidmain()int a=3,b=4,c=5,d;d=f(f(a,b),f(a,c);printf(dn,d);程序运行后的输出结果是()。A9B10C8D7正确答案:A解析:考查函数的返回值。d=f(f(a,b),f(a,c)=f(ba)*a,(ca)*a)=f(3,6)=(63)*3=9
4、,所以答案选 A。知识模块:选择题6 以下叙述中正确的是()。A如果 p 是指针变量,则&p 是不合法的表达式B如果 p 是指针变量,则*p 表示变量 p 的地址值C在对指针进行加、减算术运算时,数字 1 表示 1 个存储单元的长度D如果 p 是指针变量,则*p+1 和*(p+1)的效果是一样的正确答案:C解析:考查指针的用法。指针进行算术运算的时候,数字“1”不再代表十进制整数“1”,而是指一个存储单元长度,选项 C 正确。指针变量存储的是其指向的变量的地址,其本身的地址仍用取地址运算符“&”求得,*p 表示的是 p指向的变量的值,选项 A、B 错。*p+1 表示的是指针 p 指向的变量值+
5、1,而*(p+1)则是取得了下一个变量的值,两者不同,选项 D 错。答案选 C。知识模块:选择题7 有以下程序:#includestdio hvoid main()unsigned char a=8,c;c=a3:printf(dn,c);程序运行后的输出结果是()。A32B16C1D0A32B16C1D0正确答案:C解析:字符常量与其 ASC码值一一对应,在计算的时候,可以使用该字符的 ASC码参与运算,输出时会根据格式控制符输出对应的字符或者 ASC码。右移运算符“”的运算规则是把左边运算数的各二进制位全部右移n位,n 取决于“”右边的数值。字符 a 的 ASC码值为 8,对应二进制为 1
6、000,所以 a3=1,输出的字符 c 的 ASC码值为 1,答案选 C。知识模块:选择题8 下列各项中,对对象概念描述正确的是()。A对象间的通信靠消息传递B对象是名字和方法的封装体C任何对象必须有继承性D对象的多态性是指一个对象有多个操作正确答案:A解析:对象之间进行通信的构造叫作消息,选项 A 正确、封装性是指从外面看只能看到对象的外部特征,而不知道也无须知道数据的具体结构以及实现操作,选项 B 错误。对象不一定必须有继承性,选项 C 错误,多态性是指同一个操作可以是不同对象的行为,选项 D 错误。知识模块:选择题9以下函数的功能是计算 a 的 n 次方并作为函数值返回:double f
7、un(doublea,int n)int i;double s=10;for(i=1;i=n;i+)S=_;return s:为实现上述功能,函数中下画线处应填入的是()。As*iBs*aCs+i*iDs+a*a正确答案:B解析:s 为 a 的(i1)次方的结果,所以令 s=s*a 即可得到 a 的 i 次方。知识模块:选择题10 有以下程序:#includestdiohint fun(int n)if(n)return fun(n1)+n;elsereturn 0;main()printf(dn,fun(3);程序的运行结果是()。A4B5C6D7正确答案:C解 析:fun函 数 是 一 个
8、 递 归 函 数,n=3,返 回f(3 1)+3=f(2)+3=f(1)+2+3=f(0)+1+2+3=0+6=6。知识模块:选择题11 有以下程序:#includestdiohmain()char ch=Z;ch=(chA+1)26+A;putchar(ch);printf(n);程序的运行结果是()。AZBYCBDA正确答案:D解析:z 的 ASC码是 90,A 的 ASC码是 65,所以 ch=(chA+1)26+A=2626+65=65,65 对应的字符即 A。知识模块:选择题12 有以下程序:#includestdio h#define N 4void fun(int a,int b
9、)inti;for(i=0;iN;i+)bi=aiN1i;main()int xNN=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,yN,i;fun(x,y);for(i=0;iN;i+)printf(d,yi);printf(n);程序的运行结果是()。A1,2,3,4,B3,6,9,12,C4,7,10,13,D1,5,9,13,正确答案:C解析:调用 fun 函数,yi=xiN1i,N=4,x 是 4 行 4 列的二维数组。i=0 时,y0=x041=x03=4;j=1 时,y1=x1411=x12=7;i=2时,y2=x2412=x21=10;i=3 时
10、,y3=x30=13。知识模块:选择题13 若有定义:int a=1,b=2,c=3;,则执行表达式(a=b+c)(+b)后,a,b,c 的值依次为()。A1,2,3B5,3,2C5,2,3D5,3,3正确答案:C解析:表示或运算,当第一个表达式为真时,第二个表达式就不会被执行。根据优先级规则,两边都是括号,所以先计算(a=b+c),将 b+c 的值赋值给 a,则 a=5,而右边的括号不会被执行,所以 b=2,c=3。知识模块:选择题14 算法的空间复杂度是指()。A算法在执行过程中所需要的计算机存储空间B算法所处理的数据量C算法程序中的语句或指令条数D算法在执行过程中所需要的临时工作单元数正
11、确答案:A解析:算法的空间复杂度是指算法在执行过程中所需要的内存空间,因此本题答案为 A。知识模块:选择题15 数据库管理系统是()。A操作系统的一部分B在操作系统支持下的系统软件C一种编译系统D一种操作系统正确答案:B解析:数据库管理系统是数据库的机构,它是一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和提供数据服务等,是一种在操作系统支持下的系统软件,因此本题答案为 B。知识模块:选择题16 若有 C 语言表达式 2+3*4+73,则以下选项中叙述正确的执行顺序是()。A先执行 3*4 得 12,再执行 2+12 得 14,再执行 73 得 2,最后执行 14+2得
12、16B先执行 3*4 得 12,再执行 73 得 25,最后执行 2+12+25 得 165C先执行 73 得 2,再执行 3*4 得 12,再执行 12+2 得 14,最后执行 2+14得 16D先执行2+3 得 5,再执行 5*4 得 20,再执行20+7 得 27,最后执行273 得 9正确答案:A解析:C 语言表达式的执行顺序是从左向右,当遇到优先级高的表达式组分时,先执行优先级高的表达式,故选项 A 正确。知识模块:选择题17 有以下程序:#includestdiohmain()char x=2,y=2,z;z=(y1)&(x1);printf(dn,z);程序的输出结果是()。A1
13、B0C4D8正确答案:B解析:本题考查位运算和&。y1 为 4,x1 为 1,二者与运算后为 0,故 B 选项正确 知识模块:选择题18 有以下程序:#includestdioh#includestringhmain()chara=1234,*b=ABC;printf(ddddn,strlen(a),sizeof(a),strlen(b),sizeof(b);程序运行后的输出结果是()。A4 5 3 4B4 3 2 1C4 5 3 3D4 5 1 3正确答案:A解析:对于字符数组a,含有4 个元素,所以strlen 为 4,而sizeof 包括最后隐藏的0,故sizeof 有 5 个。对于字符
14、串b,strlen 为 3,关键是sizeof,这里的sizeof 不再是指数组的长度,因为 b 是一个地址值,整型数据,所以占用了 4 个字节。知识模块:选择题19 若有以下程序:#includestdiohmain()int a=1,b=2,c=3,d=4,r=0;if(a!=1);else r=1;if(b=2)r+=2;if(C!=3);r+=3;if(d=4)r+=4;printf(dn,r);则程序的输出结果是()。A3B7C6D10正确答案:D解析:第一个 if 语句 a!=1 条件为假,所以执行 else 后的语句 r=1。第二个if 语句 b=2 条件成立,执行 r+=2,r
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 国家 二级 语言 选择题 模拟 试卷 107 题后含 答案 解析
限制150内