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

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

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

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

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

    1、二级 C语言笔试-355 及答案解析(总分:105.00,做题时间:90 分钟)一、选择题(总题数:50,分数:67.00)1.有以下程序prt (int *m, int n)int i;for (i=0; in; i+)m i+;main ()int a=1,2,3,4,5,i;prta, 5);for i=0;i5;i+)printf (“%d “,ai);程序运行后输出结果是A) 1,2,3,4,5, B) 2,3,4,5,6, C) 3,4,5,6,7, D) 2,3,4,5,1(分数:1.00)A.B.C.D.2.若变量均已正确定义并赋值,以下合法的 C语言赋值语句是( )。A) x

    2、=y=5; B) x=n%2.5;C) x+n=i; D) x=5=4+1;(分数:1.00)A.B.C.D.3.有以下程序段char ch; int k;ch=a; k=12;printf(“%c,%d,“,ch,ch,k); printf(“k=%d/n“,k);已知字符 a的 ASCII码值为 97,则执行上述程序段后输出结果是A) 因变量类型与格式描述符的类型不匹配输出无定值B) 输出项与格式描述符个数不符,输出为零值或不定值C) a,97,12k=12D) a,97,k=12(分数:1.00)A.B.C.D.4.设 a、b、c、d、mn 均为血型变量,且 a=5、b=6、c=7、d=

    3、8、m=2、n=2,则逻辑表达式(m=ab)(n=cd)运算后,n 的值为_。A) 0 B) 1 C) 2 D) 3(分数:2.00)A.B.C.D.5.设整型数 i=5,则 printf (“%d“, i+i); 的输出为_ 。A) 10 B) 11 C) 12 D) 语法错误(分数:2.00)A.B.C.D.6.下列不属于软件工程的 3个要素的是( )。A) 工具 B) 过程 C) 方法 D) 环境(分数:2.00)A.B.C.D.7.在 Windows环境下,单击当前窗口中的按钮“ (分数:1.00)A.B.C.D.8.下列关于栈和队列的描述中,正确的是( )。 A) 栈是先进先出 B)

    4、 队列是先进后出 C) 队列允许在队头删除元素 D) 栈在栈顶删除元素(分数:2.00)A.B.C.D.9.数据库设计中,用 ER图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的A) 需求分析阶段 B) 逻辑设计阶段 C) 概念设计阶段 D) 物理设计阶段(分数:2.00)A.B.C.D.10.下面能正确进行字符串赋值操作的是( )。A) chars5=“ABCDE“; B) chars5=A,B,C,D,E;C) char*s;s=“ABCDE“; D) char *s;scanf(“%s“,int b=-1;a=b;printf(“ % u“, a);程序运行后的输出结果是

    5、( )。A) -1 B) 65535 C) 32767 D) -32768(分数:1.00)A.B.C.D.13.以下叙述中,正确的是_。A输入项可以是一个实型常量,例如:scanf(“%f“,3.5);B只有格式控制,没有输入项,也能正确输入数据到内存,例如:scanf(“a=%d,b=%d“);C当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:scanf(“%4.2f“,则以下赋值语句正确的是_。A) p=s; B) p=k; C) p=s0; D) k=s;(分数:1.00)A.B.C.D.16.下列对于软件测试的描述中正确的是( )。A) 软件测试的目的是证明程序是否正

    6、确B) 软件测试的目的是使程序运行结果正确C) 软件测试的目的是尽可能多地发现程序中的错误D) 软件测试的目的是使程序符合结构化原则(分数:2.00)A.B.C.D.17.有以下程序 main()unsigned char a=2,b=4,c=5,d;d=a|b;dfloat b;data,*p;若有 p= C) p-data.a D) p.data.a(分数:2.00)A.B.C.D.24.已知字符0的 ASCII码的十进制数为 48,并且数组的第 0个元素在低位,有以下程序#includestdiohmain()unionint i2;long k:char c4;r,*sfprintf(

    7、fp,“%d%5.0f%c%d“,58,76273.0,-,2278);fclose(fp);A) 58 76273-2278 B) 5876273.000000-2278C) 5876273-2278 D) 因文件为二进制文件而不可读(分数:1.00)A.B.C.D.26.下列程序段的运行结果是( )。#includestdio.hvoid main()char str=“ABC“,*p=str;printf(“%d/n“,*(p+3) );A) 67 B) 0 C) 字符C的地址 D) 字符C(分数:2.00)A.B.C.D.27.设有变量说明 int(*p)m,其中的标识符 p是( )。

    8、A) m个指向整型变量的指针B) 指向 m个整型变量的指针C) 一个指向具有 m个整型元素的一维数组的指针D) 具有 m个指针元素的一维指针数组,每个元素都指向整型变量(分数:1.00)A.B.C.D.28.数据流图中方框表示的是A) 数据流 B) 存储文件 C) 控制流 D) 源,潭(分数:2.00)A.B.C.D.29.若有说明:int a3=0,0;则不正确的叙述是( )A) 数组 a的每个元素的初值都是 0B) 数组 a的第一维大小为 1C) 数组 a的行数为 1D) 只有元素 a00和 a01可得到初值 0,其余元素均得不到初值 0(分数:1.00)A.B.C.D.30.用语句 sc

    9、anf(“%c%c%c“, b+;case 1;a+;case 2:a+;b+;printf(“a=%d,b=%d/n“,a,b);该程序的输出结果是( )。Aa=2,b=1 Ba=1,b=1 Ca=1,b=0 Da=2,b=2(分数:1.00)A.B.C.D.32.下列叙述中错误的是( )。A) 在 C语言中,函数中的自动变量可以赋初值,每调用一次赋一次初值B) 在 C语言中,在调用函数时,实参和对应形参在类型上只需赋值兼容C) 在 C语言中,外部变量的隐含类型是自动存储类别D) 在 C语言中,函数形参的存储类型是自动(auto)类型的变量(分数:2.00)A.B.C.D.33.若有定义:c

    10、har *st=“how are you“; ,下列程序段中正确的是( )。A) char a11, *p; strcpy(p=a+1, st4); B) char a11; strcpy(+a, st); C) char a11; strcpy(a, st); D) char a, *p; strcpy(p=a1, st+2);(分数:1.00)A.B.C.D.34.关系代数运算是以_为基础的运算。A) 关系运算 B) 谓词运算 C) 集合运算 D) 代数运算(分数:1.00)A.B.C.D.35.下列叙述中正确的是( )。A) break语句只能用于 switch语句B) 在 switch

    11、语句中必须使用 defaultC) break语句必须与 switch语句中的 case配对使用D) 在 switch语句中,不一定使用 break语句(分数:2.00)A.B.C.D.36.C源程序中不能表示的数制是A) 二进制 B) 八进制 C) 十进制 D) 十六进制(分数:1.00)A.B.C.D.37.若有定义“int a=10,b=9,c=8;”,顺序执行下列语句后,变量 b中的值是_。c=(a-=(b-5);c=a% 11)+(b=3);A) 2 B) 3 C) 4 D) 5(分数:1.00)A.B.C.D.38.若变量已正确说明为 float类型,要通过语句 scanf(“%f

    12、 %f %f“, t=a; a=b; b=t; main() int i=3, j=5, *p=i, *q=j; swap(p, q); printf(1%d %d/n, *p, *q); A) 23 B) 34 C) 35 D) 45(分数:1.00)A.B.C.D.41.对于下列字符串,说明表达式 strlen(s) 值的是( )char s10=(a,/n,a,b,/t,c;A) 10 B) 1 C) 6 D) 7(分数:1.00)A.B.C.D.42.当变量 C的值不为 2、4、6 时,值也为“真”的表达式是( )。A) (c=2)(c=4)(c=6) B) (c=2c=6)(c!=3

    13、)(c!=5)C) (c=2c=6)!(c%2) D) (c=2c=6)(c%2!=1)(分数:1.00)A.B.C.D.43.下列程序的输出结果是_。main ()int i, k, ai0, p3;k=5;for (i=0;i10;i+) ai=i;for (i=0;i3;i+) pi=ai*(i+l);for (i=0;i3;i+) k+=pi*2;printf (“%d/n“, k);A. 20 B. 21 C. 22 D. 23(分数:2.00)A.B.C.D.44.有以下程序:#include stdio.h#include string.hvoid fun(char *s, in

    14、t n)char *t; int i, j; for(i=0; in-1; i+)for(j=i+1; jn; j+)if(strlen(si)strlen(sj)t=si; si=sj; sj=t; main()char *ss=“bcc“, “bbcc“, “xy“, “aaaacc“, “aabcc“; fun(ss, 5);printf(“%s, %s/n“, ss0, ss4); 程序的运行结果是A) xy, aaaacc B) aaaacc, xy C) bcc, aabcc D) aabcc, bcc(分数:2.00)_45.C语言中逻辑表达式的值为 ( )A0 或 1 B非零值

    15、或者零值Cture 或 false Dture或者false(分数:1.00)A.B.C.D.46.有以下程序main()int i=1, j=2,k=3;if(i+=1printf(“%d/n“, F(a+, b+);程序运行后的输出结果是A)12 B)15C)16D)20(分数:1.00)A.B.C.D.48.有以下程序main()unionchar ch2;int d;s;s.d=0x4321;printf(“%x,%x/n“,s.chO,s.ch1);在 16位编译系统上,程序执行后的输出结果是_。A) 21,43 B) 43,21 C) 43,00 D) 21,00(分数:1.00)

    16、A.B.C.D.49.有以下定义#include stdiohchar a10,*b=a;不能给 a数组输入字符串的语句是A) gets(A) B) gets(a0); C) gets(char*p;int i;p=alpha;for(i=0,i4;i+)prntf(“%s“,pi);A) ABCDEFGHIJKL B) ABCDC) ABCDEFGHIJKLMNOP D) AEIM(分数:2.00)A.B.C.D.二、填空题(总题数:19,分数:38.00)51.以下程序的输出结果是_。main()int a=1,b=2;a=a+b;b=a-b;a=a-b;printf(“%d,%d/n“,

    17、a,b);(分数:2.00)填空项 1:_52.以下程序中,fun 函数的功能是求 3行 4列二维数组每行元素中的最大值。请填空。void fun(int,int,int(*)4,int*);main()int a 34=1,2,41,36,28,19,33,15,27,3,27,19,1,b3,i;fun(3,4,a,b,);for(i=0;i3;1+)printf(“%4d“,bi);printf(“/n“);void fun(int m,int n,int ar4,int*br)int i,j,x;for(i=0;im;i+)x=ari0;for(j=0;jn;j+)if(xarij)x

    18、=arij;_=x;(分数:1.00)填空项 1:_53.有以下程序:int f(int b4)int i,j,s=0;for(j=0;j4;j+)i=j;if(i21)=3-j;s+=bij;return S;main()int a44=(1,2,3,4),(0,2,4,6),(3,6,9,12),(32,1,0);printf(“%d/n”f(a)执行后的输出结果是12。(分数:2.00)填空项 1:_54.若已知 a=10,b=20,则表达式! ab 的值为 1。(分数:2.00)填空项 1:_55.在面向对象方法中, 1 是具有相似性质的对象的集合。(分数:2.00)填空项 1:_56

    19、.存储结构的 4种基本类型分别是顺序、链式、索引和 1。(分数:4.00)填空项 1:_57.函数 fun的功能是计算 xndouble fun(double x,int n)int i; double y=1;for(i=1;i=n;i+) y=y*x;return y;主函数中已正确定义 m、a、b 变量并赋值,而且调用 fun函数计算:m=a 4+b4-(a+b)3。实现这一计算的函数调用语句为_。(分数:1.00)填空项 1:_58.fseek函数的正确调用形式是 1。(分数:4.00)填空项 1:_59.以下程序运行后的输出结果是_。struct NODEint k;struct N

    20、ODE *link;main()struct NODE m5,*p=n,*q=m+4;int i=5;while(p!=q)p-k=-i;p+;q-k=i-;q-;q-k=-i;for(i=0;i5 ;i+)printf(“%d“,mi.k);printf(“/n“);(分数:2.00)填空项 1:_60.数据模型按不同的应用层次分为三种类型,它们是 1 数据模型、逻辑数据模型和物理数据模型。(分数:2.00)填空项 1:_61.以下程序的输出结果是_。#include stdio.hint fun(int x)static int t=0;return(t+=x);main()int s,i

    21、;for(i=1 ;i=5;i+) s=fun(i);printf(“%d/n“,s);(分数:2.00)填空项 1:_62.有序线性表能进行二分查找的前提是该线性表必须是 1 存储的。(分数:2.00)填空项 1:_63.以下函数的功能是求出能整除 x且不是偶数的各整数,并按从小到大的顺序放在 pp所指的数组中,这些除数的个数通过形参 n返回。例如,若 x中的值为 30,则有 4个数符合要求,它们是 1,3,5,15。请按题意,完成填空。试题程序:#includeconio.h#includestdio.hvoid fun(int x,int pp,int *n)int i,j=0;for(

    22、i=1;ix;i+=2)if(x%i=0)ppj+=i;_;main()int x,aa1000,n,i;clrscr();printf(“/nPleas enter an integer number :/n“);scanf(“%d“,for(i=0;in;i+)printf(“%d“,aai);printf(“/n“);(分数:1.00)填空项 1:_64.有以下程序int f(int n)if(n=1)return 1;else return f(n-1)+1;main()int i,j=0;for(i=1;i3;i+)j+=f(i);printf(“%d/n“j);程序运行后的输出结果

    23、是_。(分数:1.00)填空项 1:_65.数据模型包括数据结构、 1 和数据条件。(分数:2.00)填空项 1:_66.下面程序的运行结果是_。 #define P(a)printf(“%d“,a) main() int j,a=1,2,3,4,5,6,7,i=5; for(j=3;j1;j-) switch(j) case 1: case 2:P(ai+);break; case 3:P(a-i); (分数:2.00)填空项 1:_以下函数用来求出数组的最大元素在数组中的下标并存放在 k所指的存储单元中。请填空。#includeconio.h#includestdio.hint fun(i

    24、nt%s, int t, int *k)int i; *k=0; _if(s*ksi)*k=i; return_; main()int a10=876, 675, 896, 101, 301, 401, 980, 431, 451, 777, k; fun(a, 10, %k); printf(“%d, %d/n“, k, ak);(分数:4.00)填空项 1:_填空项 1:_67.按“先进后出”原则组织数据的数据结构是 1。(分数:1.00)填空项 1:_68.数据的逻辑结构在计算机存储空间中的存放形式称为数据的 1。(分数:1.00)填空项 1:_二级 C语言笔试-355 答案解析(总分:

    25、105.00,做题时间:90 分钟)一、选择题(总题数:50,分数:67.00)1.有以下程序prt (int *m, int n)int i;for (i=0; in; i+)m i+;main ()int a=1,2,3,4,5,i;prta, 5);for i=0;i5;i+)printf (“%d “,ai);程序运行后输出结果是A) 1,2,3,4,5, B) 2,3,4,5,6, C) 3,4,5,6,7, D) 2,3,4,5,1(分数:1.00)A.B. C.D.解析:解析 本题考查的是数组名作函数的参数。数组名实际上是一个指向该数组首地址的指针常量,所以数组名作函数的参数和用

    26、同类型的指针作参数没有区别题目首先定义了一个函数,该函数通过一个for循环将指针 m到 m+n-1所指内存中的数据自增 1,所以主函数中执行了 prt(a,5);语句后,数组 a中的所有元素被自增 1。所以,4 个选项中选项 B符合题意。2.若变量均已正确定义并赋值,以下合法的 C语言赋值语句是( )。A) x=y=5; B) x=n%2.5;C) x+n=i; D) x=5=4+1;(分数:1.00)A. B.C.D.解析:解析 本题考查的知识点是:赋值语句、“%”运算符。赋值语句由两个运算分量和一个赋值运算符组成。赋值运算符包括“=”、“+=”、“+=”等。其中,赋值运算符左侧的运算分量称

    27、为左值,右侧的叫右值。任何合法表达式都可用做右值,但临时值、常量不能用做左值。“%”运算符的作用是求模,意思是做除法求余,这就要求两个运算分量均为整数。选项 B)中,2.5 不是整数,故非法;选项 C)中,表达式 X+n计算后得到的是一临时值,临时值不能做左值,故非法;选项 D)中,由于“=”运算符的结合性是“从右到左”,故先计算 5=4+1,5 是常量不能对其赋值,故非法。3.有以下程序段char ch; int k;ch=a; k=12;printf(“%c,%d,“,ch,ch,k); printf(“k=%d/n“,k);已知字符 a的 ASCII码值为 97,则执行上述程序段后输出结

    28、果是A) 因变量类型与格式描述符的类型不匹配输出无定值B) 输出项与格式描述符个数不符,输出为零值或不定值C) a,97,12k=12D) a,97,k=12(分数:1.00)A.B.C.D. 解析:解析 输出格式控制符%c 表示将变量以字符的形式输出;输出格式控制符%d 表示将变量以带符号的十进制整型数输出,所以第一个输出语句输出的结果为 a,97;第二个输出语句输出的结果为 k12。4.设 a、b、c、d、mn 均为血型变量,且 a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=ab)(n=cd)运算后,n 的值为_。A) 0 B) 1 C) 2 D) 3(分数:2.00)

    29、A. B.C.D.解析:解析 C 语言中比较表达式的运算结果为 0或 1。0 代表不成立,1 表示成立。5.设整型数 i=5,则 printf (“%d“, i+i); 的输出为_ 。A) 10 B) 11 C) 12 D) 语法错误(分数:2.00)A.B.C.D. 解析:解析 C 语言中有基本的算术运算符(+、-、*、/)还包括自增自减运算符(+、-),在 C语言解析表达式时,它总是进行贪婪咀嚼,这样,该表达式就被解析为 i+i,显然该表达式不合 C语言语法。6.下列不属于软件工程的 3个要素的是( )。A) 工具 B) 过程 C) 方法 D) 环境(分数:2.00)A.B.C.D. 解析

    30、:解析 软件工程包括 3个要素,即方法、工具和过程。方法是完成软件工程项目的技术手段:工具支持软件的开发、管理和文档生成;过程支持软件开发的各个环节的控制、管理。7.在 Windows环境下,单击当前窗口中的按钮“ (分数:1.00)A.B.C. D.解析:解析 在 Windows环境下,单击当前窗口中的按钮“x”,其功能是终止当前应用程序的运行,关闭当前窗口。8.下列关于栈和队列的描述中,正确的是( )。 A) 栈是先进先出 B) 队列是先进后出 C) 队列允许在队头删除元素 D) 栈在栈顶删除元素(分数:2.00)A.B.C.D. 解析:解析 栈实际也是线性表,只不过是一种特殊的线性表。栈

    31、是只能在表的一端进行插入和删除运算的线性表,通常称插入、删除的这一端为栈顶,另一端勾栈底。队列是只允许在一端删除,在另一端插入的顺序表,允许删除的一端叫做队头,允许插入的一端叫做队尾。9.数据库设计中,用 ER图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的A) 需求分析阶段 B) 逻辑设计阶段 C) 概念设计阶段 D) 物理设计阶段(分数:2.00)A.B. C.D.解析:解析 用 E-R图来描述信息结构属于数据库设计的逻辑设计阶段。10.下面能正确进行字符串赋值操作的是( )。A) chars5=“ABCDE“; B) chars5=A,B,C,D,E;C) char*s;

    32、s=“ABCDE“; D) char *s;scanf(“%s“,int b=-1;a=b;printf(“ % u“, a);程序运行后的输出结果是( )。A) -1 B) 65535 C) 32767 D) -32768(分数:1.00)A.B. C.D.解析:解析 不同类型的对象进行混合运算时,需要进行数据的类型转换,其转换方向为 int unsignedlongdouble。本题程序中的变量 b为 int型,需要转换为 unsigned型。int 型变量的数值范围为-3276832767,最高位为符号位,而 unsigned所表示的数的范围为 065535,它的最高位为数值位。由于内存

    33、中是以补码形式存储数据的,所以整型数-1 在内存中表示为 16个 1,最高位的 1表示符号为负,将它转换为 unsigned类型,即将原符号位的 1看成数值,所以得到 16 个数值 1,即 65535。13.以下叙述中,正确的是_。A输入项可以是一个实型常量,例如:scanf(“%f“,3.5);B只有格式控制,没有输入项,也能正确输入数据到内存,例如:scanf(“a=%d,b=%d“);C当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:scanf(“%4.2f“,则以下赋值语句正确的是_。A) p=s; B) p=k; C) p=s0; D) k=s;(分数:1.00)A.

    34、B.C. D.解析:解析 分析题目可知,选项 A的含义是将二维数组赋值给了一个指针,选项 B的含义是将一位数组的指针赋值给了一个指针,选项 C的含义是将一个一位数组赋值给了一个指针,选项 D的含义是将二维数组赋值给了指向一维数组的指针。由上述可知,正确选项为 C。16.下列对于软件测试的描述中正确的是( )。A) 软件测试的目的是证明程序是否正确B) 软件测试的目的是使程序运行结果正确C) 软件测试的目的是尽可能多地发现程序中的错误D) 软件测试的目的是使程序符合结构化原则(分数:2.00)A.B.C. D.解析:解析 软件测试是为了尽可能多地发现程序中的错误,尤其是发现至今尚未发现的错误。1

    35、7.有以下程序 main()unsigned char a=2,b=4,c=5,d;d=a|b;dfloat b;data,*p;若有 p= C) p-data.a D) p.data.a(分数:2.00)A.B. C.D.解析:解析 本题主要考查结构指针:p=fprintf(fp,“%d%5.0f%c%d“,58,76273.0,-,2278);fclose(fp);A) 58 76273-2278 B) 5876273.000000-2278C) 5876273-2278 D) 因文件为二进制文件而不可读(分数:1.00)A.B.C. D.解析:解析 fprintf 函数工作时,多个数据间

    36、不会自珈口分隔符,选项 A错误;浮点数的输出格式是“%5.0f”表明其小数部分输出 0位,即没有输出,所以选项 B也是错误的。26.下列程序段的运行结果是( )。#includestdio.hvoid main()char str=“ABC“,*p=str;printf(“%d/n“,*(p+3) );A) 67 B) 0 C) 字符C的地址 D) 字符C(分数:2.00)A.B. C.D.解析:解析 先定义了一个指向字符型数组 str的指针 p,指针 p指向数组 str的首地址,p+3 将指针指向 str3,又因为字符型数组在存放字符串时会自动在末尾加上/0,所以*(p+3)=0。27.设有

    37、变量说明 int(*p)m,其中的标识符 p是( )。A) m个指向整型变量的指针B) 指向 m个整型变量的指针C) 一个指向具有 m个整型元素的一维数组的指针D) 具有 m个指针元素的一维指针数组,每个元素都指向整型变量(分数:1.00)A.B.C. D.解析:解析 本题考查指向数组的指针变量的声明。这里的 p表示一个指向数组的指针:*p 表示指针 p指向地址的内容。28.数据流图中方框表示的是A) 数据流 B) 存储文件 C) 控制流 D) 源,潭(分数:2.00)A.B.C.D. 解析:解析 数据流图是描述数据处理过程的工具,它从数据传递和加工的角度,来刻画数据流从输入到输出的变化过程。

    38、数据流图中的主要图形元素有:圆形表示加工,箭头表示数据流,双杠表示存储文件,方框表示源、潭。29.若有说明:int a3=0,0;则不正确的叙述是( )A) 数组 a的每个元素的初值都是 0B) 数组 a的第一维大小为 1C) 数组 a的行数为 1D) 只有元素 a00和 a01可得到初值 0,其余元素均得不到初值 0(分数:1.00)A.B.C.D. 解析:解析 本题考查给二维数组元素赋值。给二维数组元素赋值时应注意下列两点:在对二维数组元素赋初值时,可以只对部分元素赋初值,未赋初值的元素自动取 0。二维数组第一维的大小由下列规则确定:当初值的个数能被第二维的常量表达式的值除尽时,所得商数就

    39、是第一维的大小;当初值的个数不能被第二维的常量表达式的值除尽时,第一维的大小等于所得商数加 1。30.用语句 scanf(“%c%c%c“, b+;case 1;a+;case 2:a+;b+;printf(“a=%d,b=%d/n“,a,b);该程序的输出结果是( )。Aa=2,b=1 Ba=1,b=1 Ca=1,b=0 Da=2,b=2(分数:1.00)A. B.C.D.解析:解析 当 x为 1时,执行 case 1,a 自加等于 1,因为 case 1后没有 break,接着执行 case 2,此时 a的值为 2,b 自加为 1,故选择 A选项。32.下列叙述中错误的是( )。A) 在

    40、C语言中,函数中的自动变量可以赋初值,每调用一次赋一次初值B) 在 C语言中,在调用函数时,实参和对应形参在类型上只需赋值兼容C) 在 C语言中,外部变量的隐含类型是自动存储类别D) 在 C语言中,函数形参的存储类型是自动(auto)类型的变量(分数:2.00)A.B.C. D.解析:解析 外部变量在编译时由系统分配永久的内存空间,所以外部变量的类型不是自动存储类别。33.若有定义:char *st=“how are you“; ,下列程序段中正确的是( )。A) char a11, *p; strcpy(p=a+1, st4); B) char a11; strcpy(+a, st); C)

    41、 char a11; strcpy(a, st); D) char a, *p; strcpy(p=a1, st+2);(分数:1.00)A. B.C.D.解析:解析 本题综合考查字符数组的赋值和 strcpy函数的用法。C 语言不允许用赋值表达式对字符数组赋值,如下面的语句就是非法的:str1=“China“,如果想把“China“这 5个字符放到数组 str1中,除了逐个输入外,还能使用 strcpy函数,该函数的功能是将一个字符串复制到一字符数组中。例如,strcpy(str1,“China“)或 strcpy(str1, str2); 。注意,不能企图用以下语句来实行赋值(将 str2

    42、的值传给 str1):str1=str2; 不能用赋值语句将一个字符串常量或字符数组直接给一个字符数组。strcpy 函数的结构是:strcpy(字符数组 1,字符串 2)。其中,需要注意的是,字符数组 1的长度不应小于字符串 2的长度,“字符数组 1”必须写成数组名形式,如(str1),“字符串 2”可以是字符数组名,也可以是字符串常量,不能用赋值语句将一个字符串常量或字符数组直接给一个字符数组。34.关系代数运算是以_为基础的运算。A) 关系运算 B) 谓词运算 C) 集合运算 D) 代数运算(分数:1.00)A.B.C. D.解析:解析 关系代数运算是以关系代数作为运算对象的组高级运算的

    43、集合。它的基本操作是并、交、差、笛卡尔积,另外还包括垂直分割(投影)、水平分割(选择)、关系的结合(连接)等。35.下列叙述中正确的是( )。A) break语句只能用于 switch语句B) 在 switch语句中必须使用 defaultC) break语句必须与 switch语句中的 case配对使用D) 在 switch语句中,不一定使用 break语句(分数:2.00)A.B.C.D. 解析:解析 bteak 为 C语言关键字,又称间断语句。break 语句的功能是跳出正在执行的条件语句或循环语句。它可以出现在 switch语句中,也可以出现在循环语句中。 default 是关键字,起

    44、标号的作用,代表所有 case标号之外的那些标号。default 标号可以出现在语句体中任何标号位置上。在 switch语句体中也可以没有 default标号。36.C源程序中不能表示的数制是A) 二进制 B) 八进制 C) 十进制 D) 十六进制(分数:1.00)A. B.C.D.解析:解析 C 的源程序中可用十进制、八进制和十六进制 3种形式表示整型常量。37.若有定义“int a=10,b=9,c=8;”,顺序执行下列语句后,变量 b中的值是_。c=(a-=(b-5);c=a% 11)+(b=3);A) 2 B) 3 C) 4 D) 5(分数:1.00)A.B. C.D.解析:38.若变

    45、量已正确说明为 float类型,要通过语句 scanf(“%f %f %f“, t=a; a=b; b=t; main() int i=3, j=5, *p=i, *q=j; swap(p, q); printf(1%d %d/n, *p, *q); A) 23 B) 34 C) 35 D) 45(分数:1.00)A.B.C. D.解析:解析 本题主要考查的是函数参数的传递。在 C语言中,函数参数的传递是“传值”的,即复制一份实参给形参,形参和实参是完全没有关系的两个变量。所以在函数内部改变形参变量,并不会影响到函数外部的实参。要实现“传址”调用,必须通过指针。因为将实参指针内容复制给了形参指

    46、针后,两个指针变量虽然没有任何关系,但它们指向的却是同一个内存地址,当改变形参指针所指向的那个内存地址的内容时,实参指针所指向的内容也就同时被改变了,从而实现了“传址”调用。但是,并不是说只要函数参数是指针,那肯定就是“传址”调用。故选择 C)。41.对于下列字符串,说明表达式 strlen(s) 值的是( )char s10=(a,/n,a,b,/t,c;A) 10 B) 1 C) 6 D) 7(分数:1.00)A.B.C. D.解析:解析 strlen(s)返回 s字符串中字符的个数,若 s是个数组,则返回数组元素的个数。42.当变量 C的值不为 2、4、6 时,值也为“真”的表达式是( )。A) (c=2)(c=4)(c=6) B) (c=2c=6)(c!=3)(c!=5)C) (c=2c=6)!(c%2) D) (c=2c=6)(c%2!=1)(分数:


    注意事项

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




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

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

    收起
    展开