二级C语言笔试-400_第1页
二级C语言笔试-400_第2页
二级C语言笔试-400_第3页
免费预览已结束,剩余15页可下载查看

下载本文档

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

文档简介

1、二级 C 语言笔试 -400( 总分: 100.00 ,做题时间: 90 分钟 )一、选择题 (总题数: 40,分数: 40.00)1. 算法是指A) 计算机程序 B) 解决问题的计算方法C) 排序算法 D) 解决问题的有限运算序列(分数: 1.00 )A.B.C.D. V解析: 解析 算法是指对解决方案准确而完整的描述。2. 下列叙述中正确的是A) 循环链表是非线性结构 B) 双向链表是非线性结构C) 只有一个根结点的数据结构不一定是线性结构D) 有一个以上根结点的数据结构不一定是非线性结构(分数: 1.00 )A.B.C. VD.解析:解析 线性结构指的是数据元素之间存在着“一对一”线性关

2、系的数据结构,这样的结构中只有一 个根结点,如循环链表和双向链表;非线性结构指的是数据元素之间存在着“一对多”非线性关系的数据 结构,这样的结构中可能有一个根结点,如树形结构,也可能有多个根结点,如网状结构。3. 下列对于线性链表的描述中正确的是A) 存储空间不一定连续,且各元素的存储顺序是任意的B) 存储空间不一定连续,且前件元素一定存储在后件元素的前面C) 存储空间必须连续,且前件元素一定存储在后件元素的前面D) 存储空间必须连续,且各元素的存储顺序是任意的 (分数: 1.00 )A. VB.C.D.解析: 解析 线性链表是链式存储结构。在链式存储结构中,存储数据结构的存储空间可以不连续,

3、各数 据结点的存储顺序与数据元素之间的逻辑关系可以不一致。4. 面向对象方法中,不属于对象基本特点的是A) 标识唯一性 B) 分类性 C) 封装性 D) 一致性分数: 1.00 )A.B.C.D. V解析: 解析 对象的基本特点有:标识唯一性、分类性、多态性、封装性和模块独立性。5. 在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是A) 概要设计 B) 详细设计 C) 可行性分析 D) 需求分析 (分数: 1.00 )A.B.C.D. V解析: 解析 通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。软件 生命周期的主要活动阶段如下。 可行性

4、研究与计划制定:确定待开发软件系统的开发目标和总的要求,给出它的功能、性能、可靠性以 及接口等方面的可能方案,制订完成开发任务的实施计划。 需求分析: 对待开发软件提出的需求进行分析并给出详细定义。 编写软件规格说明书及初步的用户手册, 提交评审。 软件设计:系统设计人员和程序设计人员应该在反复理解软件需求的基础上给出软件的结构、模块的划 分、功能的分配以及处理流程。 软件实现:把软件设计转换成计算机可以接受的程序代码。即完成源程序的编码,编写用户手册、操作 手册等面向用户的文档,编写单元测试计划。 软件测试:在设计测试用例的基础上,检验软件的各个组成部分,编写测试分析报告。 运行和维护:将已

5、交付的软件投入运行,并在运行使用中不断地维护,根据新提出的需求进行必要而且 可能的扩充和删改。6. 数据流图中方框表示的是A) 数据流 B) 存储文件 C) 控制流 D) 源,潭(分数: 1.00 )A.B.C.D. V解析: 解析 数据流图是描述数据处理过程的工具,它从数据传递和加工的角度,来刻画数据流从输入到 输出的变化过程。数据流图中的主要图形元素有:圆形表示加工,箭头表示数据流,双杠表示存储文件, 方框表示源、潭。7. 下列对于软件测试的描述中正确的是A) 软件测试的主要目的是发现程序中的错误B) 软件测试的目的是证明程序是否正确C) 软件测试的目的是使程序运行结果正确D) 软件测试是

6、为了证明软件中没有错误(分数: 1.00 )A. VB.C.D.解析:解析软件测试的目标是发现软件中的错误。8. 数据库、数据库系统和数据库管理系统之间的关系是.A数据库包括数据库系统和数据库管理系统B)数据库系统包括数据库和数据库管理系统C)数据库管理系统包括数据库和数据库系统D)三者没有明显的包含关系(分数:1.00)A.B. VC.D.解析:解析数据库系统有数据库、数据库管理系统、数据库管理员、硬件平台、软件平台5部分构成9. 设有图书(图书编号,书名,第一作者,出版社)、读者(借书证号,姓名,单位,职称)和借阅(借书证号,图书编号,借书日期,还书日期)三张表,则表借阅的关键字(键或码)

7、为A借书证号,图书编号 B)图书编号,借书日期C)借书日期,还书日期 D)借书证号,借书日期(分数:1.00)A. VB.C.D.解析:解析在二维表中凡能唯一标识元组的最小属性集称为关键字,关键字具有标识元组、建立元组间 联系等重要作用。此题中,借书证号,图书编号是表借阅的主键,借书证号、图书编号分别是外键,借书 证号是读者表的主关键字,图书编号是图书表的主关键字。10. 有三个关系R、S和T如下:由关系R和S通过运算得到关系T,则所使用的运算为 A)并B)自然连接C)笛卡儿积D)交(分数:1.00 )A.B.C.D. V解析:解析在关系运算中,交的定义如下:设 R1和R2为参加运算的两个关系

8、,它们具有相同的度n,且相对应的属性值取自同一个域, 则为交运算,结果仍为度等于n的关系,其中,交运算的结果既属于 R1, 又属于R2。11. 下列叙述中正确的是A)每个C语言程序文件中都必须要有一个main()函数B)在C语言程序中main()函数的位置是固定的C)C语言程序中所有函数之间都可以相互调用,与函数所在位置无关D)在C语言程序的函数中不能定义另一个函数(分数: 1.00 )A. VB.C.D.解析:解析mam函数是C语言程序的主函数,可以出现在程序中的任何位置。函数是C语言程序的基本模块,函数内部可以再定义其他函数。但函数间可相互调用,被调用的既可以是C语言提供的库函数,也可以是

9、用户自定义的函数。12. 以下合法的十六进制数是A) 0x B) 0x4de C) 0x1h D) oX77(分数: 1.00 )A.B. VC.D.解析:解析考查十六进制数的表示方法。十六进制数以Ox开头,后面跟着若干位09和af的数,所以正确答案为 B)。13. 已知大写字母 A的ASQ码的值是65,小写字母a的ASQ码的值是97,以下不能将变量c中的大写字 母转换为对应小写字母的语句是A) c=(c-A)%26+a B) c=c+32C) c=c-A+a D) c=(A+c)%26-a(分数: 1.00 )A.B.C.D. V解析: 解析 无论大小写,字母间的间隔都相等,所以 C-A=c

10、-a ,因此 c=C-A+a ,选项A)、C)正确。从题述可知,a-A=97-65=32 ,所以c=C+32 ,选项B)正确。14. 若变量已正确定义并赋值,以下符合C语言语法的表达式是A) a:=b+1 B) a=b=c+2 C) int 18.5%3 D) a=a+7=c+b(分数: 1.00 )A.B. VC.D.解析:解析选项A)中包含一个不合法的运算符“:=”;选项 C)应改为(int)18.5%3 ;选项D)可理解为 两个表达式:a+7=c+b和a=a+7,其中第一个是错的,因为 C语言规定赋值号的左边只能是单个变量,不能 是表达式或常量等。因此,正确答案是选项 B) ,它实际上相

11、当于 a=(b=c+2) ,进而可分解为两个表达式: b=c+2 和 a=b。15. 设变量 a 是 int 型, f 是 float 型, i 是 double 型,则表达式 10+a+i*f 值的数据类型为A) int B) float C) double D)不确定(分数: 1.00 )A.B.C. VD.解析:解析根据混合运算规则,如果有一个数据是float型或double型,则其他数据类型先转化为double型,运算的结果最终也是 double 型。16. 有以下程序:#include main()char c1=1, c2 =2 ;c1=getchar();c2=getchar()

12、;putchar(c1); putchar(c2);当运行时输入:a后,以下叙述正确的是A) 变量 c1 被赋予字符 a, c2 被赋予回车符B) 程序将等待用户输入第 2 个字符C) 变量 c1 被赋予字符 a, c2 中仍是原有字符 2D) 变量 c1 被赋予字符 a, c2 中将无确定值(分数: 1.00 )A. VB.C.D.解析: 解析 本题考查的是输入输出函数。函数 getchar() 的作用是从终端 (或系统隐含指定的输入设备 ) 输入一个字符,且只能接受一个字符(回车符也算是一个字符)。故本题中变量cl被赋予字符a, c2被赋予 回车符。17. 下列程序的输出结果是#inclu

13、de stdio.hmain()int i , a=0, b=0;for(i=1 ;i main()int s ;scanf(%d ,&s);while(s 0)switch(s)case 1:printf(%d,s+5);case 2:printf(%d,s+4);break;case 3:printf(%d,s+3);default:printf(%d,s+1);break;scanf(%d ,&s);运行时,若输入123450 v回车,则输出结果是A) 6566456 B) 66656 C) 66666 D) 6666656(分数: 1.00 )A. VB.C.D.解析: 解析 swit

14、ch 语句执行完一个 case 后面的语句后,流程控制转移到下一个 case 语句继续执行, 遇到 break 会跳出本次循环。本题中输入 1 时会输出 65,输入 2 时会输出 6 ,输入 3 时会输出 64,输入 4 时会输出 5,输入 5 时会输出 6,在输入 0 时不满足循环条件,程序执行结束。21. 有如下程序:int a10=11,12,13,14,15,16,17,18,19,20;int *p=&a3 , b;b=p5 ;则b的值是A) 15 B) 16 C) 18 D) 19(分数: 1.00 )A.B.C.D. V解析:解析p=&a3将指针指向数组a的第4个元素,p5指向数

15、组a的第9个元素,而a8=19,所 以 b=19。22. 以下程序的输出结果是Fun(int x,int y)return(x+y) ;main()int a=1 , b=2,c=3,sum;sum=Fun(a+,b+,a+b),c+);printf(%d,sum) ;A) 9 B) 8 C) 7 D) 6(分数: 1.00 )A.B. VC.D.解析:解析逗号表达式a+, b+, a+b先计算a+, a=2;再计算b+, b=3 ;表达式的值就是a+b的值, 为5。表达式C+的值是c递增前的值,为3。所以fun(a+ ,b+,a+b),C+)等价于fun(5,3),返回 值为 5+3=8。2

16、3. 有以下程序:#include main()int i=5;doif(i%3=1)if(i%5=2)printf(*%d,i);break;i+;while(i! =0);printf(/n) ;程序的运行结果是A) *7 B) *3*5 C) *5 D) *2*6(分数: 1.00 )A. VB.C.D.解析: 解析 整个程序中只有对 i 增加的语句而没有对 i 减少的语句,所以 2、3 都不可能出现,选项 B) 和D)错误。而i=5时第一个if语句的表达式为假,所以选项C)也错误。24. 以下函数按每行 8 个输出数组中的数据:void fun(int*w,int n)int i ;f

17、or(i=0 ; i n ; i+)printf(%d , wi) ;printf(/n) ;下划线处应填入的语句是A) if(i/8=0)printf(/n); B) if(i/8=0) continue;C) if(i%8=0)printf(/n); D) if(i%8=0)continue;(分数: 1.00 )A.B.C. VD.解析:解析在C语言循环语句中,continue用来跳出当次循环,因此B)项和D)项不正确。if(i/8=0)是指当i除以8的得数等于0,即i的值小于8时,打印换行,因此 A)项也不正确。if(i%8=0)是指当i 除以8的余数等于0,即当间隔8个数时,打印换行

18、,因此选项C)正确。25. 以下数组定义中错误的是A) int x3=0;B) int x23=1,2,3,4,5,6;C) int x3=1,2,3,4,5,6;D) int x23=1,2,3,4,5,6;(分数: 1.00 )A.B. VC.D.解析:解析二维数组的初始化有以下几种形式:分行进行初始化;不分行进行初始化;部分数组元素进行初始化;省略第一维的定义,不省略第二维的定义。选项B)等号右边分了 3行,大于等号左边数组的行数 2。26. 有以下程序:#include main()char p=a,b,c,q10=a,b,c;printf(%d%d/n,strlen(p),strle

19、n(q);以下叙述中正确的是A) 在给 p 和 q 数组置初值时,系统会自动添加字符串结束符,故输出的长度都为 3B) 由于 p 数组中没有字符串结束符,长度不能确定;但q 数组中字符长度为 3C) 由于 q 数组中没有字符串结束符,长度不能确定;但p 数组中字符长度为 3D) 由于 p 和 q 数组中没有字符串结束符,故长度都不能确定(分数: 1.00 )A.B. VC.D.解析: 解析 本题考查的是库函数的调用。 strlen() 是计算以 /0 结束的字符串的长度函数,函数的值为 字符串的实际长度,不包括 /0 。题中 q10=a, b , c ”虽然给出了数组大小,即数组实际分配的存储

20、空间, 但此字符串只占用前 3 个存储单元, 其余存储单元系统自动加上 /0 ,故数组 q 的长度为 3; 由于 p 数组中没有字符串结束符,故字符串的长度不能确定。27. 若有以下程序:#include int a=1, 3, 5, 7;main()int i ;int *p=a ;for(i=0;i 4;i+)ai=*p;printf(%d/n , a2) ;上面程序的输出结果是A) 5 B) 7 C) 1 D) 3(分数: 1.00 )A.B.C. VD.解析:解析在C语言中,数组元素下标是从0开始的;指针变量p指向数组的首地址。for循环语句中, 指针变量 p 始终指向数组的首地址,因

21、而执行循环赋值语句后数组各元素的值均变为1。28. 若有定义语句:int m=5 ,4,3,2,1,i=4;,则下面对m数组元素的引用中错误的是A) m-i B) m2*2 C) mm0 D) mmi(分数: 1.00 )A.B.C. VD.解析:解析数组m下标从0 4计算,共5个元素,选项C)中m0=5,则mmO为m5中,超出了数 组m的下标范围。因此正确答案为C)。29. 设有以下说明语句:typedef structint n;char ch8 ;PER;则下面叙述中正确的是A) PER 是结构体变量名 B) PER 是结构体类型名C) typedef struct 是结构体类型 D)

22、struct 是结构体类型名(分数: 1.00 )A.B. VC.D.解析:解析本题中,typedef声明新的类型名PER来代替已有的类型名,PER代表上面指定的一个结构 体类型,此时,也可以用PER来定义变量。30. 有以下程序:int fun(int n)if(n=1) return 1;elsereturn(n+fun(n-1) ;main()int x ;scanf(%d , &x);x=fun(x);printf(%d/n,x)执行程序时,给变量 x 输入 10,程序的输出结果是A) 54 B) 55 C) 65 D) 45(分数: 1.00 )A.B. VC.D.解析: 解析 本题

23、考查的是函数的递归调用,在调用一个函数的过程中又出现直接或间接地调用该函数本 身,称为函数的递归调用,执行结果为1+2+3+4+5+6+7+8+9+10=55。31. 以下程序的输出结果是#include sub(int*s , int y)static int t=3;y=st ; t- ;main()int a=1,2,3,4,i,x=0;for(i=0 ; i v 4 ; i+)sub(a,x);printf(%d,x);printf(/n) ;A) 1234 B) 4321 C) 0000 D) 4444(分数: 1.00 )A.B.C. VD.解析: 解析 本题的考查点是函数的形参和

24、实参的关系。 x 作为函数 sub() 的实参时,函数对 没有返回主函数,并没能使得 x 的值变化,所以在打印时, x 的值始终是 0。32. 有以下程序:#include v stdio.h #define F(x,y) (x)*(y)main()int a=3,b=4;printf(%d/n,F(a+,b+);程序运行后的输出结果是A) 12 B) 15 C) 16 D) 20(分数: 1.00 )A. VB.C.D.解析: 解析 本题的考查点是带参数的宏定义。本题的程序中就定义了一个带参数的宏,对 进行展开后,宏的返回值为12,注意a+, b+都是先使用变量值,再自增。33. 以下程序运

25、行时,若从键盘输入10 20 30 v回车,输出的结果是main()int i=0,j=0,k=0;scanf(%d%*d%d, &i , &j, &k);printf(%d%d%d/n ,i,j,k);A) 10200 B) 102030 C) 10300 D) 10030(分数: 1.00 )x 值的改变F(a+ , b+)A.B.C. VD.解析: 解析 根据 scanf() 函数附加的格式说明字符,可知%后的“*”是附加说明符,用来表示跳过它相应的数据,所以本题中忽略第2个数据的输入,则1=10,j=30,k的值不变,还是0,所以输出结果是10300。34. 有以下程序:#includ

26、e main()char *a=abcd,ef,gh,ijk; int i;for(i=0;i 4;i+) printf(%c , *ai);程序运行后的输出结果是A) aegi B) dfhk C) abcd D) abcdefghijk(分数: 1.00 )A. VB.C.D.解析: 解析 a 为一个指针数组,其中的每个元素都是一个指针。该程序的功能是分别打印4个字符串的首字母,因此本题答案为 A) 。35. 以下程序执行后的输出结果是fun(int x,int y)static int m=0,1=2;i+=m+1;m=i+x+y;return m;main()int j=1,m=1,k

27、;k= fun(j,m);printf(%d,k);k= fun(j,m);printf(%d/n,k);A) 5,5 B) 5,11 C) 11,11 D) 11,5(分数: 1.00 )A.B. VC.D.解析:解析main函数中的局部变量 m与fun函数中的静态局部变量 m同名,因此main访问的是其局 部变量m,所以mam中的两次函数调用,实际上都是调用fun(1 ,1)。第一次调用时,i=i+(m+1)=2+(0+1)=3 , m=i+x+y=3+1+1=5。第二次调用时,i=i+(m+1)=3+(5+1)=9 , m=i+x+y=9+1+1=11。所以程序输出 5, 11。36.

28、阅读下面程序,则执行后的结果是#include stdio.hmain()char str=tomeetme , *p;for(p=str;p str+7;p+=2) putchar(*p); printf(/n) ;A) tomeetme B) tmem C) oete D) tome(分数: 1.00 )A.B. VC.D.解析:解析 存放字符串的字符数组的名字就是这个字符串的首地址。本题的功能是对字符串 进行选择式输出,从第一个字母开始,每输出一个字符即跳过一个。37. 有以下程序:main()char ch=uvwxyz , *pc;pc=ch; printf(%c/n, *(pc+5

29、);程序运行后的输出结果是A) z B) 0C) 元素 ch5 的地址 D) 字符 y 的地址(分数: 1.00 )A. VB.C.D.解析: 解析 本题考查的是指向数组的指针。本题中定义了一个字符串数组和指针,并将指针 数组的首地址,执行输出语句“ printf( “%c/n”, *(pc+5) ;”。的 *(pc+5) 指的就是 pc5 最后输出的结果为 z 。38. 设有定义:struct complexint real,unreal;data1=1,8,data2; 则以下赋值语句中错误的是A) data2=data1; B) data2=(2,6);C) data2.real=dat

30、a1.real; D) data2.real=data1.unreal;(分数: 1.00 )A.B. VC.D.解析:解析选项B)需要强制转换数据类型,应该为 (struct complex)2,6; 。39. 有以下程序:#include main()FILE *fp; int k,n,a6=1,2,3,4,5,6;tomeetme”pc 指向该的值,所以fp=fopen(d2.dat,w); fprintf(fp,%d%d%d/n,a0,a1,a2);fprintf(fp, %d%d%d/n,a3,a4,a5);fclose(fp) ;fp=fopen(d2,dat,r);fscanf(

31、fp,%d%d ,&k, &n);printf(%d%d/n ,k,n) ; close(f) ;程序运行后的输出结果是A) 12 B) 14 C) 1234 D) 123456(分数: 1.00 )A.B.C.D. V解析:解析 本题考查的是文件的综合应用。 本题首先以创建方式打开文件“ d2.dat ”, 两次调用 fprintf() 函数把 a0 ,a1 ,a2 ,a3 ,a4 ,a5 的值写到文件“ d2.dat ”中,文件“ d2.dat ”的内容为: 1, 2, 3v回车4, 5, 6。然后把该文件关闭再以只读方式打开,文件位置指针指向文件头,再通过fscanf()函数从中读取两个

32、整数到 k 和 n 中,由于格式符之间无间隔,因此输入数据可以用回车隔开,故输入的k的值为 123, n 的值为 456。40. 变量 a 中的数据用二进制表示的形式是 01011101,变量 b 中的数据用二进制表示的形式是 111100000 若要求将 a 的高 4 位取反,低 4 位不变,所要执行的运算是A) aAb B) a|b C) a&b D) a 4(分数: 1.00 )A. VB.C.D.解析: 解析 本题考查的是位运算的知识,对于任何二进制数,和1 进行异或运算会让其取反,而和 0 进行异或运算不会产生任何变化。二、填空题(总题数: 15,分数: 60.00)41. 一个队列

33、的初始状态为空。现将元素 1、 2、3、4、5、A、B、C、D、 E 依次入队,然后再依次退队,则 元素退队的顺序为 1 。(分数: 4.00 )填空项 1: (正确答案: 1、2、3、4、5、A、 B、C、D、 E)解析: 解析 队列是“先进先出”的线性表,退队顺序是从队列的排头依次删除元素,即先进队列的先退 出。42. 对长度为 20的线性表进行冒泡排序,最坏情况下需要比较的次数为 1 。(分数: 4.00 )填空项 1: (正确答案: 190 )解析:解析对长度为n的线性表,在最坏情况下,所有元素正好逆序,冒泡排序需要经过n/2遍从前往后的扫描和 n/2 遍从后往前的扫描,需要比较的次数

34、为 n(n-1)/2 。对长度为 20 的线性表进行冒泡排序, 最坏情况下需要比较的次数为 20*(20-1)/2=190。43. 按照软件测试的一般步骤, 1 测试应在集成测试之前进行。(分数: 4.00 )填空项 1: (正确答案:单元)解析: 解析 软件测试过程分 4个步骤,即单元测试、集成测试、验收测试和系统测试。单元测试应在集 成测试之前进行。44. 在二维表中,元组的 1 不可再分成更小的数据项。(分数: 4.00 )填空项 1: (正确答案:分量)解析:解析在二维表中,元组是由n个元组分量组成的,这些分量是不可分割的基本数据项,这就是元 组分量的原子性,是二维表的性质之一。45.

35、 数据库应用系统中的核心问题是 1 。(分数: 4.00 )填空项 1: (正确答案:数据库设计)解析: 解析 在数据库应用系统中,一个核心问题就是设计一个能满足用户要求、性能良好的数据库,这 就是数据库设计。46. 有以下程序(说明:字符0的ASQ码值为48):#include main()char c1 , c2;scanf(%d , &c1);c2=c1+9;printf(%c%c/n,c1,c2);若程序运行时从键盘输入 48 ,则输出结果为 。(分数: 4.00 )填空项 1: (正确答案: 09)解析:解析本题中通过ASCI码对字符变量赋值,由于字符0的ASCI码是48,因此字符变

36、量cl为0,c2的ASCI码比cl大9,因此c2为9。47. 设变量已正确定义为整型,则表达式 n=i=2 , +i , i+ 的值为 1 。(分数: 4.00 )填空项 1: (正确答案: 3)解析:解析本题考查的是C语言逗号表达式的相关知识。程序在计算逗号表达式时,从左到右计算由逗 号分隔各表达式的值,整个逗号表达式的值等于其中最后一个表达式的值。本题中,首先i 被赋值为 2,再自加 1 ,最后 i+ 的值计算为 3。48. 以下程序运行后的输出结果是 。#include main()int x=10 , y=20, t=0 ;if(x=y)t=x;x=y;y=t ;printf(%d%d

37、/n , x,y);(分数: 4.00 )填空项 1: (正确答案: 200 )解析: 解析 本题中 if 选择的条件 x=y 不满足,因此直接执行后面的 x=y 和 y=t ,则 x 的值为 20, y 的 值为 0。49. 以下程序的功能是: 借助指针变量找出数组元素中最大值所在的位置并输出该最大值。 请在输出语句中 填写代表最大值的输出项。#include main()int a10,*p,*s ;for(p=a;p-a 10;p+)scanf(%d,p); for(p=a,s=a;p-a *s)s=p;printf(max=%d/n,);(分数: 4.00 )填空项 1: (正确答案:

38、 *s )解析: 解析 因为题目中有 if(*p *s)s=p ;语句,可知如果 p 所指元素的值比 s 所指元素的值大,就把 指针p的地址赋予指针s,即s指向当前值最大的元素,所以最后应该输出的元素的值为*s。50. 以下程序运行后的输出结果是 。main()int a=3,b=2,c=1;if(c=a)printf(%d/n,c);elseprintf(%d/n,b);(分数: 4.00 )填空项 1: (正确答案: 3)解析: 解析 因为 c=a, c 变为 3,是非 0 的数,所以条件为真,则执行第一个 printf 输出 351. 有以下程序:int f1(int x,int y)

39、return x int f2(int x,int y) returnx y?x:y; y?y:x;main()int a=4,b=3,c=5,d=2,e,f,g; e=f2(f1(a,b),f1(c,d);f=f1(f2(a, b), f2(c , d) ;g=a+b+c+d-e-f; printf(%d,%d,%d/n,e,f,g);程序运行后的输出结果是 分数: 4.00 )填空项 1: (正确答案: 4,3, 7)解析: 解析 在语句 f2(f1(a ,b),f2(c ,d); 中,函数 f1 作为函数 f2 的参数被调用, f1 的返回值是 f2 实参的值,所以有:f1(a ,b)=f1(4 ,3)=4 ;f1(c ,d)=f1(5 ,2)=5 ;e=f2(f1(a,b),f1(c,d)=f2(4,5)=4 。同理有:f2(a ,b)=f2(4 ,3)=3 ;f2(c ,d)=f2(5 ,2)=2 ;f=f1(f2(a,b),f2(c,d)=n(3,2)=3;g=7。52. 以下程序运行后的输出结果是 。#include main()char ch=abc,x34;int

温馨提示

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

评论

0/150

提交评论