1、以下代码的运行结果是:
int main() B
{
char ch = 0122;
printf("%c\n",ch);
A. z
B. R
C. #
D. &
错误解析:以0开头的是8进制,以0x开头的是16进制
2、对于数组越界描述错误的是: D
A.可能一切正常
B.可能段错误
C.可能产生脏数据
D.编译无法通过
错误解析:认真审题! 数组越界编译可以通过
3、C语言中,以下程序的输出结果为:
int main()
{
int a = 10;
printf(“%d\n”,sizeof((a>5)?4:8.0));
}
A. 1
B. 2
C. 4
D.8
错误解析:sizeof() 括号内的并不会计算 而是去猜,哪个大就是哪个
4、下面的程序执行结果是: D
int main() {
static int num;
printf("%d\n",100/num);
}
A.100
B.段错误
C.不确定
D.浮点数例外
错误解析:用static修饰的变量如果没赋初值则默认为0
6、以下程序的输出的结果是: B
void foo(void) { unsigned int a = 6;
int b = -20;
(a+b>6)?puts("大于6"):puts("小于6");
}
A、编译错误,三目运算符必须有变量存储它的执行结果。
B、大于6
C、小于6
D、编译错误,应该使用printf函数输出。
错误解析:有符号像无符号转 a+b肯定大于6
10、C语言的auto型变量存储在: A
A.动态存储区
B.静态存储区
C.计算机CPU的寄存器中
D.外存储器中
24、以下程序的输出是: D
char a=101;
int sum=200;
a+=27;
sum+=a;
printf("%d\n",sum);
A.327
B.99
C.328
D.72
错误解析:char范围-128~127 127+1则变成-128
25、以下哪个变量是分配在BSS段:B
char s1[100]={};
int s2 = 10;
static int s3 = 0;
void main() { return 0;
}
A.s1 s2
B.s1 s3
C.s3
D.s1
错误解析:bss段放的是未初始化过的全局变量,赋值为0的也还是在bss段