- 论坛徽章:
- 0
|
1.关于变量,正确的说法是(多选)
A、若全局变量仅在单个C文件中访问,则可以将这个变量修改为静态全局变量,以降低模块间的耦合度
B、若全局变量仅由单个函数访问,则可以将这个变量改为该函数的静态局部变量,以降低模块间的耦合度
C、设计和使用访问动态全局变量、静态全局变量、静态局部变量的函数时,需要考虑重入问题
D、静态全局变量过大,可能会导致堆栈溢出
2.关于结构,正确的说法是(多选)
A、结构占用的空间大小,不仅取决于结构成员的定义,还取决于结构成员的排列顺序,以及结构的字节对齐方式
B、结构成员的排列顺序,会影响结构成员数据的存取效率
C、功能太单一的结构,会降低代码效率;
D、结构中使用位域,不仅节省了空间,也提高了存取效率
3.某模块定义如下结构进行分布式通讯(多选)
struct TEMP
{
short Len;
short SerialNo;
char Flag;
char Reserved; //保留
char Date[2];
}
A、由于定义恰当,在各种字节对齐方式下,该结构所占空间都不变;
B、若忽略系统开销,总消息长度最长可以达64K;
C、Reserved成员保留,可以为以后版本升级和兼容时使用;
D、由于成员定义时,使用C语言的标准数据类型,而未使用与运行环境相关的数据类型,使得可移植性较好。
4. 下面哪段代码可能有问题(多选)
A.
unsigned int size;
while(size-- >;= 0)
{
...
}
B.
unsigned char name[MAXNAMELEN];
while(*name++)
{
...
}
C.
unsigned char ch;
FILE * date_file;
for(; ;
{
ch = getch(data_file);
if(ch == EOF)
{
return ENDOFFILE;
}
}
D.
struct S{int a; char b[4]; double c;};
struct S x = {1, "abcd", 30.0};
5.单选
char x[]="abcdefg";
char y[]={'a','b','c','d','e','f','g'};
A、数组X和数组Y等价
B、数组x和数组Y的长度相同
C、数组X的长度大于数组Y的长度
D、数组X的长度小于数组Y的长度
6.单选
int a[9],*p=a;并在以后的语句中未改变p的值,能表达a[1]地址的表达式是
A、++a
B、a++
C、++p
D、p++ |
|