C语言试题解析:寻找最短字符串

需积分: 1 0 下载量 148 浏览量 更新于2024-09-13 收藏 133KB TXT 举报
"C语言2013年3月考试题及解答" 本次考试涉及的知识点主要集中在C语言的基础语法和字符串处理上。首先,我们分析给出的代码片段。 第一部分代码是一个名为`fun`的函数,它接收一个二维字符数组`ss`和一个整型指针`n`作为参数。该函数的目的是找出`ss`中所有字符串中最短的字符串的长度,并将其存储在`n`指向的位置,同时返回最短字符串的索引。这里涉及的关键点有: 1. 遍历字符串数组:在`for`循环中,`i<___1___`应该表示遍历整个二维数组,所以填入`M`,即`for(i=0;i<M;i++)`。 2. 比较字符串长度:条件`if(len___2___*n)`用于判断当前字符串`ss[i]`的长度是否小于已找到的最短字符串的长度。因此,填入`<`,即`if(len<*n)`。 3. 返回最短字符串索引:函数`fun`最后应返回最短字符串的索引,所以填入`k`,即`return(k)`。 第二部分代码定义了一个名为`fun`的函数,这个函数接受一个字符数组`tt`,并将其所有小写字母转换为大写字母。这里的关键点包括: 1. 字符判断与转换:在`for`循环中,`if(('a'<=tt[i])||(tt[i]<='z'))`检查当前字符`tt[i]`是否是小写字母,如果是,则执行转换操作。转换操作是将字符加上32,因为小写字母到大写字母的ASCII码差值正好是32。 2. 函数返回:`fun`函数返回修改后的`tt`数组,使得主函数可以输出转换后的字符串。 综合以上分析,我们可以总结出以下C语言知识点: 1. 数组的使用,特别是多维数组(如二维数组)的遍历。 2. 字符串处理函数`strlen`,用于计算字符串长度。 3. 比较运算符的运用,如`<`用于比较大小。 4. 指针的使用,如传递指针变量以更新其指向的值。 5. 字符的ASCII码理解,以及如何进行大小写字母的转换。 6. 函数的参数传递和返回值,包括对数组的引用传递。 7. 输入输出函数`printf`和`scanf`(虽然题目中未直接用到`scanf`,但在实际应用中常常与`printf`一起使用)。 8. 循环结构`for`和`while`的运用,以及条件判断语句`if`。 9. 预处理器宏定义,如`#define M 5`和`#define N 20`用于常量定义。 通过这样的练习,考生能够加深对C语言基础概念的理解,提高编程能力。