ImageVerifierCode 换一换
格式:DOC , 页数:23 ,大小:79.50KB ,
资源ID:1326078      下载积分:5000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-1326078.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

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

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

1、二级 C 语言笔试-276 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.若有下列定义(设 int 类型变量占 2 个字节):int i=8,j=9;则下列语句:printf(“i=%u,j=%x/n“,i,j);输出的结果是( )。(分数:2.00)A.i=8,j=9B.8.9C.8 9D.i=8,j=82.若要用函数 fopen 打开一个新的二进制文件,该文件要既能读也能写,则应以哪种方式打开文件( )。(分数:2.00)A.“wb“B.“wb+“C.“rb+“D.“rb“3.下列二维数组初始化语句中,不正确的是( )。(分数:2.0

2、0)A.int b2=1,2,3,4,5,6,7;B.int b35=0,0,0);C.int b4=1,2,3,4,5,6);D.int b32=(1,2),(3,4),(5,6);4.下列对于软件测试的描述中正确的是( )。(分数:2.00)A.软件测试的目的是证明程序是否正确B.软件测试的目的是使程序运行结果正确C.软件测试的目的是尽可能多地发现程序中的错误D.软件测试的目的是使程序符合结构化原则5.下列判断正确的是( )。(分数:2.00)A.char a=“ABCD“;等价于 char*a;*a=“ABCD“;B.char str10=“ABCD“);等价于 char str10;s

3、tr=“ABCD“);C.char*s=“ABCD“;等价于 char s;*s=“ABCD“;D.char c5=“ABCD“,d5=“ABCD“;等价于 char c5=d5=“ABCD“;6.结构化分析方法是面向( )的自顶向下、逐步求精进行需求分析的方法。(分数:2.00)A.对象B.数据结构C.数据流D.目标7.若有定义 int a=5,b=7;,则表达式 a%=(b%2)运算后,a 的值为( )。(分数:2.00)A.0B.1C.11D.38.下列说法错误的是( )。(分数:2.00)A.下列结构体定义时,占据了 5 个字节的空间struct studentint num;int

4、age;char sex;B.结构体的成员名可以与程序中的变量名相同C.对结构体中的成员可以单独使用,它的作用相当于普通变量D.结构体可以嵌套定义9.变量 m 的值为 8,m 的地址为 1010,若欲使 p 为指向 m 的指针变量,则下列赋值正确的是( )。(分数:2.00)A.B.scanf(“%d,%d,%d“,C.scanf(“%d%d%d“,D.scanf(“i=%d,j=%d,k=%d“,11.下列程序中函数 son()的功能是对数组 a 中的数据进行由大到小的排序。#includestdio.hvoid sort(int a,int n)int i,j,t;for(i=0;in-1

5、;i+)for(j=i+1;jn;j+)if(aiaj)t=ai;ai=aj;aj=t;main()int a10=1,2,3,4,5,6,7,8,9,10,i;sort(for(i=0;i10;i+)printf(“%d,“,ai);程序运行后的输出结果是( )。(分数:1.00)A.1,2,3,4,5,6,7,8,9,10,B.10,9,8,7,6,5,4,3,2,1,C.1,8,7,6,5,4,3,2,9,10,D.1,2,10,9,8,7,6,5,4,3,12.用链表表示线性表的优点是( )。(分数:1.00)A.便于随机存取B.花费的存储空间较顺序存储少C.便于插入和删除操作D.数据

6、元素的物理顺序和逻辑顺序相同13.有下列程序:fun(int x,int y)static int m=0,i=2;i+=m+1;m=i+x+y;return m;main()int j=1,m=1,k;k=fun(j,m);printf(“%d,“,k);k=fun(j,m);printf(“%d/n“.k);执行后的输出结果是( )。(分数:1.00)A.5,5B.5,11C.11,11D.11,514.下列语句中,在字符串 s1 和 s2 相等时显示“they are Equal”的是( )。(分数:1.00)A.if(*s1=*s2)B.if(!strcmp(s1,s2)puts(“t

7、hey are Equal“); puts(“they are Equal“);C.if(s1=s2)D.if(strcmp(s1,s2)Puts(“they are Equal“); pros(“they are Equal“);15.若有下列说明和语句,则对结构体变量 st 中成员 i 的引用方式不正确的是( )。Struct stuint i;int name;st,*p;p=(分数:1.00)A.st.iB.*p.iC.(*p).iD.p-i16.下列循环体的执行次数是( )。#includestdio.hmain()int i,j;for(i=0 j=1;ij+1;i+=1,j-)p

8、rintf(“%d/n“,j);(分数:1.00)A.3B.2C.1D.017.C 语言可执行程序的开始执行点是( )。(分数:1.00)A.包含文件中的第一个函数B.程序中第一个函数C.程序中的 main()函数D.程序中第一条语句18.若执行下列程序时从键盘上输入 2,则输出结果是( )。#includestdio.hmain()int a;scanf(“%d“,float f=7;则下列选项中错误的表达式是( )。(分数:2.00)A.k=k=kB.-k+C.k%int(f)D.k=f=m22.下列程序的输出结果是( )。#includestdio.hvoid p(int *x)prin

9、tf(“%d“,+*x);void main()int y=3;p((分数:2.00)A.3B.4C.2D.523.下列选项中不属于结构化程序设计方法的是( )。(分数:2.00)A.自顶向下B.逐步求精C.模块化D.可复用24.下列程序的输出结果是( )。main()int p8=11,12,13,14,15,16,17,18,i=0,j=0;while(i+ +7)if(pi%2)j+ =pi;printf(“%d/n“,j);(分数:2.00)A.42B.45C.56D.6025.下列程序的运行结果为( )。#includestdio.hvoid abc(char*str)int a,b

10、,i,j;for(i=j=0;stri!=/0;i+)if(stri!=astrj+=stri;strj=/0;void main()char str=“abcdef“;abc(str);printf(“str=%s“,str);(分数:2.00)A.str=bcdefB.str=abcdefC.str=aD.str=ab26.下列选项中,不是一个算法的基本特征的是( )。(分数:2.00)A.完整性B.可行性C.有穷性D.拥有足够的情报27.软件需求分析阶段的工作,可以分为 4 个方面:需求获取、需求分析、编写需求规格说明书以及( )。(分数:2.00)A.阶段性报告B.需求评审C.总结D.

11、都不正确28.设变量 x 和 y 均已正确定义并赋值。下列 if 语句中,在编译时将产生错误信息的是( )。(分数:2.00)A.if(x+ +);B.if(xyC.if(x0)x-D.if(y0);else y+ +; else x+ +;29.下列程序的输出结果是( )。#includestdio.hmain()int a=2,b=3,p;p=f(a,b);printf(“%d“,p);int f(a,b)int c;if(ab)c=1;else if(a=b)c=0;else c=-1;return(c);(分数:2.00)A.-1B.0C.1D.230.下列字符数组初始化语句中,不正确

12、的是( )。(分数:2.00)A.char c=/goodmorning;B.char c20=“goodmorning“;C.char c=a,b,c,d);D.char c=“goodmorning“);31.在数据库设计中,将 E-R 图转换为关系模式的过程属于( )。(分数:2.00)A.需求分析阶段B.逻辑设计阶段C.概念设计阶段D.物理设计阶段32.已定义下列函数:int fun(int *p)return *p;)fun 函数返回值是( )。(分数:2.00)A.不确定的值B.一个整数C.形参 p 中存放的值D.形参 p 的地址值33.关于结构化程序设计原则和方法描述错误的是(

13、)。(分数:2.00)A.选用的结构只准许有一个入口和一个出口B.复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现C.不允许使用 GOTO 语句D.语言中所没有的控制结构,应该采用前后一致的方法来模拟34.对线性表进行二分法检索,其前提条件是( )。(分数:2.00)A.线性表以顺序方式存储,并按关键码值排好序B.线性表以顺序方式存储,并按关键码的检索频率排好序C.线性表以链式方式存储,并按关键码值排好序D.线性表以链式方式存储,并按关键码的检索频率排好序35.在下列语句中,其含义为“q 为一个指针的函数,该指针指向整型数据”的定义语句是( )。(分数:2.00)A.int*q;B.int(

14、*q)();C.int*q;D.int*q();36.下列正确的实型常量是( )。(分数:2.00)A.E3.4B.-12345C.2.2e0.8D.437.若 x=10010111,则表达式(3+(int)(x)P(F(5)*x);(分数:2.00)A.12B.13C.14D.1639.下列表达式中,可以正确表示 x0 或 x1 的关系是( )。(分数:2.00)A.(x=1)(x=0)B.x1x=0C.x=1 OR x=0D.x=1 printf(“%d,“,xy?y:x);printf(“%d,“,zy?x+:y+);printf(“%d,%d“,x,y);(分数:2.00)填空项 1:

15、_49.下列程序段中循环体的执行次数是_。a=15;b=0;dob+=2;a-=2+b;while(a=0);(分数:2.00)填空项 1:_50.语句“int(*ptr)1;”的含义是 2 是指向函数的指针,该函数返回一个 int 型数据。(分数:2.00)填空项 1:_51.下列程序的输出结果是_。#includestdio.hint t(int x,int y,int cp,int dp)cp=x*x+y*y;dp=x*x-y*y;main()int a=1,b=8,c=7,d=9;t(a,b,c,d);printf(“%d %d/n“,c,d);(分数:2.00)填空项 1:_52./

16、13在内存中占 1 个字节,“/12“在内存中占 1 个字节。(分数:2.00)填空项 1:_53.#define 命令出现在程序中函数的外面,宏名的有效范围为 1。(分数:2.00)填空项 1:_54.下列程序段的运行结果是_。char str=“ABCD“,*p=str;printf(“%d/n“,*(p+3);(分数:2.00)填空项 1:_55.下列程序中的数组 a 包括 10 个整数元素,分别将前项和后项之和存入数组 b,并按每行 4 个元素输出数组 b。请填空。#includestdio.hmain()int a10,b10,i;for(i=0;i10;i+)scanf(“%d“,

17、for(i=0;i9;i+)_;for(i=0;i9;i+)if(i%4=0)printf(“/n“);printf(“%3d“,bi);(分数:2.00)填空项 1:_二级 C 语言笔试-276 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.若有下列定义(设 int 类型变量占 2 个字节):int i=8,j=9;则下列语句:printf(“i=%u,j=%x/n“,i,j);输出的结果是( )。(分数:2.00)A.i=8,j=9 B.8.9C.8 9D.i=8,j=8解析:解析 本题考查函数 printf()的格式。“%x”表示以十

18、六进制输出整型数据;“%u”表示以十进制无符号型输出整型数据。printf 函数中格式说明符之前插入的任何字符都原样输出。2.若要用函数 fopen 打开一个新的二进制文件,该文件要既能读也能写,则应以哪种方式打开文件( )。(分数:2.00)A.“wb“B.“wb+“ C.“rb+“D.“rb“解析:解析 本题考查文件使用方式标识符。方式“wb”为输出打开一个二进制文件;方式“wb+”为读写建立一个新的二进制文件;方式“rb+”为读写打开一个二进制文件:方式“rb”为输入打开一个二进制文件。3.下列二维数组初始化语句中,不正确的是( )。(分数:2.00)A.int b2=1,2,3,4,5

19、,6,7;B.int b35=0,0,0);C.int b4=1,2,3,4,5,6);D.int b32=(1,2),(3,4),(5,6); 解析:解析 在对二维数组元素赋初值时,可以只对部分元素赋初值,未赋初值的元素自动取 0;C 语言规定,对于二维数组,只可以省略第 1 个方括号中的常量表达式,而不能省略第 2 个方括号中的常量表达式:赋的初值不能多于事先定义好的数组元素个数。在选项 D)赋值表达式中对每一维的元素赋初值应用,而不是()。4.下列对于软件测试的描述中正确的是( )。(分数:2.00)A.软件测试的目的是证明程序是否正确B.软件测试的目的是使程序运行结果正确C.软件测试的

20、目的是尽可能多地发现程序中的错误 D.软件测试的目的是使程序符合结构化原则解析:解析 软件测试是为了尽可能多地发现程序中的错误,尤其是发现至今尚未发现的错误。5.下列判断正确的是( )。(分数:2.00)A.char a=“ABCD“;等价于 char*a;*a=“ABCD“;B.char str10=“ABCD“);等价于 char str10;str=“ABCD“);C.char*s=“ABCD“;等价于 char s;*s=“ABCD“;D.char c5=“ABCD“,d5=“ABCD“;等价于 char c5=d5=“ABCD“; 解析:解析 a=“ABCD“书写错误,因为“=”左边

21、不能出现常量;数组名 s 是代表 s 数组首地址的地址常量,而不是变量;字符串只有在定义时维数可以省略。6.结构化分析方法是面向( )的自顶向下、逐步求精进行需求分析的方法。(分数:2.00)A.对象B.数据结构C.数据流 D.目标解析:解析 结构化分析方法是面向数据流进行需求分析的方法,采用自顶向下、逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。7.若有定义 int a=5,b=7;,则表达式 a%=(b%2)运算后,a 的值为( )。(分数:2.00)A.0 B.1C.11D.3解析:解析 本题考查“%”运算符的使用。运算符“%”要求两个运算对象都为整型

22、,其结果是整数除法的余数。本题中表达式 a%=(b%2)等价于 a=a%(b%2)=5%(7%2)=5%1=0。8.下列说法错误的是( )。(分数:2.00)A.下列结构体定义时,占据了 5 个字节的空间struct studentint num;int age;char sex;B.结构体的成员名可以与程序中的变量名相同C.对结构体中的成员可以单独使用,它的作用相当于普通变量D.结构体可以嵌套定义解析:解析 本题主要考查定义结构体的几个特点:结构的定义明确了结构的组成形式,定义了一种C 语言中没有而用户需要的新的数据类型。与其他的数据类型不同,在程序编译的时候结构的定义并不会使系统为该结构分

23、配内存空间,只有在说明结构变量时才分配内存空间;结构体的成员名可以与程序中的变量名相同:结构体中的成员可以单独使用,它的作用相当于普通变量;结构体可以嵌套定义。9.变量 m 的值为 8,m 的地址为 1010,若欲使 p 为指向 m 的指针变量,则下列赋值正确的是( )。(分数:2.00)A.B.scanf(“%d,%d,%d“, C.scanf(“%d%d%d“,D.scanf(“i=%d,j=%d,k=%d“,解析:解析 函数 scanf()的调用形式是:scanf(格式字符串,输入项地址表)。其中,“格式字符串”是要输入的变量的格式符:“输入项地址表”是要输入的变量的地址。若在格式符中插

24、入了其他字符,则在输入时要求按一一对应的位置原样输入这些字符,其中的逗号也必须输入。11.下列程序中函数 son()的功能是对数组 a 中的数据进行由大到小的排序。#includestdio.hvoid sort(int a,int n)int i,j,t;for(i=0;in-1;i+)for(j=i+1;jn;j+)if(aiaj)t=ai;ai=aj;aj=t;main()int a10=1,2,3,4,5,6,7,8,9,10,i;sort(for(i=0;i10;i+)printf(“%d,“,ai);程序运行后的输出结果是( )。(分数:1.00)A.1,2,3,4,5,6,7,8

25、,9,10,B.10,9,8,7,6,5,4,3,2,1,C.1,8,7,6,5,4,3,2,9,10, D.1,2,10,9,8,7,6,5,4,3,解析:解析 本程序中的函数 sort(int a,int n)实现的功能是将数组 a 中的前 n 个数进行从大到小排序。sort(i+=m+1;m=i+x+y;return m;main()int j=1,m=1,k;k=fun(j,m);printf(“%d,“,k);k=fun(j,m);printf(“%d/n“.k);执行后的输出结果是( )。(分数:1.00)A.5,5B.5,11 C.11,11D.11,5解析:解析 子函数 fun

26、(int x,int y),将变量 m 和 i 声明为局部静态变量,因此第 1 次调用主函数后,局部静态变量 m 和 i 的值为 5 和 3,第 1 次函数调用结束时,它们的值不释放保持不变,所以第 2 次调用时,局部静态变量 m 和 i 的初始值分别为 5 和 3,即在执行“i+=m+1”时,i 的值为 9,因此最终 m 的值为 11。14.下列语句中,在字符串 s1 和 s2 相等时显示“they are Equal”的是( )。(分数:1.00)A.if(*s1=*s2)B.if(!strcmp(s1,s2)puts(“they are Equal“); puts(“they are E

27、qual“); C.if(s1=s2)D.if(strcmp(s1,s2)Puts(“they are Equal“); pros(“they are Equal“);解析:解析 字符串比较不能用两个等于号(=)来进行比较,应使用函数 strcmp(s1,s2)来比较。函数stremp(s1,s2)的功能是:当字符串 s1 和 s2 相等时,返回值为 0。因此,当表达式!strcmp(s1,s2)=1 时,条件成立,执行后面的语句,输出 they are Equal。15.若有下列说明和语句,则对结构体变量 st 中成员 i 的引用方式不正确的是( )。Struct stuint i;int

28、name;st,*p;p=(分数:1.00)A.st.iB.*p.i C.(*p).iD.p-i解析:解析 本题主要考查结构指针:p=for(i=0 j=1;ij+1;i+=1,j-)printf(“%d/n“,j);(分数:1.00)A.3B.2C.1 D.0解析:解析 本题考查 for 循环。第一次循环前先判断循环条件,此时 i=0,j=1,ij+1 成立,循环第一次;第二次循环前先判断循环条件,此时 i=1,j=0,(j-是先使用 j 的值再减 1),ij+1 不成立,结束循环。17.C 语言可执行程序的开始执行点是( )。(分数:1.00)A.包含文件中的第一个函数B.程序中第一个函数

29、C.程序中的 main()函数 D.程序中第一条语句解析:解析 每个 C 程序有且只有一个主函数 main(),且程序必须从 main 函数开始执行,并在 main()函数中结束。18.若执行下列程序时从键盘上输入 2,则输出结果是( )。#includestdio.hmain()int a;scanf(“%d“,float f=7;则下列选项中错误的表达式是( )。(分数:2.00)A.k=k=kB.-k+C.k%int(f) D.k=f=m解析:解析 在 C 语言中,求余运算符“%”两边的运算对象都应为整型数据,所以需要对变量 f 进行强制类型转换,正确的写法为 k%(int)f。在 C

30、语言中,逻辑运算符与赋值运算符、算术运算符、关系运算符之间从高到低的运算优先次序是:!(逻辑“非”)、算术运算符、关系运算符、void main()int y=3;p((分数:2.00)A.3B.4 C.2D.5解析:解析 本题考查函数调用时的参数传递。在函数调用时,形参是指向实参的指针变量,则 printf的执行结果为 3+1=4。23.下列选项中不属于结构化程序设计方法的是( )。(分数:2.00)A.自顶向下B.逐步求精C.模块化D.可复用 解析:解析 结构化程序设计的主要原则概括为自顶向下、逐步求精和限制使用 GOTO 语句。24.下列程序的输出结果是( )。main()int p8=

31、11,12,13,14,15,16,17,18,i=0,j=0;while(i+ +7)if(pi%2)j+ =pi;printf(“%d/n“,j);(分数:2.00)A.42B.45 C.56D.60解析:解析 在 C 语言中,数组的下标默认为 0,因此数组 p 的下标范围为:07。程序循环过程为:第 1 次循环 i=0,执行循环,并且 i 自加,得 i=1,因此 pi为 p1=12,12%2=0,不执行后面的语句;接着进行第 2 次循环,此时 i=1,小于 7 执行循环,并且 i 自加,得 i=2,因此 pi为 p2=13,13%2=1,执行后面的语句;这样一直到退出循环。最后 j 的值

32、为 j=13+15+17=45。25.下列程序的运行结果为( )。#includestdio.hvoid abc(char*str)int a,b,i,j;for(i=j=0;stri!=/0;i+)if(stri!=astrj+=stri;strj=/0;void main()char str=“abcdef“;abc(str);printf(“str=%s“,str);(分数:2.00)A.str=bcdef B.str=abcdefC.str=aD.str=ab解析:解析 本题考查函数调用时的参数传递。通过函数 abc 的执行,将字符串中的字母 a 去掉,保留剩下的。由于是通过指针调用,

33、所以改变字符串的结果。26.下列选项中,不是一个算法的基本特征的是( )。(分数:2.00)A.完整性 B.可行性C.有穷性D.拥有足够的情报解析:解析 作为一个算法,一般应该具有下列 4 个特征:可行性,即考虑到实际的条件能够达到一个满意的结果;确定性,算法中的第一个步骤都必须是有明确定义的;有穷性,一个算法必须在有限的时间内做完;拥有足够的情报。27.软件需求分析阶段的工作,可以分为 4 个方面:需求获取、需求分析、编写需求规格说明书以及( )。(分数:2.00)A.阶段性报告B.需求评审 C.总结D.都不正确解析:解析 需求分析是软件定义时期的最后一个阶段。可以概括为 4 个方面:需求获

34、取;需求分析;编写需求规格说明书;需求评审。28.设变量 x 和 y 均已正确定义并赋值。下列 if 语句中,在编译时将产生错误信息的是( )。(分数:2.00)A.if(x+ +);B.if(xyC.if(x0)x- D.if(y0);else y+ +; else x+ +;解析:解析 选项 A)和选项 B)在条件判断语句的后面是空语句,什么都不做;在选项 D)if 后面是一个复合空语句;而在选项 C)中,在 x-后面少了一个分号,所以程序段在编译时,会出现语法错误。29.下列程序的输出结果是( )。#includestdio.hmain()int a=2,b=3,p;p=f(a,b);p

35、rintf(“%d“,p);int f(a,b)int c;if(ab)c=1;else if(a=b)c=0;else c=-1;return(c);(分数:2.00)A.-1 B.0C.1D.2解析:解析 本题考查 if else 语句。在 int f(a,b)中:第一个 if 语句,先判断条件,发现 ab 条件不成立,则执行与其配对的 else 语句;第二个 if 语句,先判断条件,发现 a=b 条件不成立,则执行与其配对的 else 语句,c=-1。30.下列字符数组初始化语句中,不正确的是( )。(分数:2.00)A.char c=/goodmorning; B.char c20=“

36、goodmorning“;C.char c=a,b,c,d);D.char c=“goodmorning“);解析:解析 本题考查两个概念:用单引号括起来的一个字符常量只能存放一个字符;C 语言中没有字符串变量,只能用字符数组来存储字符串。选项 A)中一个单引号内放了若干个字符是错误的;选项 B)和选项 D)选项中将一个字符串赋值给一个字符数组是允许的。31.在数据库设计中,将 E-R 图转换为关系模式的过程属于( )。(分数:2.00)A.需求分析阶段B.逻辑设计阶段 C.概念设计阶段D.物理设计阶段解析:解析 数据库设计阶段主要包括需求分析、概念设计、逻辑设计和物理设计。其中,逻辑设计的主

37、要工作是将 E-R 图转换为关系模式。32.已定义下列函数:int fun(int *p)return *p;)fun 函数返回值是( )。(分数:2.00)A.不确定的值B.一个整数 C.形参 p 中存放的值D.形参 p 的地址值解析:解析 由函数 int fun(int *p)return *p;的定义可知,返回值为整型指针变量 p 所指向的数据。33.关于结构化程序设计原则和方法描述错误的是( )。(分数:2.00)A.选用的结构只准许有一个入口和一个出口B.复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现C.不允许使用 GOTO 语句 D.语言中所没有的控制结构,应该采用前后一致的方

38、法来模拟解析:解析 限制使用 GOTO 语句是结构化程序设计的原则和方法之一,但不是绝对不允许使用 GOTO 语句。其他 3 项为结构化程序设计的原则。34.对线性表进行二分法检索,其前提条件是( )。(分数:2.00)A.线性表以顺序方式存储,并按关键码值排好序 B.线性表以顺序方式存储,并按关键码的检索频率排好序C.线性表以链式方式存储,并按关键码值排好序D.线性表以链式方式存储,并按关键码的检索频率排好序解析:解析 对线性表进行二分法检索,要求线性表是按顺序方式存储的,并按关键码值的大小排好序,而不是按关键码的检索频率排序。35.在下列语句中,其含义为“q 为一个指针的函数,该指针指向整

39、型数据”的定义语句是( )。(分数:2.00)A.int*q;B.int(*q)(); C.int*q;D.int*q();解析:解析 本题考查的是指针函数。指针函数定义的基本格式为:类型说明符(*函数名)()。其中,类型说明符表示返回的指针值指向的数据类型。36.下列正确的实型常量是( )。(分数:2.00)A.E3.4B.-12345 C.2.2e0.8D.4解析:解析 实型常量有两种书写形式。小数形式,它由符号、整数部分、小数点及小数部分组成:指数形式,由十进制小数形式加上指数部分组成,其形式为:十进制小数 e 指数或十进制小数 E 指数。注:e 或 E 后面的指数必须是整数,并且在 e

40、 或 E 的前面必须有数字。本题中,选项 A)中 E 的前面没有数字,因此错误。选项 C)中 0.8 不是整数,因此错误。选项 D)中 4 是整型常量而不是实型常量。37.若 x=10010111,则表达式(3+(int)(x)P(F(5)*x);(分数:2.00)A.12 B.13C.14D.16解析:解析 本题考查带参数的宏的定义及相关运算。P(F(5)*x)=P(2.84+5*2)=P(12.84),调用w(12.84),输出(int)(12.84)=12。39.下列表达式中,可以正确表示 x0 或 x1 的关系是( )。(分数:2.00)A.(x=1)(x=0) B.x1x=0C.x=

41、1 OR x=0D.x=1 printf(“%d,“,xy?y:x);printf(“%d,“,zy?x+:y+);printf(“%d,%d“,x,y);(分数:2.00)填空项 1:_ (正确答案:2,2,1,3)解析:解析 本题考查+,-运算符和条件运算符的使用。“表达式 1?表达式 2:表达式 3”的功能是:表达式 1 的值若非 0,则计算表达式 2 的值,且表达式 2 的值为最终结果;若表达式 1 的值为 0,则计算表达式 3 的值,且为最终结果。本题中,x=1,y=2 时,xy 成立,输出 y 的值 2;y=2,z=3 时,zy 不成立,执行 y+,输出 2 后 y 值增 1,所以

42、最后一个输出 x 的值不变为 1,y 的值为增加后的 3。49.下列程序段中循环体的执行次数是_。a=15;b=0;dob+=2;a-=2+b;while(a=0);(分数:2.00)填空项 1:_ (正确答案:3)解析:解析 本题考查 dowhile 语句形式:do 循环体while 表达式首先执行循环体语句,然后检测循环控制条件表达式的值,若为真,则重复执行循环体语句,否则退出循环。第 1 次循环:b+=2,b=2,a-=2+b,a=11;第 2 次循环:b=4,a=5;第 3 次循环:b=6,a=-3,此时再判断循环条件不满足,退出循环。50.语句“int(*ptr)1;”的含义是 2

43、是指向函数的指针,该函数返回一个 int 型数据。(分数:2.00)填空项 1:_ (正确答案:ptr)解析:解析 本题考查函数指针的概念。函数指针的定义格式是:类型标识符(*指针变量名)-|_|-。注:“类型标识符”为函数返回值的类型。51.下列程序的输出结果是_。#includestdio.hint t(int x,int y,int cp,int dp)cp=x*x+y*y;dp=x*x-y*y;main()int a=1,b=8,c=7,d=9;t(a,b,c,d);printf(“%d %d/n“,c,d);(分数:2.00)填空项 1:_ (正确答案:7 9)解析:解析 因为在调用

44、子函数时进行的是数值传递,调用子函数并不能改变实参的值,所以经过调用子函数,c、d 的值并没有发生变化还是原来的值。52./13在内存中占 1 个字节,“/12“在内存中占 1 个字节。(分数:2.00)填空项 1:_ (正确答案:2)解析:解析 /13:表示八进制数 13 表示的 ASCII 字符,是一个字符,占一个字节;而”/12”是个字符串,除了八进制数 12 表示的 ASCII 字符占一个字节外,还有在字符串的末尾加上串结束标志“/0”,所以共有 2 个字节。53.#define 命令出现在程序中函数的外面,宏名的有效范围为 1。(分数:2.00)填空项 1:_ (正确答案:从定义到本

45、源文件结束)解析:解析 C 语言规定,宏名的有效范围为从定义宏到本源程序结束。54.下列程序段的运行结果是_。char str=“ABCD“,*p=str;printf(“%d/n“,*(p+3);(分数:2.00)填空项 1:_ (正确答案:68)解析:解析 本题考查如何用指针引用数组元素。本题先定义了一个指向字符型数组 str 的指针 p,指针 p 指向数组 str 的首地址,p+3 将指针指向 str3,*(p+3)指的是字符“D”,输出时是以“%d”格式输出的,即输出其相应 ASCII 码值 68。55.下列程序中的数组 a 包括 10 个整数元素,分别将前项和后项之和存入数组 b,并按每行 4 个元素输出数组 b。请填空。#includestdio.hmain()int a10,b10,i;for(i=0;i10;i+)scanf(“%d“,for(i=0;i9;i+)_;for(i=0;i9;i+)if(i%4=0)printf(“/n“);printf(“%3d“,bi);(分数:2.00)填空项 1:_ (正确答案:bi=ai+ai+1)解析:解析 将数组 a 中元素 ai与 aj+1值相加后的值赋予数组 b 中元素 bi,即可实现将一个数组的前项和后项之和存入另一数组。

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