牛客题集(一)

每周总结一些笔试题,方便自己复习用,侵删.

一、选择题

  1. 以下for循环的执行次数是(4次)。
for(x=0,y=0;(y=123)&&(x<4);x++);
  1. 以下程序的运行结果是(computer , com)
int main(void)
{
printf("%s , %5.3s\n","computer","computer");
return 0;
}
  1. 在32位cpu上选择缺省对齐的情况下,有如下结构体定义,则sizeof(struct A)的值为(16)
struct A{
unsigned a : 19;
unsigned b : 11;
unsigned c : 4;
unsigned d : 29;
char index;
};

解:由32位缺省对齐,由于19+11=30<32,19和11算作32位,即4个字节;由于4+29>32,4算作32位,即4个字节;由于29+8>32,29算作32位,即4个字节;由于8<32,8算作32位,即4个字节
所以,总共有16个字节。

  1. 能把函数处理结果的二个数据返回给主调函数,在下面的方法中不正确的是(A)
    A return这二个数
    B 形参用数组
    C 形参用二个指针
    D 用二个全局变量

  2. 由多个源文件组成的C程序,经过编辑、预处理、编译、链接等阶段会生成最终的可执行程序。在链接阶段可以发现被调用的函数未定义。

  3. 下面3段程序代码的效果一样吗? 答:(1)=(2)

int b;
(1)const int *a = &b;
(2)int const *a = &b;
(3)int *const a = &b;
  1. 下面关于一个类的静态成员描述中,不正确的是(C)
    A 静态成员变量可被该类的所有方法访问
    B 该类的静态方法只能访问该类的静态成员函数
    C 该类的静态数据成员变量的值不可修改
    D 子类可以访问父类的静态成员
    E 静态成员无多态特性

  2. 下面叙述错误的是(D)

char acX[]=”abc”;
char acY[]={‘a’,’b’,’c’};
char *szX=”abc”;
char *szY=”abc”;

A acX与acY的内容可以修改
B szX与szY指向同一个地址
C acX占用的内存空间比acY占用的大
D szX的内容修改后,szY的内容也会被更改

  1. 在(函数代码少、频繁调用)情况下适宜采用 inline 定义内联函数。

  2. 以下C语言指令,运行结果是(3,9)

int a[5] = {1,3,5,7,9};
int *p = (int *)(&a+1);
printf(“%d,%d”,*(a+1),*(p-1));
  1. 下列情况中,不会调用拷贝构造函数的是(B)
    A 用一个对象去初始化同一个类的另一个新对象时
    B 将类的一个对象赋值给该类的另一个对象时
    C 函数的形参对象,调用函数进行形参和实参结合时
    D 函数的返回值是类的对象,函数执行返回调用时
  2. 下面程序的输出结果是(10,20,30)
#include<iosteam.h>
void main(){
int n[][3] = {10,20,30,40,50,60};
int (*p)[3];
p=n;
cout<<p[0][0]<<","<<*(p[0]+1)<<","<<(*p)[2]<<endl;
}
  1. 若运行时从键盘上输入9876543210l,则上面程序在gcc编译器下的输出结果是(a=98,b=0,c=0.000000)
int main(){
int a;float b,c;
scanf("%2d%3f%4f",&a,&b,&c);
printf("\na=%d,b=%d,c=%f\n",a,b,c);
}
  1. c++语言中,类ClassA的构造函数和析构函数的执行次数分别为(5,1)
ClassA *pclassa=new ClassA[5];
delete pclassa;
  1. 关于"深拷贝",下列说法正确的是(会拷贝成员数据的值和会拷贝静态分配的成员对象)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值