niusouti.com

有以下程序: struct STU { char num[10]; float score[3];); main() { struct stu s[3]={{"20021",90,95,85}, {"20022",95,80,75}, {"20023",100,95,90}},*p=s; int i; float sum=0; for(i=0;i<3,i++) sum=sum+p->score[i]; printf("%6.2f\n",sum); } 程序运行后的输出结果是( )。A.260B.270C.

题目

有以下程序: struct STU { char num[10]; float score[3];); main() { struct stu s[3]={{"20021",90,95,85}, {"20022",95,80,75}, {"20023",100,95,90}},*p=s; int i; float sum=0; for(i=0;i<3,i++) sum=sum+p->score[i]; printf("%6.2f\n",sum); } 程序运行后的输出结果是( )。

A.260

B.270

C.280

D.285


相似考题
更多“有以下程序:structSTU{charnum[10]; floatscore[3];);main(){struct stu s[3]={{"20021",90,95,8 ”相关问题
  • 第1题:

    有以下程序段struct STU{ char num[10];float score[3];};main(){ struct STU s[3]={ {"20021",90,95,85}, {"20022",95,80,75}, {"20023",100,95,90}, },*p=s; int i;float sum=0; for(i=0;i<3;i++) sum=sum+p->score[i]; printf("%6.2f\n",sum); }程序运行后的输出结果是A.260.00 B.270.00 C.280.00 D.285.00


    正确答案:B
    在本题中,程序首先定义一个结构体,结构体中含有两个结构体成员,两个结构体成员都是数组。
    在主函数中,首先定义了一个大小为3的该结构体数组s,并对其进行初始化操作,然后定义了一个该结构体类型的指针变量p,使其指向结构体数组s,接着定义两个变量,整型变量i作为循环变量,浮点型变量sum用来保存和计算结果。然后执行for循环。
    当循环变量i=0时,执行sum=sum+p->score[i];语句,p->score[0]表示结构体数组中第一个结构体变量的score[0]值,即90,本次循环结束后,sum的值为90。
    当循环变量i=1时,同理,求得sum=90+95=185。
    当循环变量i=2时,求得sum=185+85=270。
    然后循环结束,用格式%6.2f对sum进行输出操作,这个输出格式的意思是输出数据的宽带为6且要输出两位小数位,那么输出的结果为270.00。因此,本题的正确答案是B。

  • 第2题:

    有以下程序: struct STU { char num[10]; float score[3];}; main( ) { struct STU s[3]={{"20021",90,95,85}, { "20022",95,80,75}, { "20023",100,95,90} },*p=s; int i; float sum=0; for(i=0;i<3;i++) sum=sum+p->score[i]; printf("%6.2f\n",sum); } 程序运行后的输出结果是

    A.260

    B.270

    C.280

    D.285


    正确答案:B
    解析:给结构体数组赋韧值时,由于数组中的每个元素都是一个结构体,因此要将其成员的值依次放在一对花括号中,以便区分各元素。s[0]={"20021",90,95,85 },s[1]= {"20022',95,80,75 },s[2]:{"20023",100,95,90 }。

  • 第3题:

    有以下程序,程序运行后的输出结果是()。struct STU{char num[10]; float score[3];}; int main() { struct STU s[3]={{"20021",90,95,85}, {"20022",95,80,75},{"20023",100,95,90}},*p=s; int i; float sum=0; for(i=0;i<3;i++) sum=sum+p->score[i]; printf("%6.2fn",sum); return 0; }

    A.260.00

    B.270.00

    C.280.00

    D.285.00


    Afor循环是统计字符串中小写字符的个数,所以输出结果为2。

  • 第4题:

    有以下程序 struct STU { char num[10]; float score[3]; }; main() { struct STU s[3]={{"20021",90,95,85}, {"20022",95,80,75}, {"20023",100,95,90}},*p=s; int i; float sum=0; for(i-0;i<3,i++) sum=sum+p->score[i]; printf("%6.2f\n",sum}; } 程序运行后的输出结果是

    A.260

    B.270

    C.280

    D.285


    正确答案:B
    解析:本题考查的知识点是结构体数组元素的成员元素的引用。程序中首先定义了一个结构体,其成员为一字符数组和一浮点型数组。在main()首先定义了一个结构体数组并初始化.接下来在for循环中遍历了结构体数组中的第一个元素中数组成员即{"20021",90,95,85"}循环结果为90+95+85=270最后sum为270,又输出格式为“%6.2f\n”要求保留两位小数故最后输出为270.00。所以4个选项中B正确。

  • 第5题:

    有以下程序 include struct STU { char num[10]; float score[3];}; void ma

    有以下程序 #include<iostream.h> struct STU { char num[10]; float score[3];}; void main( ) { struct STU s[3]={ { "20021",90,95,85 }, {"20022",95,80,75 }, {"20023",100,95,90 } },* p=s; int i; float sum=0; for(i=0;i<

    A.260

    B.270

    C.280

    D.285


    正确答案:B
    解析::C++语言规定数组名代表数组的首地址,也就是第0号元素的地址,在本题中s就是s[0]的地址,指针变量P指向s,也就是指向s[0],所以在for循环累加的是s[0]的score成员值。注意:注意结构体与类的区别。