【计算机类职业资格】二级C语言笔试-135及答案解析.doc
《【计算机类职业资格】二级C语言笔试-135及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-135及答案解析.doc(26页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-135 及答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:50,分数:60.00)1.若有以下的说明和语句:int t33,*pt3,k;for(k=0;k3;k+) ptk=则在执行 for语句后,*(*(pt+1)+2)表示的数组元素是_。(分数:2.00)A.t20B.t22C.t12D.t212.若有以下定义,则不能代表字符。的表达式是_。char s20=“programming“,*ps=s;(分数:2.00)A.ps+2B.s2C.ps2D.ps+=2,*ps3.以下能正确定义整型变量 a,b 和 c,并为其赋初值 1的语句是_。(分数:2
2、.00)A.int a=b=c=1;B.int a,b,c=1;C.a=b=c=1;D.int a=1,b=1,c=1;4.设栈 S的初始状态为空,栈的容量为 5,若入栈元素的顺序是 e1、e 2、e 3、e 4、e 5,则出栈元素的顺序不可能是_。(分数:2.00)A.e1、e 2、e 3、e 4、e 5B.e5、e 4、e 3、e 2、e 1C.e2、e 4、e 3、e 5、e 1D.e3、e 4、e 1、e 2、e 55.属于 C语言中合法的常量是_。(分数:2.00)A.1.52eB.100C.xD.“xt“y6.执行以下语句的结果为_。int x=3,y;int*px=y=*px+;
3、(分数:2.00)A.x=3,y=4B.x=3,y=3C.x=4,y=4D.x=3,y不知7.当调用函数时,实参是一个数组名,则向函数传送的是_。(分数:2.00)A.数组的长度B.数组的首地址C.数组每个元素的地址D.数组每个元素中的值8.已有定义 int(*p)();,指针 p可以_。(分数:2.00)A.代表函数的返回值B.指向函数的入口地址C.代表函数的类型D.代表函数返回值的类型9.设 a为整型变量,不能正确表达数学关系“10a15”的 C语言表达式是_。(分数:2.00)A.10a15B.a=11|a=12|a=13|a=14C.a10x=2;y=3;z=4;m=(mx)?m:x;
4、m=(ny)?m:y;m=(mz)?m;z;(分数:1.00)A.1B.2C.3D.412.算法是求解问题的方法,具有输入、输出、有穷性、确定性和_的特性。(分数:1.00)A.可行性B.计算性C.程序设计性D.检索性13.下列程序的运行结果是_。void fun(int *a,int *b)int *k;k=a;a=b;b=k;main()int a=3,b=6,*x=fun(x,y);printf(“%d%d“,a,b);(分数:1.00)A.63B.36C.编译出错D.0014.计算机系统的组成是_。(分数:1.00)A.主机、外设B.运算器、控制器C.硬件系统和软件系统D.CPU、内存
5、储器15.若输入 12345、abc,程序的输出结果为_。main()int a;char ch;scanf(“%3d,%3c“,printf(“%d,%c“,a,ch);(分数:1.00)A.123,abcB.123,4C.123,aD.12345,abc16.以下程序的输出结果是_。#define f(x)x*xmain()int a=6,b=2,c;c=f((分数:1.00)A./f(B.;printf(“%d/n“,C.;unionunsigned char c;unsigned int i4;z;z.i0=0x39;z.i1=0x36;printf(“%d/n“,z.c);(分数:1
6、.00)A.56B.57C.58D.5924.以下程序的输出结果是_。main()char ch34=“123“,“456“,“78“,*p3;int i;for(i=0;i3;i+) pi=chi;for(i=0;i3;i+) printf(“%s“,pi);(分数:1.00)A.123456780B.123 456 780C.12345678D.14725.设有以下程序:struct stint n;struct st*next;static struct st a3=5,p=下面其值为 6的表达式为_。(分数:1.00)A.p+-nB.p-n+C.(*p).n+D.+p-n26.下列语句
7、执行后的结果是_。y=5;p=;x=*p+;(分数:1.00)A.x=5,y=5B.x=5,y=6C.x=6,y=5D.x=6,y=627.若 i和 j已定义为 int类型,则以下程序段中内循环体总的执行次数是_。for(i=5;i;i-)for(j=0;j5;j+).(分数:1.00)A.20B.25C.24D.3028.下述程序的输出结果是_。#includestdio.hmain()enum teamJack,Andy,Sam=10,Bob=Sam+2,Tom;printf(“%d,%d“,Andy,Tom);(分数:1.00)A.2,13B.1,0C.1,13D.1,1229.下面的程
8、序 ASC。main()int x=3,y=0,z=0;if(x=y+z)printf(“*“);elseprintf(“#“);(分数:1.00)A.有语法错误不能通过编译B.输出*C.可以通过编译,但是不能通过连接,因而不能运行D.输出#30.已知 a=15,执行 fprintf(fp,“%d“,(分数:1.00)A.后,写入 fp指向的文件的是_。A) 15B) 1111C)31.以下运算符中优先级最低的算符是_。(分数:1.00)A.,以下叙述中有错误的是_。(分数:1.00)A.变量 s中存放了字符 P的地址B.s0中存放了字符 PC.*s中存放了字符 PD.s中存放了一个字符串33
9、.以下数据结构中不属于线性数据结构的是_。(分数:1.00)A.队列B.线性表C.二叉树D.栈34.计算机软件一般包括应用软件和_。(分数:1.00)A.字处理软件B.系统软件C.服务性软件D.操作系统35.在 C语言中,如果下面的变量都是 int类型,则输出的结果是_。sum=pad=5;pad=sum+;pad+;+pad;printf(“ %d/n “,pad);(分数:1.00)A.7B.6C.5D.436.能直接与 CPU交换信息的功能单元是_。(分数:1.00)A.硬盘B.控制器C.主存储器D.运算器37.已知 a的 ASC码为 97,执行下面两个语句后,输出的结果为_。char
10、c1=97;c2=98;printf(“%d%c“,c1,c2);(分数:1.00)A.97 98B.97 bC.a 98D.a b38.以下只有在使用时才为该类型变量分配存储单元的存储类说明是_。(分数:1.00)A.auto和 staticB.auto和 registerC.register和 staticD.extern和 register39.在计算机系统中,一个字长的二进制位数为_。(分数:1.00)A.8B.16C.32D.由 CPU型号决定40.下列合法的数组定义是_。(分数:1.00)A.int a=“string“;B.int a5=0,1,2,3,4,5;C.char s=
11、“string“;D.char a=0,1,2,3,4,5;41.有如下的程序:int f(char*s)char *p=s;while(*p!=/0) p+;return(p-s);如果在主程序中用下述语句调用上述函数,则输出结果为_。printf(“%d/n“,f(“best one!“);(分数:1.00)A.3B.6C.8D.942.下列描述中,错误的一条是_。(分数:1.00)A.已知 i=3,执行语句 k=(+i)+(+i)+(+i)后,k 的值为 15B.逻辑表达式!(53)printf(“%d“,*-p);(分数:1.00)A.非法B.a4的地址C.5D.344.以下程序中的
12、for循环执行的次数是_。#define N 2#define M N+1#define NUM 2*M+1main()int i;for(i=1;iNUM;i+)printf(“%d/n“,i);(分数:1.00)A.5B.6C.7D.845.以下说法中正确的是_。(分数:1.00)A.C语言程序总是从第一个定义的函数开始执行B.C语言程序中,要调用的函数必须在 main()函数中定义C.C语言程序总是从 main()函数开始执行D.C语言程序中的 main()函数必须放在程序的开始部分46.若 a=1,b=2,则 a|b的值是_。(分数:1.00)A.0B.1C.2D.347.编码是指_。
13、(分数:1.00)A.总体设计到详细设计的过程B.用 0、1 代码改写详细设计的结果C.用编程语言改写详细设计的结果D.上述都不对48.以下关于 switch语句和 break语句的描述中,正确的是_。(分数:1.00)A.在 switch语句中必须使用 break语句B.在 switch语句中,可以根据需要使用或不使用 break语句C.break语句只能用于 switch语句中D.break语句是 switch语句的一部分49.若有以下定义和语句:double r=23,*p=*p=r;则以下正确的叙述是_。(分数:1.00)A.两处的*p 含义相同,都说明给指针变量 p赋值B.在“dou
14、ble r=23,*p=”中,把 r的地址赋值给了 p所指的存储单元C.语句“*p=r;”把变量 r的值赋给指针变量 pD.语句“*p=r;”取变量 r的值放回 r中50.以下正确的函数定义是_。(分数:1.00)A.double f1(int x,int y)B.double f1(int x;int y)C.double f1(int x;float y)D.double f1(int x,y)二、填空题(总题数:13,分数:26.00)51.一张 3.5英寸软盘大约能存储 140万个 ASC字符,若存放汉字大约能存放 【1】 个。(分数:2.00)填空项 1:_52.一个算法的空间复杂度
15、是指该算法所耗费的 【2】 。(分数:2.00)填空项 1:_53.当所有结点的权值都相等时,用这些结点构造的二叉排序树是 【3】 。(分数:2.00)填空项 1:_54.软件危机的核心问题是 【4】 和软件开发效率低。(分数:2.00)填空项 1:_55.栈满时,再作入栈操作会产生 【5】 ,栈空时,删除操作会产生 【6】 。(分数:2.00)填空项 1:_56.以下程序的输出结果是 【7】 。main()int a=1,b=2;a=a+b;b=a-b;a=a-b;printf(“%d,%d/n“,a,b);(分数:2.00)填空项 1:_57.设 a,b,c 为整型数,且 a=2,b=3,
16、c=4,则执行完以下语句后,a 的值是 【8】 。a*=16+(b+)-(+c);(分数:2.00)填空项 1:_58.下列程序中字符串中各单词之间有一个空格,则程序的输出结果是 【9】 。#includestring.hmain()char str1=“How do you do“,*p1=str1;strcpy(str1+strlen(str1)/2,“es he“);printf(“%s/n“,p1);(分数:2.00)填空项 1:_59.以下程序用来输出结构体变量 student所占存储单元的字节数,请填空。struct stchar name20;double score;;main
17、()struct st student;printf(“student size:%d/n“,sizeof( 【10】 );(分数:2.00)填空项 1:_60.若要使指针 p指向一个 double类型的动态存储单元,请填空。p= 【11】 malloc(sizeof(double);(分数:2.00)填空项 1:_61.以下程序的功能是:从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。main()float x1000,sum=0,ave,a;int n=0,i;printf(“Enter mark:/n“);scanf(“%f“,while
18、(a=0.0xn= 【13】 ;n+;scanf(“%f“,ave= 【14】 ;printf(“Output:/n“);printf(ave=%f/n“,ave);for(i=0;in;i+)if( 【15】 ) printf(“%t/n“,xi);(分数:2.00)填空项 1:_62.Fibonacci数列中的头两个数是 1和 1,从第 3个数开始,每个数等于前两个数之和。下述程序计算此数列的前 20个数,且每行输出 5个数,请填空。#includestdio.hmain()int f,f1=1,f2=1;int i;printf(“%6d%6d“,f1,f2);for(i=3;i=20;
19、i+)f= 【16】 ;printf(“%6d“,f);if( 【17】 )printf(“/n“);f1=f2;【18】 ;(分数:2.00)填空项 1:_63.下面程序把从终端读入的 10个整数以二进制方式写入一个名为 bi.dat的新文件中。#includestdio.hFILE *fp;main()int i,j;if(fp=fopen( 【19】 )=NULL) exit(0);for(i=0;i10;i+)scanf(“%d“,fwrite(fclose(fp);(分数:2.00)填空项 1:_二级 C语言笔试-135 答案解析(总分:86.00,做题时间:90 分钟)一、选择题(
20、总题数:50,分数:60.00)1.若有以下的说明和语句:int t33,*pt3,k;for(k=0;k3;k+) ptk=则在执行 for语句后,*(*(pt+1)+2)表示的数组元素是_。(分数:2.00)A.t20B.t22C.t12 D.t21解析:解析 pt 是指向整型变量的指针数组, pt+1 即 pt1表示第 2行的首地址,*(pt+1)表示第 2 行第 1个元素即 t10的地址,*(pt+1)+2 表示第 2行第 3个元素即 t12的地址,(*(pt+1)+2)则表示第 2行第 3个元素。2.若有以下定义,则不能代表字符。的表达式是_。char s20=“programmin
21、g“,*ps=s;(分数:2.00)A.ps+2 B.s2C.ps2D.ps+=2,*ps解析:解析 ps 是指针变量,ps+2 是地址值,表示 s2的地址,并不能代表 s2的值o;选项 B、C、D 均能代表 s2的值o。3.以下能正确定义整型变量 a,b 和 c,并为其赋初值 1的语句是_。(分数:2.00)A.int a=b=c=1;B.int a,b,c=1;C.a=b=c=1;D.int a=1,b=1,c=1; 解析:解析 选项 A中,变量 b、c 未定义;选项 B中,a、b 未赋值;选项 C中 a、b、c 均未定义。4.设栈 S的初始状态为空,栈的容量为 5,若入栈元素的顺序是 e
22、1、e 2、e 3、e 4、e 5,则出栈元素的顺序不可能是_。(分数:2.00)A.e1、e 2、e 3、e 4、e 5B.e5、e 4、e 3、e 2、e 1C.e2、e 4、e 3、e 5、e 1D.e3、e 4、e 1、e 2、e 5 解析:解析 栈是仅在表头和表尾进行插入和删除元素操作的线性表,其特点是“先进后出”。本题中,进栈的过程中可以出栈。选项 D中,如果第一个出栈的元素为 e3,由于入栈顺序是 e1、e 2、e 3,那么 e3出栈后,栈中元素必定有 e1和 e2,因为 e1先入栈,故 e1应在 e2后出栈,所以选项 D是不可能的出栈顺序。5.属于 C语言中合法的常量是_。(分
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 135 答案 解析 DOC
