2020年度钻石C++C学习笔记(2)--《博学谷》
2020年度钻石C++C--《博学谷》
1.以下标示符中命名合法的是A
A、__A__
B、ab.c
C、@rp
D、2Y_
2.设 a 和 b 均为 double 型变量,且a=5.5、b=2.5,则表达式(int)a + b / b的值是D
A、6.500000
B、6
C、5.500000
D、6.000000
3.C语言中的基本数据类型包括D
A、整型、浮点型、字符型、逻辑型、枚举
B、整型、浮点型、字符型、枚举
C、整型、浮点型、字符型、逻辑型
D、整型、浮点型、字符型
4.一个C程序的执行一般都是从A
A、本程序的main()函数开始,到main()函数结束
B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C、本程序的main()函数开始, 到本程序文件的最后一个函数结束
D、本程序文件的第一个函数开始,到本程序main()函数结束
5.对两个字符数组a和b进行初始化 char a[]="ABCDEF"; char b[]={'A', 'B', 'C', 'D', 'E', 'F'}; 则以下叙述正确的是D
A、a与b数组完全相同
B、a与b数组大小相同
C、a和b中都存放字符串
D、数组a比数组b长度长
6.若定义int a[3][4] = { 0 }; 则对a数组元素的非法引用是B
A、a[0][2*1]
B、a[1][4]
C、a[4-2][0]
D、a[2][3]
7.下面不正确的字符串常量是A
A、'abc'
B、"12'12"
C、"0"
D、" "
8.在多层嵌套的条件结构语句 if-else 中, else 子句总是与( B )配对
A、其距离最近的尚未配对的if
B、其之前最近的尚未配对的if
C、其之后最近的尚未配对的if
D、其同一行上的尚未配对的if
9.x、y、z被定义为 int 型变量,若从键盘给x、y、z输入数据,正确的输入语句是B
A、printf("%d%d%d", &x, &y, &z);
B、scanf("%d%d%d", &x, &y, &z);
C、scanf("%d%d%d", x, y, z);
D、printf("%d%d%d", x, y, z);
10.设 int x = 1, y = 1; 表达式 (!x || y--)的值是B
A、0
B、1
C、2
D、-1
11.若变量a已正确定义,以下非法的表达式是B
A、a /= b + c
B、a % (4.0)
C、a = 1 / 2 * ( x = y = 20, x * 3)
D、a = b = c
12.若有数组定义int a[] = {1,3,5,4,9,2,7,6,8,10}; int i = 4; 则 a[a[i]] 元素的值等于D
A、4
B、9
C、8
D、10
13.程序 char c[5] = {'a', 'b', '\0', 'c', '\0'}; printf("%s", c);的运行结果是B
A、'a''b'
B、ab
C、ab c
D、ab0c0
14.判断字符串 a 是否大于 b,应当使用D
A、if (a > b)
B、if (strcmp(a, b))
C、if (strcmp(b, a) > 0)
D、if (strcmp(a, b) > 0)
15.如果执行语句 for(int a = 0, b = 0; b != 100 && a < 5; a++) scanf("%d", &b); 那么scanf()函数最少执行( D )次
A、0
B、6
C、5
D、1
16.表示关系 12 <= x <= y 的C语言表达式为B
A、(12 <= x <= y)
B、(12 <= x) && (x <= y)
C、(12 <= x) <= y)
D、(12 <= x) || (x <= y)
17.使用语句 scanf("a=%s,b=%d", &a, &b);输入数据时,正确的数据输入是A
A、a=2.2,b=3
B、a=2.2 b=3
C、2.2 3
D、2.2,3
18.以下关于运算符优先顺序的描述中正确的是C
A、关系运算符 < 算术运算符 < 赋值运算符 < 逻辑与运算符
B、逻辑与运算符 < 关系运算符 < 算术运算符 < 赋值运算符
C、赋值运算符 < 逻辑与运算符 < 关系运算符 < 算术运算符
D、算术运算符 < 关系运算符 < 赋值运算符 < 逻辑与运算符
19.若 int x=0, y=3, z=3; 则以下表达式的值为 0 的是C
A、!x
B、 x < y ? 1 : 0
C、x / 2 && y != z
D、y = x || z % 2
20.
下列程序的输出结果是( C )。
#include <stdio.h>
int main(void)
{
int a = 7 ,b = 5;
printf("%d\n",b=b/a)
return 0 ;
}
A、5
B、1
C、0
D、不确定
简答题
21.简述C语言程序的编译过程和每个阶段生成的目标文件4分
参考答案:
1)预处理:宏定义展开、头文件展开、条件编译等,同时将代码中的注释删除,这里并不会检查语法
2)编译:检查语法,将预处理后文件编译生成汇编文件
3)汇编:将汇编文件生成目标文件(二进制文件)
4)链接:C语言写的程序是需要依赖各种库的,所以编译之后还需要把库链接到最终的可执行程序中去
22.简述C语言标识符的命名规则3分
参考答案:
1标识符使用来标识源程序中的某个对象的名字的,一个标识符由字母、数字和下划线组成
2关键字可以定义变量、表达语句功能和对一些文件进行预处理,关键字已被编译系统本身使用,所以用户编写程序时不能够使用这些关键字来作为标识符,
23.字符数组与字符串是否相同?若不相同,有何区别?3分
参考答案:不相同,C语言中没有专门的字符串变量,如果要将一个字符串存放在变量中,必须使用字符数组,即用一个字符型数组来存放一个字符串,数组中每一个元素存放一个字符。字符串:必须以'\0'结尾字符数组:可以包含多个'\0'。
24.C语言中参数传递有什么特点?我们应当注意些什么?3分
参考答案:
1)数值传递:被调用函数中对形参的操作不影响主调用函数中的实参值。
2)地址传递:可以通过被调用函数中对形参的操作来修改主调用函数中的实参值。
注意事项:用malloc 申请内存之后,应该立即检查指针值是否为NULL。防止使用指针值为NULL 的内存。
25.指针与地址有什么联系?在使用指针的过程中应注意哪些细节?指针类型对于程序设计有哪些意义?3分
参考答案:
1)指针保存了某个变量的地址,指针本身是一个变量,它也有自身的地址, 而指针的内容是某个变量的地址。注意细节: 要初始化、正确的传递地址方式、使用时要判断。
2)指针可以用来有效地表示复杂的数据结构,可以用于函数参数传递并达到更加灵活使用函数的目的.使C语言程序的设计具有灵活、实用、高效的特点。
2020年度钻石C++C学习笔记(2)--《博学谷》的更多相关文章
- 2020年度钻石C++C学习笔记(1)《博学谷》
1.C语言概述 1.1 什么是C语言 一提到语言这个词语,自然会想到的是像英语.汉语等这样的自然语言,因为它是人和人交换信息不可缺少的工具. 而今天计算机遍布了我们生活的每一个角落,除了人和人的相互交 ...
- 2020年度钻石C++C学习笔记(3)--《博学谷》
1.Unix/Linux操作系统介绍 1.1 操作系统的作用 1.1.1 操作系统的目标 l 方便:使计算机系统易于使用 l 有效:以更有效的方式使用计算机系统资源 l 扩展:方便用户有效开发.测试和 ...
- JavaEE精英进阶课学习笔记《博学谷》
JavaEE精英进阶课学习笔记<博学谷> 第1章 亿可控系统分析与设计 学习目标 了解物联网应用领域及发展现状 能够说出亿可控的核心功能 能够画出亿可控的系统架构图 能够完成亿可控环境的准 ...
- 2020年Yann Lecun深度学习笔记(下)
2020年Yann Lecun深度学习笔记(下)
- 2020年Yann Lecun深度学习笔记(上)
2020年Yann Lecun深度学习笔记(上)
- 倍增求LCA学习笔记(洛谷 P3379 【模板】最近公共祖先(LCA))
倍增求\(LCA\) 倍增基础 从字面意思理解,倍增就是"成倍增长". 一般地,此处的增长并非线性地翻倍,而是在预处理时处理长度为\(2^n(n\in \mathbb{N}^+)\ ...
- 2-SAT问题学习笔记+例题[洛谷P4792]
一个不错的2-SAT文章:传送门 问题初入 什么是2-SAT SAT是适定性(Satisfiability)问题的简称 .一般形式为k-适定性问题,简称 k-SAT. 首先,把「2」和「SAT」拆开. ...
- dp凸优化/wqs二分学习笔记(洛谷4383 [八省联考2018]林克卡特树lct)
qwq 安利一个凸优化讲的比较好的博客 https://www.cnblogs.com/Gloid/p/9433783.html 但是他的暴力部分略微有点问题 qwq 我还是详细的讲一下这个题+这个知 ...
- SQLServer学习笔记系列1
一.前言 一直自己没有学习做笔记的习惯,所以为了加强自己对知识的深入理解,决定将学习笔记写下来,希望向各位大牛们学习交流! 不当之处请斧正!在此感谢!这边就先从学习Sqlserver写起,自己本身对数 ...
随机推荐
- 重新整理 .net core 实践篇————熔断与限流[三十五]
前言 简单整理一下熔断与限流,跟上一节息息相关. 正文 polly 的策略类型分为两类: 被动策略(异常处理.结果处理) 主动策略(超时处理.断路器.舱壁隔离.缓存) 熔断和限流通过下面主动策略来实现 ...
- centos 8.3安装 OPENJDK
centos 8.3安装 OPENJDK 查找可安装的OPENJDK [root@xamppr10 ~]# yum search java | grep -i --color openjdk 命令执行 ...
- 04 jumpserver资产管理
4.资产管理: (1)管理用户: 管理用户是资产(被控服务器)上的 root,或拥有 NOPASSWD: ALL sudo 权限的用户, JumpServer 使用该用户来 `推送系统用户`.`获取资 ...
- 企业该选择什么样的CRM系统
不论您是需要CRM系统来优化业务流程,还是准备更换一款新的CRM系统,在这之前都应该先明确企业的需求,并了解CRM的哪些功能能够对企业有所帮助.例如,企业的管理者想了解每个销售人员的业绩情况,那么就应 ...
- SpringBoot | 1.2 全注解下的Spring IoC
前言 在学习SpringBoot之前,有几个Spring的重要的基础概念需要提一下,SpringBoot对这些基础概念做进一步的封装,完成自动配置.首先就是Spring的控制反转IOC,由于Sprin ...
- Docker:如何修改Docker0网桥的默认网段
1. 背景 Docker 服务启动后默认会创建一个 docker0 网桥(其上有一个 docker0 内部接口),它在内核层连通了其他的物理或虚拟网卡,这就将所有容器和本地主机都放到同一个物理网络. ...
- AOP面向切面的实现
AOP(Aspect Orient Programming),我们一般称为面向方面(切面)编程,作为面向对象的一种补充,用于处理系统中分布于各个模块的横切关注点,比如事务管理.日志.缓存等等. AOP ...
- mysql 深度解析auto-increment自增列"Duliplicate key"问题
转载自:https://cloud.tencent.com/developer/article/1367681 问题描述 近期,线上有个重要Mysql客户的表在从5.6升级到5.7后master上插入 ...
- ctf实验吧逻辑问题
ctf5.shiyanbar.com/web/5/index.php 绕开. php题,习惯先看源码,F12,结果发现了 url输入了一看 告诉了我们后台逻辑.分析一下,发现只要使得$row[&quo ...
- 关于Hadoop调优
Hadoop生产调优 一.HDFS-核心参数 1.NameNode 内存生产配置 1) NameNode 内存计算 每个文件块大概占用 150byte,一台服务器 128G 内存为例,能存储多少文件块 ...