考题GT(2)

2019-08-31 21:47

char s[]=\char *p = NULL; p = s;

则下述叙述正确的是

A s和p完全相同

B 数组s中的内容和指针变量p中的内容相等 C 数组s的长度和指针p指向的字符串长度相等 D *p与s[0]相等

30. 以下代码中,有错误的是:

A char *a = \

B char a[8];\\na = \C char *a; \\na = \D char a[8] = \

31. c语言的编译系统对宏的处理是

A 在程序运行时进行的 B 在程序链接时进行的

C 在对源程序中其他成分正式编译之前进行的 D 和C程序中的其他语句同时进行编译的

32. 定义如下联合体类型和变量 union {

unsigned char c[2]; unsigned int i; }m;

m.i = ~0xFF;

则在little-endian字节序的机器上m.c[0],m.c[1]分别为

A 0,0xFF B 0xFF,0 C 0,0 D 0xFF,0xFF

33. 语句int(*p)()的含义是:

A p是一个指向一维数组的指针变量

B p是指针变量,它指向一个整型数据的指针 C p是一个指向函数的指针,该函数的返回值为整型 D 以上答案都不对

34. 有如下程序片断,说法正确的是: char *p = \*(p+1) = 'w';

A 语法错误,编译通不过

B 链接通不过 C 执行错误 D 都不对

35. 下列关于动态库的说法错误的是:

A 利用动态库可以实现软件的在线升级

B 多个程序通过共享动态库可以减少对磁盘空间及内存的需求 C 动态库的在线升级需要先卸载再重新加载

D 动态库中的全局变量与函数的逻辑地址,是在编译阶段确定的

36. 对以下C语言类型声明语句的解释正确的是 double * const cptr;

A cptr指向的地址以及地址内的内容均可以改变 B cptr指向的地址不能改变 C cptr指向的地址内的内容不能改变

D cptr指向的地址以及地址内的内容均不能改变

37. 某函数内有如下代码 static int a = 3; static int b; int c = 4; int d; b = 5; d = 6; ….

编译时,下面哪一句并不生成相应的赋值的机器指令:

A static int a = 3 B int c = 4 C b = 5 D d = 6

38. 以下不能正确进行字符串赋初值的语句是

A char str[5]=\B char str[]=\C char *str=\

D char str[5]={'g','o','o','d'};

39. 下列叙述中错误的是

A 局部变量必须赋值之后才能使用

B 构成C程序的基本单位是函数,任意函数名都可以由用户命名 C 用户申请到的堆内存中存放的数据是不确定的 D 分号是C语句之间的分隔符,是语句的一部分

40. char *p = NULL; int a[10] = {0}; sizeof(p) = ? Sizeof(a) = ?

A 1,4 B 1,40 C 4,4 D 4,40

41. #define func_1(a,b) a+b #define func_2(a,b,c) a*(b+a*c)

int func_result = func_1(2,3)+func_2(func_1(2,4),5,3); result = ?

A 83 B 143 C 41 D 99

42. c语言中定义数组元素时,数组下标的数据类型允许是:__; 引用数组元素时,下标允许的数据类型是:__。

A常量表达式;常量表达式 B整形常量或表达式;常量表达式 C整形常量;整形常量或表达式 D常量表达式;整形常量或表达式

43.已知如下变量定义 int i = 0, a[100]; 下列表达式错误的是:

A sizeof(int) B sizeof(a[100]) C sizeof int D sizeof i

44. struct test {}; sizeof(struct test) = ?

A 0 B 1 C 2 D 4

45. 如果存在结构体struct stack{int *p, int cnt = 0}变量 stackTest,在执行一段时间以后,想要清空stackTest,以下正确的代码是?

A stackTest.p = NULL; stackTest.cnt = 0;

B if (stackTest.p) free(stackTest.p); stackTest.cnt = 0;

C if (stackTest.p) free(stackTest.p); stackTest.p = NULL; stackTest.cnt = 0; D free(stackTest.p);

46. 若已定义 char s[10]; 则在下面表达式中不表示s[1]的地址是

A s+1 B s++ C &s[0]+1 D &s[1]

47. 有定义语句:int a[]={1,2,3,4,5,6,7},*p=a,*q=&a[5]; 则下列表达式中值不等于5的是

A *q-- B *--q C --*q D q-p

48. 如有下面的代码 WORD32 a[] = {1, 2, 3}; WORD32 b = 0; WORD32 c = 0; b = &a[2] - &a[0];

c = (BYTE*)(&a[2]) - (BYTE*)&a[0]; 则执行之后, b和c各等于

A 2, 2 B 8, 8 C 2, 8 D 8, 2

49. WORD32 *(*ptr)(); 则以下叙述中正确的是

A ptr是指向一维数组的指针变量

B ptr是指向WORD32型数据的指针变量

C ptr是指向函数的指针,该函数返回一个WORD32型数据

D ptr是指向函数的指针,该函数的返回值是指向WORD32型数据的指针

50. char str1[] = \char str2[] = \

const char str3[] = \const char str4[] = \const char *str5 = \const char *str6 = \char *str7 = \char *str8 = \

cout << ( str1 == str2 ) << endl; cout << ( str3 == str4 ) << endl; cout << ( str5 == str6 ) << endl; cout << ( str7 == str8 ) << endl; 输出为:

A 0 1 0 1 B 0 0 1 1 C 0 1 1 0 D 1 0 0 1

51. 拥有36位地址线的32位处理器进程最大虚拟空间是

A 2G B 4G C 64G D 以上都不对

52. 以下两段代码执行的结果分别为: 代码一

#include #include Enum {

A = 10, B, C }x;

#define A 20 int main() {

printf(\return 0; }

代码二

#include #include #define A 20 enum {

A, B, C }x;

int main() {

printf(\return 0; }

A C=22,C=22 B C=12,C=22


考题GT(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:建筑施工企业工程成本及收入的核算

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: