C\C++:涨知识啦~

本文介绍了C++中的do-while循环,强调了变量的作用域,解释了双引号与单引号在字符串比较时的区别,并探讨了使用尖括号和引号引入头文件的不同。同时,提到了头文件引入的顺序重要性,并展示了如何利用制表符 实现乘法表的对齐输出。
摘要由CSDN通过智能技术生成

1.do-while循环判断括号内变量范围

1.首先,来看以下这段代码:将用于判断是否循环执行的变量的定义,放在循环体内部。

#include <iostream>
using namespace std;
int main()
{
	do{
		int choice;
		cin>>choice;
		cout<<"***"<<endl;
	} while(choice);
	return 0;	
} 

2.编译后dev会毫不留情地爆出[ERROR],他是这么说的:‘choice’ was not declared in this scope。
真的是没有定义吗?
3.那么把choice定义在外边试试:

#include <iostream>
using namespace std;
int main()
{
	int choice;
	do{
		cin>>choice;
		cout<<"***"<<endl;
	} while(choice);
	return 0;	
} 

4.可以正确执行了!原来呀,这是因为定义在循环内部的变量作用范围只在循环内for\while循环也是。在循环后无法再次使用。

2.双引号和单引号在比较时的区别

1.首先,我么来看一段代码:用”“将字符#引起来,与输入的字符型变量ch作比较

#include <iostream>
using namespace std;
int main()
{
	char ch;
	cin>>ch;
	if(ch == "#")
	{
		cout<<"我是#号键!";
	}
	return 0;	
} 

2.编译,得到:[Error]ISO C++ forbids comparison between pointer and integer[-fpermissive]。这段报错的意思就是:C++不允许将指针和整数比较。
那你可能会问了:1)哪里来的整数(integer)呢?我们知道,C语言有个ASCLL编码,每个字符都对应这着一个十进制编码;2)哪里来的指针(pointer)呢?重点!!用双引号引起来表示的是这个字符的地址。
推荐文章:详细解释,值得一看click me

3.引入头文件时使用<>和“”的区别

<> :用于引入标准头文件,例如:C中<stdio.h>;C++中头文件。
“ ”:用于引入自定义头文件,例如:在一个项目中,自己写了一个文件(命名为:call.h),那么在主程序(命名为:main.cpp)中引入此文件时用:#include “call.h”。
推荐文章:详细解释,值得一看click me

4.引入头文件顺序重要吗

当然重要!在一个项目中,必不可少的就是在主程序中(假如叫做:main.cpp)引入多个文件(自己写的,或者是标准头文件)。那么先写哪个呢?随便写好不好?反正都放在程序的最开始的地方……
大错特错!!小编我因为这个引入头文件顺序问题闹了不少笑话 : () 。

#include "ususal_define.h"//内含标准头文件(要放在第一个位置)
#include "user_define.h"//内含用户我自定义的一些结构体等
#include "call.h"//用户我的一些调用函数(放在最后的位置)
int main()
{
	//此处省略代码段……
	return 0;
}

5.用制表符 \t 打印乘法表

按常理来说,一个制表符由系统决定它的大小,多少个空格,这是我原本理解的。突然遇到编写99乘法表,发现运用制表符居然可以使一位数和两位数乘法结果对齐,然后我就做了以下的测试。

#include <iostream>
using namespace std;
int main()
{
	for(int i=1; i<10; i++)
	{
		for(int j=1; j<=i; j++)
		cout<<j<<"*"<<i<<"="<<i*j<<"\t";	
		
		cout<<endl;
	}
	return 0;
}
/*
10	3
8	3

1	1	//3个空格
11	1	//2个空格
111	1	//1个空格
1111	1	//4
11111	1	//3
111111	1	//2
1111111	1   //1 
11111111	1
*/	

推荐文章:详细解释,值得一看click me

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值