在c++常见的循环中,和c语言一样,包含了while,for,do while等循环,这些基本的循环我们都比较熟悉。
在看到一般的判断条件时,有时候大家可能搞混了strcmp()的返回情况。一般来讲strcmp(str1,str2)中,当str1字符串大于str2时,返回值小于0,当str1等于str2时,返回值等于0,当str1小于str2时,返回值大于0.
c++中,有时候想在几秒之后输出语句,或者通过时间关系来判断程序执行,可以采用ctime类中的函数来实现,具体如下:
float sec;
cin>>sec;//设置程序等待时间 秒
clock_t delay=sec*CLOCKS_PER_SEC; //将等待时间转换为系统内部时间
cout<<"start "<<endl;
clock_t start=clock();//当前时间
while(clock()-start<delay)//while循环判断是否达到特定秒数后
{
;
} //当然可以再while循环中进行自己需要的操作。
c++中常见的重命名有两个关键字typedef和define关键字,如typedef int NAME,define int NAME;效果一样,都是把NAME定义为Int的别名,可以通过NAME来定义变量。
cin在输入字符串中,除非遇到enter回车键才认为是输入的结束,因此cin中的空格不会被记录起来,在使用连续输入一个字符串并且用#作为结尾的程序如下:
char ch;
int count=0;
cin>>ch;
while (ch!='#')
{
cout<<ch;
count++;
//cin.get(ch);
cin>>ch;
}
在执行过程中,输入n is ows # ass "enter"后 ,显示为nisows ,因为cin在输入中直到遇到enter的时候才作为结束,所以按下回车键后,才当输入,空格也被忽略掉。
采用cin.get(ch)函数进行替换后,则能够正常执行,得到空格 以及能够按照预期输入进行输出。
通过cin可以判断文件结束符号,不过需要从键盘输入到其中,ctrl+z+enter,也就是文件结束符EOF从键盘的输入,要是同样采用上面的循环来判断的话,如下:
while(cin.fail()==false) / /cin.fail()==false来判断是否输入了文件结束符ctrl+z+enter按钮。其中cin.fail()是输入流判断文件结束的函数
{
cout<<ch;
count++;
cin.get(ch);
}
还可以采用以下两种方式:
while((ch=cin.get())!=EOF)
{
cout.put(ch);
}
while(ch!=EOF)
{
cout.put(ch);
count++;
ch=cin.get();
} 来进行判断,其中cin.get(ch)以及cout.put(ch)类似于c语言中的getchar()函数和putchar()函数,具体的cin.get()的应用,还可以参照之前的文章,浅谈系列。