5.执行语句for(i=1;i++<4;);后变量i的值是(5 )。
【解析】:当i=4时,i<4即:4<4不成立,但i++仍执行,i=i+1=4, 不执行循环体。
7.
static int x=10;
void main()
{
int x=3;
f();
x--;
printf("%d",x);
}
f()
{
x++;
}
屏幕上输出值为( 2)。
【解析】:fun( )函数调用的是静态变量static int x=10 ;主函数main( )中用的是int x=3.
9.下面判断正确的是( D)。
A. char c[4]="abc",d[4]="abc";等价于char c[4]=d[4]="abc"; //× 未定义d[4] ; 且定义+初始化同时进行的时候,不能进行赋值;
B. char str[10]={"china"};等价于char str[10];str[ ]={"china"}; //str是一个地址常量,不能做左值;且数组不能同时赋值;
C. char *a="china";等价于char *a;*a="china"; //char *a="china“意思是:把字符串 china的首地址赋给指针a
D. char *s="china";等价于char *s;s="china";
【解析】:数组名就是一个常量指针,如:int a[10]; int *p; p=&a[0]等价于p=a.
12.语句scanf("%7.2f",&a);是合法的。(×)
【解析】:scanf中不能指示精度,只有宽度,如:%5f ;
16.已知a=3,b=4,c=5,则逻辑表达式!(a+b)+c-1 && b+c/2的值为0。(×)
【解析】:!(a+b)为0,0+c-1=3;b+c/2=4+2=6;两个真值&&=1。
(Note: 会算,但是看错题目了,笨蛋!)
20.C语言中数组元素的方括号不可以用花括号代替。(√)
【解析】:应该是指盛放数组长度的[ ],我还以为是后面赋值的{ },emmm....
32.表示"x≥y≥z"的C表达式是__x>=y&&y>=z___。
【解析】:( )不用带也行;
33.设x=5>1+2,x的值为___1__。
【解析】:考运算符的优先级:先+,后>,最后=。
34.若输入字符串:abcde<回车>,则以下while循环体将执行__0___次。
while((ch=getchar())=='e')
printf("*");
【解析】:注意不是gets,是getchar!!!只能输入一个字符"a"。
40.设有以下共用体类型说明和变量定义,则变量c在内存所占字节数是__20___。
union stud
{
short int num;
char name[10];
float score[5];
double ave;
}c;
【解析】:变量所占字节数:short int=2,long int=4,char=1,float=4,double=8;
所以变量c所占字节数=num(2)+name[10] (10)+score[5] (4*5=20)+double(8)=40;
但是,注意是共同体,顾名思义,所有成员共享同一存储空间,则占20个字节(取成员中所占字节数最大的值)
0.0分
2 人评分