笔记24/1/27

本文介绍了C++编程的两个练习:计算1+2+3+...+n的和以及统计输入字符串中的字符类型。作者反思了代码风格问题,并提及了C++中运算符优先级、函数作用域和ctype.h库的使用。
摘要由CSDN通过智能技术生成

出门旅了三天游 补一下学习和笔记

上次笔记后的测试作业:

作业一:实现1+2+3+4+5+...+n

作业二:从键盘输入一行字符,统计一行字符中的数字字符、英文字符、大写字符的个数

作业代码如下:

#define _CRT_SECURE_NO_WARNINGS
#include<bits/stdc++.h>
using namespace std;

//实现1+2+3+4+5+...+n
void test01()
{
	int n = 0, sum = 0;
	cout << "请输入n的值 以便于计算1+2+3+4+5+...+n的值" << endl;
	cin >> n;
	for (int i = 1; i <= n; i++)
	{
		sum += i;
	}
	cout << "当n为" << n << "时,1+2+3+4+5+...+n的值为:" << sum << endl;
}
//从键盘输入一行字符,统计一行字符中的数字字符、英文字符、大写字符的个数
void test02()
{
	char arr[100];
	int sum_lowercase = 0, sum_uppercase = 0, sum_digit = 0;

	cout << "请输入一行字符 以便于统计其中的数字字符、英文字符、大写字符的个数:" << endl;
	cin >> arr;
	for (int i = 0; arr[i] != '\0'; i++) // 遍历整个字符串直到结束符'\0'
	{
		if (arr[i] >= 'a' && arr[i] <= 'z')
			sum_lowercase++;
		else if (arr[i] >= 'A' && arr[i] <= 'Z')
			sum_uppercase++;
		else if (arr[i] >= '0' && arr[i] <= '9')
			sum_digit++;
	}
	cout << "小写字母总计:" << sum_lowercase << endl;
	cout << "大写字母总计:" << sum_uppercase << endl;
	cout << "数字总计:" << sum_digit << endl;
}
int main()
{
	test01();
	system("pause");
	system("cls");
	test02();
	system("pause");
	system("cls");
	cout << "*****请按ENTER键退出进程*****" << endl;
	return 0;
}

不足:

①写的代码像大奋,C不是C,C++不是C++,被老师调侃为“四不像”。

②本推文后面学习了相关ctype.h库的使用,test02可以进行优化:

关于程序运行窗口的退出代码:

之前的一个误区:程序正常运行后的 窗口,有时候退出代码为非零,此时程序并不能正常运行到‘’终止退出行‘’,即在改代码中,程序运行后于第四行戛然而止。错误运行图片如下:

而正确运行的程序,其正常退出代码应该为0:

关于函数的作用域和生存周期(简单一提及):

int g_val = 0;加上一个static后变成静态全局变量:static int g_val = 0;

关于C语言中运算符的优先级和结合性:

通过运算符优先级和结合顺序可知:该示例自左向右结合。d=1 。

逻辑运算符和其他运算符优先级:
if_else语句分支图:
①单分支语句:

②双分支语句:

③多分支语句;

关于for循环内定义的有效生存期:

for内初始化的i值存放在栈区,系统(编译器)会在for循环结束后将其销毁回收

想要将i的生存期拉长,可将i提出for内初始化,程序运行结束后系统将其销毁收回:

for循环和while循环的格式:
①for循环

for(初始化语句;条件判断;迭代)

{

        循环体;

}

②while循环

while(条件判断)

{

        循环体;

}

关于跳出循环
①需要注意的是break只能跳出一层循环:

同理 在下面伪代码中,break只跳出了第一层内for循环

②continue则是跳出本轮循环(一下跳多次):

for循环和while循环的区别,现在不做考究,chat了一下:

**C语言头文件库:#include<ctype.h>

ctype.h库包含:

详见CSDN推文:【C语言】<ctype.h> 字符操作函数(详解+用法+模拟实现)_#include <ctype.h>-CSDN博客

笔记时间24/1/27

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值