栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

牛客刷题——part6

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

牛客刷题——part6

牛客刷题

  1. 十进制变量i的值为100,那么八进制的变量i的值为:(C)
    A 146
    B 148
    C 144
    D 142

题中要求10进制转8进制,这里转换方式和10进制转2进制类似,将10进制数字不断除以8商为各个位,最终结果为144,选择C

  1. 执行下面语句后的输出为(A)
int I=1;
if(I<=0)
printf("****n") ;
else
printf("%%%%n");

A %%
B ****
C 有语法错,不能正确执行
D %%%%

题中这里使用的是printf格式化进行打印,例如%d按照整型进行打印,%f按照浮点数进行打印,格式串是有一定的规定的,%之后需要跟上特定的字符才能进行格式化打印,如果后面是无效的含义,则会直接输出%后的内容。两个连续的%会打印出一个%,因此选A

  1. 对于下面的C语言声明描述正确的一项是(C)
    char (*p)[16]
    A p是长度为16的字符指针数组
    B p是包含16个字符的字符串
    C p是指向长度为16的字符数组的指针
    D p是长度为16的字符数组

这里p在()内先和*结合,代表p是一个指针,后面是[]代表p指针指向长度为16的字符型数组,因此C选项正确

  1. 数组a的定义语句为“float a[3][4];”,下列()是对数组元素不正确的引用方法。(D)
    A a[i][j]
    B *(a[i]+j)
    C ((a+i)+j)
    D (a+i4+j)

访问数组用两种方式:一种是使用[]加下标进行访问的方式,另外一种则是 使 用 指 针 即 *(a+i)对数组内容进行访问。这里需要访问二维数组。对二维数组解引用或者使用[]进行访问访问的实际上是一个一维数组,想要访问数组中的一个元素,需要再次进行[]或者解引用进行访问,这里ABC都满足条件,D不满足因此选择D

  1. 下面程序的输出结果是__________。(D)
#include < iostream.h>
#define SQR(A) A*A
void main() {
int x=6,y=3,z=2;
x/=SQR(y+z)/SQR(y+z);
cout< < x< < endl;
}

A 5
B 6
C 1
D 0

这题中考察的是宏的使用。在程序编译的过程中,在预处理阶段会进行宏展开,即会将宏直接替换为他代表内容即A*A这里替换后变成了

x/=y+z*y+z/y+z*y+z

带入数字运算结果为:0因此选D

  1. 当n=5时,下列函数的返回值是:©
int foo(int n){
if(n<2){
return n;
}
else
return 2*foo(n-1)+foo(n-2);
}

A 5
B 11
C 29
D 10

该题考察的是对递归函数的理解,递归的返回条件为当n<2时进行返回,将n=5套进递归开始展开,最终结果为29 因此选C

  1. 以下对C语言的”指针“描述不正确的是:(D)
    A 32位系统下任何类型指针的长度都是4个字节
    B 指针的数据类型声明的是指针实际指向内容的数据类型
    C 野指针是指向未分配或者已释放的内存地址
    D 当使用free释放掉一个指针内容后,指针变量的值被置为NULL

题中,D选项当使用free释放掉指针的内容后他只会将p指向的空间释放了并不会将指针置为空,避免野指针需要人为将指针置空,因此选D

  1. 数组定义为”int a[4][5];”, 引用”*(a+1)+2″表示()(从第0行开始) (B)
    A a[1][0]+2
    B a数组第1行第2列元素的地址
    C a[0][1]+2
    D a数组第1行第2列元素的值

题中二维数组中每个元素实际上是一个一维数组,因此(a+1)表示数组a中第一个元素的地址。*(a+1)表示第一个元素,他是一个一维数组,因此*(a+1)+2表示a数组中第一行第二列元素的地址,因此选B

  1. 有一个如下的结构体:(A)
struct A{
long a1;
short a2;
int a3;
int *a4;
}

请问在64位编译器下用sizeof(struct A)计算出的大小是多少?
A 24
B 28
C 16
D 18

题中计算结构体大小,注意是在64位编译器环境下计算,因此默认对齐数为8,指针大小也是8.因此按照结构体大小计算规则:size = 4 + 2 + 4 + 2 + 8 + 4 = 24因此选A

  1. 运行结果是?(D)
#include 
using namespace std;
int f(int n){
if (n==1)
return 1;
else
return (f(n-1)+n*n*n);
}
int main(){
int s=f(3);
cout< 

A 8
B 9
C 27
D 36

题中考察递归程序的运行,观察递归退出条件为n等于1的时候递归退出,每次返回的值为n的前一项加上n的三次方,也就是1 + 2^3 + 3^3 =36 因此最后结果为D

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/937921.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号