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

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

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

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

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

    1、二级 C 语言笔试 338 及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:70.00)1.下列程序执行后输出的结果是 _。int d=1;fun(int p) int d=5; d+=p+; printf(“%d,“,D) ;main() int a=3; fun(A) ; d+=a+; printf(“%d/n“,D) ;(分数:2.00)A.8,12B.9,13C.8,4D.9,52.下述函数功能是 _。int funr(char*x) char*y=x; while(*y+); return y-x-1;(分数:2.00)A.求字符串的长度B

    2、.求字符串存放的位置C.比较两个字符串的大小D.将字符串 x 连接字符串 y 后面3.下列程序的输出结果是 _。main() int i=3; switch(i) case 1: casc 2: printf(“%d“,i); case 3: case 4: break; defanlt:printf(“OK“); (分数:2.00)A.0B.3C.OKD.没有任何输出4.模块本身的内聚是模块独立性的重要性度量因素之一。在 7 类内聚中,具有最强内聚的类是_。(分数:2.00)A.顺序性内聚B.过程性内聚C.逻辑性内聚D.功能性内聚5.在软件开发过程中,软件结构设计是描述 _。(分数:2.00

    3、)A.数据存储结构B.软件体系结构C.软件结构测试D.软件控制过程6.排序方法中,将整个无序序列分割成若干小的子序列并分别进行插入排序的力法,称为 _。(分数:2.00)A.希尔排序B.冒泡排序C.插入排序D.选择排序7.若进栈序列为 1,2,3,4,进栈过程中可以出栈,则下列不可能的一个出栈序列是 _。(分数:2.00)A.1,4,3,2B.2,3,4,1C.3,1,4,2D.3,4,2,18.下面是对宏定义的描述,不正确的是 _。(分数:2.00)A.宏不存在类型问题,宏名无类型,它的参数也无类型B.宏替换不占用运行时间C.宏替换时先求出实参表达式的值,然后代入形参运算求值D.宏替换只不过

    4、是字符替代而已9.以下程序(程序左边的数字为附加的行号)_。1#includestr.h2#includestdio.h3main()4 char s=“string“;5puts(s);6strcpy(s,“hello“);7printf(“%3s/n“s);(分数:2.00)A.没有错B.第 1 行有错C.第 6 行有错D.第 7 行有错10.已知下面的程序段,正确的判断是 _。#define A 3#define B(A) (A+1)*A) int a=3;X=3*(A+B(7);(分数:2.00)A.程序错误,不允许嵌套定义B.X=93C.X=81D.程序错误,宏定义不允许有参数11.

    5、在顺序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找关键码值 11,所需的关键码比铰次数为 _。(分数:1.00)A.2B.3C.4D.512.是构成 C 语言程序的基本单位。(分数:1.00)A.函数B.过程C.子程序D.子例程13.已知字母 A 的 ASCII 码值是 65,字母 a 的 ASCII 码值是 97,以下程序_。main() char a=A; int b=20; printf(%d,%0“,(a=a+a,a+b,B) ,a+a-A,B) ;(分数:1.00)A.表达式非法,输出零或不确定值B.因输出项过多,无输出或输出不确定值C.输出结果为

    6、 20,141D.输出结果为 20,141,2014.数据的完整性是指数据的正确性、有效性和 _。(分数:1.00)A.可维护性B.独立性C.安全性D.相容性15.数据存储和数据流都是 _,仅仅是所处的状态不同。(分数:1.00)A.分析结果B.事件C.动作D.数据16.下列程序的执行结果是 _。#includestdio.hunion un int i; char c2;void main() union un x; x.c0=10; x.c1=1; printf(“/n%d“,x.i);(分数:1.00)A.266B.11C.265D.13817.关系代数运算是以 _为基础的运算。(分数:

    7、1.00)A.关系运算B.谓词运算C.集合运算D.代数运算18.能将高级语言程序转换成目标语言程序的是 _。(分数:1.00)A.调试程序B.解释程序C.编译程序D.编辑程序19.出下列程序执行后的输出结果是 _。mare()int m3=1,4,7,2,5,8,3,6,9; int i,k=2; for(i0;i3;i+) printf(“%d“,mki);(分数:1.00)A.456B.258C.369D.78920.设有以下语句: char str1 =“string“mstr2 8,*str3,*str4=“string“; 则 _不是对库函数的正确调用。(分数:1.00)A.strc

    8、py(str1,“HELLO1“);B.strcpy(str2,“HELLO2“);C.strcpy(str3,“HELLO3“);D.strcpy(str 4,“HELLO4“);21.若有以下结构体定义,则是正确的引用或定义。struct example int x; int y;v1;(分数:2.00)A.examplx=10B.examplev2.x=10C.struct v2;v2.x=10D.struct example v2=10;22.可以在 C 语言中用做用户标识符的是_。(分数:2.00)A.void define WORDB.as_b3 _123 IfC.for -abc

    9、 casD.2c Do SIG23.C 语言库函数 fgets(str,n,fp)的功能是 _。(分数:2.00)A.从 fp 指向的文件中读取长度 n 的字符串存入 str 旨向的内存B.从 fp 指向的文件中读取长度不超过 n-1 的字符串存入 str 指向的内存C.从 fb 指向的文件中读取 n 个字符串存入 str 指向的内存D.从 str 读取至多 n 个字符到文 fp24.若有定义:int a410;,则以下选项中对数组元素 aii引用错误的是_。(0=i4,0=i10)(分数:2.00)A.*(a00十 10*i+B.*(a+jC.*(a+D.*(a+25.若个外部变量的定义形式

    10、为 static int x;,那么,其中 static 的作用应该是_。(分数:2.00)A.将变量存储在静态存储区B.使变量 x 可以由系统自动初始化C.使 x 只能在本文件内引用D.使 x 的值可以永久保留26.以下程序的输出结果是 _。#includestdio.hvoid prt(int*x,int*y,int*z) printf(“%d,%d,%d/n“,+*x,+*y,*(z+); int a=10,b=40,c=20;main() prt(printf(“%d/n“,*(p+4);程序段的输出结果是 _。(分数:2.00)A.68B.0C.字符 D 的地址D.不确定的值29.下

    11、列程序的输出结果是_。#defineA 100main()int i=0,sum=0; do if(i=(i/2)*2)continue; sum+=i; while(+iA) ; printf(“%d/n“,sum);(分数:2.00)A.2500B.2050C.4D.030.下面程序的输出结果是 _。#includestdio.hmain() char*p=“BOOL“,“OPK“,“H“,“SP“; int i: for(i=3;i=0;i-,i-) printf(“%c“,*pi); printf(“/n“);(分数:2.00)A.SOB.SPC.SPOPKD.SHOB31.已知形成链

    12、表的存储结构如下图所示,则下述类型描述中的空白处应填 _。 struct link char data; _; node; (分数:2.00)A.struct link nextB.link*nextC.struct next linkD.struct link*next32.以下程序输出的结果为 _。main() char*alpha6=“ABCD“,“EFGH“,“IJKL“,“MNOP“,“QRST“,“UVWX“; char*p; int i; p=alpha; for(i=0;i4;i+) printf(“%s“,pi);(分数:2.00)A.ABCDEFGHIJKLB.ABCDC.

    13、ABCDEFGHIJKLMNOPD.AEIM33.定义 int*swap()指的是 _。(分数:2.00)A.一个返回整型值的函 swap()B.个返回指向整型值指针的 swap()C.一个指向函数 swap()的指针,函数返回一个整型值D.以上说法均错34.下面语句的输出结果是_。printf(“%d/n“,strlen(“/t/“/065/xff/n“);(分数:2.00)A.14B.8C.5D.输出项不合法,无正常输出35.以下程序段的输出结果是 _。main() char s110,s210,s310; scanf(“%s“,s1);gets(s2);gets(s3); puts(s1

    14、);puts(s2);puts(s3); 输入数据如下: (此处CR代表回车符)aaaCRbbbCR(分数:2.00)A.aaa bbbB.aaa bbbC.aaa/0bbb/0D.aaabbb36.请读程序:#includestdio.h#includestring.hmain() char*s1=“AbCdEf“,“*s2=“aB“; s1+;s2+; printf(“%d/n“,strcmp(s1,s2); 上面程序的输出结果是_。(分数:2.00)A.正数B.负数C.零D.不确定的值37.下述程序向文件输出的结果是 _。#includestdio.hvoid main() FILE*f

    15、p=fopen(“TEST“,“wb“); fprintf(fp,“%5.0f%c%d“,58,76273.0-,2278); fclose(fp);(分数:2.00)A.58 76273-2278B.5876273.000000-2278C.5876273-2278D.因文件为二进制文件而不可读38.以下程序的输出结果是 _。#includestdio.h#define SQR(x)x*xmain() int a,k=3; a=+SQR(K+1); printf(“%d/n“,A) ;(分数:2.00)A.8B.9C.17D.2039.对于 n 个结点的单向链表(无表头结点),需要指针单元的

    16、个数至少为 _。(分数:2.00)A.n-1B.nC.n+1D.2n40.已知小写字母 a 的 ASCII 码为 97,大写字母 A 的 ASCII 码为 65,以下程序的结果是 _。main()unsigned int a=32,b=66;printf(“%c/n“,aB) ;(分数:2.00)A.66B.98C.bD.B二、B填空题/B(总题数:12,分数:30.00)41.对于长度为 n 的顺序存储的线性表,当随机插入和删除个元素时,需平均移动元素的个数为U 【1】 /U。(分数:2.00)填空项 1:_42.注释说明了程序的功能,它分为U 【2】 /U注释和功能性注释。(分数:2.00

    17、)填空项 1:_43.软件测试中路径覆盖测试是整个测试的基础,它是对软件U 【3】 /U进行测试。(分数:2.00)填空项 1:_44.数据库技术的主要特点为数据的集成性、数据的高U 【4】 /U和低冗余性、数据独立性和数据统一管理与控制。(分数:2.00)填空项 1:_45.数据元素之间U 【5】 /U的整体称为逻辑结构。(分数:2.00)填空项 1:_46.若 x 和 y 都是 double 型变量,且 x 的初值为 3.0,y 的初值为 2.0,则表达式 pow(y,fabs(x)的值为U 【6】 /U。(分数:2.00)填空项 1:_47.设有 chara.b;,若要通过 a main

    18、() int a=7,b=5; printf(“%d/n“,fun(a,B) /m); (分数:2.00)填空项 1:_49.下列程序执行后输出的结果是U 【9】 /U。 main() int arr10,i,k=0; for(i=0;i10;i+)arri=i; for(i=1;i4;i+) k+=arri+i; printf(“%d/n“,k);(分数:2.00)填空项 1:_50.下面程序有两个 printf 语句,如果第一个 printf 语句输出的是 194,则第二个 printf 语句的输出结果是U 【10】 /U。 main() int a10=1,2,3,4,5,6,7,8,9

    19、,0,*p; p=a; printf(“%x/n“,p); printf(“%x/“,p+9); (分数:2.00)填空项 1:_51.函数 delete(s,i,n)的作用是从字符串 s 中删除从第 i 个字符开始的 n 个字符,请填空。 void delete(char s,int i,int n) int j,k,length=0; while(slength) U【11】 /U; -i; j=i; If(U 【12】 /U) k=i+n; if(i+n=length) while(klength) sj+=sk+;sj=/0;(分数:4.00)填空项 1:_52.下述函数统计个字符串中

    20、的单词个数,单词是指处在空格之间的字符序列,请填空。 int word(char*s) int num=0,flag=0; while(*s) if(U 【13】 /U=) flag=0; else if(U 【14】 /U)flag=1;num+ return U【15】 /U;(分数:6.00)填空项 1:_二级 C 语言笔试 338 答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:70.00)1.下列程序执行后输出的结果是 _。int d=1;fun(int p) int d=5; d+=p+; printf(“%d,“,D) ;main() i

    21、nt a=3; fun(A) ; d+=a+; printf(“%d/n“,D) ;(分数:2.00)A.8,12B.9,13C.8,4 D.9,5解析:评析 本题执行过程如下首先调用 fun 函数,使得实参 a 的值 3 传递给形参 p,得到局部变量d=8,打印出局部变量 d 的值 8;返回主函数执行“d+=a+”,此处的 d 为全局变量,所以 d=1+3=4(由于本题是值传递,所以在函数 fun 中对 p 值的改变并不能引起 a 的改变),故本题的输出是 8,4。2.下述函数功能是 _。int funr(char*x) char*y=x; while(*y+); return y-x-1;

    22、(分数:2.00)A.求字符串的长度 B.求字符串存放的位置C.比较两个字符串的大小D.将字符串 x 连接字符串 y 后面解析:评析 在函数体内定义一字符型指针并指向形参,然后遍历其中各字符直到 NULL,最后返回字符串首尾地址的差值,即字符串的长度。3.下列程序的输出结果是 _。main() int i=3; switch(i) case 1: casc 2: printf(“%d“,i); case 3: case 4: break; defanlt:printf(“OK“); (分数:2.00)A.0B.3C.OKD.没有任何输出 解析:评析 在题中,i 的值为 3,由于“case 3:

    23、”后面没有 break 语句,所以继续向下执行“case 4:”后面的语句,由于“case 4:”后面的语句为 break 强行退出 switch 语句,所以,本题没有任何输出。4.模块本身的内聚是模块独立性的重要性度量因素之一。在 7 类内聚中,具有最强内聚的类是_。(分数:2.00)A.顺序性内聚B.过程性内聚C.逻辑性内聚D.功能性内聚 解析:评析 内聚性是一个模块内部各元素间彼此结合的紧密程度的度量。内聚共有 7 类,它们之间的内聚性由弱至强排列顺序为:偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺芋内聚和功能内聚。5.在软件开发过程中,软件结构设计是描述 _。(分数:2.00)

    24、A.数据存储结构B.软件体系结构 C.软件结构测试D.软件控制过程解析:评析 从工程管理角度来看,软件设计分两步完成:概要设计和详细设计。概要设计(又称结构设计)将软件需求转化为软件体系结构、确定系统级接口、全局数据结构或数据库模式。6.排序方法中,将整个无序序列分割成若干小的子序列并分别进行插入排序的力法,称为 _。(分数:2.00)A.希尔排序 B.冒泡排序C.插入排序D.选择排序解析:评析 希尔排序法的基本思想是:将整个无序序列分割成若干小的子序列分别进行插入排序。7.若进栈序列为 1,2,3,4,进栈过程中可以出栈,则下列不可能的一个出栈序列是 _。(分数:2.00)A.1,4,3,2

    25、B.2,3,4,1C.3,1,4,2 D.3,4,2,1解析:评析 栈是种后进先出表,选项 C 中,先出栈的是 3,说明此时栈内必然有 1,2,由于 1 先于2 进栈,所以 1 不可能在 2 之前出栈,故选项 C 选种出栈序列是不可能的。8.下面是对宏定义的描述,不正确的是 _。(分数:2.00)A.宏不存在类型问题,宏名无类型,它的参数也无类型B.宏替换不占用运行时间C.宏替换时先求出实参表达式的值,然后代入形参运算求值 D.宏替换只不过是字符替代而已解析:评析 宏替换实质上就是字符替代,它不可能进行计算,故 C 错误。带参数的宏与函数相比,宏在程序编译之前已经将代码替换到程序内,执行时不会

    26、产生类似于函数调用的问题,可以说不占用运行时间。9.以下程序(程序左边的数字为附加的行号)_。1#includestr.h2#includestdio.h3main()4 char s=“string“;5puts(s);6strcpy(s,“hello“);7printf(“%3s/n“s);(分数:2.00)A.没有错B.第 1 行有错 C.第 6 行有错D.第 7 行有错解析:评析 字符串复制函数 strcpy 包含在头文件 string.h 中,因此,程序中的第 1 行文件包含命令是错误的。10.已知下面的程序段,正确的判断是 _。#define A 3#define B(A) (A+

    27、1)*A) int a=3;X=3*(A+B(7);(分数:2.00)A.程序错误,不允许嵌套定义B.X=93C.X=81 D.程序错误,宏定义不允许有参数解析:评析 本题的宏定义是合法的,宏定义展开为 3*(3+(A+1)*a)=3*(3+(7+1)*3)=81。11.在顺序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找关键码值 11,所需的关键码比铰次数为 _。(分数:1.00)A.2B.3C.4 D.5解析:评析 二分法查找是用关键码与线性表的中间元素比较,然后根据比较结果来判断是结束查找,还是在左边或者右边子表按相同的方法继续查找。本题中,与 11 比

    28、较的关键码分别为 15,8,10,12 四个。12.是构成 C 语言程序的基本单位。(分数:1.00)A.函数 B.过程C.子程序D.子例程解析:评析 C 程序是由函数构成的。一个 C 源程序至少包含一个 main 函数,也可以包含一个 main 函数和若干个其他函数,因此,函数是 C 程序的基本单位。13.已知字母 A 的 ASCII 码值是 65,字母 a 的 ASCII 码值是 97,以下程序_。main() char a=A; int b=20; printf(%d,%0“,(a=a+a,a+b,B) ,a+a-A,B) ;(分数:1.00)A.表达式非法,输出零或不确定值B.因输出项

    29、过多,无输出或输出不确定值C.输出结果为 20,141 D.输出结果为 20,141,20解析:评析 本题中首先输出逗号表达式“a=a+a,a+b,b”的值,即 20。然后以八进制的形式输出a+a-A的值为 97 对应的八进制数 141,由于最后一个表达式 b 没有对应输出格式的输出项表列就不会输出。14.数据的完整性是指数据的正确性、有效性和 _。(分数:1.00)A.可维护性B.独立性C.安全性D.相容性 解析:评析 数据模型的完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态及其状态的变化,以保证数据的正确性、有效性和相容性。15.数据存储和

    30、数据流都是 _,仅仅是所处的状态不同。(分数:1.00)A.分析结果B.事件C.动作D.数据 解析:评析 数据流图有 4 种成分:源点或终点、处理、数据存储和数据流。数据存储是处于静止状态的数据,数据流是处于运动中的数据。16.下列程序的执行结果是 _。#includestdio.hunion un int i; char c2;void main() union un x; x.c0=10; x.c1=1; printf(“/n%d“,x.i);(分数:1.00)A.266 B.11C.265D.138解析:评析 由于本题定义的是共用体,所以成员表列中的整型变景 x 与字符数组 c 共占用同

    31、个存储单元,且此存储单元为 2 个字节,通常 c0位于低字节,c1位于高字节,所以 x.i 的值为 266。17.关系代数运算是以 _为基础的运算。(分数:1.00)A.关系运算B.谓词运算C.集合运算 D.代数运算解析:评析 关系代数运算是以关系代数作为运算对象的一组高级运算的集合。它的基本操作是并、交、差、笛卡尔积,另外还包括垂直分割(投影)、水平分割(选择)、关系的结合(连接)等。18.能将高级语言程序转换成目标语言程序的是 _。(分数:1.00)A.调试程序B.解释程序C.编译程序 D.编辑程序解析:评析 用高级语言编写的程序称为“源程序”,而计算机只能识别和执行由 0 和 1 组成的

    32、二进制指令,所以高级语言必须先用种称为“编译程序”的软件,把源程序翻译成二进制形式的“目标程序”。19.出下列程序执行后的输出结果是 _。mare()int m3=1,4,7,2,5,8,3,6,9; int i,k=2; for(i0;i3;i+) printf(“%d“,mki);(分数:1.00)A.456B.258C.369 D.789解析:评析 根据二维数组的定义得出:m00=1,m01=4,m02=7,m10=2,m11=5,m12=8,m20=3,m21=6, m22=9,所以本题的输出是第 3 行的值 m20,m20,m22,即 369。20.设有以下语句: char str1

    33、 =“string“mstr2 8,*str3,*str4=“string“; 则 _不是对库函数的正确调用。(分数:1.00)A.strcpy(str1,“HELLO1“);B.strcpy(str2,“HELLO2“);C.strcpy(str3,“HELLO3“); D.strcpy(str 4,“HELLO4“);解析:评析 C 语言中:strcpy(st1,st2);,其两个参数均为字符指针或字符数组,选项 C 中的目的串指针 str3 没有指向具体有效的存储单元,故是错误的调用。21.若有以下结构体定义,则是正确的引用或定义。struct example int x; int y;

    34、v1;(分数:2.00)A.examplx=10B.examplev2.x=10C.struct v2;v2.x=10D.struct example v2=10; 解析:评析 在定义结构体变量时,不能只用结构体名 example 或关键字 struct 进行定义,必需要用结构体类型名 struct example 定义,在引用结构体成员变量时,需要用结构体变量名进行引用,所以选D。22.可以在 C 语言中用做用户标识符的是_。(分数:2.00)A.void define WORDB.as_b3 _123 If C.for -abc casD.2c Do SIG解析:评析 C 语言规定,标识符

    35、只能由字母、数字和下划线三种符号组成,而且第一个字符必须是字母或下划线。另外还需要注意的是关键字不能作标识符。选项 A 中 void,C 中 for 都为关键字,D 中 2c以字母开头。23.C 语言库函数 fgets(str,n,fp)的功能是 _。(分数:2.00)A.从 fp 指向的文件中读取长度 n 的字符串存入 str 旨向的内存B.从 fp 指向的文件中读取长度不超过 n-1 的字符串存入 str 指向的内存 C.从 fb 指向的文件中读取 n 个字符串存入 str 指向的内存D.从 str 读取至多 n 个字符到文 fp解析:评析 fgets 函数的作用是从指定的文件读入个字符串

    36、。fgets(str,n,fp);中的 n 为要求得到的字符的个数,但只从中指向的文件输入 n-1 个字符,然后在最后加个/0字符,因此得到的字符串共有 n 个字符。24.若有定义:int a410;,则以下选项中对数组元素 aii引用错误的是_。(0=i4,0=i10)(分数:2.00)A.*(a00十 10*i+B.*(a+j C.*(a+D.*(a+解析:评析 本题中选项 B 是错误的引用,*(a+i)+j 只代表了 aij的地址。25.若个外部变量的定义形式为 static int x;,那么,其中 static 的作用应该是_。(分数:2.00)A.将变量存储在静态存储区B.使变量

    37、x 可以由系统自动初始化C.使 x 只能在本文件内引用 D.使 x 的值可以永久保留解析:评析 事实上,无论有无 static 修饰,外部变量都具有 A、B 和 C 三科特性。作为种修饰,static 仅是限制此类型外部变量的引用范围:只能在定义它的文件范围内使用。26.以下程序的输出结果是 _。#includestdio.hvoid prt(int*x,int*y,int*z) printf(“%d,%d,%d/n“,+*x,+*y,*(z+); int a=10,b=40,c=20;main() prt(printf(“%d/n“,*(p+4);程序段的输出结果是 _。(分数:2.00)A

    38、.68B.0 C.字符 D 的地址D.不确定的值解析:评析 在对字符数组赋字符串值时,系统会自动在字符串的末尾加上一个字符串结束标志/0,故指向字符数组的指针 p 的*(p+4)的值为/0。由于/0的编码值就是 0,所以本题输出为 0。29.下列程序的输出结果是_。#defineA 100main()int i=0,sum=0; do if(i=(i/2)*2)continue; sum+=i; while(+iA) ; printf(“%d/n“,sum);(分数:2.00)A.2500 B.2050C.4D.0解析:评析 本题程序的功能是求 1 到 99 之间(包括 1 和 99)所有奇数

    39、之和。程序中的 while 循环的终止条件为+i=100,在 while 循环体内,如果 i 是偶数,则执行 continue,跳过这一次循环,执行下次循环,否则求和和。最后输出的值是 1 到 99 之间(包括 1 和 99)所有奇数之和(1+99)*50/2=2500。30.下面程序的输出结果是 _。#includestdio.hmain() char*p=“BOOL“,“OPK“,“H“,“SP“; int i: for(i=3;i=0;i-,i-) printf(“%c“,*pi); printf(“/n“);(分数:2.00)A.SO B.SPC.SPOPKD.SHOB解析:评析 p0

    40、存放的是“BOOL/0”的首地址:p1存放的是“OPK/0”的首址等。 在 printf 语句中输出的*pi表示 pi字符串的第个字符。在 for 循环中,i 的初值为 3,那么输出的第个字符为“S”,接着两次 i-,则输出的值为*p1,即字符“O”,所以本题的输出为 SO。31.已知形成链表的存储结构如下图所示,则下述类型描述中的空白处应填 _。 struct link char data; _; node; (分数:2.00)A.struct link nextB.link*nextC.struct next linkD.struct link*next 解析:评析 在单向链表中,由于每个

    41、结点需要存储下个结点的地址,且下一个结点的数据类型与前个结点的数据类型完全相同,故应为 struct link *next。32.以下程序输出的结果为 _。main() char*alpha6=“ABCD“,“EFGH“,“IJKL“,“MNOP“,“QRST“,“UVWX“; char*p; int i; p=alpha; for(i=0;i4;i+) printf(“%s“,pi);(分数:2.00)A.ABCDEFGHIJKLB.ABCDC.ABCDEFGHIJKLMNOP D.AEIM解析:评析 alpha0指向“ABCD”的首地址;alpha1指向“EFGH”的首地址;alpha2指

    42、向“IJKL”的首地址,依此类推。当执行 p=alpha 后,p 指向指针数组 alpha 的首地址。for 循环中输出了4 个字符串。33.定义 int*swap()指的是 _。(分数:2.00)A.一个返回整型值的函 swap()B.个返回指向整型值指针的 swap() C.一个指向函数 swap()的指针,函数返回一个整型值D.以上说法均错解析:评析 一个函数可以带回一个整型值、字符值、实型值等,但也可以带回指针型数据,即地址。本题的定义中,包括括号和*号,由于()优先级高于*。故它是个返回整型指针的函数。34.下面语句的输出结果是_。printf(“%d/n“,strlen(“/t/“

    43、/065/xff/n“);(分数:2.00)A.14B.8C.5 D.输出项不合法,无正常输出解析:评析 在 C 语言中,以“/”开头的字符均为转义字符,其中“/”后可跟 13 位八进制数或在“/”后跟字母 x 及 12 位十六进制数,以此来代表一个特定的字符。35.以下程序段的输出结果是 _。main() char s110,s210,s310; scanf(“%s“,s1);gets(s2);gets(s3); puts(s1);puts(s2);puts(s3); 输入数据如下: (此处CR代表回车符)aaaCRbbbCR(分数:2.00)A.aaa bbbB.aaa bbb C.aaa

    44、/0bbb/0D.aaabbb解析:评析 scanf 是标准输入函数,在输入字符串 aaa 时,实际的内容为“aaa/0”,“/0”是由系统自动加入的;gets 的功能是从终端读入一行字符,即一直读到换行符为止,并由系统自动以“/0”代替换行符。36.请读程序:#includestdio.h#includestring.hmain() char*s1=“AbCdEf“,“*s2=“aB“; s1+;s2+; printf(“%d/n“,strcmp(s1,s2); 上面程序的输出结果是_。(分数:2.00)A.正数 B.负数C.零D.不确定的值解析:评析 函数 strcmp 的功能是比较字符串

    45、 s1 和 s2,如果 s1s2,则返回个正数:如果 s1s2,则返回负数,否则返回零。由于本题中小写字母 b 的 ASCII 码值大于大写字母 B,故 s1s2,所以函数的值为正数。37.下述程序向文件输出的结果是 _。#includestdio.hvoid main() FILE*fp=fopen(“TEST“,“wb“); fprintf(fp,“%5.0f%c%d“,58,76273.0-,2278); fclose(fp);(分数:2.00)A.58 76273-2278B.5876273.000000-2278C.5876273-2278 D.因文件为二进制文件而不可读解析:评析 fprintf 函数工作时,多个数据间不会自动加分隔符,选项 A 错误;浮点数的输出格式是“%5.0f”表明其小数部分输出 0 位,即没有输出,所以选项 B 也是错误的。38.以下程序的输出结果是 _。#includestdio.h#define SQR(x)x*xmain() int a,k=3; a=+SQR(K+1); printf(“%d/n“,A) ;(分数


    注意事项

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




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

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

    收起
    展开