C++ - 基本知识点(二)

C++ - 基本知识点(二)

ASCII

ASCII中 二进制数加后缀B,八进制数加后缀Q,十进制数加后缀D,十六进制数加后缀H,其中十进制的后缀D可以省略(默认)

ASCII码一览表,ASCII码对照表 (biancheng.net)

隐显转换

  • 隐式转换:char->int->long->double 或 float->double(系统根据需要而自动转换)

  • 显示转换:强制类型转换

  • 尽量用显示转换代替隐式转换

三大循环

while 语法结构

语法
while(条件表达式) {
	循环语句;
}

执行顺序:

①先对条件表达式进行判断(条件满足时,执行循环;不满足时,终止循环)

②执行循环语句。

③执行完所有循环语句,再进行条件判断。

注意:单条循环语句可以不加花括号{},如有多条循环语句,得加上花括号{}。

以下是一个简单的C++例子,演示了使用while循环语句的基本用法:

#include <iostream>
int main() {
    int i = 1;
    while (i <= 5) {
        std::cout << "当前数字为:" << i << std::endl;
        i++;
    }
    return 0;
}

这个例子中,我们使用了一个while循环来打印出数字1到5。首先,我们初始化一个变量i为1。然后,while循环的条件是i <= 5,即只要i小于等于5,就会一直执行循环内的代码。在循环内部,我们打印出当前的数字i,然后将i递增1。当i递增到6时,循环条件不再满足,循环结束。

运行这段代码,输出结果为:

当前数字为:1
当前数字为:2
当前数字为:3
当前数字为:4
当前数字为:5

for循环

语法
for(表达式1; 表达式2; 表达式3) {
	循环语句;
}

表达式1

表达式1为初始化部分,用于初始化循环变量的。

表达式2

表达式2为条件判断部分,用于判断循环时候终止。

表达式3

表达式3为调整部分,用于循环条件的调整。

执行顺序:

①初始化(只会在for一开始的时候执行一次)

②条件判断

③执行循环语句

④执行完循环语句后,进行调整部分,然后进行条件判断。

注意:单条循环语句可以不加花括号{},如有多条循环语句,得加上花括号{}。

以下是一个简单的C++例子,演示了使用for循环语句的基本用法:

#include <iostream>
int main() {
    for (int i = 1; i <= 5; i++) {
        std::cout << "当前数字为:" << i << std::endl;
    }
    return 0;
}

这个例子中,我们使用了一个for循环来打印出数字1到5。for循环的语法包括三个部分:初始化、循环条件和循环迭代。在这个例子中,我们在初始化部分将变量i初始化为1;在循环条件部分,我们设置条件为i <= 5,即只要i小于等于5,就会一直执行循环;在循环迭代部分,我们使用i++i递增1。每次循环执行完后,都会打印出当前的数字i

运行这段代码,输出结果为:

当前数字为:1
当前数字为:2
当前数字为:3
当前数字为:4
当前数字为:5

do…while()循环

语法
do {
	循环语句;
} while(条件表达式);

执行顺序:

①先执行do里面的循环语句

②执行完后,进行条件判断,满足则继续执行do里面的循环语句,不满足就结束循环。

注意:单条循环语句可以不加花括号{},如有多条循环语句,得加上花括号{}。

以下是一个简单的C++例子,演示了使用do…while循环语句的基本用法:

#include <iostream>

int main() {
    int i = 1;
    
    do {
        std::cout << "当前数字为:" << i << std::endl;
        i++;
    } while (i <= 5);
    
    return 0;
}

这个例子中,我们使用了一个do…while循环来打印出数字1到5。do…while循环的语法是先执行循环内的代码,然后再检查循环条件。在这个例子中,我们先打印出当前的数字i,然后将i递增1。然后,循环条件i <= 5被检查,如果条件为真,则继续执行循环;如果条件为假,则循环结束。

运行这段代码,输出结果为:

当前数字为:1
当前数字为:2
当前数字为:3
当前数字为:4
当前数字为:5

需要注意的是,do…while循环至少会执行一次循环内的代码,即使循环条件一开始就为假。

switch语句

switch基本语法结构如下

switch (expression) {
    case constant-expression :
       statement(s);
       break; /* 可选的 */
    case constant-expression :
       statement(s);
       break; /* 可选的 */
    /* 您可以有任意数量的 case 语句 */
    default : /* 可选的 */
       statement(s);
}

switch语句必须遵循下面的规则:

  • switch 语句中的 expression 是一个常量表达式,必须是一个整型枚举类型。

  • 在一个 switch 中可以有任意数量的 case 语句。每个 case 后跟一个要比较的值和一个冒号。

  • case 的 constant-expression 必须与 switch 中的变量具有相同的数据类型,且必须是一个常量或字面量。

  • 当被测试的变量等于 case 中的常量时,case 后跟的语句将被执行,直到遇到 break 语句为止。

  • 当遇到 break 语句时,switch 终止,控制流将跳转到 switch 语句后的下一行。

  • 不是每一个 case 都需要包含 break。如果 case 语句不包含 break,控制流将会 继续 后续的 case,直到遇到 break 为止。

  • 一个 switch 语句可以有一个可选的 default case,出现在 switch 的结尾。default case 可用于在上面所有 case 都不为真时执行一个任务。default case 中的 break 语句不是必需的

以下是一个简单的C++例子,演示了使用switch语句的基本用法:

#include <iostream>

int main() {
    int choice;
    
    std::cout << "请选择一个数字(1-3):" << std::endl;
    std::cin >> choice;
    
    switch (choice) {
        case 1:
            std::cout << "你选择了数字1" << std::endl;
            break;
        case 2:
            std::cout << "你选择了数字2" << std::endl;
            break;
        case 3:
            std::cout << "你选择了数字3" << std::endl;
            break;
        default:
            std::cout << "无效的选择" << std::endl;
            break;
    }
    
    return 0;
}

这个例子中,我们使用了一个switch语句来根据用户的选择输出不同的消息。首先,我们定义了一个变量choice来存储用户的选择。然后,通过std::cin从用户输入中获取一个数字。接下来,我们使用switch语句根据用户的选择执行相应的代码块。在每个case分支中,我们根据不同的选择输出不同的消息。如果用户的选择不匹配任何一个case,那么会执行default分支中的代码块。每个case分支的最后都需要使用break语句来跳出switch语句。

运行这段代码,根据用户的选择输出相应的消息。例如,如果用户输入1,则输出:

你选择了数字1

如果用户输入其他数字,则输出:

无效的选择

上一章:C++ - 基本知识点(一)
下一章:C++ - 变量

练习题

1.下列叙述中正确的是
A)C语言程序将从源程序中第一个函数开始执行
B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行
C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束
D)main可作为用户标识符,可以命名任意一个函数作为主函数

1 参考答案:C)
解答:
A)错误,由于main()不一定写在第一个位置上,所以该句话不准确。
B)错误,C语言中规定,程序必须从主函数开始执行,在主函数中结束。
C)正确。
D)错误,在main()函数中,main不可以作为标识符的名,但是在其它函数中,main可作为标识符的名称(不推荐这样做)。main()是程序的开始和结束的位置,不是任意函数都可以作为主函数。
7.若a是数值型,则逻辑表达式(a==1)||(a!=1)的值是
A) 1         B) 0        
C) 2         D) 不知道a的值,不能断定 
7 参考答案:A)
解答 a的值只有两种可能,等于“1”或者不等于“1”。该表达式(a==1)||(a!=1)的值永远为真,所以,该表达式的值为“1”。
12.有以下程序(提示:先把if和else配对)
#include<iostream.h>
int main()
{ 
  int a=1, b=0;
  if (!a)  b++;
  else if(a==0) 
  if(a)b+=2;
  else b+=3;
  cout<<b;
  return 0;
}
程序运行的结果是
A)0        B)1           C)2             D)3
参考答案:A
int a = 1, b = 0;
if (!a)  b++;
else if (a == 0)
    if (a)b += 2;
    else b += 3;
cout << b;

else if原先是没有大括号的,所以只能绑定下面一条语句(if),然后这个if语句也没有大括号,也只能绑定一条语句(else),剩下的cout就是在外面了
15.若有定义语句int a , b ; double x; 则下列选项中没有错误的是
A)switch (x%2)                    B)switch((int)x/2.0)
   { case  0:  a++; break;            { case 0: a++; break;
     case  1:  b++: break;              case 1: b++; break;
     default:  a++; b++;                default: a++; b++;
    }                                  }
C)switch((int)x%2)                 D)switch((int)(x)%2)
   { case 0:  a++; break;              { case 0.0: a++;bresk;
     case 1:  b++; break;                case 1.0: b++;break;
     default: a++; b++                   default: a++; b++;
   }                                   } 
参考答案:C
switch(必须为整数/枚举类型)
case:(必须是整数/枚举类型)
16.以下选项中与if(a==1)a=b;else a++;语句功能不同的switch语句是
A)switch(a)                  B)switch(a==1)
   { case 1:  a=b;break;         { case 0: a=b;break;
     default: a++;                 case 1: a++;
    }                             }
C)switch(a)                  D)switch(a==1)
   { defaule:a++;break;         { case 1: a=b;break;
     case 1: a=b;                  case 0: a++;
    }                          } 
参考答案:B
18.以下程序段的执行结果是
    int x=23;
    do
    {  cout<<x--;
     } while(!x);
A)输出230            B)输出23    
C)输出22		     	D)死循环
18 参考答案:B)
解答:先执行循环体,输出表达式x--的值为23,变量x的值为22,再判断循环条件!x,为假,则退出循环
22.有以下程序
#include <iostream.h>
int main()
{  
   int y=10;
   while(y--);
   cout<< y;
   return 0;
}
程序执行后的输出结果是
A)y=0       B) y=-1      C) y=1     D) while 构成无限循环
参考答案:B)
解答:本题注意,while(y--);。该语句后面有一个“;”。实际上该循环执行的是一个空语句,但变量y每执行一次会被减“1”。所以y的值最终为“-1”。
C语言的基本数据类型有____________、____________、____________ 。(不是C++)
参考答案:整型,字符型,浮点型
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Java橙旭源

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值