每周总结一些笔试题,方便自己复习用,侵删.
解:由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个字节。
能把函数处理结果的二个数据返回给主调函数,在下面的方法中不正确的是(A) A return这二个数 B 形参用数组 C 形参用二个指针 D 用二个全局变量
由多个源文件组成的C程序,经过编辑、预处理、编译、链接等阶段会生成最终的可执行程序。在链接阶段可以发现被调用的函数未定义。
下面3段程序代码的效果一样吗? 答:(1)=(2)
int b; (1)const int *a = &b; (2)int const *a = &b; (3)int *const a = &b;下面关于一个类的静态成员描述中,不正确的是(C) A 静态成员变量可被该类的所有方法访问 B 该类的静态方法只能访问该类的静态成员函数 C 该类的静态数据成员变量的值不可修改 D 子类可以访问父类的静态成员 E 静态成员无多态特性
下面叙述错误的是(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的内容也会被更改
在(函数代码少、频繁调用)情况下适宜采用 inline 定义内联函数。
以下C语言指令,运行结果是(3,9)
int a[5] = {1,3,5,7,9}; int *p = (int *)(&a+1); printf(“%d,%d”,*(a+1),*(p-1)); 下列情况中,不会调用拷贝构造函数的是(B) A 用一个对象去初始化同一个类的另一个新对象时 B 将类的一个对象赋值给该类的另一个对象时 C 函数的形参对象,调用函数进行形参和实参结合时 D 函数的返回值是类的对象,函数执行返回调用时下面程序的输出结果是(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; } 若运行时从键盘上输入9876543210l,则上面程序在gcc编译器下的输出结果是(a=98,b=0,c=0.000000) int main(){ int a;float b,c; scanf("-?O",&a,&b,&c); printf("\na=%d,b=%d,c=%f\n",a,b,c); } c++语言中,类ClassA的构造函数和析构函数的执行次数分别为(5,1) ClassA *pclassa=new ClassA[5]; delete pclassa; 关于"深拷贝",下列说法正确的是(会拷贝成员数据的值和会拷贝静态分配的成员对象)