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

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

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

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

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

    1、二级 C语言笔试-308 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:50,分数:60.00)1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作( )。(分数:1.00)A.软件投机B.软件危机C.软件工程D.软件产生2.以下程序的输出结果是( )。#include stdio.hmain()int k=17;printf(“%d,%o,%x/n“,k,k,k);(分数:1.00)A.17,021,0x11B.17,17,17C.17,0x11,021D.17,21,113.读程序:#include stdio.hf(int b,int n)in

    2、t i,r;r=1;for(i=0;i=n;i+) r=r*bi;return r;main()int x,a=2,3,4,5,6,7,8,9;x=f(a,3);printf(“%d/n“,x);上面程序的输出结果是( )。(分数:1.00)A.720B.120C.24D.64.请读程序:#include stdio.hmain()int a,b;for(a = 1,b = 1 ;a = 100;a+)if(b=20) break;if(b%3 =1) b +=3;continue; b-=5;printf(“%d/n“,(分数:1.00)A.;若执行下列输出语句:printf(“%d/n“,

    3、strlen(strcpy(str,“China“);则输出结果为( )。(分数:1.00)A.5B.7C.12D.146.请读程序:#include stdio.h#define SUB(X,Y) (X)*Ymain()int a=3,b=4;printf(“%d/n“,SUB(a+,b+);上面程序的输出结果是( )。(分数:1.00)A.12B.15C.16D.207.数据库、数据库系统和数据库管理系统之间的关系是( )。(分数:1.00)A.数据库包括数据库系统和数据库管理系统B.数据库系统包括数据库和数据库管理系统C.数据库管理系统包括数据库和数据库系统D.三者没有明显的包含关系8.

    4、若 x是 int型变量,且有下面的程序段:for(x=3;x6;x+) printf(x%2)?(“*%d“):(“#%d/n“),x);此程序段的输出结果是( )。(分数:1.00)A.*3#4*5B.#3*4#5C.#3*4#5D.* 3#4*59.以下程序的输出结果是( )。#include stdio.hmain()int n=4;while(n-) printf(“%d “,-n);(分数:1.00)A.2 0B.3 1C.3 2 1D.2 1 010.请选出以下程序的输出结果( )。#include stdio.hsub(int *s,int y)static int t=3;y=

    5、st;t-;main()int a=1,2,3,4,i,x=0;for(i=0;i4;i+)sub(a,x);printf(“%d“,x); printf(“/n“);(分数:1.00)A.1234B.4321C.0000D.444411.下列 SQL语句中,用于修改表结构的是( )。(分数:1.00)A.ALTERB.CREATEC.UPDATED.INSERT12.以下程序的输出结果是( )。#include stdio.hmain()int a=-1,b=1,k;if(+a0)else printf(“%d %d/n“,b,(分数:1.00)A.;A) -1 1B) 0 1C)13.请读

    6、程序:#include stdio.hfunc(int a, int b)int c;c=a+b;return c;main()int x=6,y=7,z=8,r;r=func(x-,y+,x+y),z-);printf(“%d/n“,r);上面程序的输出结果是( )。(分数:1.00)A.11B.20C.21D.3114.串的长度是( )。(分数:1.00)A.串中不同字符的个数B.串中不同字母的个数C.串中所含字符的个数且字符个数大于 0D.串中所含字符的个数15.有以下程序:#include stdio.hunion pwint i; char ch2; a;main()a.ch0=13

    7、;a.ch1=0;printf(“%d/n“,a.i);程序的输出结果是(注意:ch0在低字节,ch1在高字节)( )。(分数:1.00)A.13B.14C.208D.20916.以下程序的输出结果是( )。#include stdio.h#include string.hmain()char str12=s,t,r,i,n,g;printf(“%d/n“,strlen(str) );(分数:1.00)A.6B.7C.11D.1217.开发大型软件时,产生困难的根本原因是( )。(分数:1.00)A.大系统的复杂性B.人员知识不足C.客观世界千变万化D.时间紧、任务重18.下列描述中不正确的是

    8、( )。(分数:1.00)A.字符型数组中可以存放字符串B.可以对字符型数组进行整体输入、输出C.可以对整型数组进行整体输入、输出D.不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值19.请选出可用作 C语言用户标识符的一组( )。(分数:1.00)A.voiddefineWORDB.a3_b3_123IFC.For_abccaseD.2aDOsizeof20.以下程序的输出结果是( )。#include stdio.hmain()int i,x33=9,8,7,6,5,4,3,2,1,*p=for(i=0;i4;i+=2) printf(“%d“,pi);(分数:1.00)A.5

    9、2B.51C.53D.9721.已知字符 0的 ASCII码为十六进制的 30,现有程序如下:#include stdio.hmain()unionunsigned char c;unsigned int i4;z;z.i0=0x39;z.i1=0x36;printf(“%c/n“,z.c);此程序的输出结果是( )。(分数:1.00)A.6B.9C.0D.322.若有以下的说明和语句,则在执行 for语句后,*(*(pt+1)+2)表示的数组元素是( )。int t33,*Pt3,k;for(k=0;k3;k+) ptk=(分数:1.00)A.t20B.t22C.t12D.t2123.以下说

    10、法中正确的是( )。(分数:1.00)A.#define和 printf都是 C语句B.#define是 C语句,而 printf不是C.printf是 C语句,但#define 不是D.#define和 printf都不是 C语句24.请读程序:#include stdio.h#include string.hmain()char *s1=“AbCdEf“, *s2=“aB“;s1+; s2+;printf(“%d/n“,strcmp(s1,s2);上面程序的输出结果是( )。(分数:1.00)A.正数B.负数C.零D.不确定的值25.设有以下语句:char str412=“aaa“,“bb

    11、bb“,“ccccc“,“dddddd“,*strp4;int i;for(i=0;i4;i+) strpi=stri;下列选项不是对字符正确引用的是(其中 0k4)( )。(分数:1.00)A.strpB.strkkC.* strpkD.* strp26.以下选项中,能定义 s为合法的结构体变量的是( )。(分数:1.00)A.typedef struct abcdouble a;char b10;s;B.structdouble a;char b10;s;C.struct ABCdouble a;char b10;ABC s;D.typedef ABCdouble a;char b10;A

    12、BC s;27.以下程序的运行结果是( )。#include stdio.hmain()int a=1,2,3,4,5,6,7,8,9,10,11,12;int *p=a+5,*q=NULL;*q=8(p+5);printf(“%d %d/n“, *p,*q);(分数:1.00)A.运行后报错B.6 6C.6 11D.5 528.执行下面程序中的输出语句后,a 的值是( )。#include stdio.hmain()int a;printf(“%d/n“,(a=3*5,a*4);(分数:1.00)A.15B.20C.10D.6029.请读程序:#include stdio.hint a=2,

    13、4,6,8,;main()int i;int *p=a;for( i=0;i4;i+) ai=*p+;priatf(“%d/n“,a2);上面程序的输出结果是( )。(分数:1.00)A.6B.8C.4D.230.执行下面程序段的结果是( )。int x=23;do printf(“%2d“,x-);while(! x);(分数:1.00)A.输出 321B.输出 23C.不输出任何内容D.陷入死循环31.设有以下语句:char a=3,b=6,c;c=ab2;则 c的二进制值是( )。(分数:1.00)A.00011011B.00010100C.00011100D.0001100032.语句

    14、:printf(“%d/n“,12的输出结果是( )。(分数:1.00)A.12B.8C.6D.01233.设有如下的程序段:char str=“Hello“;char *ptr;ptr=str;执行完上面的程序段后,*(ptr+5)的值为( )。(分数:1.00)A.oB./0C.不确定的值D.o的地址34.以下不属于面向对象的基本特点的是( )。(分数:1.00)A.分类性B.多态性C.继承性D.封装性35.在 C语言中,下列各选项为不正确的 int类型的常数足( )。(分数:1.00)A.32768B.0C.037D.0xAF36.读下面程序段(字符串内没有空格字符):printf(“%

    15、d/n“,strlen(“ATS/n012/1/“);其输出结果是( )。(分数:1.00)A.11B.10C.9D.837.下面程序的输出结果是( )。#include stdio.hint m=13;int fun2(int x,int y)int m=3;return(x*y-m);main()int a=7,b=5;printf(“%d/n“,fun2(a,b)/m);(分数:1.00)A.1B.2C.7D.1038.下面不属于软件设计原则的是( )。(分数:1.00)A.抽象B.模块化C.自底向上D.信息隐蔽39.以下程序的输出结果是( )。#include stdio.hmain(

    16、)int i;for(i=1;i5;i+)if(i%2) printf(“*“);else continue;printf(“#“);printf(“$/n“);(分数:1.00)A.*#*#*#$B.#*#*#*$C.*#*#$D.#*#*$40.关系模型允许定义三类数据约束,下列不属于数据约束的是( )。(分数:1.00)A.实体完整性约束B.参照完整性约束C.域完整性约束D.用户自定义的完整性约束41.在计算机中,算法是指( )。(分数:2.00)A.加工方法B.解题方案的准确而完整的描述C.排序方法D.查询方法42.数据结构作为计算机的一门学科,主要研究数据的逻辑结构、对各种数据结构进

    17、行的运算以及( )。(分数:2.00)A.数据的存储结构B.计算方法C.数据映象D.逻辑存储43.C语言中,下列叙述正确的是( )。(分数:2.00)A.不能使用 do-while语句构成的循环B.do-while语句构成的循环,必须用 break语句才能退出C.do-while语句构成的循环,当 while语句中的表达式值为非零时结束循环D.do-while语句构成的循环,当 while语句中的表达式值为零时结束循环44.以下程序的输出结果是( )。#include stdio.hint fan(int);main()int w=5;fun(w); printf(“/n“);fun(int

    18、k)if(k0) fun(k-1);printf(“%d“,k);(分数:2.00)A.5 4 3 2 1B.0 1 2 3 4 5C.1 2 3 4 5D.5 4 3 2 1 045.有以下程序:#include stdio.hmain()int c;while(c=getchar() )! =/n)switch(c-2)case 0: case 1: putchar(c+4);case 2:putehar(c+4);break;case 3:putchar(c+3);default:putchar(c+2);break;运行程序,从第一列开始输入以下数据:2473回车则程序的输出结果是(

    19、)。(分数:2.00)A.668977B.668966C.66778777D.668876646.下面各语句行中,能正确地给字符串赋值的语句行是( )。(分数:2.00)A.char st4=“ABCDE“;B.char s5=A,B,C,D,E;C.char *s=“ABCDE“;D.char *s; scanf(“%s“,*s);47.若已定义:int a9,*p=a;并在以后的语句中未改变 p的值,下列选项中不能表示 a1地址的表达式是( )。(分数:2.00)A.p+1B.a+1C.a+D.+p48.以下选项中属于 C语言数据类型的是( )。(分数:2.00)A.复数型B.逻辑型C.双

    20、精度型D.集合型49.请选出以下程序的输出结果( )。#include stdio.h#define MIN(x,y) (xy)? x:ymain()int i,j,k;i=10;j=15;k=10*MIN(i,j);printf(“%d/n“,k);(分数:2.00)A.15B.100C.10D.15050.若有以下说明和语句,则四个选项中是对 c数组元素的正确引用的是( )。int c45,(*cp)5;cp=c;(分数:2.00)A.cp+1B.*(cp+3)C.*(cp+1)+3D.*(*cp+2)二、填空题(总题数:18,分数:40.00)51.如果一个工人可管理多个设施,而一个设施

    21、只可被一个工人管理,则实体“工人”与实体“设备”之间存在 【1】 联系。(分数:2.00)填空项 1:_52.算法的复杂度主要包括 【2】 复杂度和空间复杂度。(分数:2.00)填空项 1:_53.关系数据库管理系统能实现的专门关系运算包括选择、连接和 【3】 。(分数:2.00)填空项 1:_54.若按功能划分,软件测试的方法通常分为白盒测试方法和 【4】 测试方法。(分数:2.00)填空项 1:_55.数据的逻辑结构在计算机存储空间中的存放形式称为数据的 【5】 。(分数:2.00)填空项 1:_56.表示“整数 x的绝对值大于 5”时值为“真”的 C语言表达式是 【6】 。(分数:2.0

    22、0)填空项 1:_57.函数 pi的功能是根据以下近似公式求 值:(分数:2.00)填空项 1:_58.设在主函数中有以下定义和函数调用语句,且函数 fun为 void型,请写出函数 fun的首部 【8】 。要求形参名为 b。main()double s1022;int n;fun(s);(分数:2.00)填空项 1:_59.以下程序的输出结果是 【9】 。#include stdio.hvoid fun()static int a=0;a + =2;printf(“%d“,a);main()int cc;for(cc = 1;cc 4; cc+) fun();printf(“/n“);(分数

    23、:2.00)填空项 1:_60.下列程序的运行结果是 【10】 。#include stdio.hmain()union EXAMPLEstructint x; int y; in;int a;int b;e;e.a=1;e.b=2;e.in.x=e.a*e.b;e.in.y=e.a+e.b;printf(“%d,%d/n“,e.in.x,e.in.y);(分数:2.00)填空项 1:_61.函数 mycmp(char *s,char *t)的功能是比较字符串 s和 t的大小,当 s等于 t时返回 0,当 st 时返回正值,当 st 时返回负值。请填空。mycmp( char *s,char

    24、*t)while ( *s=*t)if(*s= =/0) return 0;+s; +t;return( 【11】 );(分数:2.00)填空项 1:_62.若有以下定义和语句,则使指针 p指向值为 36的数组元素的表达式是 【12】 。int a10=19,23,44,17,37,28,49,36,*p;p=a;(分数:2.00)填空项 1:_63.下面的语句要使指针 p指向一个 double类型的动态存储单元,请填空。p = 【13】 malloc(sizeof(double);(分数:2.00)填空项 1:_64.以下程序的输出结果是 【14】 。#include stdio.h#def

    25、ine MAX(x,y) (x)(y)? (x):(y)main()int a=5,b=2,c=3,d=3,t;t = MAX(a+b,c+d)*10;printf(“%d/n“,1);(分数:2.00)填空项 1:_65.执行以下程序段后,s 的值为 【15】 。static char ch=“600“;int a,s=0;for(a=0;cha=0a+)s=10*s+cha-0;(分数:2.00)填空项 1:_66.在对文件进行操作的过程中,若要求文件的位置指针重新指向文件的开头,应当调用的函数是 【16】 函数。(分数:2.00)填空项 1:_67.下列程序的字符串中各单词之间有一个空格

    26、,则程序的输出结果是 【17】 。#include stdio.h#include string.hmain()char str1=“How do you do“, *p1=str1;strcpy(str1+strlen(str1)/2,“es she“);printf(“%s/n“,p1);(分数:2.00)填空项 1:_68.以下函数 inverse的功能是使一个字符串按逆序存放,请填空。inverse(char str)char m;int i,j;for(i=0,j=strlen(str);istrlen(str)/2; 【18】 ,j-)m=stri;stri= 【19】 ;【20】

    27、 ;(分数:6.00)填空项 1:_二级 C语言笔试-308 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:50,分数:60.00)1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作( )。(分数:1.00)A.软件投机B.软件危机 C.软件工程D.软件产生解析:解析 软件工程概念的出现源自软件危机。所谓软件危机是泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。总之,可以将软件危机归结为成本、质量、生产率等问题。2.以下程序的输出结果是( )。#include stdio.hmain()int k=17;printf(“%d,%o,%x/n

    28、“,k,k,k);(分数:1.00)A.17,021,0x11B.17,17,17C.17,0x11,021D.17,21,11 解析:解析 printf 函数对不同类型的数据用不同的格式描述符,“%d”是以带符号的十进制形式输出整数(正数不输出符号);“%o”以八进制无符号形式输出整数(不包括前导符 0);“%x”以十六进制无符号形式输出整数(不包括前导符 0x)。3.读程序:#include stdio.hf(int b,int n)int i,r;r=1;for(i=0;i=n;i+) r=r*bi;return r;main()int x,a=2,3,4,5,6,7,8,9;x=f(a

    29、,3);printf(“%d/n“,x);上面程序的输出结果是( )。(分数:1.00)A.720B.120 C.24D.6解析:解析 本题考查函数的调用。函数 f的功能是将 b小的第 1到 n+1个数组元素的值进行相乘运算,然后返回其结果。由于实参 3传给形参 n,所以 f的返回值为 x=2*3*4=5=120。4.请读程序:#include stdio.hmain()int a,b;for(a = 1,b = 1 ;a = 100;a+)if(b=20) break;if(b%3 =1) b +=3;continue; b-=5;printf(“%d/n“,(分数:1.00)A.;若执行下

    30、列输出语句:printf(“%d/n“,strlen(strcpy(str,“China“);则输出结果为( )。(分数:1.00)A.5 B.7C.12D.14解析:解析 本题考查求字符串的长度。数组 str初始化的长度是 7,使用 strcpy函数将新字符串赋给str后,strlen 函数返回的是新字符串的字符个数 5。6.请读程序:#include stdio.h#define SUB(X,Y) (X)*Ymain()int a=3,b=4;printf(“%d/n“,SUB(a+,b+);上面程序的输出结果是( )。(分数:1.00)A.12 B.15C.16D.20解析:解析 本题的

    31、考查点是宏定义。a+的形式应当先使用 a值,然后 a才进行自加 1运算,所以程序在进行 SUB()乘法运算的时候,仍取 a,b 的原值,最后输出的结果是 12。7.数据库、数据库系统和数据库管理系统之间的关系是( )。(分数:1.00)A.数据库包括数据库系统和数据库管理系统B.数据库系统包括数据库和数据库管理系统 C.数据库管理系统包括数据库和数据库系统D.三者没有明显的包含关系解析:解析 数据库系统包括数据库和数据库管理系统。8.若 x是 int型变量,且有下面的程序段:for(x=3;x6;x+) printf(x%2)?(“*%d“):(“#%d/n“),x);此程序段的输出结果是(

    32、)。(分数:1.00)A.*3#4*5B.#3*4#5C.#3*4#5D.* 3#4*5 解析:解析 本题考查条件运算符。如果 x%2非 0,输出*和循环变量的值;如果 x%2为 0,输出#和循环变量的值。当循环变量为 3和 5时,分别输出*3 和*5,当循环变量为 4时,输出#4 后换行。9.以下程序的输出结果是( )。#include stdio.hmain()int n=4;while(n-) printf(“%d “,-n);(分数:1.00)A.2 0 B.3 1C.3 2 1D.2 1 0解析:解析 n-是先使用后自减,-n 是先自减后使用。n=4 时,执行 n-后,n 变为 3,

    33、执行-n 后,n变为 2,所以,第一次输出时,n 为 2;同上过程,第二次输出时,n 为 0。10.请选出以下程序的输出结果( )。#include stdio.hsub(int *s,int y)static int t=3;y=st;t-;main()int a=1,2,3,4,i,x=0;for(i=0;i4;i+)sub(a,x);printf(“%d“,x); printf(“/n“);(分数:1.00)A.1234B.4321C.0000 D.4444解析:解析 本题考查函数的形参和实参的关系。函数 sub将实参 x的值传给形参 y,y 值的改变不能使x的值发生改变,所以输出的 x

    34、值始终为 0。11.下列 SQL语句中,用于修改表结构的是( )。(分数:1.00)A.ALTER B.CREATEC.UPDATED.INSERT解析:解析 在 SQL语句中,创建用 CREATE,删除用 DROP,改变用 ALTER,后面跟类型和名字,附加子句。12.以下程序的输出结果是( )。#include stdio.hmain()int a=-1,b=1,k;if(+a0)else printf(“%d %d/n“,b,(分数:1.00)A.;A) -1 1B) 0 1C)解析:解析 本题考查 if语句。+a 是先自增后使用,b-是先使用后自减。执行+a 后,a 值为 0,不满足条

    35、件,所以 a为 0,b 仍为 1,接下去执行 else语句,输出 1 0。13.请读程序:#include stdio.hfunc(int a, int b)int c;c=a+b;return c;main()int x=6,y=7,z=8,r;r=func(x-,y+,x+y),z-);printf(“%d/n“,r);上面程序的输出结果是( )。(分数:1.00)A.11B.20C.21 D.31解析:解析 函数 func的作用是返回两个形参的和,第一个形参是 x,y 分别自减和自增后的和 13,第二个形参的值为 8(根据语法规则,应当先使用,后自增),所以 func的返回值为 13+8

    36、= 21。14.串的长度是( )。(分数:1.00)A.串中不同字符的个数B.串中不同字母的个数C.串中所含字符的个数且字符个数大于 0D.串中所含字符的个数 解析:解析 串的长度是指串中字符的个数,且其字符个数可以为 0。15.有以下程序:#include stdio.hunion pwint i; char ch2; a;main()a.ch0=13;a.ch1=0;printf(“%d/n“,a.i);程序的输出结果是(注意:ch0在低字节,ch1在高字节)( )。(分数:1.00)A.13 B.14C.208D.209解析:解析 根据共用体的定义可知:共用体 a的成员 i和成员 ch2

    37、共用同一段内存空间,所以,当程序给 a.ch0和 a.ch1赋值后,实际上,共用体成员 i的值就确定为 13了,所以打印输出的结果应当为 13。16.以下程序的输出结果是( )。#include stdio.h#include string.hmain()char str12=s,t,r,i,n,g;printf(“%d/n“,strlen(str) );(分数:1.00)A.6 B.7C.11D.12解析:解析 本题考查求字符串的长度。程序中定义字符串 str时中请了 12个字节的内存空间,对它赋初值后,函数 strlen在求串长度时,以/0作为串结束符,所以,strlen(str)的值为

    38、6。17.开发大型软件时,产生困难的根本原因是( )。(分数:1.00)A.大系统的复杂性 B.人员知识不足C.客观世界千变万化D.时间紧、任务重解析:解析 软件的显著特点是规模庞大,复杂度超线性增长。在开发大型软件时,要保证高质量极端复杂困难,不仅涉及技术问题,更重要的是必须要有严格而科学的管理。18.下列描述中不正确的是( )。(分数:1.00)A.字符型数组中可以存放字符串B.可以对字符型数组进行整体输入、输出C.可以对整型数组进行整体输入、输出 D.不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值解析:解析 本题考查对数组的理解。C 语言规定只能逐个引用数组元素,而不能一次

    39、引用整个数组。对于字符数组,可以将整个字符串一次输入或输出。所以,选项 C)不正确。19.请选出可用作 C语言用户标识符的一组( )。(分数:1.00)A.voiddefineWORDB.a3_b3_123IF C.For_abccaseD.2aDOsizeof解析:解析 C 语言规定,标识符只能由字母、数字和下划线三种符号组成,而且第一个字符必须是字母或下划线。A)中的 void与 C语言的关键字重名,不合法;C)中的 case和 C语言的关键字重名,不合法;D)中的 2a是数字开头,而且 sizeof与 C语言的关键字重名,不合法。20.以下程序的输出结果是( )。#include std

    40、io.hmain()int i,x33=9,8,7,6,5,4,3,2,1,*p=for(i=0;i4;i+=2) printf(“%d“,pi);(分数:1.00)A.52B.51C.53 D.97解析:解析 本题的考查点是通过指针引用数组元素。i=0 时,输出 P0,也就是 x11,输出5;i=2 时,输出 p2,即 P2+0,也就是 x20,输出 3。21.已知字符 0的 ASCII码为十六进制的 30,现有程序如下:#include stdio.hmain()unionunsigned char c;unsigned int i4;z;z.i0=0x39;z.i1=0x36;print

    41、f(“%c/n“,z.c);此程序的输出结果是( )。(分数:1.00)A.6B.9 C.0D.3解析:解析 根据共用体的定义可知:共用体 z的成员 c和成员 i4是共用着同一段内存空间,所以,当程序给 z.i0赋值后,实际上共用体成员 c的值也确定了,为 0x39,所以在以字符方式打印时,打印结果应是 ASCII码等于 0x39的字符,即是 9。22.若有以下的说明和语句,则在执行 for语句后,*(*(pt+1)+2)表示的数组元素是( )。int t33,*Pt3,k;for(k=0;k3;k+) ptk=(分数:1.00)A.t20B.t22C.t12 D.t21解析:解析 本题考查通

    42、过指针引用数组元素。*(*(pt+1)+2)等价于*(pt1+2), pt1+2 是 t12的地址,故*(pt1+2)是 t12的值。23.以下说法中正确的是( )。(分数:1.00)A.#define和 printf都是 C语句B.#define是 C语句,而 printf不是C.printf是 C语句,但#define 不是D.#define和 printf都不是 C语句 解析:解析 C 语言规定,分号是 C语句的必要组成部分,每个语句和数据定义的最后必须有一个分号。24.请读程序:#include stdio.h#include string.hmain()char *s1=“AbCdE

    43、f“, *s2=“aB“;s1+; s2+;printf(“%d/n“,strcmp(s1,s2);上面程序的输出结果是( )。(分数:1.00)A.正数 B.负数C.零D.不确定的值解析:解析 本题考查字符串比较函数 strcmp()的应用。strcmp(s1,s2)是中比较函数,当 s1 s2 时返回值为正数,当 s1s2 时返回值为负数,当 s1=s2时返回值为零。本题中 s1,s2 分别表示两个串中第一个字符的地址,s1+和 s2+是将指针指向串的第二个字符,指针变量 s1指向的是串“bCdEf”的首地址,即字符 b的地址,而指针变量 s2指向的是字符B的地址。而在字符串比较中,宁符串

    44、大小的确定是各个字符串相应位置字符的 ASCII码值的大小决定的,字符B的ASCII码值为 66,字符“b”的 ASCII码值为 98,所以 s1s2,返回值为正数。25.设有以下语句:char str412=“aaa“,“bbbb“,“ccccc“,“dddddd“,*strp4;int i;for(i=0;i4;i+) strpi=stri;下列选项不是对字符正确引用的是(其中 0k4)( )。(分数:1.00)A.strp B.strkkC.* strpkD.* strp解析:解析 本题考查对字符数组中字符的引用。指针数组 strp表示每一个数组元素都存放了一个字符串的首地址。选项 A)

    45、代表指针数组 strp的第一个数组元素的地址,不是对字符的引用。26.以下选项中,能定义 s为合法的结构体变量的是( )。(分数:1.00)A.typedef struct abcdouble a;char b10;s;B.structdouble a;char b10;s; C.struct ABCdouble a;char b10;ABC s;D.typedef ABCdouble a;char b10;ABC s;解析:解析 定义一个结构体类型的变量,可采用三种方法:先定义结构体类型,再定义变量名。在定义类型的同时定义变量。直接定义结构体类型变量,即不出现结构体名。选项 B)符合第三种定

    46、义方法。27.以下程序的运行结果是( )。#include stdio.hmain()int a=1,2,3,4,5,6,7,8,9,10,11,12;int *p=a+5,*q=NULL;*q=8(p+5);printf(“%d %d/n“, *p,*q);(分数:1.00)A.运行后报错 B.6 6C.6 11D.5 5解析:解析 本题的考查点是通过指针引用数组元素。程序中没有给 q分配存储单元,只是给它赋了一个 NULL,所以程序的运行结果是:6 11 NULL pointer assignment,也就是运行后报错。28.执行下面程序中的输出语句后,a 的值是( )。#include stdio.hmain()int a;printf(“%d/n“,(a=3*5,a*4);(分数:1.00)A.15 B.20C.10D.60解析:解析 本题考查对逗号运算符的理解。逗号运算符的求解过程是从左至右,依次求解各个表达式的值,所以在该题中,先使 a的值等于 15,再计算 a*4,此时整个表达式的值为 60,但 a的值并未改变,仍为 15。29.请读程序:#include stdio.hint a=2,4,6,8,;main()int i;int *p=a;for( i=0;i4;i+)


    注意事项

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




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

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

    收起
    展开