1.char类型的 :字符和数字
定义变量类型后一定要给变量初始化。
#include<iostream>
#include<stdio.h>
usingnamespace std;
int main()
{
char ch = 256+65;//不带''输入数字是256循环,'是ASCII码,不带''输入字符是错误的输入,带''是字符只能输出末尾一个字符,
cout << "ch = " << ch << endl;
return 0;
}
2.C语言与C++的输入输出区别:
C语言用scanf和printf输入与输出,头文件在stdio.h中
C++用cin>>和cout<<输入与输出,头文件在iostream中
#include<iostream>
#include<stdio.h>
usingnamespace std;
void main()
{
int a;
scanf("%d", &a);
int b;
cin>>b;
}
注意:scanf 输入时,给的是变量的地址scanf("%c",&a);
Cin输入时候,优化了C语言中的%c,%d,等,如何类型不匹配可以强制转换。
3.有符号字符与无符号字符区别;
有符号:char 范围(-128~127)
void main()
{
char ch = -128;//-128+256
cout<< ch<<endl;
}
///
void main()
{
char ch =129 ;//相当于129-256=-127(对应ASCII第二个元素)
while (ch <128)//死循环,ch值不可能超过128
{
cout << "ch = " << ch << endl;//输出ASCII对应的字符而不是数字
++ch;
}
}
无符号: unsigned char范围(0~255)
int Convert_char(unsignedchar ch)
{
while(ch > 256)
{
//ch -=256;
ch %= 256;
return ch;
}
return ch;
//return ch%256;//直接出来
}
void main()
{
unsignedchar ch = 65;//ch = A ,(int)ch = 65;
unsignedint number ;
cout << "Input one number :";//cin 65;
cin >> number;
Convert_char(ch);
cout << (int)ch<<endl;//强制转换
}
4.for while do…while{}:for更加严谨
void main()
{
int i = 10;
for (i; i<10; ++i)//和while用法相同,比while 更加严谨,可能一次也不执行
{}
}
void main()
{
int i = 10;
do
{
i++;
}while(i<10);//至少执行一次循环体
5.i++和++i 本质的区别:i++先赋值,产生临时变量,再自增,++i赋值的同时就已经自增了;
//++i
int increment()
{
value = value + 1;
return value;
}
//i++
int increment_1()
{
int tmp = value;
value = value + 1;
return tmp;
}
6.隐式转换:
float a =12.65;
int i = a;//隐式转换,可能会丢失数据
cout << "a = " << i;
7.break;//终止本次循环
continue;//不执行本次余下语句,再去判断条件