卡码网语言基础课 | 句子缩写 11

本文介绍了如何在C++中利用ASCII码值比较字符串,使用getchar()和getline()函数读取输入,处理循环次数,定义和使用函数、形参实参以及引用的概念,并展示了如何实现一个将小写字母转换为大写字母的示例。
摘要由CSDN通过智能技术生成


一、ASCII码值

如何比较字符串的大小
在这里插入图片描述
从上表可以看到,小写字母从 ‘a’ 到 ‘z’ 对应的ASCII码值是从 97 到 122,而大写字母从 ‘A’ 到 ‘Z’ 对应的ASCII码值是从 65 到 90, 大小写字母之间的差值为32,所以可以通过数学运算将大写字符加上32后转换为小写字符。


二、getchar()、getline()

getchar() //函数来吸收一个回车符
getline(cin, s); // 从标准输入读取一行字符串,存储在字符串变量 s中

三、循环数处理n行

  cin >> n;
  while (n--)

四、函数

// char代表返回类型,changeChar代表函数名称,char a表示函数接收一个字符a作为参数
char changeChar(char &a) {
  if (a >= 'a' && a <= 'z') a -= 32;
  // 返回类型为char, 最终还要返回a
  return a;
}

返回类型:返回结果是经过转换后的大写字符,所以返回类型为char
函数名:可以自定义,这里使用changeChar作为函数的名称
形参列表:之前的形参列表为空,而一般的形参列表通常包括参数类型和参数名称。参数类型表示参数的数据类型,可以是内置数据类型(例如整数、字符、浮点数等)、用户自定义的数据类型。参数名称通常是用来描述参数的有意义的名称,可以在函数体内部使用,这里接收一个字符作为输入,所以形参列表类型为char, 参数名称可以用a表示, 引用传递&意味着函数可以修改传递给它的参数。


五、形参实参

形参是函数定义中声明的参数,位于函数的参数列表中。形参的作用是定义函数接受的参数的类型和名称,定义的形参只在函数执行期间有效,在函数执行完毕后会被销毁。而且它作用的范围(作用域)仅限于函数体内部,因此它们与函数外部的变量名称可以相同,而不会发生冲突。
实参是函数调用中传递给函数的具体值或变量,实参传递的值必须与函数的形参类型匹配,否则会发生类型错误。


六、引用

在定义函数的时候,我们写形参列表的时候使用了&a的形式,这里的&表示参数a是一个引用,这里的“引用”是什么意思呢?

引用实际上是为变量起了另外一个名字,并且在引用上执行的操作会影响到引用所指向的原始变量。在声明引用时,需要在变量名前使用 & 符号。引用必须在声明时进行初始化,并且一旦初始化,就不能改变引用的目标。

int a = 10;
int &ref = a; // 声明并初始化引用为a

七、题目

在这里插入图片描述在这里插入图片描述

#include<iostream>
#include<string>
using namespace std;
// 将小写字母转换成大写字母的函数
char changeChar(char a) { 
    if (a >= 'a' && a <= 'z') a -= 32;
    return a;
}
int main() {
    int n;
    string result, s;
    cin >> n;
    getchar();
    while (n--) {
        result = "";
        getline(cin, s);
        result += changeChar(s[0]); // 将s[0]传递到参数进行处理,转换成大写字母
        for (int i = 1; i < s.size() - 1; i++) { 
            if (s[i] == ' ' && s[i + 1] != ' ') {
              result += changeChar(s[i + 1]); // 将s[i+1]传递到参数进行处理,转换成大写字母
            }
        }
        cout << result << endl;
    }
}
  • 20
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值