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

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

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

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

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

    1、二级 C 语言-3-1 及答案解析(总分:82.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:51.00)1.设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是_。 A. k+ B. k+=1 C. +k D. k+1(分数:2.00)A.B.C.D.2.以下程序的输出结果是 U /Uvoid fun(float *p1,float *p2,float *s) s(float *)calloc(1,sizeof(float);*s*p1+*p2+;main() float s21.1,2.2,b210.0,20.0,*s=a;fun(a,b,s

    2、);printf(“%5.2f/n“,* s); A. 11.10 B. 12.00 C. 21.10 D. 1.10(分数:1.00)A.B.C.D.3.以下函数返回 a 所指数组中最小的值所在的下标值 fun(int *a,int n) int i,j=0,p; p=j; for(i=j;in;i+) if(aiap) _; return(p); 在横线处应填入的是 A)i=p B)ap=ai C)p=j D)p=i(分数:2.00)A.B.C.D.4.下列叙述中正确的是 A. 线性链表是线性表的链式存储结构 B. 栈与队列是非线性结构 C. 双向链表是非线性结构 D. 只有根结点的二叉树

    3、是线性结构(分数:2.00)A.B.C.D.5.有以下程序:point(char *p)P+=3;)main() char b4=a,b,c,d,*p=b;point(p);printf(“%c/n“,*p);程序运行后的输出结果是_。 A. a B. b C. c D. d(分数:2.00)A.B.C.D.6.下列选项中不属于结构化程序设计方法的是_。 A. 自顶向下 B. 逐步求精 C. 模块化 D. 可复用(分数:2.00)A.B.C.D.7.下列叙述中正确的是U /U。 A. 数据的逻辑结构与存储结构必定一一对应 B. 由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线

    4、性结构 C. 程序设计语言小的数组般是顺序存储结构,因此,利用数组只能处理线性结构 D. 以上 3 种说法都不对(分数:2.00)A.B.C.D.8.软件工程的理论和技术性研究的内容主要包括软件开发技术和U /U。 A. 消除软件危机 B. 软件工程管 C. 程序设计自动化 D. 实现软件可重用(分数:1.00)A.B.C.D.9.以下选项中不属于 C 语言的类型的是 A. signed short int B. unsigned long int C. unslgned int D. long short(分数:1.00)A.B.C.D.10.有下列程序:main()int k5;while

    5、(-k) printf(“%d“,k-3);printf(“/n“);执行后的输出结果是U /U。 A. 1 B. 2 C. 4 D. 死循环(分数:2.00)A.B.C.D.11.在“文件包含”预处理语句的使用形式中,当#include 后面的文件名用”(双撇号)括起时,寻找被包含文件的方式是U /U。 A.直接按系统设定的标准方式搜索目录 B.先在源程序所在的目录搜索,如没找到,再按系统没定的标准方式搜索 C.仅仅搜索源程序所在目录 D.仅仅搜索当前目录(分数:1.00)A.B.C.D.12.以下程序的输出结果是_。main() char a=“programming“,b=“langua

    6、ge“;char *p1,*p2;int i;p1=a;p2=b;for(i=0;i7;i+)if(*(p1+i)=*(p2+i)printf(“%c“,*(p1+i); A.gm B.rg C.or D.ga(分数:2.00)A.B.C.D.13.有以下结构体说明和变量定义,如图所示,指针 p、q、r 分别指向此链表中的 3 个连续结点。struct node int data;struct node *next; *p,*q,*r;(分数:1.00)A.B.C.D.14.下面说明不正确的是U /U。 A. chara10=“china“; B. chara10,*p=a;p=“chiua“

    7、; C. char*a;a=“china“; D. chara10,*p;p=a=“china“;(分数:1.00)A.B.C.D.15.下列程序的输出结果是U /U。#includestdio.hint fun(int x) int p;if(x=0x=1)return 3;elsep=x-fun(x-2);return p;void main() printf(“/n%d“,fun(5); A. 5 B. 3 C. 7 D. 1(分数:2.00)A.B.C.D.16.以下程序段的输出结果是char s=“/141/141abc/t“;printf (“%d/n“,strlen(s); A.

    8、 9 B. 12 C. 13 D. 14(分数:1.00)A.B.C.D.17.有三个关系 R、S 和 T 如下:(分数:4.00)A.B.C.D.18.阅读下列程序段,则程序的输出结果为#include“stdio.h“#define M(X,Y)(X)*(Y)#define N(X,Y)(X)/(Y)main() int a=5,b=6,c=8,k;k=N(M(a,b),c);printf(“%d/n“,k); A. 3 B. 5 C. 6 D. 8(分数:1.00)A.B.C.D.19.有以下程序:main() char p=a,b,c,q=“abc“;printf(“%d%d/n“,s

    9、izeof(p),sizeof(q);程序运行后的输出结果是 _。 A. 4 4 B. 3 3 C. 3 4 D. 4 3 (分数:1.00)A.B.C.D.20.有以下程序段:#includestdio.hint j;float y;char name50;scanf(“%2d%f%s“,j,y,name);当执行上述程序段,从键盘上输入 55566 7777abc 后,y 的值为_。 A.566.0 B.55566.O C.7777.0 D.566777.0(分数:1.00)A.B.C.D.21.以下不能正确定义二维数组的选项是 _。 A. int a22=1,2; B. int a2=1

    10、,2,3,4; C. int a22=1,2,3; D. int a2=1,2,3,4;(分数:2.00)A.B.C.D.22.在关系数据库模型中,通常可以把( )称为属性,其值称为属性值。 A. 记录 B. 基本表 C. 模式 D. 字段(分数:1.00)A.B.C.D.23.以下 fun 函数返回数组中最大值的下标:#includestdio.hint fun(int*s,int n)int i,k;for(i=0,k=i;in;i+)if(sisk)_;return(k);在横线处应填入的内容是_。 A.+k B.i=k C.k+ D.k=i(分数:1.00)A.B.C.D.24.一个

    11、C 语言程序是由 A. 一个主程序和若干子程序组成 B. 函数组成 C. 若干过程组成 D. 若干子程序组成(分数:1.00)A.B.C.D.25.以下叙述中正确的是_。 A.一条语句只能定义一个数组 B.每个数组包含一组具有同一类型的变量,这些变量在内存中占有连续的存储单元 C.数组说明符的一对方括号中只能使用整型常量,而不能使用表达式 D.在引用数组元素时,下标表达式可以使用浮点数(分数:1.00)A.B.C.D.26.以下语句的输出结果是 U /Uprintf(“%d,%d,%u/n“,016,16,-16); A. 16,16,65420 B. 14,16,6542 C. 16,16,

    12、-16 D. 14,16,-16(分数:1.00)A.B.C.D.27.数据库技术的根本目标是要解决数据的_。 A. 存储问题 B. 共享问题 C. 安全问题 D. 保护问题(分数:2.00)A.B.C.D.28.以下程序的输出结果是U /U。#include stdio.hcharcchar(char eh) if(ch=A, B.char a=/n; C.char a=a; D.char a=“aa“;(分数:1.00)A.B.C.D.32.执行下列程序中的输出语句后,a 的值是U /U。main() int a;printf(“%d/n“, (a=2*3,a*5,a+7); A. 17

    13、B. 37 C. 6 D. 13(分数:1.00)A.B.C.D.33.有以下程序:# include stdio.hmain()char a=H;a=(a=A m=B+32; printf(“%c/n“,m);(分数:1.00)填空项 1:_39.若 a=10,b=20,则表达式!(ab) 的值是 1。(分数:1.00)填空项 1:_40.以下程序的功能是计算:s=1+12+123+1234+12345。请填空。 #include stdio.h main( ) int t=0.s =0,i: for(i=1;i=5;i+) t=i+U U /U /U;s=s+t; prinff(“s =

    14、% d/n“. s );(分数:2.00)填空项 1:_41.以下程序运行后的输出结果是_。 main() char a=“123456789“,*p; int i=0; p=a; while (*p) if(i%2=0) *p=*; p+; i+; puts(a); (分数:2.00)填空项 1:_42.若有定义: int a33=1,2,3,4,5,6; 则初始化后,a11得到的初值是_,a21得到的初值是_。(分数:2.00)填空项 1:_43.下列程序的功能是将字符串 s 中所有的字符 c 删除。请填空。 #includestdio.h main() char s80; int i,j

    15、; gets(S); for(ij0;si!/0;i+) if(si!c)_; sj/0; puts(S); (分数:2.00)填空项 1:_44.以下程序运行后的输出结果是_。 main() int a=3,b=4,c=5,t=99; if(baa=c;c=t; if(acb=a;a=t; printf(“%d %d %d/n“,a,b,c); (分数:4.00)填空项 1:_45.函数 delete(s,i,n)是作用是从字符串 s 中删除从第 i 个字符开始的 n 个字符,请填空。 void delete(char s,int i, int n) int j,k,length=0; wh

    16、ile(slength) U U /U /U;-i; j=i if(U U /U /U) k=i+n; if(i+n=length) while(klength) sj+=sk+; sj=/0; (分数:1.00)填空项 1:_46.若有程序 main() int i,j; scanf(“i=%d,j=%d“; p=j; for(i=j;in;i+) if(aiap) _; return(p); 在横线处应填入的是 A)i=p B)ap=ai C)p=j D)p=i(分数:2.00)A.B.C.D. 解析:解析 该程序先判断 aiap,如果条件为真,则 ai比当前设定的最小值小(p 保留的当前

    17、最小元素的下标),那么将 i 赋给 p,即将比较过的最小元素下标保留在 p 中,作为下面判断的标准。4.下列叙述中正确的是 A. 线性链表是线性表的链式存储结构 B. 栈与队列是非线性结构 C. 双向链表是非线性结构 D. 只有根结点的二叉树是线性结构(分数:2.00)A. B.C.D.解析:解析 一个非空的数据结构如果满足下列两个条件:有且只有一个根结点;每一个结点最多有一个前件,也最多有一个后件,则称为线性结构。线性链表是线性表的链式存储结构,故选项 A 的说法是正确的。栈与队列是特殊的线性表,它们也是线性结构,故选项 B 的说法是错误的;双向链表是线性表的链式存储结构,其对应的逻辑结构也

    18、是线性结构,而不是非线性结构,故选项 C 的说法是错误的;二叉树是非线性结构,而不是线性结构,故选项 D 的说法是错误的。5.有以下程序:point(char *p)P+=3;)main() char b4=a,b,c,d,*p=b;point(p);printf(“%c/n“,*p);程序运行后的输出结果是_。 A. a B. b C. c D. d(分数:2.00)A. B.C.D.解析:解析 本题的考点是 C 语言的函数参数的传递方式(传值)。函数 poret 的形参是一个 char 型指针p,当调用 point(p)时,将指针 p 的值传递给形参,函数 point 中的 p+=3,并不

    19、影响主程序 main 中的 p值,因此函数调用结束后,p 仍指向 b 的首地址,输出*p 的值应是字符 a。6.下列选项中不属于结构化程序设计方法的是_。 A. 自顶向下 B. 逐步求精 C. 模块化 D. 可复用(分数:2.00)A.B.C.D. 解析:解析 结构化程序设计方法的主要原则可以概括为:自顶向下,逐步求精,模块化,限制使用goto 语句。7.下列叙述中正确的是U /U。 A. 数据的逻辑结构与存储结构必定一一对应 B. 由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构 C. 程序设计语言小的数组般是顺序存储结构,因此,利用数组只能处理线性结构 D. 以上

    20、3 种说法都不对(分数:2.00)A.B.C.D. 解析:解析 一种数据的逻辑结构根据需要可以表示成多种存储结构,数据的逻辑结构与存储结构不一定一一对应,选项 A 错误。计算机的存储空间是向量式的存储结构,但一种数据的逻辑结构根据需要可以表示成多种存储结构,如线性链表是线性表的链式存储结构,数据的存储结构不一定是线性结构,因此选项 B 错误。数组一般是顺序存储结构,但利用利用数组也能处理非线性结构。选项 C 错误。由此可知,只有选项 D 的说法正确。8.软件工程的理论和技术性研究的内容主要包括软件开发技术和U /U。 A. 消除软件危机 B. 软件工程管 C. 程序设计自动化 D. 实现软件可

    21、重用(分数:1.00)A.B. C.D.解析:解析 软件工程的目标是:在给定的成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品。基于这一目标,软件工程的理论和技术性研究的内容主要包括软件开发技术和软件工程管理。9.以下选项中不属于 C 语言的类型的是 A. signed short int B. unsigned long int C. unslgned int D. long short(分数:1.00)A.B.C.D. 解析:本题考核的知识点是 c 语言中的数据类型。在选项中很明显选项 A 为无符号短整

    22、型,选项 B 为无符号长整型,选项 C 为无符号整型,而选项 D 的类型在 C 语言中不存在。所以,4 个选项中 D 为所选。10.有下列程序:main()int k5;while(-k) printf(“%d“,k-3);printf(“/n“);执行后的输出结果是U /U。 A. 1 B. 2 C. 4 D. 死循环(分数:2.00)A. B.C.D.解析:解析 在程序语句中,k 的初始值为 5,进行第 1 次 while 循环后,k 自减 1 为 4,非 0,执行循环体里的 printf 语句,输出 1,此时 k 的值变为 1。程序执行第 2 次循环时,k 自减 1 变为 0,为假,退出

    23、 while 循环语句。所以程序的最后结果为 1。11.在“文件包含”预处理语句的使用形式中,当#include 后面的文件名用”(双撇号)括起时,寻找被包含文件的方式是U /U。 A.直接按系统设定的标准方式搜索目录 B.先在源程序所在的目录搜索,如没找到,再按系统没定的标准方式搜索 C.仅仅搜索源程序所在目录 D.仅仅搜索当前目录(分数:1.00)A.B. C.D.解析:解析 #include“文件名”,预处理程序首先在引用被包含文件的源文件所在的目录下搜索指定的文件,如没找到,再按系统指定的标准目录搜索。12.以下程序的输出结果是_。main() char a=“programming“

    24、,b=“language“;char *p1,*p2;int i;p1=a;p2=b;for(i=0;i7;i+)if(*(p1+i)=*(p2+i)printf(“%c“,*(p1+i); A.gm B.rg C.or D.ga(分数:2.00)A.B.C.D. 解析:13.有以下结构体说明和变量定义,如图所示,指针 p、q、r 分别指向此链表中的 3 个连续结点。struct node int data;struct node *next; *p,*q,*r;(分数:1.00)A.B.C.D. 解析:解析 本题考查链表结点的删除。 q-next 中存放的是 r 所指结点的首地址,将 r 所

    25、指结点的首地址存于 p-next 中,则实现删除 q 所指结点的功能,并保持链表连续,p 所指结点与 r 所指结点相连。14.下面说明不正确的是U /U。 A. chara10=“china“; B. chara10,*p=a;p=“chiua“; C. char*a;a=“china“; D. chara10,*p;p=a=“china“;(分数:1.00)A.B.C.D. 解析:解析 C 语言中操作一个字符串常量的方法有: 把字符串常量存放在一个字符数组之中。 用字符指针指向字符串,然后通过字符指针来访问字符串存储区域。 当字符串常量在表达式中出现时,根据数组的类型转换规则,它被转换成字符

    26、指针。 本题选项 D) 错误的关键是对数组初始化时,可以在变量定义时整体赋初值,但不能在赋值语句中整体赋值。15.下列程序的输出结果是U /U。#includestdio.hint fun(int x) int p;if(x=0x=1)return 3;elsep=x-fun(x-2);return p;void main() printf(“/n%d“,fun(5); A. 5 B. 3 C. 7 D. 1(分数:2.00)A. B.C.D.解析:解析 本题考查函数的递归调用。在函数递归调用时,fun(5):a=5-fun(3)-fun3:a=3-fun(1)-fun(1):a=3,反推回去

    27、 fun(3):a=3-3=0-fun(5):a=5-0=5,最后的计算结果为 5。16.以下程序段的输出结果是char s=“/141/141abc/t“;printf (“%d/n“,strlen(s); A. 9 B. 12 C. 13 D. 14(分数:1.00)A. B.C.D.解析:解析 本题考核的知识点是字符串的长度。字符数组中可以存放字符串,但字符数组的长度并不是字符串的长度,字符串的长度是指字符数组中存放的有效字符个数,即,/0之前的字符数。 字符数组 s 中依次存放的字符是: /“1“4“1“141“a“b“c“/t和最后一个字符串结束标记 /0,故字符串的长度是 9。所以

    28、,4 个选项中 A 为所选。17.有三个关系 R、S 和 T 如下:(分数:4.00)A.B.C.D. 解析:解析 自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,所以根据 T 关系中的有序组可知 R 与 S 进行的是自然连接操作。18.阅读下列程序段,则程序的输出结果为#include“stdio.h“#define M(X,Y)(X)*(Y)#define N(X,Y)(X)/(Y)main() int a=5,b=6,c=8,k;k=N(M(a,b),c);printf(“%d/n“,k); A. 3 B. 5 C. 6 D

    29、. 8(分数:1.00)A. B.C.D.解析:解析 带参数的宏定义命令行形式如下:#define 宏名(形参表)替换文本。首先进行 M 的宏替换,之后再进行 N 的宏替换,替换后的表达式为(a)* (b)/(c)。19.有以下程序:main() char p=a,b,c,q=“abc“;printf(“%d%d/n“,sizeof(p),sizeof(q);程序运行后的输出结果是 _。 A. 4 4 B. 3 3 C. 3 4 D. 4 3 (分数:1.00)A.B.C. D.解析:解析 字符数组有两种定义方式:一种是逐个字符赋给数组中各元素,如本题中“p=a,b,c的定义,由于定义时没有给

    30、出数组大小,此时字符个数就是数组的长度;另一种是将字符串作为字符数组来处理,如题中“q=“abc“”的定义形式。C 语言规定,字符串以/0作为结束符,并占用一个存储空间。sizeof()函数是计算变量或数组所分配到的内存空间的大小,故本题的输出结果是3 4。20.有以下程序段:#includestdio.hint j;float y;char name50;scanf(“%2d%f%s“,j,y,name);当执行上述程序段,从键盘上输入 55566 7777abc 后,y 的值为_。 A.566.0 B.55566.O C.7777.0 D.566777.0(分数:1.00)A. B.C.D

    31、.解析:解析 它是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。其中的格式命令可以说明最大域宽。在百分号(%)与格式码之间的整数用于限制从对应域读入的最大字符数。所以 j 的值为 55,y 的值为 166.0,字符数组 name 为 7777abe。21.以下不能正确定义二维数组的选项是 _。 A. int a22=1,2; B. int a2=1,2,3,4; C. int a22=1,2,3; D. int a2=1,2,3,4;(分数:2.00)A.B.C.D. 解析:解析 选项 D 在定义数组 a 时没有指定第二维的长度,错误。22.在关系数据库模型中,通常可以把

    32、( )称为属性,其值称为属性值。 A. 记录 B. 基本表 C. 模式 D. 字段(分数:1.00)A.B.C.D. 解析:解析 数据库表中字段转化为属性,把记录的类型转化为关系模式。23.以下 fun 函数返回数组中最大值的下标:#includestdio.hint fun(int*s,int n)int i,k;for(i=0,k=i;in;i+)if(sisk)_;return(k);在横线处应填入的内容是_。 A.+k B.i=k C.k+ D.k=i(分数:1.00)A.B.C.D. 解析:解析 fun 函数的功能是返回数组中最大值的下标。通过 for 循环语句,每次将最大的数给 k

    33、,即k=i,因此 D 选项正确。24.一个 C 语言程序是由 A. 一个主程序和若干子程序组成 B. 函数组成 C. 若干过程组成 D. 若干子程序组成(分数:1.00)A.B. C.D.解析:解析 一个 C 源程序是由一个 main 函数和若干个其他函数组成的。函数是 C 程序的基本单位,被调用的函数可以是系统提供的库函数,也可以是用户根据需要自己定义的函数。25.以下叙述中正确的是_。 A.一条语句只能定义一个数组 B.每个数组包含一组具有同一类型的变量,这些变量在内存中占有连续的存储单元 C.数组说明符的一对方括号中只能使用整型常量,而不能使用表达式 D.在引用数组元素时,下标表达式可以

    34、使用浮点数(分数:1.00)A.B. C.D.解析:解析 A 选项中,一条语句只能定义一个数组是不准确的,可以通过一条语句定义多个数组;C 选项中,数组说明符的一对方括号中可以是整型常量,可以是整型常量表达式;D 选项中,在引用数组元素时,下标表达式必须是整型的。B 选项正确。26.以下语句的输出结果是 U /Uprintf(“%d,%d,%u/n“,016,16,-16); A. 16,16,65420 B. 14,16,6542 C. 16,16,-16 D. 14,16,-16(分数:1.00)A.B. C.D.解析:27.数据库技术的根本目标是要解决数据的_。 A. 存储问题 B. 共

    35、享问题 C. 安全问题 D. 保护问题(分数:2.00)A.B. C.D.解析:28.以下程序的输出结果是U /U。#include stdio.hcharcchar(char eh) if(ch=A, B.char a=/n; C.char a=a; D.char a=“aa“;(分数:1.00)A.B.C.D. 解析:解析 D 选项中将字符串常量“aa”赋给字符变量 a 是错误的。32.执行下列程序中的输出语句后,a 的值是U /U。main() int a;printf(“%d/n“, (a=2*3,a*5,a+7); A. 17 B. 37 C. 6 D. 13(分数:1.00)A.B

    36、.C. D.解析:解析 本题考查逗号表达式本题的返回值是 a+7,a=2*3=6,a+7=13(注意:本题问的是 a 的值,而不是程序的输出值)。33.有以下程序:# include stdio.hmain()char a=H;a=(a=A m=B+32; printf(“%c/n“,m);(分数:1.00)填空项 1:_ (正确答案:b)解析:解析 在 ASCII 码表中,至少有 3 个值考生得记住:,0,的 ASCII 码为 48;A的 ASCII 码为65;a的 ASCII 码为 97。因为记住这 3 个后,其他字母和数字的 ASCII 码就可以很容易推出来了。本题中,“B”的 ASCI

    37、I 码为A+1=66,所以,字符类型 m 的 ASCII 为 66+32=98=97+1=a+1,所以最后输出的结果为字符b。39.若 a=10,b=20,则表达式!(ab) 的值是 1。(分数:1.00)填空项 1:_ (正确答案:0)解析:解析 已知 a=10,b=20,所以逻辑表达式 ab 的值为 true,即为 1,在这个表达式前面有一个逻辑运算符!,表示反操作,所以整个语句的值应当为 false,即为 0。40.以下程序的功能是计算:s=1+12+123+1234+12345。请填空。 #include stdio.h main( ) int t=0.s =0,i: for(i=1;

    38、i=5;i+) t=i+U U /U /U;s=s+t; prinff(“s = % d/n“. s );(分数:2.00)填空项 1:_ (正确答案:t*10)解析:解析 程序中变量,用于存放表达式 1+12+123+1234+12345 之和,变量 t 用于存放其表达式的各项。当 i=1 时,要使 t=1;i=2 时,t=12;i=3 时,t=123;依此类推。每一次的 t 值是用上一次的 t 乘以10 再加上此次的 i 的值,所以本题答案为 t*10。41.以下程序运行后的输出结果是_。 main() char a=“123456789“,*p; int i=0; p=a; while

    39、(*p) if(i%2=0) *p=*; p+; i+; puts(a); (分数:2.00)填空项 1:_ (正确答案:*2*4*6*8*)解析:解析 该程序实现的功能是,对数组 a 从左到右进行扫描,如果其下标是偶数,那么就用字符“*”代替,反之不进行任何修改。我们需要注意到数组的下标是从 0 开始的,因此修改的就是数组中第1、3、5、7、9 五个元素,最后的结果是*2*4*6*8*。42.若有定义: int a33=1,2,3,4,5,6; 则初始化后,a11得到的初值是_,a21得到的初值是_。(分数:2.00)填空项 1:_ (正确答案:0 5)解析:43.下列程序的功能是将字符串

    40、s 中所有的字符 c 删除。请填空。 #includestdio.h main() char s80; int i,j; gets(S); for(ij0;si!/0;i+) if(si!c)_; sj/0; puts(S); (分数:2.00)填空项 1:_ (正确答案:sj+si)解析:解析 循环开始后如果数组 s 中储存值与字符 c 相同,则 i+直接跳过当前值;如果不相同,则将当前值赋予数组指定位置,并通过j+将下标加 1,指向下一元素要存储的位置。44.以下程序运行后的输出结果是_。 main() int a=3,b=4,c=5,t=99; if(baa=c;c=t; if(acb=

    41、a;a=t; printf(“%d %d %d/n“,a,b,c); (分数:4.00)填空项 1:_ (正确答案:4 5 99)解析:解析 本题考查的是条件判断语句。本题需特别注意的是“;”的问题,不能把“t=a;a=c;c=t;”误认为是第一个 if 的语句,实际上,只有“t=a;”才是第一个 if 的语句。所以判断第一个 if 语句的表达式不成立后,执行的是“a=c;c=t;”,此时 a=5,c=99。然后判断第 2 个 if 语句的条件表达式,表达式成立,执行后面的 3 个语句,让 a,b 的值进行交换,最后输出 a、b、c 分别为4、5 和 99。45.函数 delete(s,i,n

    42、)是作用是从字符串 s 中删除从第 i 个字符开始的 n 个字符,请填空。 void delete(char s,int i, int n) int j,k,length=0; while(slength) U U /U /U;-i; j=i if(U U /U /U) k=i+n; if(i+n=length) while(klength) sj+=sk+; sj=/0; (分数:1.00)填空项 1:_ (正确答案:16length+ 17ilength)解析:解析 第一个循环极有可能是计算串的长度,在 i=length 时字符才被删除,被删除的是从第 i个到第 i+n 或最后一个间的所有

    43、字符。删除前,应判断 i=length。由于已经进行了-i 运算,故实际应填入 ilength。46.若有程序 main() int i,j; scanf(“i=%d,j=%d“;&i,&j); printf(“i=%d,j=%d/n“,i,j); 要求给 i 赋 10,给 j 赋 20,则应该从键盘输入_。(分数:2.00)填空项 1:_ (正确答案:i=10,j=20)解析:47.U U /U /U是数据库设计的核心。(分数:2.00)填空项 1:_ (正确答案:数据模型)解析:解析 数据模型是对客观事物及联系的数据描述,它反映了实体内部及实体与实体之间的联系。因此,数据模型是数据库设计的核心。48.实体联系模型是一种常用的高级概念数据模型,而 1 是实体联系模型中的核心。(分数:3.00)填空项 1:_ (正确答案:实体联系图或 E-R 图)解析:解析 实体联系图(B-R 图)是实体联系模型中的核心。由于 E-R 图描述的是数据流图中数据存储及其之间的关系,因此它是数据库观念设计的最常用的工具。49.有以下程序: #includestdio.h typedef struct int num;double s;)REC; void funl(REC x)x.num=23;


    注意事项

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




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

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

    收起
    展开