1.以下程序输出的结果是D
int main()
{
int a = 5,b = 4,c = 3,d;
d = (a > b > c);
printf("%d\n",d);
}
A 5
B 4
C 3
D 0
解:
a > b > c 的过程:(a>b)>c
所以有(5 > 4)> 3
0 > 3
0
2.下列存储标识符中,()的可见性与存在性不一致
A 外部类
B 自动类
C 内部静态类
D 寄存器类
解:存在性就是生命周期;可见性就能访问。
内部静态类就是只有在包含该类的上下文里才能使用的类,比如在一个类内部定义的类,她是全局存在的。
3.以下程序运行后的结果是
int main()
{
char str[][10]={"China","Beijing"},*p = str;
printf("%s",p+10);
}
A China
B Beijing
C ng
D ing
解:
str[][10]为二维字符数组,p指向这个数组的首指针,p
+10就是第二维的首指针,所以输出为*Beijing**
4.解释以下宏定义的含义
#pragma comment:将一个注释记录放置到对象文件或可执行文件
#progma pack 用来改变编译器的字节对齐方式
#progma code_seg 设置程序中函数在obj文件中所在的代码段,如果未指定参数,函数将放置在默认代码段.txt中
#progma once 保证所在文件只会包含一次,它是基于磁盘文件的,而#ifndef则是基于宏的