【计算机类职业资格】二级C语言分类模拟题577及答案解析.doc
《【计算机类职业资格】二级C语言分类模拟题577及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言分类模拟题577及答案解析.doc(13页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言分类模拟题 577及答案解析(总分:39.50,做题时间:90 分钟)一、选择题(总题数:30,分数:39.50)1.若有以下的定义:“int t32;”,能正确表示 t数组元素地址的表达式是_。(分数:1.00)A. printf(“%d/n“, i);(分数:2.50)A.32769B.32767C.-32766D.输出不确定数3.下列关于栈的叙述正确的是_。(分数:2.00)A.栈按“先进先出”组织数据B.栈按“先进后出”组织数据C.只能在栈底插入数据D.不能删除数据4.利用 fseek函数可实现的操作是 _ 。(分数:1.00)A.实现文件的顺序读写B.改变文件的位置指针C
2、.实现文件的随机读写D.以上答案均正确5.有以下程序 main() char a=“a“,“b“,“c“,“d“,“e“,“f“,“g“,“h“,“/0“;int i,j; i=sized(a);j=stden(a); printf(“%d,%d/n”,i,j); 程序运行后的输出结果是(分数:1.00)A.9,9B.8,9C.1,8D.9,86.有以下程序 #includestdio.h main() int i=5; do if(i%3=1) if(i%5=2) (printf(“%d“,i);break; i+; while(i!=0); printf(“/n“1); 程序的运行结果是_
3、。(分数:2.00)A.*7B.*3*5C.*5D.*2*67.若有以下定义和语句; int a=1,2,3,4,5,6,7,8,9,10,*p=a;(分数:2.00)A.p+=2,*(p+)B.p+=2,*+pC.p+=3,*p+D.p+=2,+*p8.下面叙述中错误的是_。(分数:1.00)A.软件测试的目的是发现错误并改正错误B.对被调试的程序进行“错误定位”是程序调试的必要步骤C.程序调试通常也称为 DebugD.软件测试应严格执行测试计划,排除测试的随意性9.以下叙述中正确的是_。(分数:1.00)A.a是实型变量,C 允许进行赋值 a=10,但不可以这样说:实型变量中允许存放整型值
4、B.在赋值表达式中,赋值号左边既可以是变量也可以是任意表达式C.执行表达式 a=b后,在内存中 a和 b存储单元中的原有值都将被改变,a 的值已由原值改变为 b的值,b的值由原值变为 0D.已有 a=3,b=5,当执行了表达式 a=b,b=a 之后,使 a中的值为 5,b 中的值为 310.当变量 c的值不为 2、4、6 时,值也为“真”的表达式是_。(分数:1.00)A.(c=2 p=a;,则以下选项中叙述错误的是_。(分数:1.00)A.系统将开辟一个名为 p的二维数组,p00中的值即为 a00中的值B.p+1代表 a10的地址C.p中将存放 a数组的首地址D.p+2代表 a数组最后一行的
5、首地址13.以下叙述中错误的是_。(分数:1.00)A.用 typedef定义新的类型名后,原有类型名仍有效B.可以用 typedef将已存在的类型用一个新的名字来代表C.可以通过 typedef增加新的类型D.用 typedef可以为各种类型起别名,但不能为变量起别名14.表示关系式 xyz 的 C语言表达式的是_。(分数:2.50)A.(x=y)ps+4,p+) printf(“%s/n“,p); (分数:1.00)A.ABCDBCDCDDB.ABCDC.DCBAD.ABCDABCABA16.以下程序的输出结果是_。 point(char*pt); main() char b4=“a“,“
6、c“,“s“,“f“),*pt=b; pt=point(pt); printf(“%c/n“,*pt); point(char*p) p+=3; return p; (分数:2.00)AsBcCfDa17.有以下程序: #include stdio.h main( ) int a=10,20,30,40, *p=a,i; for(i=0;i=3;i+)ai=*p;p+; printf(“%d/n“,a2); 程序运行后的输出结果是_。(分数:1.00)A.10B.20C.30D.4018.有以下程序 main() int m=0256,n=256 ; printf(“%o %o/n“, m,n
7、); 程序运行后的输出结果是_。(分数:1.00)A.0256 0400B.0256 256C.256 400D.400 40019.有以下程序: #includestdio.h main() int i,j; for(i=1;i4;i+) for(j=i;j4;j+)printf(“%d$%d=%d“,i,j,i%j); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.1*1=1 1*2=21*3=32*2=4 2*3=63*3=9B.1*1=1 1*2=2 1*3=32*1=2 2*2=4C.1*1=11*3=3 2*3=6 3*3=9D.1*1=12*1=2
8、2*2=43*1=3 3*2=6 3*3=920.以下叙述中正确的是 _。(分数:1.00)A.用 C程序实现的算法必须要有输入和输出操作B.用 C程序实现的算法可以没有输出但必须要输入C.用 C程序实现的算法可以没有输入但必须要有输出D.用 C程序实现的算法可以既没有输入也没有输出21.有两个关系 R,S 如下: R A B C a 3 2 b 0 1 c 2 1 S A B a 3 b 0 c 2 由关系 R通过运算得到关系 S,则所使用的运算为_。(分数:1.00)A.选择B.投影C.插入D.连接22.以下选项中正确的语句组是_。(分数:1.00)A.char *s;s=“BOOK!“;
9、B.char*s;s=“BOOK!“);C.char s10;s=“BOOK!“;D.char s;s=“BOOK!“;23.下列叙述中正确的是_。(分数:1.00)A.程序执行的效率与数据的存储结构密切相关B.程序执行的效率只取决于程序的控制结构C.程序执行的效率只取决于所处理的数据量D.以上三种说法都不对24.在 C语言中,只有在使用时才占用内存单元的变量,其存储类型是_。(分数:2.50)A.auto和 staticB.extern和 registerC.auto和 registerD.static和 register25.若有定义语句:int x=10;,则表达式 x-=x+x的值为_
10、。(分数:1.00)A.10B.-20C.0D.-1026.以下叙述中错误的是_。(分数:1.00)A.C程序在运行过程中所有计算都以二进制方式进行B.C程序在运行过程中所有计算可以十进制方式进行C.所有 C程序都需要编译链接无误后才能运行D.C程序中整型变量只能存放整数,实型变量只能存放浮点数27.有以下结构体说明、变量定义和赋值语句: struct STD char name10; int age; char sex; s5,*ps; ps=s0; 则以下 scanf函数调用语句有错误的是_。(分数:1.00)A.scanf(“%s“,s0.name);B.scallf(“%d“,s0.a
11、ge);C.scanf(“%c“,(ps-sex);D.scanf(“%d“,ps-age);28.下面函数的功能是_。 sss(s, t) char*s, *t; while(*s) return(*s-*t); (分数:1.00)A.求字符串的长度B.比较两个字符串的大小C.将字符串 s复制到字符串 t中D.将字符串 s接续到字符串 t中29.有以下程序: #includestdio.h main() int a=7; while(a-); printf(“%d/n“, a); 程序运行后的输出结果是_。(分数:1.00)A.-1B.0C.1D.730.当没有指定 C语言中函数形参的存储类
12、别时,函数形参的存储类别是_。(分数:1.00)A.外部(extern)B.静态(static)C.寄存器(register)D.自动(auto)二级 C语言分类模拟题 577答案解析(总分:39.50,做题时间:90 分钟)一、选择题(总题数:30,分数:39.50)1.若有以下的定义:“int t32;”,能正确表示 t数组元素地址的表达式是_。(分数:1.00)A. printf(“%d/n“, i);(分数:2.50)A.32769B.32767C.-32766 D.输出不确定数解析:解析 在 Turbo C 2.0环境中,int 数据类型在内存中只占两个字节,其表示形式为二进制补码形
13、式,所以范围是:-3276832767,即 1000000000000000201111111111111112(首位为符号位)。而32770转换为二进制为 10000000000000102,其符号位为 1故输出时为一个负数,而它的绝对值是求负后的结果,补码求负的方法是:先按位求反,再加一。所以求得的绝对值为 01111111 111111012+1=0111111111111102,即十进制的 32766。综上所述,选项 C正确。3.下列关于栈的叙述正确的是_。(分数:2.00)A.栈按“先进先出”组织数据B.栈按“先进后出”组织数据 C.只能在栈底插入数据D.不能删除数据解析:解析 栈是
14、只允许在同一端进行插入和删除运算的线性表,按“先进后出”组织数据,因此本题答案为 B。4.利用 fseek函数可实现的操作是 _ 。(分数:1.00)A.实现文件的顺序读写B.改变文件的位置指针C.实现文件的随机读写D.以上答案均正确 解析:解析 改变文件位置指针函数 fseek()的功能是:改变文件的位置指针;辅助实现文件的顺序读写;辅助实现文件的随机读写。5.有以下程序 main() char a=“a“,“b“,“c“,“d“,“e“,“f“,“g“,“h“,“/0“;int i,j; i=sized(a);j=stden(a); printf(“%d,%d/n”,i,j); 程序运行后
15、的输出结果是(分数:1.00)A.9,9B.8,9C.1,8D.9,8 解析:解析 本题中首先定义了字符数组 a,由于它的长度省略,所以其长度由初值个数确定,为 9。接着将 sizeof()函数返回的值赋给 i(sizeof()函数的作用是返回运算对象占用的字符数),所以 i值为 9;然后将 strlen()函数的返回值赋给 j(strlen()函数的作用是返回字符串的长度,不包括字符串的结束标记“/0“),所以 j值为 8,所以最后输出的 i, j 的值为 9,8。6.有以下程序 #includestdio.h main() int i=5; do if(i%3=1) if(i%5=2) (
16、printf(“%d“,i);break; i+; while(i!=0); printf(“/n“1); 程序的运行结果是_。(分数:2.00)A.*7 B.*3*5C.*5D.*2*6解析:解析 本题考查的是 break语句。dowhile 循环是“先执行,后判断”,所以无论条件如何,它都至少会执行一遍。程序首先初始化变量 i为 5,然后进入 dowhile循环体,首先判断(i%3=1),因为 5%3=2,所以 if条件不满足,跳过下面的 if语句,执行 i+,i 变为 6。第 1遍循环结束,判断(i!=0)为真,继续循环。现在 i%3=6%3=0,所以 if语句还是不被执行,继续 i+,
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 分类 模拟 577 答案 解析 DOC
