北京石油化工学院2022年计算机C语言题目含答案.docx
7、在C语言中,表示静态存储类别的关键字是oA、 autoB、 registerC、 staticD、 extern8、以下程序段给数组所有元素输入数据:main()(inta10,i=0;while(i<10)scanf(z,dw,);)应在下划线处填入的是。A、 a+(i+)B、&ai+lC、a+iD、&a+i9、设有以下语句CharChI,ch2,scanf(zz%c%c*,&chl,&ch2);若要为变量ChI和ch2分别输入字符a和b,正确的输入形式应该是。A、A和B之间用逗号间隔B、A和B之间不能有任何间隔符C、A和B之间可以用回车间隔D、A和B之间用空格间隔10、请读程序片段(字符串内没有空格字符):Printf("%dn",strlen("atsn012l"):上面程序片段的输出结果是OA、11B、10C、9D、811、以下不正确的定义语句是。ndoublex5=l.0,2.0,3.0,4.0,5.0;54,5:,4 c3,9 , ,762 B、 inty5=0,1,C、charcl=>,D、charc2,a',12、以下叙述错误的是A、一个C程序可以包含多个不同名的函数B、一个C程序只能有一个主函数C、C程序在书写时,有严格的缩进要求,否则不能编译通过D、C程序的主函数必须用main作为函数名2022年计算机C语言题目(一)(总分】00分,考试时长90分钟)一、单项选择题(每小题2分,共40分)1、有定义语句:intX,y;若要通过SCanf("%d,%d",&x,&y);语句使变量X得到数值变量y得到数值12,下面四组输入形式中,错误的是。A、1112/B、IL12/C、11,12/D、11,/12/2、英文小写字母d的ascii码为100,英文大写字母d的ascii码为A、50B、66C、52D、683、59,73,83,94,()A、107B、101C、105D、1134、C语言对嵌套if语句的规定是:else总是与()。A、其之前最近的if配对B、其之前最近的且尚未配对的if配对C、缩进位置相同的if配对D、第一个if配对5、结构化程序设计的3种结构是oA、顺序结构,分支结构,跳转结构B、顺序结构,选择结构,循环结构C、分支结构,选择结构,循环结构D、分支结构,跳转结构,循环结构6、在C语言中对一维整型数组的正确定义为0A、inta(10);intn=10,an;C、 intn;an;D、WefineN10intaN;for(i=0;i<2;i+)a.scorei=b.scorei;returna:)main()stuc=("qian",'f',95.0,92.0;stud=f(c);Printf("%s,%c,%2.Of,%2.Of",d.name,d.sex,d.score0,d.score1);)程序的运行结果是。A、 Qiarbf,95,92B、 Qian,m,85,90C、 Zhao,m,85,90DxZhao»f>95,9218、有以下程序main()char*s="onc","two","three",*p;P=s1;printf(*%c,%sn*,*(p+l),s0);)执行后输出结果是OA、n,twoB、t,oneC、w,oneDno,two19、若二维数组a有m歹U,则在aij前的元素个数为()。A、 i*m+j-lB、 i*m+jC、 j*m+iD、 i*m+j+l20、有以下程序structstu(charname10;intnum;floattotalscore;;F以下叙述一错误的是。A、算法正诲的程序最终一定会结束B、算法正/角的程序可以有零个输出C、算法正确的程序可以有零个输入D、算法正确的程序对于相同的输入一定有相同的结果14、在C语言程序中()。As函数的定义可以嵌套,但函数的调用不可以嵌套B、函数的定义不可以嵌套,但函数的调用可以嵌套C、函数的定义和函数调用均可以嵌套D、函数的定义和函数调用不可以嵌套15、请阅读下面的程序,选择正确的输出结果。()voidmain()Printf("%d",null);)A、0B、变量无定义C、-1D、116、以下描述中正确的是。A、由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句do-while循环由do开始,用WhiIe结束,在WhiIe(表达式)后面不能写分号C、在do-while循环体中,一定要有能使while后面表达式的值变为零("假")的操作D、do-while循环中,根据情况可以省略while17、有以下程序typedefstruct(charname9;charsex;floatscore2;stu;stuf(stua)StUb="zhao”,n,85.0,90.0;inti;strcpy(a.name,b.name);a.sex=b.sex:;三、编程题(每小题分,共40分)1、编程将1.100间能被2、3、5分别整除的数的和求出来并输出。注意,在判断时要按照2、3、5的先后次序来确定优先顺序,如6既能被2整除,又能被3整除,则只算到能被2整除的这种情况里。(本题10分)2、编写程序:计算字符串中子串出现的次数。请输入两个字符串,以回车隔开,母先串在前,子串在后,比如:abcaa2 (本题14分)3、给定N个职员的信息,包括姓名、基本工资、浮动工资和支出,要求编写程序顺序输出每位职员的姓名和实发工资(实发工资=基本工资+浮动工资-支出)。输入格式:输入在一行中给出正整数N。随后N行,每行给出一位职员的信息,格式为“姓名基本工资浮动工资支出”,中间以空格分隔。其中“姓名”为长度小于10的不包含空白字符的非空字符串,其他输入、输出保证在单精度范围内。输出格式:按照输入顺序,每行输出一位职员的姓名和实发工资,间隔一个空格,工资保留2位小数。输入样例:3zhao24040075qian36012050zhou56015080输出样例:zhao565.00町idf(structstu*p)structsts2=*sundan*,20044,550),*penghua*,20045,537),*q=s;÷+P;+q;*p=*q;)mainOstructstus3=*yangsan*,20041,703,*lisiguo*,20042,580;f(s);printf(*%s%d%3.0fn*,s1.name,s1.num,sl.totalscore);)程序运行后的输出结果是OA、 SunDan20044550B、 Penghua20045537C、 1.iSiGuo20042580D、 SunDan20041703二、判断题(每小题2分,共20分)()1、十进制数10转换为二进制为Iol0。()2、C语言在函数调用时,若形参实参都是普通变量,实参和形参可以共用存储单元。()3、break语句不能够单独使用,只能用于循环语句和SWiteh语句()4、循环语句不能嵌套使用。()5、C语言中字符串的结束符是'0'。()6、在定义函数时,必须要指定函数中的参数列表。()7、字符串可以存储在字符数组中,也可以存储在字符型指针变量中()8、对于一个具体的函数来说,实参与形参必须一一对应。()9、若函数的返回值与return表达式类型不一致时,以return表达式类型为准。()10、在一个文件中定义的全局变量其作用域还可以扩展到其他文件。ian430.00zhou630.00本题16分)15、B【解析】表示空的常量是NULL,而不是null。16、C17、C18、C19、B20、B二、判断题1、正确2、错误3、正确4、错误5、正确6、错误7、错误8、正确9、错误10、正确三、编程题1、ttinclude<stdio.h>main()inti,s2=0,s3=0,s5=0;for(i=l;i<=100;i+)if(i%2=0)s2+=i;else参考答案一、单项选择题1、A2、D3、A【解析】44+4+4=52,52+5+2=59,59+5+9=73,73+7+3=83,83+8+3=94,94+9+4=107,选Ao4、B5、B【解析】程序设计语言仅仅使用顺序、选择和重复(循环)三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。遵循程序结构化的设计原则,按结构化程序设计方法设计出的程序易于理解、使用和维护:可以提高编程工作的效率,降低软件的开发成本。6、D7、C8、A9、B【解析】考察C语言中输入格式,因为在输入格式中定义好了“/c%c”,其中没有任何符号,所以中间不能加任何字符,包含不能加逗号、回车和空格,因为这些也算是字符。所以在输入时也不可以有任何间隔符号。10、C11、B【解析】本题考查对一维数组的赋值。选项B)中,y5说明数组中有5个元素,但却给它赋了6个值,数组溢出所以是错误的。12、C13、B14、BSyStCln("pause");returnO;)3、include<stdio.h>structmessage(chara9;doublebasic;doublefu;doubleoutput;);structmessaged100;intmainO(intN;doublef100;scanf(*%d*,&N);for(inti=0;i<N;i+)(scanf(*%s%lf%lf%lf*,di.a,&di.basic,&di.fu,&di.output);fi=di.basic+di.fu-di.output;)for(inti=0;i<N;i+)(printf(*%s%.2fn*,di.a,fi);)s3+=i;elseif(i%5=0)s5+=i;Printf("nlK)O中能被能3、5分别整除的数的和分别为:%d为%dn*,s2,s3,s5);)2、ttinclude<stdio.h>ttinclude<stdlib.h>#include<string.h>intmain()(inti,j,k,TLen,PLen,count=0;charT50,P10;Printf("请输入两个字符串,以回车隔开,母串在前,子串在后:n");getsC);gets(P);TLen=Strlen(T);PLen=Strlen(P);for(i=0;i<=TLen-PLen;i+)(for(j=0,k=i;j<PLen&&Pj=Tk;j+,k+)if(j=PLen)count+;)printf(*%dn*,count);returnO;)Printf("%dn”,a);)A、IOlB、6C、5D、46、有以下程序:include<stdio.h>unionpwinti;charch2;)a;main()(1.25后,x的值是a,ch0=13;a.chl=O;Printf("%dn”,a.i);)程序的输出结果是OA、13B、14C、208D、2097、下列数据中是合法的整型常量的是。A、3E2B、029C、 -32768D、 6e+0078、以下正确的程序段是JA、charstrl=*12345*,str2=*abcdef*;B、chai'str10,*st="abcdc”;strcat(str,st):CxCharstr10=z,*st=*abcde*;strcat(str,st);D、Char*st1="12345”,*st2=*abcde*;strcat(stl,st2);9、下列关于C语言的叙述错误的是OA、英文字母大小写不加以区分f2022年计算机C语言题目(二)(总分100分,考试时长90分钟)一、单项选择题(每小题2分,共40分)1、按照数的进位制概念,下列各个数中正确的八进制数是。A、 1101B、 7081C、 1109D、 B03A2、为表示关系:xyz,应使用的C语言表达式是。A、(x>=y)&&(y>=z)B、(x>=y)AND(y>=x)C、(x>=y>=z)D、(x>=y)&(y>=z)3、若X是double型变量,n是ini型变量,执行以下语句(),并输入3L25,n的值是3。A、scanf(z,%d%l,&n,&x);BsscanfC%lf%d",&x,&n);C、SCanf(黑If%d”,&n,&x);E、 SCanf("%d,%lf”,&n,&x);4、下列表达式为关系表达式的为o(其中a为一整型变量)A、 3+4*5B、 a=10C、a>0a:-aD、a=l5、以下程序的输出结果是0main()(inta,b;for(a=l,b=l;a<=100;a+)(if(b>=10)break;if(b%3=l)b+=3;continue;B>是无限循环C、循环体一次也不执行D、循环体只执行一次17、相同结构体类型的变量之间,可以。A、相加B、赋值C、比较大小D、地址相同18、执行下列程序后,其输出结果是O。voidmain()inta=9;a+=a-=a+a;Printf("%dn”,a);)A、18B、9C、-18D、-919、下列描述中正确的是oA、标识符首字符的后面可以跟数字B、标识符不区分大小写C、复合数据类型变量包括布尔型、字符型和浮点型D、数组属于基本数据类型20、若有下列说明和语句,则对结构体变量St中成员i的引用方式不正确的是structstuinti;intname:st,*p;P=&st;A、st.iBn*p.iC、(*p).iD、p->i二、判断题(每小题2分,共20分)()1、个十进制数转换成二进制后,其值发生的改变。FB、不同类W的变量可以出现在同个表达式中C、在赋值表达式中赋值号两边的类型可以不同D、某些运苞符在不同的场合可以有不同的含义10、下列数据中属于"字符串常量”的是。A、ABCB、"ABC"C、ABC'D、'A'11、以下不能正确定义二维数组的选项是oA、inta22=l,2);B、inta2=1,2,3,4);C、inta22=l,2,3);D、inta口=1,2,3,4;12、若调用一个函数,且此函数中没有retum语句,则正确的说法是:该函数A、没有返回值B、返回若干个系统默认值C、能返回一个用户所希望的值D、返回一个不确定的值13、C语言用表示逻辑”真"值。A、trueB、t或yC、非零整型值D、整型值014、若pl、p2都是整型指针,pl已经指向变量X,要使p2也指向X,是正确的。A、 p2=plB、 p2=*plC、p2&p1D、p2=*pl15n程序片段:Shorti=65536;printf%dn*,i);的输出结果是OA、65536B、0C、有语法错误,无输出结果D、-116、设j和k都是int类型,则for循环语句for(j=0,k=-l;k=l;j+,k+)printfC*11,);()。A、循环结束的条件不合法西)2、doubl)型变量在内存中占的字节数比int型变量在内存中占的字节数多。()3、关系上达式的值只能为1和。()4、循环体如果包含一个以上语句,应该用花括弧括起来,以复合语句的形式出现。()5、用StrCat(字符串1,字符串2)连接两个字符串函数时,字符串1的存储空间必须足够大。()6、可以用一个指针变量指向一个函数,然后通过该指针变量调用此函数。()7、指针数组的每一个元素都是指针变量,且都指向相同的数据类型。()8、一个自定义函数中可以根据不同情况设置多条return语句。()()9、数组的下标从1开始。()10、以“a”方式打开一个文件时,文件指针指向文件首。三、编程题每小题分,共40分)1、编写程序:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13.求出这个数列的前20项之和。(本题10分)2、输入一个字符串和一个特定字符,在字符串中删除从该特定字符开始的所有字符。例如输入字符串为"abcdefg",特定字符为'd',删除后的字符串为"abc";输入字符串为"abcdefg”,特定字符为'x',则输出“特定字符不存在”。(本题14分)3、编写程序:编程实现输入5个学生的学号、计算他们的期中和期末成绩,然后计算其平均成绩,并输出成绩表(本题16分)17、B18、C19、【解析】选项B错误,c语言标识符是区分大小写的;选项C错误,复合数据类型应该包括数组、类和接口;选项D错误,数组应该属于复合数据类型;选项A正确,标识符首字符的后面可以跟数字、字母、下划线和美元符号。20、B【解析】本即主要考查结构指针:P=&st,访问结构体的成员,可以通过结构变量访问,即st.i,也可以用等价的指针形式即(*p)形和p->i°二、判断题1、错误2、正确3、正确4、正确5、正确6、正确7、正确8、正确9、错误10、错误三、编程题1、#include<stdio.h>intmain()(inti,t;floatsum=0;参考答案一、单项选择题1、A【解析】八进制的数字为07。2、A3、A4、B5、D6、A【解析】在本题中,首先定义了一个共用体pw,其中有两个域:整型变量i和字符数组cho因为共用体中的域是共享内存空间的,数组元素由低到高存储:ch0在低字节;chl在高字节;整型变量i占两个字节,高位与chl共用存储空间,低位与chO共用存储空间,而高位chl的值为0,所以输出的成员变量i的值就是chO的值13。7、C8、C【解析】本题考查了一维字符数组的定义和初始化。选项C中StHl0初始化为空,可以不必进行类似"”的空赋值,字符数组若没有进行初始化赋值,默认的字符为空。并且定义完Str数组后,应该用“,”分隔而不是,所以选项C错误。9、10、B11、D12、A13、C14、A15、B【解析】ShOrI类型的取值范围是-32768,32767,再加1时发生溢出,变为0。16、B)if(fIag=O)Printf("特定字符不存在”);)3、Sinclude<stdio.h>intmain()(structstud_str(charnum10;floatSCorejnid;floatSCOrestu5;floatsummid=0;floatsumfinal=0;floatave_mid=0;floatave_final=0;inti=0;for(i=0;i<5;i+)(printf(wplaseinputscanf(,%s*,stui.num);printf(*pleaseinputmidextunscore:n*);Br一floata=2b=l;for(i=l;i|<=20;i+)(sum=sum+ab;t=a;a=a+b;b=t;)printf(*%9.6fn*,sum);)2、ttinclude<stdio.h>intmainO(inti,flag=0;chars80,n;gets(s);scanf("%c",&n);Printf("特定字符是cn”,n);for(i=0jsi!=,0,;i+)if(si=n)si"0'flag=l;Printf("删除特定字符%c后的字符串是",n);pts(s);break;elsescanfC%f*,stui.scoremid);printf(wpleaseinputfinal_examscore:n*);SCanfH&stui.score_final);)for(i=0;i<5;i+)(SUmJnid+=stui.score_mid;sum_final+=stui.score_final;)avcjnid=sum_nid5;ave_final=sum_final/5:Printf("学号期中分数期末分数tn");for(i=0;i<5;i+)(printf%st,stui.num);Printf("%gt”,stui.score_mid);Printf("%gt”,stui.score_final);printf(*nz,);)Printf(“期中平均分:%gn”,aVejnid);Printf(“期末平均分:%gn*,ave_final);D、m_n6、已有函数max(a,b),为了让函数指针变量p指向函数max,正确的赋值方法是A、p=max;B、*p=max;C、p=ax(a,Dn*p=max(ab);b);7、下列选项中不会引起二义性的宏定义是OA、 defineS(x)X*xB、ItdefineS(x)(x)*(x)C、ftdefineS(x)(x*x)D、#defineS(x)(x)*(x)8、若有以下定义和语句:inta10=l,2,3,4,5,6,7,8,9,IO,*ia=a;则不能正确表示a数组元素的表达式是0A、*iaB、 a10C、*aD、aia-a9、下列不正确的转义字符是oA、7B、,C、'D、'088'10、下面程序的功能是将字符串S中所有的字符'c'删除。#include“stdio.h"main()(chars80;inti,j;gets(s);for(i=j=0sil=0,i+)if(si!=c,);sj='O'puts(s);)A、 sj+=siB、 s+j=siC、 sj=si;j+2022年计算机C语言题目(三)(总分100分,考试时长90分钟)一、单项选择题(每小题2分,共40分)1、若有定义inta10,*p=a;则p+5表示的是。A、a5的值B、a6的值C、a5的地址D、a6的地址C2、c3的值分别为2、用语句SCanf("%c%c睨”,&cl,&c2,&c3)输入"a,b,c”时,变量cl、(),>,1,、a9b,CB、a'.'b',"C,»,L,、a,brv,D、 a,9c3、以下符合C语言语法的实型常量是OA、1.2E0.5B、3.14.159EC.5E-3D、E154、假定所有变量均已正确定义,下列程序段运行后X的值是()。kl=l;k2=2;k3=3;x=15;if(!kl)X;elseif(k2)x=4;elsex=3:A、14B、4C、15D、35、可以作为自定义标识符的是oA、2xB、breakC、m-nmain()chara="abcdefg”;fun(a,strlen(a);puts(a);)上面程序的输出结果是。A、 GEFDCBB、 AGADAGAC、 AGAAGAGD、 GGGG16、以下叙述中正确的是oA、continue语句使得整个循环终止B.break语句不能用于提前结束for语句的本层循环C、使用breakswitch语句可以使流程跳出语句体D、在for语句中,continue与break的效果是一样的,可以互换17、当定义一个结构体变量时,系统为它分配的内存空间是。A、结构中一个成员所需的内存容量B、结构中第一个成员所需的内存容量C、结构体中占内存容量最大者所需的容量D、结构中各成员所需内存容量之和18、阅读下面的程序main()(inti,j;scanf%3d%2d*,Ai,ftj);printf(*i=%d,j=%dn*,i,j);)如果从键盘上输入1234567V回车,则程序的运行结果是0A、i=123,j=4567B、i=1234,j=567C、i=l,j=2D、i=123,j=4519、avg功能是求整形数组中的前若干个元素的平均值,设数组元素个数最多不超过则下列函数说明语句错误的是OA、intavg(int*a»intn);B%intavg(inta10,intn);FD、sj=si11、当调用函缸时,实参是一个数组名,则向函数传送的是OA、数组的上度Bs数组的首地址C、数组每一个元素的地址D、数组每个元素中的值12、设函数定义如下:floatfl(floata,floatb)return(a+b);)若有floatx=l.1,y=2.2;,则以下语句中正确的函数调用是。A、printf(*%,fl();B、printf(*%f*,fl(&x,);C、pi'intf(*%f*,fl(*x,*);D、printf("%f”,fl(x,);13、下列不正确的转义字符是oA、WB、"C、074,D、0,14、对于int*pa5;的描述,以下哪个选项是正确的A、Pa是一个指向数组的指针,所指向的数组是五个int类型的指针B、Pa是一个具有五个元素的指针数组,每个元素都是一个int类型的指针C、pa5表示某个数的第五个元素的值D、Pa是一个指向某个数组中第五个元素的指针,该元素是int类型的变量15、请读程序:JtincludeVstdio.h>JfincludeVstring.h>voidfun(char*w,intm)chars,*pl,*p2;pl=w;p2=w+m-l;while(pl<p2)s=*pl+;*pl=*p2-;*p2=s;,C、intav(inta,intn);D、intav(inta,intn);20、C语言结构体类型变量在程序执行期间,A、所有成员直驻留在内存中B、没有成员驻留在内存中C、部分成员驻留在内存中D、只有一个成员驻留在内存中二、判断题每小题2分,共20分)()1、若有以下程序段:intCI=I,c2=2,c3;c3=L0/c2*cl;则执行后,c3中的值是0。()2、在标准C中="是判断两个数是否相等。()3、在switch语句中必须使用break语句()4、While循环语句的循环体至少执行一次.()5、C语言中,字符串常量最后一个字符是结束标志,该结束符是'0'。()6、输入操作称为写操作,将输入流中的信息存到内存时,使用写函数。()7、数组定义后,数组名的值是一个地址,可以被修改。()8、通过return语句,函数可以带回一个或一个以上的返回值。()9、C语言中的main函数是程序的入口。()10、文件是否打开是可以判断的。三、编程题(每小题分,共40分)1、编写程序:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?(本题10分)2、编写程序:将字符数组a中下标值为奇数的元素从小到大排列,其它元素不变例如:当a数组中的字符串为:"CIangUage”时,程序的输出结果为:CgaIgnaUe()(本题14分)3、输入某班30位学生的姓名及数学、英语成绩,计算每位学生的平均分然后输出平均分最高的学生的姓名及其数学和英语成绩,使用结构体实现.(本题16分)出循环。continue语句的作用是跳过循环体中剩余的语句而强行执行下一次循环。A,B和D三个选项中均有错误。因此C选项正确。17、D18、D19、C20、A二、判断题1、正确2、错误3、错误4、错误5、错误6、错误7、错误8、错误9、正确10正确三、编程题1、4include<stdio.h>intmain(void)(inti,j,m,n,x;for(i=1;i<168/2+1;i+)if(168%i=0)参考答案一、单项选择题1、C【解析】P指的是a0,则p+5是指a5。2、C3、C4B5、D【解析】主要考查的知识点为自定义标识符。要点透析A项以数字开头,B项为保留字,C项含有非字母、数字、下划线的字符,只有D项是正确的。6、A7、D8、B9、D【解析】''是反斜线转义字符:是水平跳格转义字符:'饭是换行转义字符:C语言中没有规定'088'为转义字符。10、11、B12、D13、C14、B15、C16、C【解析】break语句通常用在循环语句和开关语句中。当break用于开关语句switch中时可使程序跳出switchswitch而执行以后的语句;当break语句用于do-whie>for.while循环语句中时可使程序终止循环而执行循环后面的语句,即满足条件时便跳7、接下来将i的所有数字循环计算即可。2、#include<stdio.h>include<string.h>main()chara口="clanguage”,t;inti,j,k;k=strlen(a);for(i=l;i<=k-2;i+=2)for(j=i+2;j<k;j+=2)if(aj<ai)t=ai;ai=aj;aj=t;)puts(a);printf(z/11,);)3、ttinclude<stdio.h>defineSIZE50structstudent(charname10;intmath,eng;floataver;=168/i;?(i>j&&(i+j)%2=O&&(i-j)%2=O)m=(i+j)/2;n=(i-j)/2;x=n*n-1OO;printf("%d+100=%d*%dn”,x,n,n);printf("%d+268=%d*%dn”,x,m,m);returnO;【解析】假设该数为Xo1、则:X+100=n2,X+100+168=m22、计算等式:m2-n2=(m+n)(m-n)=1683、设置:m+n=i,m-n=j,i*j=168,i和j至少一个是偶数4、可得:m=(i+j)/2,n=(i-j)/2,i和j要么都是偶数,要么都是奇数。5、从3和4推导可知道,i与j均是大于等于2的偶数。6、由于i*j=168,j>=2,则IViVI68/2+1。intmainOstructstudentstuSIZE;inti,maxstd=O;for(i=0;i<SIZE;i+)(scanf(*%s%d%d*,stui.name,ftstui.math,ftstui.eng);stui.aver=(stui.eng+stui.math)/2.O;for(i=l;i<SIZE;i+)if(stui.aver>stumaxstd.aver)maxstd=i;printf(*%10s%3d%3dn*,stumaxstd.name,stumaxstd.math,stumaxstd.eng);)D、1.07、若有以下定义,则正确的语句是。uniondata(inti;charc;floatf;a;intn;A、c=5;B、a=2,'a',1.2;C、Printf("*dn”,a);D、n=a;8、若二维数组a有m歹人则计算任一元素aij在数组中位路的公式为(假设a00位于数组的第一个位辂上)0A、 i*m+jB、 j*m+iC、 i*m+j-lD、 i*m+j+l9、在c语言中,以下叙述不正确的是A、在C程序中,无论是整数还是实数,都能被准确无误的表示B、在C程序中,变量名代表存储器中的一个位置C、静态变量的生存期与整个程序的生存期相同D、C语言中变量必须先定义后引用10、设有定义:char*c;以下选项中能够使字符型指针c正确指向一个字符串的是OAxcharstr=*string*;c=str;B、SCanf("%s",c);C、 c=getchar();D、 *c="string”;11、有定义语句:int*p4;以下选项中与此语句等价的是OA、 intp4;B、 int*p;C、 int*(p4):D、 int(*p)4:12、