C语言基础下的C++入门

喜欢的可以收藏转发加关注

小程序的入门(一)~~!!

VS

#include<iostream>
using namespace std;//命名空间 相当于 #include<iostream.h> -->> C92版本
int addArray(int *addArray,int n);
int main(){
int data[] = {0,1,2,3,4,5,6,7,8,9};
int size =sizeof(data)/sizeof(data[0]);
cout< return 0;
}
int addArray(int *array,int n){
int sum = 0;
int i;
for(i=0;i sum += *array++;
}
return sum;
}
/<iostream.h>/<iostream>


这个小程序展示了C++对象的第一次使用。对象在哪里?就是“cout”。

C语言里的printf是一个函数,而C++里的cout是一个输出流对象,他是“console out”(控制台输出)的缩写,是属于basic_ostream类的对象。ostream类在iostream头文件中定义。

using namespace

这是一个指定,这条指定带给我们一个全新的概念:名字空间

C++标准库所使用的所有标识符或叫关键字(例如类,函数,对象等的名称)都是在同一个特殊的名字空间(std)中来定义的(相当于java里的包)。如果没有使用这条指令的话,我们将需要使用std::cout这样的语法来调用输出流对象。

C语言基础下的C++入门


在C语言里这个操作符叫左移操作符,在C++里并不是说改规则了,不是左移操作符了,而是体现了C++里的另一个特点:支持重载。重载事实上就是允许我们按照不同的方式使用同一个操作符,在不同的语境里发挥不同的作用。

小程序入门(二)

VS


要求:编写一个程序,要求用户输入一串整数和恩义数目的空格,这些整数必须位于同一行中,但允许出现在该航中的任何位置,当用户按下键盘上的enter键的时候,数据输入结束。程序自动对所有的整数进行求和并打印出结果。

C语言实现:>>>


#include<stdio.h> 

int main(){
int num,sum=0;
char ch;
while(scanf("%d",&num)==1){//scanf函数如果正常接收了一个指定数据 返回值是1 否则接收不正常
sum += num;
while((ch=getchar())==' ') ;//这个循环的作用是从缓冲区获取一个字符给ch 用来屏蔽空格
if(ch=='\n') break;//如果获得的非空字符是回车 就跳出循环 输出计算结果
ungetc(ch,stdin);
//如果从缓冲区获得的字符既不是空格 也不是回车 那说明是数字(数字是以某字符的ASC||码的形式存在ch里的) 就要把这个数字重新退回到缓冲区否则会影响计算
}
printf("%d",sum);
return 0;
}
//输入 22 22 33 44
//结果 132
/<stdio.h>


C++实现:>>>


#include<iostream>
using namespace std;
int main(){
int sum = 0;
cout< int i;
while(cin>>i){//从输入流对象中提取一个i类型的数据
//cin>>i返回输入流对象本身 也就是cin但是如果到达了文件尾或提取操作符遇到一个非法值 返回false

sum += i;
while(cin.peek()==' ') cin.get();//从缓冲区获取一个字符下面有关于这个函数的讲解
if(cin.peek()=='\n') break;
}
cout< return 0;
}
/<iostream>


cin

C++实现的例子里使用了流的对象cin。这个对象的类型是istream,他知道如何从用户终端读取数据。

cin>>i;cin输入操作符又称为提取操作符,他一次从输入流对象中提取一个i类型的数据,在这个例子里i是整数,所以就从输入流里读取一个整数类型的数据。

当用户进行键盘输入的时候,对应的字符将输入到操作系统的键盘缓冲区中。这样当用户点击enter建的时候,操作系统把键盘缓冲区的内容传输到cin流的内部缓冲区,">>"操作符随后从这个缓冲区提取需要的信息。

C语言基础下的C++入门


最初定义为右移操作符,在C++中进行了重载,当他按照这里所提示的方式使用的时候,他就用于从输入流对象提取信息。

另外,这个操作符对所有内建的数据类型都进行了重载,所以他可以从输入流对象中提取字符串,float,double,int等数据

cin>>i返回输入流对象本身 也就是cin但是如果到达了文件尾或提取操作符遇到一个非法值 返回false。

cin cout对象的多个方法介绍


cin.ignore();:cin.ignore(a,ch)方法是从输入流(cin)中提取字符,提取的字符被忽略(ignore),不被使用。每抛弃一个字符,它都要计数和比较字符:如果计数值达到a或者被抛弃的字符是ch,则cin.ignore()函数执行终止;否则,它继续等待。它的一个常用功能就是用来清除以回车结束的输入缓冲区的内容,消除上一次输入对下一次输入的影响。

C语言基础下的C++入门


例如:比如可以这么用:cin.ignore(1024,'\n'),通常把第一个参数设置得足够大,这样实际上总是只有第二个参数'\n'起作用,所以这一句就是把回车(包括回车)之前的所以字符从输入缓冲(流)中清除出去。

cin.getline();:接收一个字符串,可以接收空格并输出,需包含“#include<string>”/<string>

#include <iostream> 
using namespace std;
main ()
{
char m[20];
cin.getline(m,5);
cout<}
//输入:jkljkljkl
//输出:jklj
//接受5个字符到m中,其中最后一个为'\0',所以只看到4个字符输出;
/<iostream>

cin.get();:

cin.get(字符变量名)可以用来接收字符;

cin.get(字符数组名,接收字符数目)用来接收一行字符串,可以接收空格;

cin.get(无参数)没有参数主要是用于舍弃输入流中的不需要的字符,或者舍弃回车

//用法1
#include <iostream>
using namespace std;
main ()
{
char ch;
ch=cin.get(); //或者cin.get(ch);
cout<}
//输入:jljkljkl

//输出:j//用法1
#include <iostream>
using namespace std;
main ()
{
char ch;
ch=cin.get(); //或者cin.get(ch);
cout<}
//输入:jljkljkl
//输出:j
/<iostream>
/<iostream>


#include <iostream> 
using namespace std;
main ()
{
char a[20];
cin.get(a,20);
cout</<iostream>

cin.peek();:cin.peek()的返回值是一个char型的字符,其返回值是指针指向的当前字符,但它只是观测指针停留在当前位置并不后移;如果要访问的字符是文件结束符,则函数值是EOF(-1)

C语言基础下的C++入门

cout.precision();:cout.precision()其实是输出流cout的一个格式控制函数,也就是在iostream中的一个成员函数。precision()返回当前的浮点数的精度值,而cout.precision(val)其实就是在输出的时候设定输出值以新的浮点数精度值显示,即小数点后保留val位

cout.width();:函数的返回值:当前输出值。

学习C/C++的伙伴可以私信回复小编“学习”领取全套免费C/C++学习资料及学习视频

C语言基础下的C++入门


分享到:


相關文章: