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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、二级 C语言笔试-445 及答案解析(总分:97.00,做题时间:90 分钟)一、选择题(总题数:40,分数:65.00)1.下列叙述中正确的是( )。A) 算法的执行效率与数据的存储结构无关B) 算法的空间复杂度是指算法程序中指令(或语句)的条数C) 算法的有穷性是指算法必须能在执行有限个步骤之后终止D) 以上 3种描述都不对(分数:2.00)A.B.C.D.2.软件开发的结构化生命周期方法将软件生命周期划分成A) 定义、开发、运行维护 B) 设计阶段、编程阶段、测试阶段C) 总体设计、详细设计、编程调试 D) 需求分析、功能定义、系统设计(分数:2.00)A.B.C.D.3.对线性表进行二

2、分法检索,其前提条件是( )。A) 线性表以顺序方式存储,并按关键码值排好序B) 线性表以顺序方式存储,并按关键码的检索频率排好序C) 线性表以链式方式存储,并按关键码值排好序D) 线性表以链式方式存储,并按关键码的检索频率排好序(分数:2.00)A.B.C.D.4.关于结构化程序设计原则和方法描述错误的是( )。A) 选用的结构只准许有一个入口和一个出口B) 复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现C) 不允许使用 GOTO语句D) 语言中所没有的控制结构,应该采用前后一致的方法来模拟(分数:1.00)A.B.C.D.5.关于结构化程序设计原则和方法的描述错误的是( )。A) 选用

3、的结构只准许有一个入口和一个出口B) 复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现C) 不允许使用 GOTO语句D) 语言中所没有的控制结构,应该采用前后一致的方法来模拟(分数:2.00)A.B.C.D.6.耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是( )。A提高耦合性降低内聚性有利于提高模块的独立性B降低耦合性提高内聚性有利于提高模块的独立性C耦合性是指一个模块内部各个元素间彼此结合接的紧密程度D内聚性是指模块间互相连接的紧密程度(分数:1.00)A.B.C.D.7.一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( )。A一对一 B一对多C多对一 D多对多(分数

4、:1.00)A.B.C.D.8.下列叙述中正确的是_。(A) 为了建立一个关系,首先要构造数据的逻辑关系(B) 表示关系的二维表中各元组的每一个分量还可以分成若干数据项(C) 一个关系的属性名表称为关系模式(D) 一个关系可以包括多个二维表(分数:2.00)A.B.C.D.9.设计数据库的存储结构属于( )。A) 需求分析 B) 概念设计C) 逻辑设计 D) 物理设计(分数:1.00)A.B.C.D.10.有以下程序:main()int i=1, j=2, k=3;if(i+=1程序运行后的输出结果是_。A) 1 2 3 B) 2 3 4 C) 2 2 3 D) 2 3 3(分数:2.00)A

5、.B.C.D.11.设有表示学生选课的三张表,学生 S(学号,姓名,性别,年龄,身份证号),课程 C(课号,课名),选课 SC(学号,课号,成绩),则表 SC的关键字(键或码)为A) 课号,成绩 B) 学号,成绩 C) 学号,课号 D) 学号,姓名,成绩(分数:2.00)A.B.C.D.以下程序的输出结果是( )。main()int a=3;printf(“%d/n“,(a+a-=a*a);A-6 B12 C0 D-12(分数:3.00)A.B.C.D.A.B.C.D.12.下列不正确的转义字符是( )。A) / B) t C) /n D) 088(分数:2.00)A.B.C.D.13.以下选

6、项中,能用作数据常量的是_。A) 0115 B) 0118 C) 1.5e1.5 D) 115L(分数:2.00)A.B.C.D.14.一个 C语言程序是由( )。A) 一个主程序和若干子程序组成 B) 函数组成 C) 若干过程组成 D) 若干子程序组成(分数:1.00)A.B.C.D.15.若 w、x、y、z、m 均为 int型变量,则执行下列的语句后 m的值是( )。w=2,x=3,y=4,z=5;m=(wx)?w:x;m=(mz)?m:z;m=(my)?m:y;A) 2 B) 3 C) 5 D) 4(分数:1.00)A.B.C.D.16.现有定义 int a;double b;float

7、 c;char k;,则表达式 a/b+c-k值的类型为A) int B) double C) float D) char(分数:1.00)A.B.C.D.17.下列选项中合法的赋值语句是( )。A) a=b=34 B) a=34,b=34C) i-1; D) m=(int)(x+y);(分数:2.00)A.B.C.D.18.设有定义:“long x=123450L;”,则以下能够正确输出变量 x的是( )。 A) printf(“x=%d/n“,x); B) printf(“x=%id/a“,x); C) printf(“x=%dL/n”,x); D) printf(“x=%ld/n“,x)

8、;(分数:1.00)A.B.C.D.19.设有定义:float a=2,B=4,h=3;,以下 C语言表达式中与代数式 (分数:1.00)A.B.C.D.20.下列程序执行后输出的结果是 _。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) ;A) 8,12 B) 9,13 C) 8,4 D) 9,5(分数:1.00)A.B.C.D.21.有下列程序,其中%u 表示按无符号整数输出。 main() unsigned int x=0xFFFF;/*x 的初值为

9、十六进制数*/ printf(“%u/n“,x); 程序运行后的输出结果是( )。 A) -1 B) 65535 C) 32767 D) 0xFFFF(分数:1.00)A.B.C.D.22.下列函数值的类型是( )。fun(double x)float y;y=3*x-4;return y;A) int B) 不确定 C) void D) float(分数:2.00)A.B.C.D.23.设有下列语句int a=1,b=2,c;c=a(b2);执行后,C 的值为( )。A) 6 B) 7 C) 8 D) 9(分数:2.00)A.B.C.D.24.下面能正确进行字符串赋值操作的是A) chars

10、5=“ABCDE“; B) char s5=A,b,C,D,E;C) char*s;s=“ABCDE“; D) char*s;scanf(“%s“,s);(分数:2.00)A.B.C.D.25.以下程序的输出结果是( )。#include stdio.hint fan(int);main()int w=5;fun(w); printf(“/n“);fun(int k)if(k0) fun(k-1);printf(“%d“,k);A) 5 4 3 2 1 B) 0 1 2 3 4 5C) 1 2 3 4 5 D) 5 4 3 2 1 0(分数:1.00)A.B.C.D.26.以下程序(程序左边的

11、数字为附加的行号)_。1#includestr.h2#includestdio.h3main()4 chars=“string“;5puts(s);6strcpy(s,“hello“);7printf(“%3S/n“,s);A) 没有错 B) 第 1行有错 C) 第 6行有错 D) 第 7行有错(分数:2.00)A.B.C.D.27.有以下程序:main()char a7=“a0/0a0/0“;int i,j;i=sizeof(a);j=strlen(a);printf(“%d%d/n“,i,j);程序运行后的输出结果是_。A) 2 2 B) 7 6 C) 7 2 D) 6 2(分数:2.00

12、)A.B.C.D.28.以下语句或语句组中,能正确进行字符串赋值的是_。(A) char *sp;*sp=“right!“;(B) char s10;s=“right!“;(C) char s10;*s=“right!“;(D) char *sp=“right!“;(分数:2.00)A.B.C.D.29.若已包括头文件string.h且已有定义 char s118,s2=“ABCDE“和 int i,现要将字符串 “ABCDE“赋给 s1,下列语句错误的是( )。A) strcpy(s1,s2) B) strcpy(s1,“ABCDE“);C) s1=“ABCDE“; D) for(i=0;i

13、6;i+)s1i=s2i;(分数:2.00)A.B.C.D.30.一个源文件中的外部变量的作用域为( )。A) 本文件的全部范围B) 本程序的全部范围C) 本函数的全部范围D) 从定义该变量的位置开始到本文件结束(分数:2.00)A.B.C.D.31.以下程序运行后的输出结果是#include stdio.h#define N 4void fun(int aN,int b)int i:for(i=0;iN;i+) bi=aii;main( )int xN:1,2,3,4,5,6,7,8,9,10,yN,i;fun(x,y);for(i=0;iN;i+) printf(“%d,“,yi);pri

14、nff(“/n“);A) 1,2,3,4, B) 1,0,7,0, C) 1,4,5,9, D) 3,4,8,10,(分数:2.00)A.B.C.D.32.有以下程序:#include stdio.hfun( char p 10)int n=0,i;for(i=0;i7;i +)if(pi0 =T) n+;return n;main( )char sir 10 = “Mon“ ,“Tue“ ,“Wed“ ,“Thu“ ,“Fri“ ,“Sat“ ,“Sun“ ;prlnff(“ % d/n“ ,fun(str) );程序执行后的输出结果是( )。A) 1 B) 2 C) 3 D) 0(分数:1

15、.00)A.B.C.D.33.有以下程序:#includestdio.h#includestring.htypedef structchar name9;char sex;float score2;STU;STU f(STU a)STU b=“Zhao“,m,85.0,90.0;int i;strcpy(a.name,b.name);a.sex=b.sex;for(i=0;i,2;i+)a.scorei=b.scorei;return a;main()STU c=“Qian“,f,95.0,92.0,d;d=f(c);printf(“%s,%c,%2.0f%2.0f/n“,d.name,d.s

16、ex,d.score0,d.score1);程序的运行结果是_。A) Qian,f,95,92 B) Qian,85,90C) Zhao,m,85,90 D) Zhao,f,95,92(分数:2.00)A.B.C.D.34.有以下程序:#include stdiohintf(intn)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);程序运行后的输出结果是( )。A) 4 B) 3 C) 2 D) 1(分数:1.00)A.B.C.D.有以下程序main(

17、)int i,n=0;for(i=2;i5;i+)doif(i%3) continue;n+; while(!i);n+; printf(“n=%d/n“,n);程序执行后输出结果是( )。An=5 Bn=2 Cn=3 Dn=4(分数:2.00)A.B.C.D.A.B.C.D.35.在位运算中,操作数每左移两位,其结果相当于( )A) 操作数乘以 2 B) 操作数除以 2 C) 操作数除以 4 D) 操作数乘以 4(分数:1.00)A.B.C.D.36.以下程序运行后的输出结果是#includestdio.hmain()FILE *fp; char str10;fp=fopen(“myfile

18、.dat“, “w“);fputs(“abc“, fp); fclose(fp);fp=fopen(“myfile.data“, “a+“);fprintf(fp, “%d“, 28);rewind(fp);fscanf(fp, “%s“, str); puts(str);fclose(fp);A) abc B) 28c C) abc28 D) 因类型不一致而出错(分数:2.00)A.B.C.D.37.已知一个文件中存放若干工人档案记录,其数据结构如下: struct a char number100; int age; float p6; ; 定义一个数组:struct a number10

19、; 假定文件已正确打开,不能正确地从文件中读入 10名工人数据到数组 b中的是( )。 A) fread(b,sizeof(struct a),10,fp);B) for(i=0;i10;i+) fread(bi,sizeof(struct a),1,fp); C) for(i=0;i10;i+)fread(b+i,sizeof(struct a),1,fp);D) for(i=0;i5;i+=2) fread(b+i,sezeof(struct a),2,fp);(分数:2.00)A.B.C.D.38.有以下程序:#include stdio.hmain ( )int i;for(i =0;

20、i 3 ;i + )switch (i)case 0: printf(“ % d“ ,i);case 2: printf(“ % d“ , i);default: printf( “% d“ , i);程序运行后的输出结果是( )。A) 022111 B) 021021 C) 000122 D) 012(分数:1.00)A.B.C.D.二、填空题(总题数:15,分数:32.00)39.在算法的 4个特性中,算法必须能在执行有限个步骤之后终止指的是算法的 1 特性。(分数:2.00)填空项 1:_40.结构化分析方法是面向 1 进行分析的方法。(分数:2.00)填空项 1:_41.数据结构包括数

21、据的逻辑结构、数据的U /U以及对数据的操作运算。(分数:2.00)填空项 1:_42.在面向对象的方法中, 1 描述的是具有相似属性与操作的一组对象。(分数:2.00)填空项 1:_43.有以下程序:main()char str=“xyz“, *ps=str;while(* ps)ps+;for(ps-; ps-str=0;ps-)puts(ps);执行后的输出结果是U /U。(分数:2.00)填空项 1:_44.常用的软件结构设计工具是结构图(SC) ,也称程序结构图。其中,用矩形表示 1,用带空心圆的箭头表示传递的是数据。(分数:2.00)填空项 1:_45.在数据库技术中,实体集之间的

22、联系可以是一对一或一对多或多对多的,那么“学生”和“可选课程”的联系为 1。(分数:2.00)填空项 1:_46.语句:x+;+x;x=1+x;执行后都使变量 x中的值增 1,请写出一条同一功能的赋值语句 1。(分数:2.00)填空项 1:_47.以下程序的输出是U /U。main()char str1=How do you do“,*p=strl;strcpy(str1+strlen(str1)/2“es she“);pfinff(“%s/n“,p1);(分数:2.00)填空项 1:_48.若 x为 int类型,请写出与!x 等价的 C语言表达式 1。(分数:2.00)填空项 1:_49.有

23、下列程序#includestdio.hmain()char c1,c2;scanf(“%c“for(i=0;x8;y=+)printf(“%d%d“,X-,y);(分数:2.00)填空项 1:_51.下列程序将二维数组 a的行和列元素互换后存放到另一个二维数组 b中。请填空。main()int a23=1,2,3,4,5,b32,i,j;for(i=0;i2;i+)for(j=0;j3;j+)_,(分数:2.00)填空项 1:_52.以下程序的功能是:将值为三位正整数的变量 x中的数值按照个位、十位、百位的顺序拆分并输出。请填空。#include stdiohmain()int x=256;p

24、rintf(“%d-%d-%dkn“,_,x/10%10,x/100);(分数:2.00)填空项 1:_53.以下定义的结构体类型拟包含两个成员,其中成员变量 info用来存入整型数据,成员变量 link是指向自身结构体的指针,请将定义补充完整。struct nodeint info;U /Ulink;(分数:2.00)填空项 1:_二级 C语言笔试-445 答案解析(总分:97.00,做题时间:90 分钟)一、选择题(总题数:40,分数:65.00)1.下列叙述中正确的是( )。A) 算法的执行效率与数据的存储结构无关B) 算法的空间复杂度是指算法程序中指令(或语句)的条数C) 算法的有穷性

25、是指算法必须能在执行有限个步骤之后终止D) 以上 3种描述都不对(分数:2.00)A.B.C. D.解析:解析 算法的执行效率与数据的存储结构密切相关。算法的空间复杂度是指算法执行过程中所需的存储空间。2.软件开发的结构化生命周期方法将软件生命周期划分成A) 定义、开发、运行维护 B) 设计阶段、编程阶段、测试阶段C) 总体设计、详细设计、编程调试 D) 需求分析、功能定义、系统设计(分数:2.00)A. B.C.D.解析:解析 通常,将软件产品从提出、实现、使用维护到停止使用的过程称为软件生命周期。它可以分为软件定义、软件开发及软件运行维护 3个阶段。3.对线性表进行二分法检索,其前提条件是

26、( )。A) 线性表以顺序方式存储,并按关键码值排好序B) 线性表以顺序方式存储,并按关键码的检索频率排好序C) 线性表以链式方式存储,并按关键码值排好序D) 线性表以链式方式存储,并按关键码的检索频率排好序(分数:2.00)A. B.C.D.解析:解析 对线性表进行二分法检索,要求线性表是按顺序方式存储的,并按关键码值的大小排好序,而不是按关键码的检索频率排序。4.关于结构化程序设计原则和方法描述错误的是( )。A) 选用的结构只准许有一个入口和一个出口B) 复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现C) 不允许使用 GOTO语句D) 语言中所没有的控制结构,应该采用前后一致的方法来

27、模拟(分数:1.00)A.B.C. D.解析:解析 限制使用 GOTO语句是结构化程序设计的原则和方法之一,但不是绝对不允许使用 GOTO语句。其他 3项为结构化程序设计的原则。5.关于结构化程序设计原则和方法的描述错误的是( )。A) 选用的结构只准许有一个入口和一个出口B) 复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现C) 不允许使用 GOTO语句D) 语言中所没有的控制结构,应该采用前后一致的方法来模拟(分数:2.00)A.B.C. D.解析:解析 限制使用 GOTO语句是结构化程序设计的原则和方法之一,但不是绝对不允许使用 GOTO语句。其他三项为结构化程序设计的原则。6.耦合性

28、和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是( )。A提高耦合性降低内聚性有利于提高模块的独立性B降低耦合性提高内聚性有利于提高模块的独立性C耦合性是指一个模块内部各个元素间彼此结合接的紧密程度D内聚性是指模块间互相连接的紧密程度(分数:1.00)A.B. C.D.解析:解析 耦合是指模块间相互连接的紧密程度,内聚性是指在一个模块内部各个元素间彼此之间结合的紧密程序。高内聚、低耦合有利于模块的独立性。7.一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( )。A一对一 B一对多C多对一 D多对多(分数:1.00)A.B. C.D.解析:解析 两个实体间的联系可以分为三种:一对一、

29、一对多或多对一、多对多。由于一间宿舍可以住多个学生,所以它们的联系是一对多联系。8.下列叙述中正确的是_。(A) 为了建立一个关系,首先要构造数据的逻辑关系(B) 表示关系的二维表中各元组的每一个分量还可以分成若干数据项(C) 一个关系的属性名表称为关系模式(D) 一个关系可以包括多个二维表(分数:2.00)A. B.C.D.解析:9.设计数据库的存储结构属于( )。A) 需求分析 B) 概念设计C) 逻辑设计 D) 物理设计(分数:1.00)A.B.C.D. 解析:解析物理设计阶段主要解决选择文件存储结构和确定文件存取方法的问题,包括选择存储结构、确定存取方法、选择存取路径、确定数据的存放位

30、置。10.有以下程序:main()int i=1, j=2, k=3;if(i+=1程序运行后的输出结果是_。A) 1 2 3 B) 2 3 4 C) 2 2 3 D) 2 3 3(分数:2.00)A.B.C.D. 解析:解析 对于 if语句,根据优先级顺序,先判断(+j=-3|k+=3),此时,+j=-3 成立,就不用计算“|”后面的表达式,此时 k=3,由于 i+=1成立,自加后 i=2,if 语句的条件为真,故输出的结果为:2, 3, 3。11.设有表示学生选课的三张表,学生 S(学号,姓名,性别,年龄,身份证号),课程 C(课号,课名),选课 SC(学号,课号,成绩),则表 SC的关键

31、字(键或码)为A) 课号,成绩 B) 学号,成绩 C) 学号,课号 D) 学号,姓名,成绩(分数:2.00)A.B.C. D.解析:解析 “选课 SC”表是“学生 S”表和“课程 C”表的映射表,主键是两个表主键的组合。以下程序的输出结果是( )。main()int a=3;printf(“%d/n“,(a+a-=a*a);A-6 B12 C0 D-12(分数:3.00)A.B.C.D. 解析:解析 本题可以写成:表达式 a+a-=a*a中*的优先级最高,其次是-=,+的优先级最低,因此先求a*a,所以原表达式可写成 a+a-=9,再算 a-=9,原表达式可写为 a=a-9=-6,最后算 a+

32、a,因为此时 a=-6,所以 a+a=-6+(-6)=-12,故选择 D选项。A. B.C.D.解析:解析 C 语言的字符常量是用单引号()括起来的一个字符,也可以用以一个“/”开头的字符序列来表示字符常量。其中形式/ddd 表示 1到 3位 8进制数所代表的字符;形式/xhh 表示 1到 2位 16进制数所代表的字符。在本题中/x13表示回车符,是一个字符常量;而/081用 8进制数所代表的字符形式不正确,因为 8进制数所表示的字符中不会出现数字“8”;65单引号(即撇号)括起来的不是一个字符,而是一个+进制数字:“/n“是用双引号括起来的一个字符,表示一个字符串,而不是字符常量。12.下列

33、不正确的转义字符是( )。A) / B) t C) /n D) 088(分数:2.00)A.B.C.D. 解析:解析 /是反斜线转义字符;/t是水平跳格转义字符;/n是换行转义字符;C 语言中没有规定088为转义字符。13.以下选项中,能用作数据常量的是_。A) 0115 B) 0118 C) 1.5e1.5 D) 115L(分数:2.00)A.B.C.D. 解析:评析 在 C语言中,有整型常量、实型常量、字符常量和字符串常量等类型。整型常量和实型常量又称数值型常量。基本整型常量只能用数字表示,不带小数点,例如 12、-1 和 0等,在 VC6.0中可以在整型常量的后面加个字母 l(L的小写)

34、或 L;实型常量必须用带小数点的数表示,例如 3.14159、-2.71828、0.0 等;选项 A中字母 o不符合要求,选顶 B中超出八进制的范围,选项 C中 e后面的不为整数,因此选顶 D是正确的。14.一个 C语言程序是由( )。A) 一个主程序和若干子程序组成 B) 函数组成 C) 若干过程组成 D) 若干子程序组成(分数:1.00)A.B. C.D.解析:解析 一个 C源程序是由一个 main函数和若干个其他函数组成的。函数是 C程序的基本单位,被调用的函数可以是系统提供的库函数,也可以是用户根据需要自己定义的函数。15.若 w、x、y、z、m 均为 int型变量,则执行下列的语句后

35、 m的值是( )。w=2,x=3,y=4,z=5;m=(wx)?w:x;m=(mz)?m:z;m=(my)?m:y;A) 2 B) 3 C) 5 D) 4(分数:1.00)A. B.C.D.解析:解析 条件表达式“a?b:c”的含义是:当 a为真时,其值等于表达式 b的值,当 a为假时,其值等于表达式 c的值。表达式运算过程:第 1个表达式:w-2x=3 为真,所以返回 w的值,即 m=w=2;第 2个表达式;m-2z=5为真,所以返回 m的值,即 m=2;第 3个表达式;w=2y=4 为真,所以返回 m的值,即 m=2。16.现有定义 int a;double b;float c;char

36、k;,则表达式 a/b+c-k值的类型为A) int B) double C) float D) char(分数:1.00)A.B. C.D.解析:解析 双目运算中两边运算量类型转换规律:运算数 1 运算数 2 转换结果类型短整型 长整型 短整型-长整型整型 长整型 整型-长整型字符型 整型 字符型-整型有符号整型 无符号整型 有符号整型-无符号整型整型 浮点型 整型-浮点型在 a/b的时候,a、b 的类型不一致,根据类型转换规则,把整型转换成 double类型,之后的加、减类似。转化规则为 charshortintunsignedlongdoublefioat。17.下列选项中合法的赋值语句

37、是( )。A) a=b=34 B) a=34,b=34C) i-1; D) m=(int)(x+y);(分数:2.00)A.B.C.D. 解析:解析选项 A)是一个合法的赋值表达式,但结尾没加分号,所以它不是一个赋值语句;选项 B)是一个逗号表达式,也因为结尾没有加分号而不足合法的赋值语句:选项 C)是个算术表达式,虽然有分号,但这个表达式没有赋值操作,因此,也不是一条赋值语句。18.设有定义:“long x=123450L;”,则以下能够正确输出变量 x的是( )。 A) printf(“x=%d/n“,x); B) printf(“x=%id/a“,x); C) printf(“x=%dL

38、/n”,x); D) printf(“x=%ld/n“,x);(分数:1.00)A.B.C.D. 解析:解析 C 语言规定,输出 long型数值的格式符为%1d。19.设有定义:float a=2,B=4,h=3;,以下 C语言表达式中与代数式 (分数:1.00)A.B. C.D.解析:解析 选项 B错误,不符合题意。20.下列程序执行后输出的结果是 _。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) ;A) 8,12 B) 9,13 C) 8,4 D)

39、9,5(分数:1.00)A.B.C. D.解析:评析 本题执行过程如下首先调用 fun函数,使得实参 a的值 3传递给形参 p,得到局部变量d=8,打印出局部变量 d的值 8;返回主函数执行“d+=a+”,此处的 d为全局变量,所以 d=1+3=4(由于本题是值传递,所以在函数 fun中对 p值的改变并不能引起 a的改变),故本题的输出是 8,4。21.有下列程序,其中%u 表示按无符号整数输出。 main() unsigned int x=0xFFFF;/*x 的初值为十六进制数*/ printf(“%u/n“,x); 程序运行后的输出结果是( )。 A) -1 B) 65535 C) 32

40、767 D) 0xFFFF(分数:1.00)A.B. C.D.解析:解析 “%u”格式符表示以十进制形式输出无符号整形变最。本题中无符号整形变量 x=0xFFFF表示的是十六进制无符号整型变量的最大值 65535,所以最后输出的结果为 65535。22.下列函数值的类型是( )。fun(double x)float y;y=3*x-4;return y;A) int B) 不确定 C) void D) float(分数:2.00)A. B.C.D.解析:解析 本题考查默认函数的函数值的类型。在函数调用时,尽管 y的类型是 float,x 的类型是double,但是因为函数定义时省去类型说明,系

41、统默认函数值的类型为 int型,所以计算后的 y的类型是int型。23.设有下列语句int a=1,b=2,c;c=a(b2);执行后,C 的值为( )。A) 6 B) 7 C) 8 D) 9(分数:2.00)A.B.C.D. 解析:解析 变量 b的初值等于 2,所以表达式 b2 表示 b的值二进制左移两位,即扩大 4倍,所以变量 b的等于 8。然后与 a的值 1进行异或运算,得 9。24.下面能正确进行字符串赋值操作的是A) chars5=“ABCDE“; B) char s5=A,b,C,D,E;C) char*s;s=“ABCDE“; D) char*s;scanf(“%s“,s);(分

42、数:2.00)A.B.C. D.解析:命题目的 考查了一维字符数组的定义和初始化。解题要点 选项 A)和 B)定义的数组空间太小,至少应该为 6个字符的长度才可以。选项 D)中的指针 s未赋初值,所以指向一个不确定的地址,因而不能用 scanf输入数据到这一指针所指向的地址中。考点链接 通过赋初值的方式给一维字符数组赋字符串。25.以下程序的输出结果是( )。#include stdio.hint fan(int);main()int w=5;fun(w); printf(“/n“);fun(int k)if(k0) fun(k-1);printf(“%d“,k);A) 5 4 3 2 1 B

43、) 0 1 2 3 4 5C) 1 2 3 4 5 D) 5 4 3 2 1 0(分数:1.00)A.B. C.D.解析:解析 本题考查函数的递归调用。fun 函数共被调用 6次,即 fun(5)、fun(4)、fun(3)、 fun(2)、fun(1)、fun(0),其中 fun(5)是 main函数调用的,其余是在 fun函数中调用的。26.以下程序(程序左边的数字为附加的行号)_。1#includestr.h2#includestdio.h3main()4 chars=“string“;5puts(s);6strcpy(s,“hello“);7printf(“%3S/n“,s);A) 没

44、有错 B) 第 1行有错 C) 第 6行有错 D) 第 7行有错(分数:2.00)A.B. C.D.解析:评析 字符串复制函数 strcpy包含在头文件 string.h中,因此,程序中的第 1行文件包含命令是错误的。27.有以下程序:main()char a7=“a0/0a0/0“;int i,j;i=sizeof(a);j=strlen(a);printf(“%d%d/n“,i,j);程序运行后的输出结果是_。A) 2 2 B) 7 6 C) 7 2 D) 6 2(分数:2.00)A.B.C. D.解析:解析 本题的考点是 C语言的字符函数 strlen和操作符 sizeof。对于定义“c

45、har a7=“a0/0a0/0“;”,sizeof(a)是 a数组占内存的字节数,也就是 7;而 strlen(a)是求字符串 a的长度,字符串的结束符是/0,而字符串“a0/0a0/0”中,第 3个字符就是/0,因此 strlen(a)的值为 2。输出结果应该是:7 2。28.以下语句或语句组中,能正确进行字符串赋值的是_。(A) char *sp;*sp=“right!“;(B) char s10;s=“right!“;(C) char s10;*s=“right!“;(D) char *sp=“right!“;(分数:2.00)A.B.C.D. 解析:29.若已包括头文件string.

46、h且已有定义 char s118,s2=“ABCDE“和 int i,现要将字符串 “ABCDE“赋给 s1,下列语句错误的是( )。A) strcpy(s1,s2) B) strcpy(s1,“ABCDE“);C) s1=“ABCDE“; D) for(i=0;i6;i+)s1i=s2i;(分数:2.00)A.B.C. D.解析:解析 数组名 s1是代表 s1数组首地址的地址常量,而不是变量,因为“=”左边不能出现常量,因此 s1=“ABCDE“的方法是错误的。30.一个源文件中的外部变量的作用域为( )。A) 本文件的全部范围B) 本程序的全部范围C) 本函数的全部范围D) 从定义该变量的

47、位置开始到本文件结束(分数:2.00)A.B.C.D. 解析:解析 一个源文件中的外部变量的作用域是从定义该变量的位置开始到本文件结束。31.以下程序运行后的输出结果是#include stdio.h#define N 4void fun(int aN,int b)int i:for(i=0;iN;i+) bi=aii;main( )int xN:1,2,3,4,5,6,7,8,9,10,yN,i;fun(x,y);for(i=0;iN;i+) printf(“%d,“,yi);prinff(“/n“);A) 1,2,3,4, B) 1,0,7,0, C) 1,4,5,9, D) 3,4,8,10,(分数:2.00)A.B. C.D.解析:解析 首先要求正确地给二维数组 x赋值;调用 fun函数时,将 x、y 数组首地址分别传递给二维数组 a、b;fun 函数

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