1[填空题]下列给定程序中,函数fun的功能是:把形参a所指数组中的最小值放在元素a[O]中,接着把a所指数组中的最大值放在a[1]元素中;再把a所指数组元素中的次小值放在a[2]中,把a所指数组元素中的次大值放在a[3],依此类推。
例如,若a所指数组中的数据最初排列为:9,1,4,2,3,6,5,8,7;则按规则移动后,数据排列为:1,9,2,8,3,7,4,6,5。形参n中存放a所指数组中数据的个数。
规定fun函数中的max存放当前所找的最大值,px存放当前所找最大值的下标。
请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
参考解析:
【参考答案】
(1)a[i] (2)a[j]‘(3)a[j]
【考点分析】
本题考查:数组的引用;if语句条件表达式,如果表达式的值为真,则执行下面的语句,如果该值为假,则不执行下面的语句。
【解题思路】
填空l:for循环语句循环体中将数组元素a[i]赋值给变量max和变量min。
填空2:通过一次for循环,找到数组中的最大值,if语句的条件表达式是max
填空3:同理,此处if语句的条件表达式是min>a[j]。
【解题宝典】
求最大值或者最小值的题目,一般都是先假设一个元素最大或最小,然后通过if条件语句将该元素和其他元素进行比较操作来完成。
2[单选题] 设有定义:
A.1234,3.142B.123,3.142C.1234,3.141D.123,3.141
参考答案:A
%参考解析:函数Printf()中,%md指输出带符号的十进制整数,给定最小宽度为m位,不足m位左端补空格,超过m位按实际位数输出,%.nf表示以小数形式输出实数,小数占n位,对应题目,答案为A选项。
3[单选题] 有以下程序:
程序运行后的输出结果是( )。
A.0B.1C.4D.8
参考答案:C
参考解析:m函数中的X为静态局部变量,占用固定的内存单元,下一次调用时仍可保留上次调用时的值。也就是说,如果多次调用fun函数,x的定义只在第一次调用时有效,从第二次调用开始,x的定义相当于不存在,直接使用X的值。主函数中调用两次fun函数t第一次调用:X=1,X=x}2=2,s=2;第二次调用:(直接用上次X的值)x=X·2=4,s=4。因此C选项正确。
4[单选题] 若有以下程序
则程序的输出结果是
A.Qian,f,350,Qian,f,350
B.Zhao,m,290,Zha0,m,290
C.Zhao,m,290,Qian,f,350
D.Zhao,m,290,Zha0,f,350
参考答案:C
参考解析:本题考查结构体的相关操作以及传值、传址的区别,该题中调用f函数后,会首先输出被重新复制的b值,且与a相同,而执行完f函数后,因为f函数是值传递,所以b值并不会改变,还是维持原值,选项c正确。
5[单选题] 以下结构体说明和变量定义中,正确的是
参考答案:A
参考解析:本题考查typedef的使用方法,typedef对已存在的类型使用一个新的名字,选项A中ABC为新的类型别名,定义正确。
6[单选题] 有以下程序:
程序运行后的输出结果是( )。
参考答案:D
参考解析:在函数fun(char}a,char}b)中,wKle(·a==’·’)a++的功能是:如果}a的内容为‘}’,则a指针向后移动,直到遇到非‘+’字符为止,退出循环进入下一个while循环,在wlIile({b=}a){b++;a++;}中,把字符数组a中的字符逐个赋给字符数组b。所以在主函数中,执行fun(s,t)语句后,字符数组t中的内容为“at b}}}★”。因此D选项正确。
7[单选题] 有以下程序
程序的运行结果是
A.14B.20C.10D.16
参考答案:A
参考解析:*(*(P+m)+k)系统默认为指针指向数组中第[m][k]个元素,因此,在for循环中,n+=*(*(P+m)+k);执行的是将数组x[0][1]和x[1][1]累加后赋值给n,最后进行输出,答案为A选项。第7题 笔记记录我的笔记(0) | 精选笔记(1)选择笔记标签:试题内容(1)答案解析(0)
8[单选题] 以下关于结构化程序设计的叙述中正确的是( )。
A.结构化程序使用goto语句会很便捷
B.在c语言中,程序的模块化是利用函数实现的
C.一个结构化程序必须同时由顺序、分支、循环三种结构组成
D.由三种基本结构构成的程序只能解决小规模的问题
参考答案:B
参考解析:滥用90t0语句将使程序的流程毫无规律,可读性差,对于初学者来说尽量不要使用,所以A错误。—个结构化程序可以包含顺序、分支、循环结构中的一种或多种,所以C错误。由三种基本结构构成的程序可以解决任何复杂的问题,所以D错误。
9[单选题] 下列定义变量的语句中错误的是( )。
A.int jnt;B.double int_;C.char For;D.float US$;
参考答案:D
参考解析:C语言规定,变量命名必须符合标识符的命名规则。D选项中包含了非法字符“$”,所以错误。标识符由字母、数字或下划线组成,且第一个字符必须是大小写英文字母或者下划线,而不能是数字。大写字符与小写字符被认为是两个不同的字符,所以For不是关键字for。
10[单选题] 程序调试的任务是( )。
A.设计测试用例
B.验证程序的正确性
C.发现程序中的错误
D.诊断和改正程序中的错误
参考答案:D
参考解析:程序调试的任务是诊断和改正程序中的错误。
相关推荐: