查阅你使用的编译器的文档,确定它所使用的文件命名约定。编译并运行 第2页的main程序。
文件名约定:*.c
int main(){
return 0;
}
改写程序,让它返回-1。返回值-1通常被当作程序错误的标识。重新编译并运行你的程序,观察你的系统如何处理main返回的错误标识。
程序源码:
int main(){
return -1;
}
运行结果:
没有任何报错。
编写程序,在标准输出上打印Hello,World。
程序源码:
#include
int main(void){
std::cout<<"Hello, World!"<
我们的程序使用加法来将两个数相加,编写程序使用乘法运算符*,来打印两个数的积。
程序源码:
#include
int main(void){
std::cout<<3<<"*"<<5<<'='<<3*5<
我们将所有输出操作放在 一条很长的语句中。重写程序,将每个运算对象的打印操作放在一条独立的语句中。
程序源码:
#include
int main(void){
std::cout<<3;
std::cout<<"*";
std::cout<<5;
std::cout<<'=';
std::cout<<3*5;
std::cout<
解释下面程序片段是否合法。如果程序合法它输出什么?如果不合法原因何在?应该如何修正?
std::out<<"The sum of "<
不合法,后面两行少了 std::out。修改后如下:
std::out<<"The sum of "<
编译一个包含不正确的嵌套注释的程序,观察编译器返回的错误信息。
程序源码:
#include
int main(void){
std::cout<<3;
std::cout<<"*";
std::cout<<5;
std::cout<<'=';
/ 注释
std::cout<<3*5;
std::cout<
支出下列哪些输出语句是合法的(如果有的话)。预测编译这些语句会产生什么样的结果,实际编译这些语句来验证你的答案(编写一个小程序,每次将上述一条语句作为其主题,改正每个编译错误。
std::out<<"/*";
std::out<<"*/";
std::out<*"/*"*/;
std::out<*"*/" /* "/*" */;
程序源码:
#include
int main(void){
std::out<<"/*";
std::out<<"*/";
std::out<*"/*"*/;
std::out<*"*/" /* "/*" */;
return 0;
}
编写程序,使用while循环将50到100的整数相加
程序源码:
#include
int main(void){
int i=50;
int sum = 0;
while(i<=100) sum+= i++;
std::cout<<"50~100的和为:"<
除了++运算符将运算对象的值增加1之外,还有一个递减运算符(–)实现将值减少1。编写程序,使用递减运算符在循环中按递减顺序打印10到0之间的整数。
程序源码:
#include
int main(void){
int i=11;
int sum = 0;
while(i--)std::cout<
运行结果:
编写程序,提示用户输入两个整数,打印出这两个整数所指定的范围内的所有整数。
程序源码:
#include
int main(void){
int s,e;
std::cout<<"请输入两个整数:";
std::cin>>s>>e;
while(s<=e)std::cout<
下面的for循环完成了什么功能?sum的终值是多少
int sum = 0;
for(int i=-100;i<=100;++i)
sum+=i;
求和-100~100。sum的终值为 0。
使用 for 循环重做1.4.1节中的所有联系(第11页)。
程序源码:
// 1.9
#include
int main(void){
int sum = 0;
for(int i=50;i<=100;) sum+= i++;
std::cout<<"50~100的和为:"<
int main(void){
for(int i=10;i>=0;i--)std::cout<
int main(void){
int s,e;
std::cout<<"请输入两个整数:";
std::cin>>s>>e;
for(int i=s;i<=e;++i)std::cout<
对比for与while,两种形式的优缺点
for 循环清晰明了,一般 用于确定循环次数的循环
while 对于非确定循环次数的循环更方便。
编写程序,包含第14页中“再探编译”中讨论的常见错误,熟悉编译器生成的错误信息。
编写程序,从cin读取一组数,输出其和。
程序源码:
#include
int main(void){
int t;
int sum=0;
std::cout<<"请输入整数:";
while(std::cin>>t)sum+=t;
std::cout<
如果输入的所有值都是相等的,本节的程序会输出什么?如果没有重复值输出又会怎么样?
如果输入的所有值都是相等的,则输出的值会显示输出n次。
如果输入的所有值没有重复值,则每个值都会输出一次。
编译并运行本节的程序,给它输入全都相等的值。再次运行程序,输入没有重复的值。
程序源码:
#include
int main(void){
int currVal = 0,val = 0;
if(std::cin >>currVal){
int cnt=1;
while(std::cin>>val){
if(val == currVal)++cnt;
else{
std::cout<
修改你为1.4.1节练习1.10(第11页)所编写的程序(打印一个范围内的数),使其能处理用户输入的第一个数字比第二个数字小的情况。
程序源码:
#include
int main(void){
int s,e;
std::cout<<"请输入两个整数:";
std::cin>>s>>e;
int t;
if(s>e){
t = s;
s= e;
e=t;
}
while(s<=e)std::cout<