C语言编程:字符转换与数组反转

需积分: 7 1 下载量 188 浏览量 更新于2024-09-16 收藏 311KB TXT 举报
"计算机二级考试复习资料,包含两个C语言编程题目解析" 计算机二级考试是针对非计算机专业人员的一项认证,考察的是基本的计算机知识和编程能力。在准备这样的考试时,了解并掌握C语言的基本语法和常见问题解决策略至关重要。下面我们将详细探讨给定文件中的两个C语言编程题目及其解决方案。 第一个程序是关于字符转换的函数`fun()`。这个函数的目标是将输入的小写字母转换为大写字母,大写字母转换为小写字母,而其他非字母字符保持不变。代码中有三个空格需要填写正确的表达式: 1. `if((ch>='a')___1___(ch<='z'))`: 这个条件用于检查输入字符`ch`是否为小写字母。正确的填空应为`&&`,使得条件为`if((ch>='a') && (ch<='z'))`,表示`ch`既大于等于'a'又小于等于'z',即在小写字母范围内。 2. `if(isupper(ch))`: 这个条件用于处理大写字母。当`ch`是大写字母时,我们需要将其转换为小写字母。正确的填空是`'A'`,使得返回值为`return ch-'A'+'a';`,即将大写字母减去'A'的ASCII值再加'a'的ASCII值,得到相应的小写字母。 3. `return___3___;`: 当`ch`既不是小写字母也不是大写字母时,我们返回原字符。所以正确填空为`ch`,即`return ch;`,保持字符不变。 第二个程序涉及数组的逆序输出。`fun()`函数接收一个包含4个整数的数组,并将其逆序输出。代码中有两个关键部分: 1. `void fun(int a)`: 函数声明接受一个整型数组`a`。为了实现逆序输出,我们需要遍历数组并交换元素的位置。 2. `for(j=M-1;j>0;j--)aa[j]=a[j-1];`: 这段代码将数组的每个元素向左移动一位,将`a[j-1]`复制到`a[j]`的位置。然后,将最后一个元素`a[M-1]`赋值给`a[0]`。这样,整个数组就被倒置了。 在`main()`函数中,调用`fun(a)`来处理数组`a`,并输出结果。注意,这里没有初始化数组`a`,因此实际运行时可能得到不确定的结果。为了确保正确性,应在调用`fun()`之前对数组进行初始化。 通过这两个题目,我们可以复习到C语言中的条件判断、字符处理、数组操作以及函数的使用等基础知识,这些都是计算机二级考试中常见的考点。考生在备考过程中,应多做此类练习,熟悉C语言的编程逻辑和语法规范。