正确答案: C
31
题目:有以下程序#include <stdio.h>int fun(int (*s)[4],int n, int k){ int m, i; m=s[0][k]; for(i=l; i<n; i++) if(s[i][k]>m) m=s[i][k]; return m;}main(){ int a[4][4]={{1,2,3,4},{11,12,13,14},{2l,22,23,24},{31,32,33,34}}; printf("%d\n", fun(a,4,0));}程序的运行结果是
解析:本题考查的重点还是二维数组的操作。题目将二维数组与函数相结合,考查了函数对二维数组的调用。程序主体分为两个部分:主函数main和函数fun。main函数结构较简单,功能很明确,首先初始化了一个二维数组,随后将fun(a,4,0)作为printf函数的实参输出。下面分析一下fun函数的作用,fun函数包括三个形参,其中一个形参为用指针定义的二维数组,另外两个为整型常量n和k。在fun函数中,先定义了一个整型变量m=s[0][k],表示m为s中第1行第k+1列的数据。下面的for循环是题目的关键,该for循环的意义是令m为数组s中k+1列从第1行到第n行的数据中最大的数值。题目中m的初始值为a[0][0],即m=1,从第1行到第4行第1列上的数值分别为1,11,21,31。最大的数为31,令m=31,返回m,并将m作为结果输出。
查看原题
举一反三的答案和解析:
[单选题]当说明一个结构体变量时系统分配给它的内存是( )。
各成员所需要内存量的总和
解析:解析: 本题主要考查结构体的内存使用:对结构体而言,结构中不同的成员分别使用不同的内存空间,一个结构所占内存空间的大小是结构中每个成员所占内存空间大小的总和,结构中每个成员相互独立。
[单选题]以下关于C语言数据类型的叙述中正确的是( )。
若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型
解析:解析:C基本数据类型包括:分为整型、实型、枚举型、字符型四种,实型就是浮点型,实型数据只有十进制,没有2,8,16进制表达,在C语言中没有定义逻辑类型,而是一般用0代表假,用非零代表真。
[单选题]已知有结构体: struct sk { int a; float b; }data,*p; 若有p=&data, 则对data的成员a的正确引用是( )。
(*p).a
解析:解析:本题主要考查结构指针:p=&data,访问结构体的成员,可以通过结构变量访问,即data.a也可以用等价的指针形式:(*p).a和p->a来访问结构体变量中的成员。
[多选题]Photoshop中要缩小当前文件的显示比例,可以执行哪三项操作()
选择缩放工具同时按住Alt键单击图像
按Ctrl+-键
在状态栏最左侧的文本框中输入一个小于当前数值的显示比例数值
[单选题]有以下程序: main() { char s[]="ABCD", *p; for( p=s+1;ps+4;p++) printf("%s\n",p); } 程序运行后的输出结果是( )。
D
D
D
D
解析:解析:本题中首先定义一个字符数组s,并将字符串"ABCD"存到数组s中,定义了一个字符指针变量p,在接下来for循环中,循环体共执行了三次,第一次p指向s[1],所以此时输出的p所指字符串的值为BCD,第二次循环p指向s[2],此时输出p所指的字符串的值为CD,第三次循环p指向s[3],此时输出的p所指的字符串的值为D。所以,4个选项中选项D符合题意。
[单选题]下列叙述中正确的是______。
以上三种说法都不对
解析:解析:程序调试的任务是诊断和改正程序中的错误。它与软件测试不同,软件测试是尽可能多地发现软件中的错误。先要发现软件的错误,然后借助于一定的调试工具去找出软件错误的具体位置。软件测试贯穿整个软件生命期,调试主要在开发阶段。为了达到更好的测试效果,应该由独立的第三方来构造测试。因为从心理学角度讲,程序人员或设计方在测试自己的程序时,要采取客观的态度是程度不同地存在障碍的。软件的运行和维护是指将已交付的软件投入运行,并在运行使用中不断地维护,根据新提出的需求进行必要而且可能的扩充和删改。