最后 a 和 b 的值分别为 2 和 1。 (21)d 【解析】 本题中,程序每执行一次循环 x 的值减 2,循环共执行 4 次。当 x 的值为 8,4,2 时,printf 语句先 输出 x 的值,再将 x 的值减 1。而当 x 为 6 时,if 语句条件成立,程序先将 x 的值减 1,再将其输出。所以输出结果为 选项 d)。 (22)a 【解析】 选项 a)中变量 n 的值,先自加 1,再进行循环条件判断,此时循环条件 n<=0 不成立,跳出循环。 所以正确答案为 a。 (23)d 【解析】 在程序中指针变量 p 初始指向 a[3],执行 p 减 1 后,p 指向 a[2],语句 y=*p 的作用是把 a[2]的值 赋给变量 y,所以输出为 y=3。正确答案为 d)。 (24)c 【解析】 本题考查的是二维数组的定义和初始化方法。c 语言中,在定义并初始化二维数组时,可以省略 数组的第一维的长度,但是不能省略第二维的长度。故选项 c)错误。 (25)a 【解析】 语句 p=s 的作用是把字符数组 s 的首地址作为初值赋给了指针变量 p,并且使 p 指向了字符数 组 s 的第一个字符 s[0]。
(26)d 【解析】 c 语言中数组下标是从 0 开始的,所以二维数组 a[2][3]的第一维下标取值为 0、1;第二维的下 标取值为 0、1、2,因而选项 a)、b)、c)都是错误的,选项 d)表示是数组元素 a[0][0]。所以正确答案为 d)。 (27)d 【解析】 在格式输入中,要求给出的是变易的地址,而 d)答案中给出的 s[1]是一个值的表达式。 (28)d 【解析】 c 语言中的预处理命令以符号#开头,这些命令是在程序编译之前进行处理的,选项 d)的描述错 误。 故答案选 d)。 (29)a 【解析】 本题考查的是 typedef 的用法和结构体变量的定义方法。typedef 可用于声明结构体类型,其格 式为:typedef struct {结构元素定义}结构类型; 本题正确答案为 a)。 (30)b 【解析】 getchar 函数的作用是从终端读入一个字符。 (31)c 【解析】 在 for(i=0;i<12;i++) c[s[i]]++中,数组元素 s[i]的值作为数组 c 的下标,当退出循环时,数组 c 的 4 个元素的值分别为 4、3、3、2。所以输出结果为选项 c)。
(32)c 【解析】 函数 fun(int *s,int n1,int n2)的功能是对数组 s 中的元素进行首尾互相调换。所以在主函数中, 当 fun(a,0,3)执行完后,数组 a[12]={4,3,2,1,5,6,7,8,9,0};再执行 fun(a,4,9),数组 a[12]={4,3,2,1,0,9,8,7,6,5};再执行 fun(a,0,9)后,数组 a[12]={5,6,7,8,9,0,1,2,3,4}。所以正确答案为 c)。 (33)a 【解析】 函数 fun(char *s[],int n)的功能是对字符串数组的元素按照字符串的长度从小到大排序。在主 函数中执行 fun(ss,5)语句后,*ss[]={"xy", "bcc", "bbcc", "aabcc", "aaaacc"},ss[0],ss[4]的输出结果为 xy,aaaacc。 所以选 项 a)为正确答案。 (34)c 【解析】 函数 int f(int x)是一个递归函数调用,当 x 的值等于 0 或 1 时,函数值等于 3,其它情况下 y=x2-f(x-2)。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-28349-45.html
其实我们中华民族是最不怕死的
我身边成千上万的企业退休老人都和我一样