1. for循环语句能够被改写成(D)语句

A. 复合 B. if C. switch D. while

解析:

for循环可以写成while控制循环的次数,同时也可以被改写成do while语句

2. 以下程序的输出结果是(you&me)。

void main ()
{
char arr[2][4];
strcpy (arr[0],"you");strcpy (arr[1],"me");
arr[0][3]=’&’;
printf("%s \n",arr);
}

解析:

【解释】因为arr是一个2行4列的二维数组,每一行可以存放最多三个字符的字符串。

执行strcpy(art[0],"you”);后则将字符串"you”放置在数组arr的第一行上,即a[0][0]=’y’,

a[0][1]=’o’,a[0][2]=’u',a[0][3]=’\0’(字符串结尾符),执行strcpy(arr[1],”me”);后则将字符

串”me”放置在数组arr的第二行上,即a[1][0]=’m',a[1][1]=’e’,a[1][2]=’\0’(字符串结尾符),

由于二维数组在内存中是以行序存放的,执行arr[0][3]=’&’;后,第一行与第二行将视为

一个字符串"you&me”,而数组名则是该字符串的首地址。所以正确答案是A。

3. c++声明const int i,是在哪个阶段做到i只可读的?

答:编译

解析:const说明变量是常量,常量存储在常量区,在编译时就直接将其替换成相应的引用。

const int i = 10; 编译时候就和变量i做了对应,后面程序用到i的时候,直接从编译器的符号表中取10,不会再查找内存。在c++中 const修饰的变量是常量,分配在全局区的常量区,而我们的全局区和代码区在编译完了就已经确定,只有栈区和堆区才是运行是分配的。表示变量i是一个常变量,在编译阶段,程序后面只要出现i这个标识符都会被用10进行替换。这一点类似于宏,#define i 10.const用来说明所定义的变量是只读的。 这些在编译期间完成,编译器可能使用常数直接替换掉对此变量的引用。

源代码到可执行文件的过程:

源代码->预处理->编译->优化->汇编->链接->可执行文件

4. 运算符重载以后,其优先级和结合性都不能改变

解析:

运算符重载规则: 
    重载的功能应当与原功能相似,不能改变原运算符的操作个数,同时至少要有一个操作数的类型是自定义类型。重载之后运算符的优先级和结合性都不会改变,并且要保持原运算符的语法结构。参数和函数值类型都可以重新说明。
 
5. 某32位系统下, C++程序void *p = malloc( 100 ); sizeof (p) = ?
解析:4,指针的大小依赖于平台,32位一般为4,64位一般为8,总是与int保持一致。
 
6. 在C语言中,以下代码执行之后,*p的值为()
void func(int *p)
{
static int num = 4;
p = #
(*p)--;
}
int main()
{
int i = 5;
int *p = &i;
func(p);
printf("%d", *p);
return 0;
}
解析:尽管函数的形参是指针,但是它仍然是“值传递”
一方面,函数本身没有任何返回,另一方面,函数只是对p的值的处理,并非p的地址。
函数调用时,p作为实参,函数中也给p重新复制,函数确实使静态局部变量num的值减一,但是函数执行完,返回到主函数中,p中的仍然是i的地址。
 
7. 面向对象的程序设计的优点包含:
答:可重用性、可扩展性、易于维护与管理、简单易懂,面向对象的三大特性:多态、继承、封装。
 
8. 关于数组和指针的区别描述正确的是?
A. 数组要么在静态存储区被创建(如全局数组),要么在栈上被创建。
B. 用运算符sizeof可以计算出数组的容量(字节数)。
C. 指针可以随时指向任意类型的内存块。
D. 用运算符sizeof可以计算出指针所指向的内容的容量(字节数)。
解析:B
A是在堆上创建动态数组;
B中sizeof(数组名)就是数组的容量
C中const指针不可以,char* const p;是指针常量
D中char* str = "hello";sizeof(str)不能计算出内容的容量,只是指针的容量。
 
 
 
 

牛客网-C++-2020.9.2的更多相关文章

  1. 牛客网 --java问答题

    http://www.nowcoder.com/ 主要是自己什么都不怎么会.在这里可以学习很多的! 第一天看题自己回答,第二天看牛客网的答案! 1 什么是Java虚拟机?为什么Java被称作是“平台无 ...

  2. 牛客网《BAT面试算法精品课》学习笔记

    目录 牛客网<BAT面试算法精品课>学习笔记 牛客网<BAT面试算法精品课>笔记一:排序 牛客网<BAT面试算法精品课>笔记二:字符串 牛客网<BAT面试算法 ...

  3. C++版 - HDUoj 2010 3阶的水仙花数 - 牛客网

    版权声明: 本文为博主Bravo Yeung(知乎UserName同名)的原创文章,欲转载请先私信获博主允许,转载时请附上网址 http://blog.csdn.net/lzuacm. C++版 - ...

  4. 牛客网第9场多校E(思维求期望)

    链接:https://www.nowcoder.com/acm/contest/147/E 来源:牛客网 题目描述 Niuniu likes to play OSU! We simplify the ...

  5. 牛客网暑期ACM多校训练营(第七场)Bit Compression

    链接:https://www.nowcoder.com/acm/contest/145/C 来源:牛客网 题目描述 A binary string s of length N = 2n is give ...

  6. Beautiful Numbers(牛客网)

    链接:https://ac.nowcoder.com/acm/problem/17385来源:牛客网 题目描述 NIBGNAUK is an odd boy and his taste is stra ...

  7. 牛客网华为机试题之Python解法

    牛客网华为机试题之Python解法 第1题 字符串最后一个单词的长度 a = input().split(" ") print(len(a[-1])) 第2题 计算字符个数 a = ...

  8. 牛客网Wannafly挑战赛25A 因子(数论 素因子分解)

    链接:https://www.nowcoder.com/acm/contest/197/A来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言5242 ...

  9. 牛客网 2018年东北农业大学春季校赛 L题 wyh的天鹅

    链接:https://www.nowcoder.com/acm/contest/93/L来源:牛客网 时间限制:C/C++ 3秒,其他语言6秒空间限制:C/C++ 262144K,其他语言524288 ...

随机推荐

  1. 如何win7安装tomcat

    首先安装jdk,查看当前jdk版本. >java -version 显示的是1.8.0_131 为此我们安装的tomcat版本是apache-tomcat-9.0.38-windows-x64. ...

  2. ZooKeeper伪分布式集群安装及使用

    ZooKeeper伪分布式集群安装及使用 让Hadoop跑在云端系列文章,介绍了如何整合虚拟化和Hadoop,让Hadoop集群跑在VPS虚拟主机上,通过云向用户提供存储和计算的服务. 现在硬件越来越 ...

  3. 自定义chrome新标签页

    [跳转GitHub] chromeNewTab 自定义chrome新标签页.由于不想发布到chrome应用商店,因此搜了一下不用开发者模式就能用的方法. 使用说明 下载chrome的一个[window ...

  4. Python中列表、元组、字典、集合与字符串,相关函数,持续更新中……

    本篇博客为博主第一次学 Python 所做的笔记(希望读者能够少点浮躁,认真阅读,平心静气学习!) 补充: 列表.元组和字符串共同属性: 属于有序序列,其中的元素有严格的先后顺序 都支持双向索引,索引 ...

  5. 【数论】HDU 4143 A Simple Problem

    题目内容 给出一个正整数\(n\),找到最小的正整数\(x\),使之能找到一个整数\(y\),满足\(y^2=n+x^2\). 输入格式 第一行是数据组数\(T\),每组数据有一个整数\(n\). 输 ...

  6. 利用Image对象,建立Javascript前台错误日志记录

    手记:摘自Javascript高级程序设计(第三版),利用Image对象发送请求,确实有很多优点,有时候这也许就是一个创意点,再次做个笔记供自己和大家参考. 原文: 开发 Web 应用程序过程中的一种 ...

  7. k8s- centos7.8搭建

    vmware16.0 centos7.8 1. 使用vmware安装 centos环境  cpu4个 内存4G 网络nat模式 2.配置网络 vim /etc/sysconfig/network-sc ...

  8. php超全局数组 为什么swoole的http服务不能用

    php的超全局数组$_GET等九个 可以直接使用 无需定义 实际上是浏览器请求到Apache或者nginx的时候 转发到PHP处理模块 fpm转发给php解释器处理 php封装好后丢给php的  sw ...

  9. python 安装matplotlib

    下载minianaconda 安装 进入cmd下 conda create --name python37 python=3.7  创建python3.7环境 conda activate pytho ...

  10. CentOS安装MySQL详解 转

      引言 最近某云搞活动,买了个服务器作为平时学习和测试用,新机器啥也没有,一些常用软件的安装是免不了的,于是乎想着把安装过程都详细记录下来,一是做个备忘,二是给有需要的同学作个参考. Linux上安 ...