计算机等级考试二级备考

2021年9月全国计算机等级考试真题(二级C语言)

1.a++与++a

#include<stdio.h>
int main()
{
    int a = -5;
    printf("%d", a++);
}

输出结果为-5

#include<stdio.h>
int main()
{
    int a = -5;
    printf("%d", ++a);
}

输出结果为-4

而如果++a或者a++之后再printf(%d,a),结果都是-5

已知int a=6;则执行a+=a-=a*a;语句后,a的值为(-60)。

a-=36,相当于a=a-36,即a=-30;

又a+=a,a=a-30=-60

2.冒泡排序与选择排序

3.二叉树

 1、前序、中序、后序遍历

前序:先访问根节点,再依次向下访问左右节点 ,深度优先。

中序:左节点——根节点——右节点

后序:左节点——右节点——根节点

参考:一文搞懂二叉树的前序遍历,中序遍历,后序遍历 - 知乎

本题根据前序序列,根节点为A,根据中序序列,左节点有BDEGH,右节点有CIFJ

 二叉数习题:第6章 树和二叉树(习题) | PDF (scribd.com)

2.算数表达式的前缀、中缀、后缀

算数表达式的中缀运算符放在两个运算对象。

 中缀表达式:运算符放在两个运算对象中间,如:(2+1)*3
 后缀表达式:不包含括号,运算符放在两个运算对象的后面,所有的计算按运算符出现的顺序,严格从左向右进行(不再考虑运算符的优先规则,如:2 1 + 3 *
 前缀表达式:同后缀表达式一样,不包含括号,运算符放在两个运算对象的前面,如:* + 2 1 3 

参考:如何把算术表达式转化为后缀表达式 (sogou.com)

4.C语言规定,在一个C程序中,main()函数的位置()。

5.各个变量类型的优先级

6.赋值:a=b+c=2赋值是错的,因为不能把2赋值给b+c这个整体

7.逻辑运算符:c语言中提供了三种逻辑运算符,分别为&&,||和!,优先级为!,&&和||,逻辑运算符与其他运算符的关系。

赋值运算符<&&和||<关系运算府<算数运算府<!(从右往左)

8.数据类型转换:整型、实型和字符型数据可以进行混合运算,在进行运算时,一般类型的数据先转换成标准类型的数据,不同类型的数据要先转换成相同类型的数据,转换规则如下表所示。

不同类型的数据转换规则
一般类型转换为标准数据类型级别

char

short int

int

int最低

unsigned int

unsigned short int

unsigned int次低
long intlong int
unsigned longunsigned long次高

float

double

double最高

1/2结果为0,因为两者都是整型,而1.0/2则是0.5,因为可以隐式转换可以换成两个double类型相除。

 这道考的是强制类型转换,(int)(x+y)和(int)x+y是不同的两个概念,并且强制类型转换并不改变变量原有的值,只是得到一个中间值。

2.5+7%3*7%2/4=2.5+0=2.5

9.if语句的嵌套:if-else if-else语句

这个语句是if语句的多层嵌套,仅执行表达式为真的那个else if 后面的语句。若所有表达式的值都为0,则执行最后一个else后面的语句。

10.switch语句:见20题

#include<stdio.h>
main()
{
    int x=1,y=0,a=0,b=0;
    switch(x)
    {
        case 1:
            switch(y)
            {
                case 0:a++;break;
                case 1:b++;break;
            }
        case 2:
            a++;b++;break;
    }
    printf("a=%d,b=%d\n",a,b);
 }

这道题的输出结果是a=2,b=1;因为case后的常量表达式只起到语句标点的作用,不进行条件判断,所以在执行完某个case语句后将自动转移到下一个case语句执行,直到遇到switch语句的右花括号或者break语句为止。而case1后没有break,所以会执行case2。

11.指针

要背的

1.软件需求分析阶段任务:包括需求获取、需求分析、需求审评,不包括需求配置(第五题)

2.算法复杂度是指算法在编写成可执行程序后,运行时所需要的资源,包括时间复杂度和空间复杂度(第一题)

3.对象构成成份包括三种:属性 ,标识,方法(或操作),不包括规则(第七题)

4.C语言规定,在一个C程序中,main()函数可以在任何位置。(第十一题)

白痴题

12、14

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值