当前位置:IT认证>计算机二级

问题:

[单选] 有以下程序:
#include<stdi0.h>
main(  )   
{int a=1,b=2;
for(;a<8;a++){b+=a;a+=2;}
printf("%d,%d",a,b);   
}
程序运行后的输出结果是(  )。

A . 9,18
B . 8,11
C . 7,11
D . 10,14

有以下定义和语句: struct workers    {int num;char name[20];char C;  struct {int day;int month;int year;)S; }; struct workers w,*pw; pw=&w; 能给w中year成员赋1980的语句是(  )。 *pw.year=1980;   。 w.year=1980;。 pw->year=1980。 w.S.year=1980; 。 有以下程序: #include<stdi0.h>  #include<string.h>struct A{int a;char b[10];double C;); void f(struct A t); main(  ){struct A a={"1001,"ZhangDa",l098,0};  f(a);printf("%d,%S,%6.1f",a.a,a.b,a.c);}void f(struct A t){t.a=1002;strcpy(t.b,"ChangRon9");t.c=1202.0;}程序运行后的输出结果是(  )。 1001,ZhangDa,1098.0   。 1002,ChangRong,1202.0。 1001,ChangRong,1098.0。 1002,ZhangDa,1202.0。 设有定义: struet complex{int real,unreal;)datal={1,8},data2; 则以下赋值语句中错误的是(  )。 data2=datal;   。 data2={2,6};。 data2.real=datal.real;。 data2.real=datal.unreal; 。 若有定义:“double a=22;int i=0,k=18;”,则不符合C语言规定的赋值语句是(  )。 a=a++,i++;   。 i=(a+k)<=(i+k);。 i=a%11;。 i=!a; 。 以下关于C语言的叙述中正确的是(  )。 C语言中的注释不可以夹在变量名或关键字的中间。 C语言中的变量可以在使用之前的任何位置进行定义。 在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致。 C语言的数值常量中夹带空格不影响常量值的正确表示 。 有以下程序:
#include<stdi0.h>
main(  )   
{int a=1,b=2;
for(;a<8;a++){b+=a;a+=2;}
printf("%d,%d",a,b);   
}
程序运行后的输出结果是(  )。
参考答案:

  参考解析

第一次执行循环前,a=1,满足a<8,执行循环后,b=3,a=3。执行完a++操作后,a=4。由于a<8,执行第二次循环后,b=7,a=6,执行完a++操作后,a=7。由于a<8,执行第三次循环后,b=14,a=9,执行完a++操作后a=10。此时不满足a<8,跳出循环。

在线 客服