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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

[计算机类试卷]国家二级(C语言)笔试模拟试卷230及答案与解析.doc

1、国家二级( C语言)笔试模拟试卷 230 及答案与解析 1 下列特征中不是面向对象方法的主要特征的是 ( )。 ( A)多态性 ( B)继承 ( C)封装性 ( D)模块化 2 C语言的基本单位是 ( )。 ( A)函数 ( B)过程 ( C)子程序 ( D)子函数 3 面向对象的设计方法与传统的面向过程的方法有本质不同,它的基本原理是( )。 ( A)模拟现实世界中不同事物之间的联系 ( B)强调模拟现实世界中的算法而不强调概念 ( C)使用现实世界的概念抽象地 思考问题,从而自然地解决问题 ( D)鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考 4 若 x和 y都是血型变量, x

2、=100, y=200,且有程序片段: printf(“%d“, (x,y);,则输出结果是 _。 ( A) 200 ( B) 100 ( C) 100 200 ( D)输出格式符不够,输出不确定的值 5 在计算机中,算法是指 _。 ( A)查询方法 ( B)加工方法 ( C)解题方案的准确而完整的描述 ( D)排序方法 6 栈通常采用的两种存储结构是 ( A)顺序 存储结构和链式存储结构 ( B)散列方式和索引方式 ( C)链表存储结构和数组 ( D)线性存储结构和非线性存储结构 7 在微机中, bit的中文含义是 ( ) ( A)二进制位 ( B)字节 ( C)字 ( D)双字 8 下列叙

3、述中错误的是 ( )。 ( A)一种数据的逻辑结构可以有多种存储结构 ( B)数据的存储结构与数据的处理效率无关 ( C)数据的存储结构与数据的处理效率密切相关 ( D)数据的存储结构在计算机中所占的空间不一定是连续的 9 下列描述中,不是线性表顺序存储结构特征的是 ( )。 ( A)不便于插入和删除 ( B)需要连续的存储空间 ( C)可随机访问 ( D)需另外开辟空间来保存元素之间的关系 10 下列不属于软件工程的 3个要素的是 ( )。 ( A)工具 ( B)过程 ( C)方法 ( D)环境 11 下列选项中不合法的十六进制数是 ( )。 ( A) Oxff ( B) OX11 ( C)

4、 Oxlg ( D) OXabc 12 数据管理技术发展的三个阶段中, ( )没有专门的软件对数据进行管理。 人工管理阶段 文件系统阶段 数据库阶段 ( A)仅 ( B)仅 ( C) 和 ( D) 和 13 下列合法的声明语句是 ( )。 ( A) int_abc=50; ( B) double int=3+5e2 5; ( C) long do=1L; ( D) float 3_asd=3e-3; 14 有以下程序 #include main( ) int a=1, b=0 if(!a)b+; else if(a=0)if(a)b+=2 else b+=3 printf(” dn”, b);

5、 程序运行后的输出结果是 ( )。 ( A) 0 ( B) 1 ( C) 2 ( D) 3 15 若有以下程序: main() int k=2, i=2, m; m=(k+=i*=k); printf(“%d, %dn“, m, i); 执行后的输出结果是 ( A) 8, 6 ( B) 8, 3 ( C) 6, 4 ( D) 7, 4 16 变量 a已被定义为整型,下列表达式有错的是 ( A) a=A+20 ( B) a-=a ( C) a=c+d ( D) a=c+d 17 已知字母 A的 ASCII参政值是 65,字母 a的 ASCII码值是 97,以下程序列_。 main() char

6、a=A; int b=20; printf(“%d,%o“,(a=a+a,a+b,b),a+a+A,b); ( A)表达式非法,输出零或不确定值 ( B)因输出项过多,无输出或输出不确定值 ( C)输出结果为 20, 141 ( D)输出结果为 20, 141, 20 18 IEEE802.3的 物理层协议 10BASE T规定从网卡到集线器的最大距离为 ( ) ( A) 100m ( B) 185m ( C) 360m ( D) 500m 19 在函数 scanf的格式控制中,格式说明的类型与输入项的类型应该对应匹配。如果类型不匹配,系统将 ( )。 ( A)不予接收 ( B)并不给出出错信

7、息,但不能得到正确的数据 ( C)能接收到正确输入 ( D)给出出错信息,不予接收输入 20 若有以下程序段 int m=0xabc,n=0xabc;m-=n;printf(“%Xn“,m);执行后输出结果是 ( A) 0X0 ( B) 0x0 ( C) 0 ( D) 0XABC 21 以下能正确定义且赋初值的语句是 _。 ( A) int n1=n2=10; ( B) char c=32; ( C) float f=f+1.1; ( D) double x=12.3E2.5; 22 若运行以下程序时,从键盘输入 ADescriptor CR ( CR表示回车 ),则下面程序的运行结果是 (

8、)。 #include stdio.h main() char c; int v0=1,v1=0,v2=0; do switch(c=getchar() casea:caseA: casee:caseE: casei:caseI: caseo:caseO: caseu:caseU:v1+=1: default:v0+=1;v2+=1; while(c!=n); printf(“v0=%d,v1=%d,v2=%dn“,v0,v1,v2); ( A) v0=7,v1=4,v2=7 ( B) v0=8,v1=4,v2=8 ( C) v0=11,v1=4,v2=11 ( D) v0=13,v1=4,v

9、2=12 23 以下关于 C语言数据类型的叙述中正确的是 ( )。 ( A) C基本数据类型包括:分为整型、实型、浮点型、字符型四种 ( B)实型常量的表达方式包括十进制形式、十六进制形式、二进制形式、八进制形式、指数形式 ( C)若要处理如 “人员信息 ”等含有不同类型的相关数据,应自定义结构体类型 ( D)若只处理 “真 ”和 “假 ”两种逻辑值,应使用逻辑类型 24 有下列程序: #include stdio.h main() char c1,c2,c3,c4,c5,c6; scanf(“%c%c%c%c“,c6=getchar(); putchar(c1);putchar(c2); p

10、rintf(“%c%cn“,c5,c6); 程序运行后,若从键盘输入 (从第 1列开始 ): 123 CR 45678 CR 则输出结果是 ( ( A) 1267 ( B) 1256 ( C) 1278 ( D) 1245 25 已知大写字母 A的 ASCII码是 65,小写字母 a的 ASCII码是 97。下列不能将变量 c中的大写字母转换为对应小写字母的语句是 ( )。 ( A) c=(c-A)%26+a ( B) c=c+32 ( C) c=c-A+a ( D) c=(A+C)%26-a 26 下列选项中错误的说明语句是 ( A) char a=t,o,y,o,u,0; ( B) cha

11、r a=“toyou0“; ( C) char a=“toyou0“; ( D) char a=toyou0; 27 需求分析阶段的任务是确定 _。 ( A)软件开发方法 ( B)软件开发工具 ( C)软件开发费用 ( D)软件系统功能 28 有以下程序 : #include stdio. h main( ) unsigned int a; int b=-1; a=b; printf(“ % u“, a);程序运行后的输出结果是 ( )。 ( A) -1 ( B) 65535 ( C) 32767 ( D) -32768 29 在 int (*prt)3;定义中,标识符 prt( )。 ( A

12、)定义不合法 ( B)是一个指针数组名,每个元素都是一个指向整型变量的指针 ( C)是一个指针,它指向一个具有三个元素的一维数组 ( D)是一个指向整型变量的指针 30 有以下程序 :main() char *p=“3697“,“2584“; int i, j; long num=0; for(i=0;i 2;i+) j=0; while(pij!=0) if(pilj -0)%2) num=10*num+ pij -0; j+=2; printf(“%dn“, num);程序执行后的输出结果是 ( )。 ( A) 35 ( B) 37 ( C) 39 ( D) 3975 31 若输入 000

13、051,下列程序的运行结果为 _。 main() unsigned int a; scanf(“%o“, i;i-) for(j=0;j 5;j+). ( A) 20 ( B) 25 ( C) 24 ( D) 30 34 有以下程序 main() char *s “abcde“; s+=2; printf(“%ldn“,s); 程序运行后的输出结果是 ( ) ( A) cde ( B)字符 c的 ASCII码值 ( C)字符 c的地址 ( D)出错 35 若有下面的说明和定义,则 sizeof(struct aa) 的值是 struct aa int rl;double r2;float r3

14、; union uu char ul 5;long u22ua; mya; ( A) 30 ( B) 29 ( C) 24 ( D) 22 36 若有以下说明和定义: typedef int *INTEGER; INTEGER p,*q; 以下叙述正确的是 ( )。 ( A) p是整型变量 ( B) p是基类型为整型的指针变量 ( C) q是基类型为整型的指针变量 ( D)程序中可用 INTEGER代替 int类型名 37 若已定义的 函数有返回值,则以下关于该函数调用叙述中错误的是 ( A)函数调用可以作为独立的语句存在 ( B)函数调用可以作为一个函数的实参 ( C)函数调用可以出现在表达

15、式中 ( D)函数调用可以作为一个函数的形参 38 以下程序运行后的输出结果是 _。 int d=1; fun(int p) static int d=5; d+=p; printf(“%d“, D) ; return d; main() int a=3; printf(“%dn,fun (a+fun(D) ); ( A) 699 ( B) 669 ( C) 61515 ( D) 6615 39 以下程序的输出结果是 _。 #define SQR(X) X * X main() int a=16,k=2,m=1; a/=SQR(k/m) SQR(k+m); printf(“%dn“, A) ;

16、 ( A) 16 ( B) 2 ( C) 9 ( D) 1 40 字符 (char)型数据在微机内存中的存储形式是 _。 ( A)反码 ( B)补码 ( C) EBCDIC 码 ( D) ASCII码 41 有以下程序 #include stdio.h #include string.h typedef struct char 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

17、 2; i+) a.scorei = b.scorei; return a; main() STU c=“Qian“, T, 95.0, 92.0, d; d=f(c); printf(“%s,%c,%2.0f,%2.0fn“, d.name, 程序的运行结果是 ( A) Qian, f,95,92 ( B) Qian,m,85,90 ( C) Zhao,m,85,90 ( D) Zhao,f,95,92 41 定义 char ch “$“; int i=1, j;执行 j ! ch try_me( ); printf(“n“); 49 以下程序运行后的输出结果是 _。 main() int

18、p7=11,13,14,15,16,17,18; int i=0, j=0; while(i 7 printf(“%d,%d“,POWER(i+),i); 51 以下程序运行后的输出结果是【 】。 (注:如果结果中含有回车,可加一空格写在一行,例如: 1 1 1 1 1 1 1 1 1 可以写成: 1 1 1 1 1 1 1 1 1。 #include stdio.h mala() int i,j,a3=1,2,3,4,5,6,7,8,9; for(i=0;i 3;i+) for(j=i+1;j 3;j+) aji=0; for(i=0;i 3;i+) for(j=0;j 3;j+) prin

19、tf(“%d“,aij); printf(“n“); 52 以下程序段打开文件后,先利用 fseek函数将文件位置指针定位在文件末尾,然后调用 ftell函数返回当前文件位置指针的具体位置,从而确定文件长度,请填空。 FILE*myf; long f1; myf=【 】 (“test,t“,“rb“); fseek(myf,(),SEEK_END; f1+ftell(myf); fclose(myf); printf(“%1dn“,f1); 53 若 a=10, b=20,则表达式 !(a b) 的值是【 】。 54 为了建立如图所示的存储结构 (即每个结点含两个域, data是数据域, ne

20、xt是指向结点的指针域 )。请填空。 struct link char data;【 】; node; 55 下列程序段的输出结果是 _。 int n=c: switch(n+) default: printf(“error“); break; casea: printf(“good“); break; casec: printf(“moming“); cased: printf(“class“); 56 若 a是血型变量,且 a的初值为 4,则计算 a+=a-=a*a表达式后 a的值为_。 国家二级( C语言)笔试模拟试卷 230 答案与解析 1 【 正确答案】 D 【试题解析】 面向对象设

21、计方法与面向过程设计方法有本质的不同,其基本原理是:使用现实世界的概念抽象地思考问题从而自然地解决问题。其特点包括:分类性、多态性、封装性、模块独立性、继承和多态性等。模块化是结构化程序设计的特点。 2 【正确答案】 A 【试题解析】 C语言是函数式的语言。它的基本组成单位是函数,在 C语言中任何程序都是由一个或者多个函数组。 3 【正确答案】 C 【试题解析】 面向对象的设计方法与传统的面向过程的方法有本质不同,它的基本原理是,使用现实世界 的概念抽象地思考问题,从而自然地解决问题。它强调模拟现实世界中的概念,而不强调算法,鼓励开发者在软件开发的绝大部分中都用应用领域的概念去思考。 4 【正

22、确答案】 A 5 【正确答案】 C 【试题解析】 计算机算法是指解题方案的准确而完整的描述,它有以下几个基本特征:可行性、确定性、有穷性和拥有足够的情报。 6 【正确答案】 A 【试题解析】 和线性表类似,栈也有两种存储方法,一是顺序栈,二是链式栈。栈的顺序存储结构是利用一组地址连续的存储单元一次存储自栈底到栈顶的数据元素,同时附设指 针 top 指示栈顶元素的位置,由于栈的操作是线性表操作的特例,相对而言,链式栈的操作更易于实现。注意:这 3种运算方法在各种存储结构中的应用。 7 【正确答案】 A 8 【正确答案】 B 【试题解析】 数据的存储结构分为顺序结构和链式结构,一个数据的逻辑结构可

23、以有多种存储结构。顺序结构中数据元素所占的存储空间是连续的,而链式存储结构中,数据元素所占的存储空间不一定是连续的。数据的存储结构与数据的处理效率密切相关。 9 【正确答案】 D 【试题解析】 线性表的顺序存储是用一片连续的空间来 存放数据元素,其特点是逻辑上相邻的元素在物理位置上也相邻。数据元素之间逻辑上的先后关系自动隐含在物理位置的相邻元素之中,因此,不需要另外开辟空间来保存元素之间的关系。 10 【正确答案】 D 【试题解析】 软件工程包括 3个要素,即方法、工具和过程。方法是完成软件工程项目的技术手段;工具支持软件的开发、管理和文档生成;过程支持软件开发的各个环节的控制、管理。 11

24、【正确答案】 C 【试题解析】 十六进制是以 “0x”或 “0X”开头的字符串,字符串中只能含有 0 9这 10个数字和 a、 b、 c、 d、 e、 f 这 6个字母。 12 【正确答案】 A 【试题解析】 数据管理技术发展的三个阶段中,只有人工管理阶段,没有操作系统,没有管理数据的软件,数据处理方式是批处理。在文件系统阶段,操作系统中已经有了专门数据管理软件,一般称为文件系统。在数据库系统阶段,出现了统一管理数据的专门软件系统,即数据库管理系统。 13 【正确答案】 A 【试题解析】 标识符是由字母、数字或下划线组成,并且它的第一个字符必须是字母或者下划线。 B 选项 int不是表达变量类

25、型的标识符,它不能再用做变量名和函数名。 C选 项 do是 C语言的 个关键字。 D选项标识符只能以字母或下划线开始。 14 【正确答案】 A 【试题解析】 a=1所以 !a 表达式为假,不执行 b+。又 a=1所以 a=0为假,所以跳过语句后面的 if 和 else语句 (因为 else和最近的 if 语句组成一条复合语句 ),直接输出,所以结果为 0。 15 【正确答案】 C 【试题解析】 本题考查的知识点是运算符的优先级在复合赋值语句中,应该由右向左依次赋值,在表达式中,右端由 i*=k得 i=2*2为 4, k=k+i,即 k 值为 6,m=k 故 m=6所以 4个选项中 C正确。 1

26、6 【正确答案】 C 17 【正确答案】 C 【试题解析】 本题中首先输出逗号表达式 “a=a+a,a+b,b”的值,即 20。然后以八进制的形式输出 a+a-A的值为 97对应的八进制数 141,由于最后一个表达式 b没有对应输出格式的输出项表列就不会输出。 18 【正确答案】 A 19 【正确答案】 B 【试题解析】 在 scanf 函数的格式控制中,格式说明的类型与输入项的类型必须一一对应匹配,如不匹配将导致数据输入出现错误,但是系统并不报错。 20 【正确答案】 C 【试题解析】 格式字符 x或 x是以十六进制无符号形式输出整型数 (不带前导 0x或 OX)。对于 x用 abc输出,

27、X用 ABC输出。 21 【正确答案】 B 【试题解析】 语句 “int n1=n2=10; ”中,由于变量 n2未定义,所以此赋值语句错误:由于赋值语句中不能存在运算表达式,所以选项 C中的赋值语句错误;选项 D中指数表示错误, C语言规定, e后面的指数必须为整数;选项 B 中的 “32”是 ASCII码的表示形式,这是 C语言中字符型数据和整型数据通用的表现,即一个字符数据可以以字符形式出现,也可以以 整数形式出现。 22 【正确答案】 D 【试题解析】 本题考查的是 switch 语句的应用。分析程序, do-while语句是先执行 do后面的语句再判断是否符合 while的条件。 V

28、2+=1;语句无论读入的是什么字母 (包括回车符 ),此语句都要执行,语句 default:v0+=1;亦是如此;而语句caseU:v1+=1;只有在读入的字母是 a、 A、 e、 E、 i、 I、 o、 O、 u、U时才会执行。 23 【正确答案】 C 【试题解析】 C基本数据类型包括:分为整 型、实型、枚举型、字符型四种,实型就是浮点型,实型数据只有十进制,没有 2, 8, 16进制表达,在 C语言中没有定义逻辑类型,而是一般用 0代表假,用非零代表真。 24 【正确答案】 D 【试题解析】 当用 scanf 函数从键盘输入数据时,每行数据的末尾按下回车键(Enter键 )之前,可以任意修

29、改。但按下回车键 putchar(c1) (Enter 键 )之后, scanf函数即接受了这一行数据,不能再回去修改。所以本题中,当输入 123 CR时,变量 c1、 c2、 c3 的值分别为 1、 2、 3,当输入 45678 CR时,变量 c5、 c6的值 4和 5。所以用输出函数 putchar(c1)输出 1, putchar(c2)输出 2,printf(“%c%cn“,c5,c6)输出 45。所以选项 D)为正确答案。 25 【正确答案】 D 【试题解析】 由题意可知,小写字符 a和大写字符 A的 ASCII 代码相差为 32,所以选项 C)能将大写字符 c的 ASCII代码转换

30、为小写字符 c的 ASC 代码;选项A)和 C)左侧的表达式都是大写字符 c与大写字符 A的差与 a的 ASCII代码的和就是小写字符 c的 ASCII 代码。而选项 D)中应该是加 上 a,而不是减去 a。 26 【正确答案】 D 【试题解析】 通过赋初值的方式给一维数组赋字符串 ,可以用给一般数组赋初值的相同方式给一维字符数组赋字符串 ,也可以在赋值时直接赋字符串常量。选项 B)和 C)后面的 0是多余的 ,在 C语言中 ,系统会自动在字符串的结尾处加上一个字符0作为串的结束标记。 27 【正确答案】 D 28 【正确答案】 B 【试题解析】 不同类型的对象进行混合运算时,需要进行数据的类

31、型转换,其转换方向为 int unsignedlongdouble 。 本题程序中的变量 b为 int型,需要转换为 unsigned 型。 int型变量的数值范围为 -32768 32767,最高位为符号位,而unsigned所表示的数的范围为 0 65535,它的最高位为数值位。由于内存中是以补码形式存储数据的,所以整型数 -1在内存中表示为 16个 1,最高位的 1表示符号为负,将它转换为 unsigned 类型,即将原符号位的 1看成数值,所以得到 16个数值 1,即 65535。 29 【正确答案】 C 【试题解析】 此题的关键是要分清指针数组与指向一维数组指针之间的不同,题中的说明

32、语句定 义了一个指针变量 prt,它指向包含三个整数元素的一维数组。要注意: *prt两侧的圆括号不能缺少,如果写成 *ptr3,则 ptr与 3先结合,是数组,然后再与前面的。号结合,则 *ptr3将是一个指针数组。 30 【正确答案】 C 【试题解析】 本题首先定义了一个字符指针数组 p,然后使用一个两重循环遍历数组 p。因为内循环的循环变量 j每次会加 2,所以只能遍历到数组 p 每行中列下标为偶数的字符,它们是 3、 9、 2、 8。然后,将它们通过 pij-0表达式转换为对应的整数 3、 9、 2、 8,并用 %2来判断该整数是否为奇数。所以最终能执行到 num=10*num+ pi

33、j-0,语句的只有 3和 9两个字符。此时已不难算出,运行后 num中的值为 39。故应该选择 C。 31 【正确答案】 A 32 【正确答案】 A 33 【正确答案】 B 【试题解析】 对于第一个 for语句, i从 5至 1,且对于第二个 for语句,在 i取5至 1的某个值时, j又从 0变化至 5。 34 【正确答案】 C 35 【正确答案】 D 【试题解析】 结构体变量所占内存长度是各成员占的 内存长度之和,每个成员分别占有自己的内存单元;共用体变量所占的内存长度等于最长的成员的长度。结构体变量 aa中,成员 r1 占 2个字节, r2 占 8个字节, r3 占 4个字节,共用体 u

34、a占 8个字节,所以共占用 2+8+4+8=22个字节。 36 【正确答案】 B 【试题解析】 本题中 INTEGER被定义为 int*的别名,故直接由它定义的类型基类型为整型的指针变量。因此, p是基类型为 int的指针变量, q 是 int型指针的指针变量。故 4个选项中 B 正确。 37 【正确答案】 D 【试题解析】 在 c语言中规定,无 返回值的函数调用,可以作为表达式或表达式的一部分,也可以作为一条语句;而有返回值的函数调用只能作为一个函数的实参 (即将其返回值传给相应的形参 ),而不能作为形参 (因为形参是在函数定义时说明的 )。 38 【正确答案】 C 【试题解析】 静态局部变

35、量在编译时赋初值,即只赋初值一次,在程序运行时它已有初值。以后每次调用时不再重新赋初值而只是保留上次函数调用结束时的值,而对自动变量赋初值,不是在编译时进行的,而在函数调用时进行,每调用一次函数重新给一次初值,相当于执行一次赋值语句。本题在程序开头定义了全局变 量 d 并赋初值 1,在被调函数 fun()中,定义了静态局部变量 d,初值为 5。在第一次调用函数 fun时, d 初值为 5, p由主函数传递过来的值为 1,则d=d+p=5+1=6,由于 d是静态局部变量,在函数调用结束后,它仍保留 d=6。再次调用 fun 函数, d 的初值为 6,而由主函数传递的 p 的值为 9,则此时d=d

36、+p=6+9=15,最后打印输出 d的值并返回主函数。 39 【正确答案】 B 【试题解析】 C语言在预编译时遇到带实参的宏名,则按命令行中指定的字符串从左到右进行置换。在做这题时,也不妨运用置换法。得到a/=k+m*k+m/k+m*k+m=16/7=2。注: a为整型,所以在做除法,自动取整。 40 【正确答案】 D 【试题解析】 将一个字符常量放到一个字符变量中,实际上并不是把该字符本身放到内存单元中去,而是将该字符的 ASCII 码值放到存储单元中。 41 【正确答案】 C 【试题解析】 本题的 f()函数中,首先定义了一个 STU结构体变量 b 并初始化为“Zhao“, m, 85.0

37、, 90.0,然后分别通过 strcpy()库函数、赋值语句和 for循环,将 b 中所有成员分别赋给形参 a的相应成员,最 后返回 a。所以,无论传递给函数 fun()的参数是什么,结果返回的都会是函数中定义的 STU 结构体 b的内容“Zhao“, m, 85.0, 90.0。故最终输出结果为: Zhao,m,85,90,应该选择 C。 41 【试题解析】 用 “i 3;i+) for(j=i+1;j 3;j+)aji=0; 把 a10, a20, a21分别赋为 0,输出结果为: 1 2 3 0 5 6 0 0 9 52 【正确答案】 fopen 【试题解析】 C语言中的文件分为: AS

38、CII文件与二进制文件。文件在使用前打开,使用后要关闭。打开文件的函数为: fopen(),调用形式为: fp=fopen(“文件名 ”, “使用文件方式 ”);关闭文件的函数为: fclose(),调用形式为: fclose (fp);其中 fp为文件指针。 53 【正确答案】 0 【试题解析】 已知 a=10, b=20,所以逻辑表达式 a b 的值为 true,即为 1,在这个表达式前面有一个逻辑运算符 !,表示反操作,所以整个语句的值应当为false,即为 0。 54 【正确答案】 struct link * next 55 【正确答案】 morningclass 【试题解析】 本题考查了 两个知识点: “+、 -”运算后缀形式是先使用变量原来的值,使用完后再使其增 1或减 1; 在 switch 语句中,当 n=c时,执行“casec: ”,输出 morning;因为此句中没有 break 语句,因此接着执行“cased:”,输出 class,最终输出结果为 morningclass。 56 【正确答案】 -24 【试题解析】 本题考查赋值运算符 a+=b 等价于 a=a+b; a-=a*a 等价于 a-a-a*a=4-4*4=-12: a+=a,即 a=a+a=-24。

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