欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    【计算机类职业资格】二级C语言笔试-325及答案解析.doc

    • 资源ID:1326129       资源大小:81KB        全文页数:25页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    【计算机类职业资格】二级C语言笔试-325及答案解析.doc

    1、二级 C 语言笔试-325 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.判断 char 型变量 c1 是否为小写字母的正确表达式为( )。(分数:2.00)A.a=c1=zB.(c1=a)c1=z)C.(a=c1(z=c1)D.(c1=a)pp=p=p=printf(“%d,%d/n“,*p,*pp);则输出结果是( )。(分数:2.00)A.20,10B.20,20C.10,20D.10,104.设 x、y 和 z 是 int 型变量,且 x=4,y=6,z=8,则下列表达式中值为 0 的是( )。(分数:2.00)A.x,则在使用函

    2、数 strcat(s1,s2)后,结果是( )。(分数:2.00)A.s1 的内容更新为 abcdefghiB.s1 的内容更新为 defghi/0C.s1 的内容更新为 defghiabc/0D.s1 的内容更新为 abcdefghi/07.在“文件包含”预处理语句的使用形式中,当#include 后面的文件名用“(双撇号)括起时,寻找被包含文件的方式是( )。(分数:2.00)A.直接按系统设定的标准方式搜索目录B.先在源程序所在的目录搜索,如没找到,再按系统设定的标准方式搜索C.仅仅搜索源程序所在目录D.仅仅搜索当前目录8.下列程序的输出结果是( )。main()int a=4,b=5,

    3、c;if(ab)c=a*b;printf(“%d,%d,%d/n“,b,a,c);elsec=b/a; printf(“%d,%d,%d/n“,b,a,c);(分数:2.00)A.4,5,12B.20C.5,4,20D.129.对长度为 n 的线性表进行顺序查找,在最坏的情况下需要比较的次数为( )。(分数:2.00)A.125B.n/2C.nD.n+110.在位运算中,操作数每右移两位,其结果相当于( )。(分数:2.00)A.操作数乘以 2B.操作数除以 2C.操作数除以 4D.操作数乘以 411.下列说法不正确的是( )。(分数:2.00)A.一个 C 语言源程序可以由一个函数组成也可以

    4、由多个函数组成B.main()中的“()”是函数的参数部分,括号内可为空,但括号不能省略C.C 语言程序是以函数为基本单位的D.在 C 语言程序中,注释行只能位于一条语句的后面12.下列描述错误的是( )。(分数:2.00)A.继承分为多重继承和单继承B.对象之间的通信靠传递消息来实现C.在外面看不到对象的内部特征是基于对象的“模块独立性好”这个特征D.类是具有共同属性、共同方法的对象的集合13.若函数调用时,参数为基本数据类型的变量,下列叙述中正确的是( )。(分数:2.00)A.实参与其对应的形参共占存储单元B.只有当实参与其对应的形参同名时才共占存储单元C.实参与其对应的形参分别占用不同

    5、的存储单元D.实参将数据传递给形参后,立即释放原先占用的存储单元14.在 C 语言中,while 和 dowhile 循环的主要区别是( )。(分数:2.00)A.dowhile 的循环体不能是复合语句B.dowhile 允许从循环体外转到循环体内C.whil8 的循环体至少被执行一次D.dowhile 的循环体至少被执行一次15.下列叙述中正确的是( )。(分数:2.00)A.一个逻辑数据结构只能有一种存储结构B.逻辑结构属于线性结构,存储结构属于非线性结构C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D.一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据

    6、处理的效率16.下列特征中不是面向对象方法的主要特征的是( )。(分数:2.00)A.多态性B.继承C.封装性D.模块化17.下列描述中正确的是( )。(分数:2.00)A.在 C 语言程序中预处理是指完成宏替换和文件包含指定的文件的调用B.预处理指令只能位于 C 源程序文件的首部C.预处理命令可以放在程序中的任何位置D.预处理命令结尾需要加分号18.有下列程序:main()int k=5;while(-k) printf(“%d“,k-=3);printf(“/n“);执行后的输出结果是( )。(分数:2.00)A.1B.2C.4D.死循环19.有下列程序:fun(int x,int y)r

    7、eturn(x+y);main()inta=l1b=2,c=3,sum;sum=fun(a+,b+,a+b),C+);printf(“%d/n“,sum);执行后的输出结果是( )。(分数:2.00)A.6B.7C.8D.920.下列能正确进行字符串赋值的是( )。(分数:2.00)A.char s5=“ABCDE“;B.char s5=A,B,C,D,E;C.char*s;s=“ABCDE“;D.char*s;printf(“%s“,s);21.设有变量说明 int(*p)m,其中的标识符 p 是( )。(分数:2.00)A.m 个指向整型变量的指针B.指向 m 个整型变量的指针C.一个指向

    8、具有 m 个整型元素的一维数组的指针D.具有 m 个指针元素的一维指针数组,每个元素都指向整型变量22.关于结构化程序设计原则和方法的描述错误的是( )。(分数:2.00)A.选用的结构只准许有一个入口和一个出口B.复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现C.不允许使用 GOTO 语句D.语言中所没有的控制结构,应该采用前后一致的方法来模拟23.若 ch 为 char 型变量,k 为 int 型变量(已知字符 a 的 ASCII 码是 97),则执行下列语句后输出的结果为( )。ch=b;k=10;printf(“%x,%o,“,ch,ch,k);printf(“k:%d/n“,k)

    9、;(分数:2.00)A.因变量类型与格式描述符的类型不匹配,输出无定值B.输出项与格式描述符个数不符,输出为 0 值或不定值C.62,142,k=%dD.62,142,k=%1024.下列能正确定义且赋初值的语句是( )。(分数:2.00)A.int n1=n2=10;B.char c=32;C.float f=f+1.1;D.double x=12.3E2.5;25.若有定义:“int a 23;”则对 a 数组的第 i 行第 j 列元素的正确引用为( )。(分数:2.00)A.*(*(a+i)+j)B.(a+i)jC.*(a+i+j)D.*(a+i)+j26.设计程序时,应采纳的原则之一是

    10、( )。(分数:2.00)A.程序的结构应有助于读者的理解B.限制 GOTO 语句的使用C.减少或取消注释行D.程序越短越好27.简单的交换排序方法是( )。(分数:2.00)A.快速排序B.选择排序C.堆排序D.冒泡排序28.在 C 语言程序中,下列说法正确的是( )。(分数:2.00)A.函数的定义和函数的调用均可以嵌套B.函数的定义不可以嵌套,但函数的调用可以嵌套C.函数的定义可以嵌套,但函数的调用不可以嵌套D.函数的定义和函数的调用均不可以嵌套29.下列二维数组的说明中,不正确的是( )。(分数:2.00)A.float a4=0,1,8,5,9;B.int a34;C.#define

    11、 N 5float a N3;D.int a 29.5;30.下列叙述中正确的是( )。(分数:2.00)A.在赋值表达式中,赋值号的左边既可以是变量,也可以是任意表达式B.实型变量中允许存放整型数C.若 a 和 b 类型相同,在执行了赋值 a=b 后,b 中的值将放入 a 中,但 b 中的值不变D.在 C 程序中,求余运算符“%”两边的类型相同时才能进行运算31.下列叙述中正确的是( )。(分数:1.00)A.软件交付使用后还需要进行维护B.软件一旦交付使用就不需要再进行维护C.软件交付使用后其生命周期就结束D.软件维护是指修复程序中被破坏的指令32.下列叙述中正确的是( )。(分数:1.0

    12、0)A.一个算法的空间复杂度大,则其时间复杂度必定大B.一个算法的空间复杂度大,则其时间复杂度必定小C.一个算法的时间复杂度大,则其空间复杂度必定小D.上述三种说法都不对33.若各选项中所用变量已正确定义,fun()函数中通过 return 语句返回一个函数值,下列选项中错误的程序是( )。(分数:1.00)A.main()x=fun(2,10);float fun(int a,intb)B.float fun(int a,intb)main()x=fun(i,j);C.float fun(int,int);main()x=fun(2,10);float fun(int a,intb)D.ma

    13、in()float fun(int I,intj);x=fun(i,j);float fun(int a,intb)34.sizeof(float)是( )。(分数:1.00)A.一种函数调用B.一种函数定义C.一个浮点表达式D.一个整型表达式35.若有结构体定义:struct stu int num;char sex;int age;a1,a2;则下列语句中错误的是( )。(分数:1.00)A.printf(“%d%c,%d“,a1);B.a2.age=a1.age;C.a1.age+;D.a1.num=5;36.下列程序的输出结果是( )。main()int i=1 j=2,k=3;if(

    14、i+=1(分数:1.00)A.1 2 3B.2 3 4C.2 2 3D.2 3 337.下列程序的输出结果是( )。#includestdio.hmain()int a=0,i;for(i=1;i5;i+)switch(i)case 0:case 3:a+=1;case 1:case2:a+=2;default:a+=3;printf(“%d“,(分数:1.00)A.;B.double int=3+5e2.5C.long do=1L;D.float 3_asd=3e-3;二、填空题(总题数:15,分数:30.00)41.在程序设计阶段应该采取 1 和逐步求精的方法,把一个模块的功能逐步分解,细

    15、化为一系列具体的步骤,继而用某种程序设计语言写成程序。(分数:2.00)填空项 1:_42.注释一般分为序言性注释和 1 注释。(分数:2.00)填空项 1:_43.在面向对象方法中,类的实例称为 1。(分数:2.00)填空项 1:_44.某二叉树中度为 2 的结点有 18 个,则该二叉树中有 1 个叶子结点。(分数:2.00)填空项 1:_45.数据流图的类型有和事务型。(分数:2.00)填空项 1:_46.x、y、x 均为 int 型变量,描述“x、y 和 z 中至少有两个为正数”的表达式是 1。(分数:2.00)填空项 1:_47.与表达式 a+=b 等价的另一书写形式是 1。(分数:2

    16、.00)填空项 1:_48.下列程序的输出结果是_。#includestdio.hmain()int x=1,y=1,a=1,b=1;switch(x)case 1:switch(y)Case0:a+;break;case 1:b+;break;case2:a+;b+;break;printf(“a=%d,b=%d/n“,a,b);(分数:2.00)填空项 1:_49.C 语言用于结构化程序设计的 3 种基本结构是 1、选择结构和循环结构。(分数:2.00)填空项 1:_50.下列循环的循环次数是_。int k=2;while(k=0)printf(“%d“,k);k-;printf(“/n“

    17、);(分数:2.00)填空项 1:_51.若有定义 float b15,*p=b;,且数组 b 的首地址为 200H,则 p+13 所指向的数组元素的地址为 1。(分数:2.00)填空项 1:_52.“printf(“%d/n“,strlen(“/t/“/023/xABC/n“);”语句的输出结果是_。(分数:2.00)填空项 1:_53.设有下列宏定义:#define A 2#define B A+3则执行赋值语句:t=B*2;t 为 int 型变量后的值是_。(分数:2.00)填空项 1:_54.下列程序的功能是将字符串 s 中所有的字符 c 删除。请填空。#includestdio.hm

    18、ain()char s80;int i,j;gets(s);for(i=j=0;si !=/0;i+)if(si !=c)_;sj=/0;puts(s);(分数:2.00)填空项 1:_55.下列程序的运行结果是_。#includestdio.hfunc(a,b)static int m=0,i=2;i+=m+1;m=i+a+b;return(m);main()int k=5,m=3,p;p=func(k,m);printf(“%d“,p);p=func(k,m);printf(“%d/n“,p);(分数:2.00)填空项 1:_二级 C 语言笔试-325 答案解析(总分:100.00,做题时

    19、间:90 分钟)一、选择题(总题数:40,分数:70.00)1.判断 char 型变量 c1 是否为小写字母的正确表达式为( )。(分数:2.00)A.a=c1=zB.(c1=a)c1=z)C.(a=c1(z=c1)D.(c1=a)pp=p=p=printf(“%d,%d/n“,*p,*pp);则输出结果是( )。(分数:2.00)A.20,10B.20,20C.10,20D.10,10 解析:解析 本题考查指针变量的赋值。*pp 是定义了一个指向指针的指针变量,语句 pp=,则在使用函数 strcat(s1,s2)后,结果是( )。(分数:2.00)A.s1 的内容更新为 abcdefghi

    20、B.s1 的内容更新为 defghi/0C.s1 的内容更新为 defghiabc/0D.s1 的内容更新为 abcdefghi/0 解析:解析 strcat(s1,s2)是把 s2 字符串连接到 s1 字符串的末尾,要保证 s1 能容纳下连接后的字符串。7.在“文件包含”预处理语句的使用形式中,当#include 后面的文件名用“(双撇号)括起时,寻找被包含文件的方式是( )。(分数:2.00)A.直接按系统设定的标准方式搜索目录B.先在源程序所在的目录搜索,如没找到,再按系统设定的标准方式搜索 C.仅仅搜索源程序所在目录D.仅仅搜索当前目录解析:解析 本题考查库函数调用的知识点。格式 1:

    21、#include 文件名,预处理程序在标准目录下查找指定的文件;格式 2:#include“文件名“,预处理程序首先在引用被包含文件的源文件所在的目录下搜索指定的文件,如没找到,再按系统指定的标准目录搜索。8.下列程序的输出结果是( )。main()int a=4,b=5,c;if(ab)c=a*b;printf(“%d,%d,%d/n“,b,a,c);elsec=b/a; printf(“%d,%d,%d/n“,b,a,c);(分数:2.00)A.4,5,12B.20C.5,4,20 D.12解析:解析 本题考查 if else 语句。第一个 if 语句,先判断条件,发现 ab 成立,执行下

    22、列的复合语句,得 c=a*b=20,b、a 的值不变。9.对长度为 n 的线性表进行顺序查找,在最坏的情况下需要比较的次数为( )。(分数:2.00)A.125B.n/2C.n D.n+1解析:解析 对线性表进行顺序查找时,从表中的第一个元素开始,将给定的值与表中逐个元素的关键字进行比较,直到两者相符,查找到所要找的元素为止。在最坏的情况下,要查找的元素是表的最后一个元素或查找失败,这两种情况都需要将这个元素与表中的所有元素进行比较,因此比较次数为 n。10.在位运算中,操作数每右移两位,其结果相当于( )。(分数:2.00)A.操作数乘以 2B.操作数除以 2C.操作数除以 4 D.操作数乘

    23、以 4解析:解析 在位运算中,操作数每右移两位,相当于在操作数的左侧添 0,最右面的两位被移出,即操作数除以 4。11.下列说法不正确的是( )。(分数:2.00)A.一个 C 语言源程序可以由一个函数组成也可以由多个函数组成B.main()中的“()”是函数的参数部分,括号内可为空,但括号不能省略C.C 语言程序是以函数为基本单位的D.在 C 语言程序中,注释行只能位于一条语句的后面 解析:解析 本题涉及 C 语言基本的 3 个知识点:C 语言是以函数为基本单位的,每一个函数完成相对独立的功能,一个程序可以包括多个函数,但有且仅有一个主函数;主函数 main()的圆括号内是填写参数的,可以没

    24、有参数,但括号不可以省略:程序的注释部分应该在“/*/”之间,它允许出现在程序的任何位置。12.下列描述错误的是( )。(分数:2.00)A.继承分为多重继承和单继承B.对象之间的通信靠传递消息来实现C.在外面看不到对象的内部特征是基于对象的“模块独立性好”这个特征 D.类是具有共同属性、共同方法的对象的集合解析:解析 对象的封装性是指从外面看只能看到对象的外部特性:而对象的内部,其处理能力的实行和内部状态对外是不可见的,是隐蔽的。13.若函数调用时,参数为基本数据类型的变量,下列叙述中正确的是( )。(分数:2.00)A.实参与其对应的形参共占存储单元B.只有当实参与其对应的形参同名时才共占

    25、存储单元C.实参与其对应的形参分别占用不同的存储单元 D.实参将数据传递给形参后,立即释放原先占用的存储单元解析:解析 本题考查函数调用时的参数传递。函数的形参是函数定义时由用户定义的形式上的变量,实参是函数调用时,主调函数为被调函数提供的原始数据。在函数调用时,实参和其所对应的形参分别占用不同的存储单元,彼此之间不影响。14.在 C 语言中,while 和 dowhile 循环的主要区别是( )。(分数:2.00)A.dowhile 的循环体不能是复合语句B.dowhile 允许从循环体外转到循环体内C.whil8 的循环体至少被执行一次D.dowhile 的循环体至少被执行一次 解析:解析

    26、 本题考查 while 和 dowhile 循环的区别。 while 循环的控制出现在循环体之前,只有当while 后面的表达式的值为非零时,才可能执行循环体:在 do while 构成的循环体中,总是先执行一次循环体,然后再求表达式的值,因此无论表达式的值是否为零,循环体至少要被执行一次。15.下列叙述中正确的是( )。(分数:2.00)A.一个逻辑数据结构只能有一种存储结构B.逻辑结构属于线性结构,存储结构属于非线性结构C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D.一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率 解析:解析 数据的存储结

    27、构是指数据的逻辑结构在计算机存储空间中的存放形式,一种数据结构可以根据需要采用不同的存储结构,常用的存储结构有顺序和链式结构。采用不同的存储结构,其处理的效率是不同的。16.下列特征中不是面向对象方法的主要特征的是( )。(分数:2.00)A.多态性B.继承C.封装性D.模块化 解析:解析 面向对象设计方法与面向过程设计方法有本质的不同,其基本原理是:使用现实世界的概念抽象地思考问题从而自然地解决问题。其特点包括:分类性、多态性、封装性、模块独立性、继承和多态性等。模块化是结构化程序设计的特点。17.下列描述中正确的是( )。(分数:2.00)A.在 C 语言程序中预处理是指完成宏替换和文件包

    28、含指定的文件的调用B.预处理指令只能位于 C 源程序文件的首部C.预处理命令可以放在程序中的任何位置 D.预处理命令结尾需要加分号解析:解析 本题考查预处理命令的特点,编译预处理命令的特点:为了区别一般的语句,预处理命令行都必须以“#”号开始,结尾不加分号;预处理命令可以放在程序中的任何位置;在程序中凡是以“#”号开始的语句行都是预处理命令行。18.有下列程序:main()int k=5;while(-k) printf(“%d“,k-=3);printf(“/n“);执行后的输出结果是( )。(分数:2.00)A.1 B.2C.4D.死循环解析:解析 在程序语句中,k 的初始值为 5,进行第

    29、 1 次 while 循环后,k 自减 1 为 4,非 0,执行循环体里的 printf 语句,输出 1,此时 k 的值变为 1。程序执行第 2 次循环时,k 自减 1 变为 0,为假,退出 while 循环语句。所以程序的最后结果为 1。19.有下列程序:fun(int x,int y)return(x+y);main()inta=l1b=2,c=3,sum;sum=fun(a+,b+,a+b),C+);printf(“%d/n“,sum);执行后的输出结果是( )。(分数:2.00)A.6B.7C.8 D.9解析:解析 函数 fun(int x,int y)的功能是返回两个整型数据的和。在

    30、主函数中,变量 a,b,c 的初始值分别为 1,2,3。因此逗号表达式“a+,b+,a+b”的值等于 5,表达式 c+的值为 3,调用子函数的表达式为“fun(5,3);”,其返回值等 8。所以变量 sum 的值等于 8。20.下列能正确进行字符串赋值的是( )。(分数:2.00)A.char s5=“ABCDE“;B.char s5=A,B,C,D,E;C.char*s;s=“ABCDE“; D.char*s;printf(“%s“,s);解析:解析 字符串存储要有结束符“/0”且要占用一个空间,选项 A)、B 的空间不够;primf 用来输出字符,不能输入字符串。21.设有变量说明 int

    31、(*p)m,其中的标识符 p 是( )。(分数:2.00)A.m 个指向整型变量的指针B.指向 m 个整型变量的指针C.一个指向具有 m 个整型元素的一维数组的指针 D.具有 m 个指针元素的一维指针数组,每个元素都指向整型变量解析:解析 本题考查指向数组的指针变量的声明。这里的 p 表示一个指向数组的指针;*p 表示指针 p指向地址的内容。22.关于结构化程序设计原则和方法的描述错误的是( )。(分数:2.00)A.选用的结构只准许有一个入口和一个出口B.复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现C.不允许使用 GOTO 语句 D.语言中所没有的控制结构,应该采用前后一致的方法来模拟

    32、解析:解析 限制使用 GOTO 语句是结构化程序设计的原则和方法之一,但不是绝对不允许使用 GOTO 语句。其他三项为结构化程序设计的原则。23.若 ch 为 char 型变量,k 为 int 型变量(已知字符 a 的 ASCII 码是 97),则执行下列语句后输出的结果为( )。ch=b;k=10;printf(“%x,%o,“,ch,ch,k);printf(“k:%d/n“,k);(分数:2.00)A.因变量类型与格式描述符的类型不匹配,输出无定值B.输出项与格式描述符个数不符,输出为 0 值或不定值C.62,142,k=%d D.62,142,k=%10解析:解析 第 1 个 prin

    33、tf 函数,格式说明的个数是 2,而输出项的个数是 3,所以对于多余的输出项k 不予输出;第 2 个 printf 函数,有两个%说明,第 1 个%后面的字符要原样输出。知识拓展 本题考查 printf 函数的格式。“%x”和“%o”分别表示以+六进制和八进制无符号型输出整型数据(不带前导 0x 或 0):printf 函数中格式说明符之前插入的任何字符都原样输出;格式说明与输出项的个数也要相等,如果格式说明的个数少于输出项的个数,则对于多余的输出项不予输出。24.下列能正确定义且赋初值的语句是( )。(分数:2.00)A.int n1=n2=10;B.char c=32; C.float f

    34、=f+1.1;D.double x=12.3E2.5;解析:解析 C 语言规定,可以在定义变量的同时给变量赋初值,称为变量初始化。在选项 A)中在给 n1和 n2 进行赋初值,但变量 n2 没有定义:在选项 C)中定义变量 f 时,不能在赋值表达式的右边出现变量f 自身,所以选项 C)错误;在选项 D)用指数表达式的常量中,字母 E 后面的数应该为整数,而不应该为小数形式。因此,选项 B)正确。25.若有定义:“int a 23;”则对 a 数组的第 i 行第 j 列元素的正确引用为( )。(分数:2.00)A.*(*(a+i)+j) B.(a+i)jC.*(a+i+j)D.*(a+i)+j解

    35、析:解析 本题考查如何通过地址来引用数组元素。通过地址来引用数组元素的方法有下列 5 种:aij:*(ai+j);*(*(a+i)+j):*(aij;*(B.int a34;C.#define N 5float a N3;D.int a 29.5; 解析:解析 C 语言规定,对于二维数组,只可以省略第一个方括号中的常量表达式,而不能省略第二个方括号中的常量表达式;二维数组的一般定义格式是:类型说明符数组名常量表达式常量表达式)。30.下列叙述中正确的是( )。(分数:2.00)A.在赋值表达式中,赋值号的左边既可以是变量,也可以是任意表达式B.实型变量中允许存放整型数 C.若 a 和 b 类型

    36、相同,在执行了赋值 a=b 后,b 中的值将放入 a 中,但 b 中的值不变D.在 C 程序中,求余运算符“%”两边的类型相同时才能进行运算解析:解析 选项 A,在赋值表达式中,赋值号的左边只能是变量或者是代表某个存储单元的表达式,不能是任意表达式。在判断选项 B)时首先应该建立这样的概念,整型变量中只能存放整型数,实型变量中能存放实型数,也能存放整型数。选项 C),执行表达式 a=b 后,将把变量 b 存储单元中的值赋给变量a,从而覆盖 a 中原有的值,但 b 中原有的值并不改变。选项 D),在 C 程序中,求余运算符“%”两边的类型均为整型数据。31.下列叙述中正确的是( )。(分数:1.

    37、00)A.软件交付使用后还需要进行维护 B.软件一旦交付使用就不需要再进行维护C.软件交付使用后其生命周期就结束D.软件维护是指修复程序中被破坏的指令解析:解析 软件生命周期一般可以分为软件定义、软件开发及软件运行维护 3 个阶段。软件交付并投入运行后,需要不断地进行维护,并根据新提出的需求进行必要而且可能的扩展和删改。32.下列叙述中正确的是( )。(分数:1.00)A.一个算法的空间复杂度大,则其时间复杂度必定大B.一个算法的空间复杂度大,则其时间复杂度必定小C.一个算法的时间复杂度大,则其空间复杂度必定小D.上述三种说法都不对 解析:解析 算法的时间复杂度和算法的空间复杂度是从不同的角度

    38、来衡量算法的执行情况,它们之间没有内在联系。33.若各选项中所用变量已正确定义,fun()函数中通过 return 语句返回一个函数值,下列选项中错误的程序是( )。(分数:1.00)A.main()x=fun(2,10);float fun(int a,intb) B.float fun(int a,intb)main()x=fun(i,j);C.float fun(int,int);main()x=fun(2,10);float fun(int a,intb)D.main()float fun(int I,intj);x=fun(i,j);float fun(int a,intb)解析:解

    39、析 C 语言规定,函数必须先定义,后调用(函数的返回值类型为 int 或 char 时除外)。在选项A)中,调用的子函数在调用后面定义,所以不正确。在选项 B)、C)中,被调用函数在主调函数之前定义,再在主函数中调用,所以是正确的;在选项 D)中,在主调函数中先对子函数 float fun(int i,int j)进行了定义,然后进行调用。34.sizeof(float)是( )。(分数:1.00)A.一种函数调用B.一种函数定义C.一个浮点表达式D.一个整型表达式 解析:解析 sizeof(float)是 C 语言内部规定的用于计算单精度型变量(float)在计算机的内存中所占用的字节数量的

    40、函数,返回一个整数值。35.若有结构体定义:struct stu int num;char sex;int age;a1,a2;则下列语句中错误的是( )。(分数:1.00)A.printf(“%d%c,%d“,a1); B.a2.age=a1.age;C.a1.age+;D.a1.num=5;解析:解析 题中 a1 和 a2 两个结构体变量名所对应的成员相同,可以与运算“+”相结合。结构体变量的输出格式为:printf(“要输出变量名:%d/t“,结构变量名.要输出的成员变量名)。36.下列程序的输出结果是( )。main()int i=1 j=2,k=3;if(i+=1(分数:1.00)A

    41、.1 2 3B.2 3 4C.2 2 3D.2 3 3 解析:解析 本题考查自增运算符“+”、逻辑与运算符“for(i=1;i5;i+)switch(i)case 0:case 3:a+=1;case 1:case2:a+=2;default:a+=3;printf(“%d“,(分数:1.00)A.;B.double int=3+5e2.5C.long do=1L;D.float 3_asd=3e-3;解析:解析 C 语言规定,标识符是由字母、数字或下画线组成,并且它的第一个字符必须是字母或者下画线。另外 C 语言规定了一些专用的标识符,它们有着固定的含义,不能更改。int 就是表达变量类型的

    42、标识符,它不能再用做变量名和函数名。d。是 C 语言的一个关键字,也不能再用做变量名和函数名。二、填空题(总题数:15,分数:30.00)41.在程序设计阶段应该采取 1 和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,继而用某种程序设计语言写成程序。(分数:2.00)填空项 1:_ (正确答案:自顶向下)解析:解析 在程序设计时,应先考虑总体,后考虑细节,逐步使问题具体化,对复杂的问题,应该设计一些子目标作为过渡,上述方法概括为:自顶向下,逐步细化。42.注释一般分为序言性注释和 1 注释。(分数:2.00)填空项 1:_ (正确答案:功能性)解析:解析 注释一般分为序言

    43、性注释和功能性注释。序言性注释通常位于每个程序的开头部分,给出程序的整体说明;功能性注释一般嵌在源程序体之中,主要描述其后的语句或程序做什么。43.在面向对象方法中,类的实例称为 1。(分数:2.00)填空项 1:_ (正确答案:对象)解析:解析 在面向对象的程序设计方法中,类是具有相同的属性或方法的对象的抽象,对象是类的实例。44.某二叉树中度为 2 的结点有 18 个,则该二叉树中有 1 个叶子结点。(分数:2.00)填空项 1:_ (正确答案:19)解析:解析 在任意一棵二叉树中,度数为 0 的结点(即叶子结点)总比度为 2 的结点多一个,因此该二叉树中叶子结点为 18+1=19。45.

    44、数据流图的类型有和事务型。(分数:2.00)填空项 1:_ (正确答案:变换型)解析:解析 典型的数据流类型有两种:变换型和事务型。46.x、y、x 均为 int 型变量,描述“x、y 和 z 中至少有两个为正数”的表达式是 1。(分数:2.00)填空项 1:_ (正确答案:(x0)switch(x)case 1:switch(y)Case0:a+;break;case 1:b+;break;case2:a+;b+;break;printf(“a=%d,b=%d/n“,a,b);(分数:2.00)填空项 1:_ (正确答案:a=2,b=3)解析:解析 分析程序,程序从 x=1 语句开始执行,之

    45、后执行第一个 switch 语句,switch(x)=switch(1),所以执行 case1,case1 语句中包含一个复合 switch 语句;这时执行第二个 switch 语句,此时 y=1,所以 switch(y)= switch(1),因此执行 case 1,将 b 加 1,得到 b=2,遇到 break 语句,退出第二个switch 语句,则整个 case 1 的复合语句执行完毕,由于在这个 case 1 的后面没有 break 语句使其退出第一个 switch 语句,所以接着执行下列的 case 2 后面的语句,即将 a、b 各加 1,得到 a=2,b=3。49.C 语言用于结构

    46、化程序设计的 3 种基本结构是 1、选择结构和循环结构。(分数:2.00)填空项 1:_ (正确答案:顺序结构)解析:解析 结构化程序有 3 种基本结构,即顺序结构、选择结构(包括汀语句和 switch 语句)和循环结构(包括 for 语句、while 语句、dowhile 语句)。50.下列循环的循环次数是_。int k=2;while(k=0)printf(“%d“,k);k-;printf(“/n“);(分数:2.00)填空项 1:_ (正确答案:0)解析:解析 解答本题需要注意表达式“k=0”,它是赋值表达式而不是关系表达式,不论 k 为何值,表达式 k=0 总会使 k 为 0,所以不

    47、能进入循环。51.若有定义 float b15,*p=b;,且数组 b 的首地址为 200H,则 p+13 所指向的数组元素的地址为 1。(分数:2.00)填空项 1:_ (正确答案:252H)解析:解析 要解答本题,首先要明白在对指针进行加、减运算时,数字“1”不是+进制数的“1”,而是指“1”个存储单元长度。1 个存储单元长度占存储空间的多少,应该视具体情况而定,如果存储单元的基类型是血型,则移动 1 个存储单元的长度就是位移 2 个字节;如果存储单元基类型是 float 型,则移动 1 个存储单元的长度就是位移 4 个字节。所以 p+13 所指向的数组元素的地址为:200H+(13*4)H=252H。52.“printf(“%d/n“,strlen(“/t/“/023/xAB


    注意事项

    本文(【计算机类职业资格】二级C语言笔试-325及答案解析.doc)为本站会员(proposalcash356)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
    备案/许可证编号:苏ICP备17064731号-1 

    收起
    展开