一、单选题(每题4分,共25道小题,总分值100分)1.fscanf函数的正确调用形式是()。(4分)Afscanf(fp,格式字符串,输出表列);Bfscanf(格式字符串,输出表列,fp);Cfscanf(格式字符串,文件指针,输出表列);Dfscanf(文件指针,格式字符串,输入表列);正确答案D2.下面程序段中,for循环的执行次数是()。char*s=”a18bc”;for(;*s!=’’;s++)printf(“*”);(4分)A9B5C6D7正确答案C3.以下在任何情况下计算平方数时都不会引起二义性的宏定义是()。(4分)A#definePOWER(x)x*xB#definePOWER(x)(x)*(x)C#definePOWER(x)(x*x)D#definePOWER(x)((x)*(x))正确答案D4.请读程序#include#defineMUL(x,y)(x)*ymain(){inta=3,b=4,c;c=MUL(a++,b++);printf("%d",c);}上面程序的输出结果是()。(4分)A12B15C20D16正确答案A5.若哟于以下说明和语句:structstudent{intage;intnum;}std,*p;p=&std;则以下对结构体变量std中成员age的引用方式不正确的是()。(4分)Astd.ageBp->ageC(*p).ageD*p.age正确答案D6.若二维数组a有m列,则在a[i][j]前面的元素个数为()。(4分)Aj*m+iBi*m+jCi*m+j-1Di*m+j+1正确答案B7.判断char型变量cl是否为小写字母的正确表达式为().(4分)A’a’<=c1<=f’z’B(c1>=a)&&(c1<=z)C(‘a’>=c1)(‘z’<=c1)D(c1>=’a’)&&(c1<=’z’)正确答案D8.如果a=1,b=2,c=3,d=4,则条件表达式a<b?a:c<d?c:d的值为().(4分)A1B2C3D4正确答案A9.在位运算中,操作数每右移一位,其结果相当于().(4分)A操作数乘以2B操作数除以2C操作数除以4D操作数乘以4正确答案B10.以下程序的正确运行结果是().main(){inta=2,I;for(I=0;I<3;I++)printf(“4%d”,f(a));}f(inta){intb=0;staticintc=3;b++;c++;return(a+b+c);}(4分)A777B71013C7911D789正确答案D11.下面有关for循环的正确描述是()(4分)Afor循环只能用于循环次数已经确定的情况Bfor循环是先执行循环体语句,后判定表达式C在for循环中,不能用break语句跳出循环体Dfor循环体语句中,可以包含多条语句,但要用花括号括起来正确答案D12.若有说明:inta[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是()。(4分)A2B3C4D无确定值正确答案B13.编辑程序的功能是()。(4分)A建立并修改程序B将c源程序编译成目标程序C调试程序D命令计算机执行指定的操作正确答案A14.已知x=43,ch=’A’,y=0;则表达式(x>=y6&&ch(‘B’&&!Y)的在值是().(4分)A0B语法错C1D“假”正确答案C15.以下程序有错,错误的原因是()。main(){int*p,i;char*q,ch;p=&i;q=&ch;*p=40;*p=*q;...}(4分)Ap和q的类型不一致,不能执行*p=*q;语句B*p中存放的是地址值,因此不能执行*p=40;语句Cq没有指向具体的存储单元,所以*q没有实际意义Dq虽然指向了具体的存储单元,但该单元中没有确定的值,所以不能执行*p=*q;语句正确答案D16.请读程序片段:intx=20;printf(“%d”,~x);上面程序片段的输出结果是().(4分)A02B–20C-21D-11正确答案C17.下面程序的运行结果是().#includemain(){intnum=0;while(num<=2){num++;printf(“%d\n”,num);}}(4分)A1B12C123D1234正确答案C18.下面程序()。1main()2{3inta[3]={0};4intI;5for(I=0;I<3;I++)scanf(“%d”,&a[I]);6for(I=I;I<4;I++)a[0]=a[0]+a[I];7printf(“%d”,a[0]);8}(4分)A没有错误B第3行有错误C第5行有错误D第6行有错误正确答案D19.根据定义和数据的输入方式,输入语句的正确形式为()。已有定义:floatf1,f2;数据的输入方式:4.523.5(4分)Ascanf(“%f,%f”,&f1,&f2);Bscanf(“%f%f”,&f1,&f2);Cscanf(“%3.2f%2.1f”,&f1,&f2);Dscanf(“%3.2f,%2.1f”,&f1,&f2);正确答案B20.已有定义intk=2;int*ptr1,*ptr2;且ptr1和ptr2均已指向变量k,下面不能正确执行的赋值语句是()。(4分)Ak=*ptr1+*ptr2;Bptr2=k;Cp1=*p2;D*p1=p2;正确答案B21.以下能正确计算1*2*3*……*10的程序是().(4分)Ados=s*i;i++;}while(i<=10);Bdo{i=1;s=0;s=s*i;i++;}while(i<=10);Ci=1;s=1;do{s=s*i;i++;}while(i<=10);Di=1;s=0;do{s=s*i;i++;}while(i<=10);正确答案C22.以下程序输出的结果是()void...