- 注册时间
- 2011-1-27
- 最后登录
- 2021-8-19
- 在线时间
- 229 小时
终身VIP会员
花钱是让你服务的,不是叫你大哥 ...
- 魔鬼币
- 10632
|
发这个贴的目的,主要是让很多和曾经的我一样的迷途的人找到一个突破口,谋求共同进步。
教材是C++ PRIMER 4TH 中文版的,个人感觉这本教材,新手自学入门,是不错的!(作业会不断补全)
教程下载地址:http://www.verycd.com/topics/147662/
谈下这几天的C++自学,这本书,我看了5天了吧,1天看一章。
乍看,进度似乎不慢,但事实我知道,从这本教材的信息量来看,对于我这个新手,这样的学习进度有点囫囵吞枣了,自己是必然不能完全消化的。
直接导致的问题是,学习过程中疑问和问题实在太多,而有一部分问题,似乎又只能通过今后的学习才能找到答案,还有一些常识性的计算机问题,或许是先前打了一些计算机的基础,所以通过查询资料一般都能克服和解决。
另外,需要时刻告诫自己,第一点是坚持,第二点是欲速则不达。
前置我学习了汇编语言,计算机基本原理之类的,是一些基础的计算机知识,比如内存的基本知识、进制转换,补码 原码 ASCII码,线程,指针,以及一些简单的计算机程序思维,这对现在的C++学习确实有不少的帮助。
即便如此,依然感觉有点累...
文中有些英语术语、以及一些代码原文标注,对于一些英语不是特别擅长的人来说可能有一点困难,我推荐 金山词霸2011,又不了解的单词和词组,可以加入生词本,还可以翻译一些短句以便理解。
说实话,我现在也很无奈和迷茫,前路中谁给我指引一盏明灯呢???
---------------------------------------------------------------------------------------------分界线以下是作业:
习题1.3
#include<iostream>
using namespace std;
int main()
{
cout<<"Hello World."<<endl;
return 0;
}
习题1.4
int product(int,int);
int main()
{
int x,y;
cout<<"请输入一个乘数和一个被乘数:\n";
cin>>x>>y;
cout<<product(x,y)<<endl;
cout<<"Hello World."<<endl;
return 0;
}
int product(int x,int y)
{
return x*y;
}
习题1.6
int main()
{
int v1,v2;
cout<<"The sum of "<<v1;
<<" and "<<v2; //少一个cout或者可以将前一句的;去掉
<<" is "<<v1+v2 //同上
<<endl;
return 0;
}
cpp(7) : error C2143: syntax error : missing ';' before '<<'
习题1.9
int sum=0;
for(int i=-100;i<=100;++i)
{
sum+=i;
}
cout<<sum<<endl;
答:sum=0
习题1.10
用for循环编程,求从50到100的所有自然数的和,然后用while重写该代码。
int sum=0;
for(int i=50;i<=100;++i)
{
sum+=i;
}
// sum=3825
cout<<sum<<endl;
while语句:
int sum=0,i=50;
while(i<=100)
{
sum+=i;
++i;
}
习题1.11
int i=10;
while(i>=0)
{
cout<<i<<" ";
--i;
}
用for语句重写:
int i=10;
for(i=10;i>=0;--i)
{
cout<<i<<" ";
}
习题1.12
For语句相对while语句更简洁。
习题1.13
略。
习题1.14
如果输入的值相等,那么条件v1<=v2成立,执行:
Lower=v1;upper=v2;
然后for循环执行一句sum+=val,接着++val,跳出for循环,输出Sum of……=val;
习题1.15
习题1.16
cout<<"Enter two numbers:"<<endl;
int v1,v2;
cin>>v1>>v2;
int upper;
if(v1<=v2){
upper=v2;
} else {
upper=v1;
}
cout<<upper<<endl;
习题1.17
int main()
{
int count=0,value;
while(cin>>value) // 使用”/”作为文件结束符。
if(value<=0){
++count;}
cout<<"负数一共有 :"<<count<<endl;
return 0;
}
习题1.18
int lower,upper;
cout<<"请输入两个整数:";
int x,y;
cin>>x>>y;
if(x<=y){
lower=x;
upper=y;}
else {
upper=x;
lower=y;}
for(int val=lower;val<=upper;++val)
{
cout<<val<<" ";}
return 0;
习题1.19
int lower,upper;
cout<<"请输入两个整数:";
int x,y;
cin>>x>>y;
int sum=0;
for(int val=lower;val<=upper;++val)
{
sum+=val;}
cout<<sum<<endl;
因为x和y没有初始化赋值,(for循环第一个条件没通过)所以标准输出了一个编译器给定的随机数。 |
|