资源描述:
《北京理工大学C语言期末模拟试题.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1.#include 2. #include 3. int main() 4. { float d1,d2;char op; 5. scanf("%f %c %f",&d1,&op,&d2); 6. switch( op) 7. { 8. case '+':printf("%g + %g = %g",d1,d2,d1+d2);break; 9. case '-':printf("%g - %g = %g",d1,d2,d1-d2);break; 10. case '*':printf("%g * %g =
2、%g",d1,d2,d1*d2);break; 11. case '/':printf("%g / %g = %g",d1,d2,d1/d2);break; 12. case '%':printf("%g %% %g = %d",d1,d2,(int) d1 % (int) d2);break; 13. default: printf("unkown op");break;} 14. return 0;} 北京理工大学C语言期末模拟试题一、单项选择题-试答1窗体顶端Question1分数:2已知结构定义如下:structsk{inta;float
3、b;}data,*p;如果p=&data;则对于结构变量data的成员a的正确引用是。选择一个答案A.p->data.aB.p.data.aC.(*p).aD.(*).data.aQuestion2分数:2说明一个变量s来保存20以内整数的阶乘,则该变量应说明为。选择一个答案A.float型B.long型C.unsigned型D.int型Question3分数:2下列四组标识符中,每组有用逗号分开的4个标识符,全都符合标准C标识符规定的一组是______。选择一个答案A.*4,trin,mA,MaB.r_,_r,i,st’C.name,t3,x_y,_n3yD.functi
4、on1,g,c10,k.c7Question4分数:2已知intn=1,m=0;执行下述语句后,变量m的值是。switch(n) {case1: case2:m=1; break; case3:m=3; default:m=2; }选择一个答案A.3B.0C.2D.1Question5分数:2已知:charstr[][4]={“abc”,”def”,”ghi”},c,*p=&c;如果要使则执行“printf(“%c”,*p)”语句后的输出结果为字符’c’,则赋值语句是。选择一个答案A.p=str[0][2];B.*p=str[0][2];C.p=str[1][3];D.*p
5、=str[1][3];Question6分数:2已知:int k=2,m=3,n=4; 则表达式“!k&&m
6、
7、n”的值是。选择一个答案A.1B.3C.2D.0Question7分数:2在下面的说明语句中为字符数组str赋初值,而str不能作为字符串使用的是。选择一个答案A.charstr[8]=“Beijing”;B.charstr[7]=“Beijing”;C.charstr[10]=“Beijing”;D.char*str=“Beijing”;Question8分数:2已知在主调函数中有说明语句如下: intn,data[10][6]; double sum,
8、*q;函数的调用语句是: q=func(&n,data);则函数func的原型是______。选择一个答案A.doublefunc(int*x,int**data);B.doublefunc(intx,intdata[][]);C.double*func(int*x,int**data);D.double*func(int*x,intdata[][6]);Question9分数:2已知inti,k=4;则执行循环语句:for(i=0;++i9、数使用合并排序法,将两个已经按照从小到大的排序的整型数组,合并到新的数组,新数组仍按照从小到大的顺序排序,数值相同的数据在新数组中只保存一次。参数a、b是两个排好序的数组的首地址,参数c是合并后数组的首地址,参数m、n分别是数组a、b的长度,函数的返回值是数组c的长度。combine(int*a,intm,int*b,intn,int*c){ inti=0,j=0,k=0; while( 【1】 ) c[k++]=a[i]