国家二级(C语言)笔试模拟试卷202_第1页
国家二级(C语言)笔试模拟试卷202_第2页
国家二级(C语言)笔试模拟试卷202_第3页
国家二级(C语言)笔试模拟试卷202_第4页
国家二级(C语言)笔试模拟试卷202_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

国家二级(C语言)笔试模拟试卷202

一、公共基础选择题(本题共70题,每题7.0分,共

10分。)

1、下列数据结构中,能用二分法进行查找的是()。

A、无序线性表

B、线性链表

C、二叉链表

D、顺序存储的有序表

标准答案:D

知识点解析:二分法查找只适用于顺序存储的有序表,表中的元素按值从小到大排

列。

2、下列叙述中,不属于设计准则的是()。

A、提高模块独立性

B、使模块的作用域在该模块的控制域中

C、设计成多入口、多出口模块

D、设计功能可预测的模块

标准答案:

知识之解析C:大量软件设计表明,以下的设计准则是可以借鉴为设计的指导和对软

件结构图进行优化,这些准则是:提高模块独立性;模块规模适中;深度、宽度、

扇出和扇入适当:使模块的作用域在该模块的控制域中:应减少模块的接口和界面

的复杂性;设计成单入口、单出口的模块;设计功能可预测的模块。

3、下列队列的描述中,正确的是()。

A、队列属于非线性表

B、队列在队尾删除数据

C、队列按“先进后出”进行数据操作

D、队歹U按“先进先出”进行数据操作

标准答案:D

知识点解析:队列是只允许在一端删除,在另一端插入的顺序表,允许删除的一端

叫做队头,允许插入的一端叫做队尾。队列的操作数是依据先进先出的原则进行

的。因此队列亦称作先进先出的线性表,或后进后出的线性表。

4、对下列二叉树进行前序遍历的结果为()。

A、ABCDEFGH

B、ABDGEHCF

C、GDBEHACF

D、GDHEBFCA

标准答案:B

知识点解析:遍历就是不重复地访问二叉树的所有结点。二义树遍历的方法有3

种:前序遍历、中序遍历和后序遍历。记住3种遍历的顺序:①前序,访问根一

按前序遍历左子树一按前序遍历右子树。②中序,按中序遍历左子树一访问根一

按中序遍历右子树。③后序,按后序遍历左子树一按后序遍历右子树一访问根。

所以对该二叉树的中序遍历结果为ABDGEHCFo

5、对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正

确的是()。

A、冒泡排序为n(n-l)/2

B、简单插入排序为n

C、希尔排序为n

D、快速排序为n/2

标准答案:A

知识点解析•:在最坏情况下,冒泡排序所需要的比较次数为n(n-l)/2;简单插入

排序所需要的比较次数为n(n-l)/2:希尔排序所需要的比较次数OnP);堆排序所

需要的比较次数为O(nlog2n)o

6、为了使模块尽可能独立,要求()。

A、内聚程度要尽量高,耦合程度要尽量强

B、内聚程度要尽量高,耦合程度要尽量弱

C、内聚程度要尽量低,耦合程度要尽量弱

D、内聚程度要尽量低,耦合程度要尽量强

标准答案:B

知识点解析:模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其

他模块的联系最少且接口简单。耦合性与内聚性是模块独立性的两个定性标准,耦

合与内聚是相互关联的。在程序结构中,各模块的内聚性越强,则耦合性越弱。

般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提

高模块内的内聚性,有利于提高模块的独立性。

7、下列选项中不属于软件生命周期开发阶段任务的是()。

A、软件测试

B、概要设计

C、软件维护

D、详细设计

标准答案:C

知识点解析:软件生命周期分为软件定义、软件开发及软件运行维护三个阶段,其

中开发阶段包括概要设计、详细设计、实现和测试。

X、数据独立性是数据库技术的重要特点之一。所谓数据独立性是指()。

A、数据与程序独立存放

B、不同的数据被存放在不同的文件中

C、不同的数据只能被对应的应用程序所使用

D、以上三种说法都不对

标准答案:D

知识点解析:数据独立性是数据与程序间的互不依赖性,即数据库中数据独立于应

用程序而不依顺于应用程序。所以选项A,选项B和选项C都不正确。

9、在学校中,“班级”与“学生”两个实体集之间的联系属于()关系。

A、一对一

B、一对多

C、多对一

D、多对多

标准答案:B

知识点解析:一个班可以有多名学生,而一名学生只能属于一个班级,所以“班级”

与,,学生,,两个实体集之间的联系属于一对多关系。

10、软件调试的目的是()。

A、发现错误

B、改善软件的性能

C、改正错误

D、验证软件的正确性

标准答案:C

知识点解析:在对程序进行了成功的测试之后将进入程序调试,程序调试的任务是

诊断和改正程序中的错误。

二、选择题(1分)(本题共29题,每题人。分,共29

分。)

11、下面说法正确的是()。

A、一个C程序可以有多个主函数

B、一个C语言的函数中只允许有一对花括号

C、C程序的书写格式是自由的,一个语句可以写在一行上,也可以写在多行内

D、在对C程序进行编译时,可以发现注释行中的讲写错误

标准答案:C

知识点解析:在C语言程序中,合法标识符的命名规则是:标识符可以由字母、

数字和下划线组成,并且第一个字符必须是字母或下划线。

12、下列不合法的用户标识符是()。

A、i2_KEY

13、Double

C、4d

D、8

标准答案:D

知识点解析:if语句是用来判定所给的条件是否满足,根据判定的结果(真或假)决

定执行给出的两种操作之一。在if和else后面可以只含一个内嵌的操作语句,也

可以有多个操作语句,此时用花括号“{}”将几个语句括起来成为一个复合语句。选

项D中没有将两个操作语句括起来,不能看作一条语句。

13、以下4个选项,不能看作一条语句的是()。

A>(;)

B、intx=0,y=l,7=0;

C、if(!a);

D、)if(b==0)m=l;n=2;

标准答案:D

知识点解析:选项D括号内的运算分别是b%a=ll%6=5和a%c=6%4=2,最后得

到5-2=3o

14、设a和b均为血型变量,且a:6、b=ll>c=3,则能使值为3的表达式是()。

A、b%(c%4)

B、b%(c-a%5)

C、b%a-a%5

D、(b%a)-(a%4)

标准答案:D

知识点解析:本题首先判断a>b,当a>b时结果等于a,否则等于"d>c?d:b”,因

为a>b,所以直接输出a的值,注:这里"a:d>c?d:b”是用来干扰考生的。

15、以下程序的输出结果是()。main(){inta=4,b=3,c=2,d=hprintf("%d”,

a>b?a:d>c?d:b);}

A、1

B、3

C、2

D、4

标准答案:B

知识点解析:C语言是一种大小写敏感的语言,因此Int应为int,而casepprimF

则可以使用。

16、阅读以下程序#includemain。{【nlCase;floatprintF;printf(“请输入2个

数:");scanR"%d%r',&Case,&printF);printff'%d%f\n",Case,printF);}

以下说法正确的是()。

A、定义语句出错•,Case是关键字,不能用作用户自定义标识符,primF不能用作

用户自定义标识符

B、定义语句出错,Int无法被识别。

C、定义语句无错,scanf不能作为输入函数使用

D、定义语句无错,printf不能输出Case的值

标准答案:C

知识点解析:在C语言中,gwitcb。后的一对圆括号中可以是整型表达式或字符表

达式。case语句后面的常量表达式的类型必须与switch后圆括号中的表达式类型

相同,各case语句标号的值应该互不相同。选项A中case后面的常量表达式为实

型,所以不正确;选项D中case后面出现了变量表达式,所以选项D错误。

17,若有定义:floatx=l.5:inta=l,b=3,c=2;则正确的switch语句是()“

A、switch(x){case1.0:print/*\n");case2.0:printf("***\n");}

B、switch((int)x);{case1:printff4*\n^);case2:printfp**\n");}

C、switch(a+b){case1:printf(<€*\n,,)jcase2+1:printR"**\n");}

D、svvitch(a+b){case1:printf("*\n");casec:printf(t4**\n,');)

标准答案:D

知识点解析:本题考查不同进制间的转换。printf输出函数中输出变量的格式,由

输出格式符决定。题中“%0”格式符表示以八进制的形式输出;“%x”格式符表示

以十六进制的形式输出。“33”的八进制和十六进制分别是41和21。

18、有以下程序:main(){intk=33;printf("%d,%o,%x”,k,k,k);}执行后的

输出结果是()。

A、33,033,0x21

B、33,033,21

C、33,041,021

D、33,41,21

标准答案:C

知识点解析:本程序是通过gctchar。函数读入字符,并通过putchar。函数将字符逐

个输出,当用户输入“?”时停止输出。

19、当输入为“Fool&Swalow”时,下面程序的执行结果是()。#includemain(){char

c;whilc(c!=?){c=gctchar();putchar(c);}}

A、Swalow

B、Fool

C、Fool?

D^?Swalow

标准答案:A

知识点解析:本题中,(int)(x+1000+0.5)的结果为1237,(float)lOOO是将1000强

制转换成float类型;整个表达式(int)(x*1000+0.5:i/(float)1000的结果为

1.237000,再以实数(6位小数)形式输出。

20、下面程序段的输出结果是()。#includemain()|floatx=l.236547;printff4\

a”,(im)(x*l000+0.5)/(float)1000);}

A、1.237000

B、输出格式说明与输出项不匹配,输出无定值

C、1.236000

D、1.24

标准答案:A

知识点解析:本题考查print的输出格式和条件表达式“?:”的使用。①printf函数

输出时,“&&&%d\n”和“!!!%d\n”中的“&&&”和“!!『都是直接输出。②条件表

达式的基本格式为:a?b:c。其运算规则为:当a为非0时,整个表达式的值取b

的值,当a为。时,整个表达式取c的值。printf函数中如果在格式说明符之前插

入任何字符都将原样输出。本题中a>b为真,所以返回

21、若变量都已正确说明,则以下程序段()。includemain(){inta=8;inlb=6:

primf(a>b?”&&&a=%d":”!!!b=%d",a,b);}

A、输出为:&&&a=8

B、输出为:!!!b=8

C、输出为:&&&a=8!!!b=6

D、全部错误

标准答案:C

知识点解析:“\h”格式符表示退格.功能是将它后面的字母把它前面的字母覆

盖,导致“\b”格式符前面的字母不能输出;“v”格式符表示输出单引号字符;“\

\"格式符表示输出反斜线字符。

22、语句%而"匕\附0亚\匕代\'丫\\\1)011\1门;''的输出结果是()。

A、a\bhow\4arc\'y、\\bou

B、a\bhow\'are\'y\bou

C^how'are5you

D、ahow'arc'y\bou

标准答案:A

知识点解析:分析程序可知,程序循环5次,然后利用if语句决定每次循环时输

出的字符。当i为奇数时,i%2=l,if(i%2)为真,输出“*”;当i为偶数时,i%

2=0,if(i%2)为假,执行else语句,输出“#",所以当i取I、3、5值时输出“*”,

当i取2、4值时输出

23、卜面程序的运行结果是()。#include4tstdio.h"main(){inti;for(i=l;i<=5;

i++){if(i%2)printf("*");elseprintff铲);})

A、*#*#*

B、#*#*#*

C、*#*#

D、#*#*

标准答案:A

知识点解析:return语句主要用于返回函数的值。在一个自定义函数中,可以根据

不同的情况设置多条return语句返回函数的值,也可以不包含return语句。

24、以下关于return语句的叙述中不正确的是()。

A、一个自定义函数中必须有一条return语句

B、一个自定义函数中可以根据不同情况设置多条©urn语句

C、如果一个函数有多个relurn语句,那么不论运行到哪一个return语句,该函数

将结束

D、没有return语句的自定义函数在执行完最后一先语句时返回到调用处

标准答案:C

知识点解析:本题考查do…while循环。在do...while构成的循环体中,总是先执

行一次循环体,然后再求表达式的值。当执行完笫三次循环时,得到n=3,while

循环表达式仍然成立,接着执行直到n=4,表达式不成立,跳出循环,结束程序。

25有以下程序:main(){intn=0;do{n++;printf("%d\n",

n);)while(n<=3);}程序的输出结果是()。

A、12

B、123

C>1234

D、1

标准答案:R

知识点解析:本题中dcl(cbar*s)函数实现的功能是:逐个读入s数组中的字符,如

果遇到数字,则将其重新存在s中,遇到非数字字符则跳过。所以最后输出的应该

是字符串s中的所有数字。

26、下面程序的运行结果是()。#includcvoiddcl(char*s){inti,j;char*a:a=s:

<,t,t,

for(i=0,j=0;a[i]!=\0;i++){if(a[i]>=0&&a[i]<=9){s[i]=a[i[;j++;)

s[j]='\O';}}main(){chars[]=,,aa89gggh,>;del(s);printf(“ha%s",s);}

A、aa

B、89

C、gggh

D、aa89gggh

标准答案:B

知识点解析:该函数中fun是一个函数指针。指向一个返回int的函数。

27、下列说法不正确的是

A、int*fun(>——fun是一个返回int指针的函数

B、int(*fim)();—fun是一个返回int指针的函数

C、hat(*array[5|)();•…array是一个有5个元素的数组,每一个元素都是一个函数

指针,指向一个返回ini的函数。

D、int(*fun(int))(inC;—-fun是带有一个int参数的函数,返回值是一个函数指

针,这个指针指向带有一个血参数并返回int的函数。

标准答案:B

知识点解析:本题考查函数调用时的参数传递。分析题目可知fun函数的形参是指

向实参的指针,但main。函数中调用fun()函数时,实参是指针变量x、y(分别为指

向8和b的指针),a、b的值在函数调用前后未发生变化,因而a=l,b=2,即输出

12„

28、卜列程序的输出结果是()。#includevoidfun(int*a,int*b))int*k;k=a;

a=b;b=k;}main(){inta=l,b=2,*x:&a,*y=&b;fun(x,y);printf("%d%

dl“,a,b);}

A、21

B、12

C、编译出错

D、00

标准答案:B

知识点解析:此题考查的是二维数组的初始化。题干中数组a的第二个下标为3,

由此可知数组a是一个2行3列的数组,初始化时未赋初值的元素的值自动为0,

所以与选项B是等价的,最后一个元素的值为0。

29、下列二维数组初始叱语句中,正确且与语句ima口2,3,4,5}等价的

是()。

A、inta[2]:{{I,2,3},{4)5}}:

B、inta[][3]:{1,2,3,4,5,0);

Csinta[][3]={{l,0),{2,0),{3,0));

D.inta[2]={{l,2,3},{4,5,6}):

标准答案:C

知识点解析:strlen(s)返回s字符串中字符的个数,若s是一个数组,则返回数组元

素的个数。

30、有以下字符串,说明表达式strten(s)值的是()。chars[10]={ta,,*\n\4a\

'b','\t','c'};

A、10

B、1

C、6

D、7

标准答案:A

知识点解析:此题考查的是函数参数的传递。main函数中首先调用fun函数,fun

函数的功能是使字符c的ASCII码值加1并输出,使d加1并输出对应的字符;

fun(&b,a)输出“g,G”,但是由于fun函数的第一个参数进行的是地址传递,而第

二个参数进行的是值传递,所以main函数中的printf函数输出“F,浮。

31、有以下程序:#includevoidfun(char*c,intd){*c=*c+l;d+=l:printff'%

c,%c",*c,d);}main(){chara=T\b=T;fun(&b,a);print("%c,%c\

nM,a,b);}程序的输出结果为O。

A、g,GF,g

B、g,卜卜,g

C、G,fF,G

D、f,gf,g

标准答案:D

知识点解析:本题考查如何引用数组元索的地址。选项A中,p+5引用的是a[5]的

地址,而数组a只有5个元素,即a[0]、a[l].a[2],a[3]、a[4],所以引用错误;

选项B中,*a+1指的是将数组a的第一个元素加1;选项C中,这种引用方式错

误;选项D中,&a[0]引用的是数组的首地址。

32、若有以下定义,则对a数组元素地址的正确引用是().inta[5],*p=a;

A、p+5

B、a+l

C、&a+l

D、&a[0]

标准答案:C

知识点解析:本题考查字符串比较函数strcmpO,调用形式:strcmp(str+l,

str+2),其中str+1、str+2分别是字符串存储区的首地址,函数功能:比较字符串

slrl和str2,当slrlslr2,返回值为正数。注意:不能使用关系运算符比较两个字符

串的大小c

33、判断字符串si是否大于字符串s2,应该使用()。

A、if(strcmp(sl,s2)<0)

B、if(sl>s2)

CNif(strcmp(s2,sl)<0)

D、if(strcmp(sl,s2))

标准答案:B

知识点解析:本题考查字符比较函数和字符复制函数:strcmp(sl,s2);函数功

能:比较字符串sirl和双己比较的是字符的ASCII码的值,当sytlsyl2,返回值为

正数。

34若输入bcdefgh、m、abodefg,以下程序的输出结果为()。#include#include

main(){inti;charstring!201,str|3]|20|;for(i=0;<3;i++)gets(str[i]);

if(strcmp(str[O],str[1])>0)strcpy(string,str|O|);elsestrcpy(string,str|1]);

if(strcmp(str[2],string)>0)strcpy(string,str[2]);printfft%s,\string);}

A^bcdefgh

B、m

C、abcdefg

D^bcdefgh或abcdefg

标准答案:C

知识点解析:本题考查的是for循环以及while循环。fun函数中定义了静态变量

i=0,fim(a)使得a[0]=a[0]+a[l]=4,a[l]=a[l]+a[2]=8,此时i的值变为1,++i<2不

成立,所以do・while循环结束,输出数组a的各元素即得到48549。

35、请阅读以下程序:#include#includevoidfun(intb[]){staticinti=0;do{b[i]+:

b[i+l];}while(++i<2);)main(){intk,a[5]={1,3,5,4,9);fun(a);

for(k=0;k<5;k++)printf(“%d”a[k]);}上面程序的输出是

A、13579

B、48579

C、48549

D、48999

标准答案:D

知识点解析:分析程序,i+=k;使得i的值每次增加2然后再和j进行比较看i>j是

否成立,i的变化过程为:i=2,i=4,i=6,i=8,i=10,i=12,此时i>j成立,所以判

断闫共执行的次数为6次。

36、在下述程序中,判断i>j共执行的次数是()。main(){inti=0,j=10,k=2,

s=0;for(;;)[i+=k;if(i>j){prinm"%d”,s);break;}s+=i:)}

A、4

B、7

「、5

D、6

标准答案:B

知识点解析:本题考查的是结构和数组元素所占的字节数。题目中定义的结构st

因为包含x、y、z这3个元素,所以slze(stwctst)=2+2+2=6;而联合体所占的字节

数,由于最后存入的元素会把前面存入的元素覆盖掉,所以联合体所占的字节数就

是占据最多存储单元的元素所占的字节数,sizeof(un)=sizeof(long)=4。

37、下列程序的输出结果是()。#include4tstdio.h^mainO{structst{inty,x,z:}

union{longi;intj;chark;)un;pfintR"%d,%d\n”,sizeof(structst),

sizeof(un));}

A、6,2

B、6,4

C>8,4

D、8,6

标准答案:B

知识点解析:由于联合体是同一存储区域由不同类型的变量共享,所以不可以直接

对联合体变量名进行赋值,且联合体中的空间在某一时刻只能保持某一成员的数

据;另外合体中可以出现结构类型的成员。

38、以下对联合类型叙述正确的是()。

A、可以对联合变量名直接赋值

B、使用联合变量的目的是为了节省内存

C、任何一个联合变量可以同时引用联合中的不同成员

D、联合类型定义中不能同时出现结构类型的成员

标准答案:A

知识点解析:本题主要考查按位异或和右移运算。b=4的二进制为00000100,

b»2后为00000001,a=2的二进制为00000010,两者异或为00000011。

39、以卜程序中c的二进制值是()。chara=2,b=4,c;c=aAb»2

A、00000011

B、00010100

C、00011100

D、00011000

标准答案:A

知识点解析:分析程序段,首先以只写方式打开文件,利用fprinlf函数将i和j的

值写入到文件dl.dat中,然后关闭文件;再以只读方式打开文件,利用格式叱输

入函数fscanf将文件中的数据赋值给k和n,最后输出k和n的值,分别是20和

30o

40、有以下程序includemain。{FILE*fp:inti=20j=30,k,n;

a=fbpcn(’'d1.dat","w");fprintf(fp,u%d\i);fprintf(fp/*%d\n,\j):

fclose(fp);fp=fbpen(t4dl.dat",T');fscanf(好,"%d%d“,&k,&n);printff'%d%d

\n”,k,n);fclose(fp);}程序运行后的输出结果是()。

A、2030

B、2050

C、3050

D、3020

标准答案:

知识点解析:暂无解析

三、公共基础填空题(本题共5题,每题分,共5

分。)

41、数据结构分为逻辑结构与o

标准答案:存储结构

知识点解析:数据结构是指相互之间存在一种或多种特定关系的数据元素的集

合,即数据的组织形式。它分为数据的逻辑结构和数据的存储结构。

42、在面向对象方法中,对象之间进行通信的构造称为。

标准答案:消息

知识点解析:对象之间进行通信的构造叫做消息、,它请求对象执行某一处理或回答

某一要求的信息,它统一了数据流和控制流。

43、衡量软件的模块独立性使用耦合性和内聚性两个定性的度量标准,其中

是度量一个模块功能强度的一个相对指标。

标准答案:内聚性

知识点解析:模块的独立程度是评价设计好坏的重要度量标准。衡量软件的模块独

立性使用耦合性和内聚性两个定性的度量标准。内聚性是度量一个模块功能强度的

一个相对指标,耦合性则用来度量模块之间的相互联系程度。

44、一名学生只能住一间宿舍,一间宿舍可住多名学生,则实体“宿舍”与实体"学

生''的联系属于的联系。

标准答案:一对多

知识点解析:在现实世界中事物间的关联称为联系。在概念世界中联系反映了实体

集间的一定关系。两个实体集间的联系实际上是实体集间的函数关系,这种函数关

系可以有3利分别是一对一,一对多和多对多,依据题意,一名学生只能住一间

宿舍,一间宿舍可住多名学生,所以实体“宿舍”与实体"学生”的联系属于一对多的

联系。

45、数据模型包括数据结构、和数据条件。

标准答案:数据操作

知识点解析:数据模型就是现实世界的反映,数据模型所描述的内容有3个部分,

它们是数据结构、数据操作与数据约束。

四、填空题(本题共8题,每题1.0分,共8分。)

46N定义定ta=5,b=20;若执行语句printf("%d\n",++a*—b/5%13);后,输出

的结果为O

标准答案:9

知识点解析:此题考查的是算术运算符。依照运算级的优先性,首先执行“++”和”-

“++a”执行之后a的值变为6,++a*-b=(++a)*(-b)=6*19=l14;此后再依次执行

/和%,++a*-b/5%13=114/5%13=22%13=9。

47、执行程序时的输入为123456789,则程序的运行结果为。

#include<4stdio.h”main。{inta,b;scanf("%2d%*2d%1d“,&a,&b);

printf(u%d\n,\a-b);)

标准答案:7

知识点解析:本题考查的是scanf函数。题目中,“%2d”是指读入整型数据,允许

的数据宽度是2位;“*2d”指空余2位不读入;所以最终读入的a的值为12,b的

值为5,即得到a-b=7,最终输出a-b的值7。

48、以卜程序运行后的瑜出结果是Q#includemain(){char

ch[]-4abcdn,x[4][4];inti;for(i=0;i<4;i++)strcpy(x[i],ch);for(i:0;i<4;

i++)printf("%s”,&x[i][i]);printfC\n^):}

标准答案:abcdabcdabcdabcdbcdabcdabcdcdabcdd

知识点解析:本题考查的是二维数组。本题定义了一个4行4列的二维数组x,通

过tor循环以及strcpy函数将字符数组ch的值、abed'分别复制到了x数组的每一

行,使得二维数组每一行的值均为,abed1再通过第二个for循环输出每一行上所

要求输出的字符串,当i=0时,输出以x[0]⑼的地址为首地址的字符串“abed”;当

x=l时,输出以的地址为首地址的字符串“b字”;当x=2时,输出以x⑵⑵

的地址为首地址的字符串“cd";当x=3,输出以x[3]|3]地址为首地址的字符串

“d”。

49、阅读下面程序,则程序的执行结果为o#includc4tstdio.h"

main(){inta=10;fun(ai;.printf{“%d\n",a);|fun(intxl{x=50;}

标准答案:10

知识点解析:由于此程序中,fun函数的实参和形参进行的是值传递,所以形参值

的改变不会影响到实参值,因此变量a的值还是最初赋的初值10。

50以下程序的输出结果是ointfun(intx,inty,int*p,int*q)

{*p=x*y;*q=x/y;)main(){inta,b,c,d;a=4;b=3;fun(a,b,&c,&d);

prints%d,%d\n”,c,d);}

标准答案:12,1

知识点解析:此程序中函数fun的实参和形参进行的是地址值的传递,因此被调用

函数中形参值的改变会改变实参值。所以c=3*4=12,<1=4/3=1o

51、下面程序是求出数组an•的两条对角线上的元素之和,请填空。

#includct4stdio.h,?main(){intarr[3][3]={2,3,4,8,3,2,7,9,8),a=0,

b=0,i,j;for(i=0;i<3;i++)for(j=0;j<3;j++)if(i=j)a=a+arr[i][j];for(i:0;i<3;

i++)for

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论