东北大学c语言编程试题及其答案.docx
- 文档编号:5932061
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:26
- 大小:24.87KB
东北大学c语言编程试题及其答案.docx
《东北大学c语言编程试题及其答案.docx》由会员分享,可在线阅读,更多相关《东北大学c语言编程试题及其答案.docx(26页珍藏版)》请在冰豆网上搜索。
东北大学c语言编程试题及其答案
东北大学C语言题库
第一部分(选择题)
1、构成C语言的基本单位是________。
你的答案是:
正确答案是:
B
过程
函数
语句
命令
2、设x为整型变量,不能正确表达数学关系:
5 你的答案是: 正确答案是: A 5<=""> x>5&&x<10 x==6||x==7||x==8||x==9 ! (x<=5)&&(x<10) 3、在C语言中,逻辑运算符的优先级从高到低的排列顺序为_____。 你的答案是: 正确答案是: D &&、||、! ||、&&、! &&、! 、|| ! 、&&、|| 4、下面语句中,正确的是_____。 你的答案是: 正确答案是: D printf("%c\n","student"); printf("%c\n","c"); printf("%s\n",&a); printf("%s\n","hello"); 5、对于for(表达式1;;表达式3)可以理解为_____。 你的答案是: 正确答案是: B for(表达式1;0;表达式3) for(表达式1;1;表达式3) for(表达式1;表达式1;表达式3) for(表达式1;表达式3;表达式3) 6、执行下面程序段的结果是_____。 main(){intx=1,a=0,b=0;switch(x){case0: b++;case1: a++;case2: a++;b++;}printf("a=%d,b=%d",a,b);}你的答案是: 正确答案是: B a=1,b=1 a=2,b=1 a=1,b=0 a=2,b=2 7、执行下面程序段的结果是_____。 intx=0;do{printf(“%2d”,x--);}while(x);你的答案是: 正确答案是: D 打印出321 打印出23 不打印任何结果 陷入死循环 8、设x=10,y=5;z=15,执行下面一段程序后z的结果是_____。 If(x>y)if(y>z)x=y;elsez=y;你的答案是: 正确答案是: C 7 6 5 4 9、如果一个函数被说明为static,那么_____。 你的答案是: 正确答案是: B 该函数只能被main函数调用 该函数能被当前文件的函数调用,但不能被其他文件的函数调用 该函数不能被当前文件的函数调用,可以被其他文件的函数调用 任何文件的函数都可以调用该函数 10、下面关于局部变量的描述中,错误的是_____。 你的答案是: 正确答案是: D 函数的局部变量的有效范围只能在本函数 函数的形式参数也是局部变量 局部变量的名称不能和函数同名称 不同的函数中不能定义相同名称的局部变量 11、下列初始化字符数组的语句中,错误的是_____。 你的答案是: 正确答案是: A charstr[5]="hello"; charstr[]={'h','e','l','l','o','\0'}; charstr[5]={"hi"}; charstr[100]=""; 12、引用数组元素时,数组下标可以是_____。 你的答案是: 正确答案是: D 整型常量 整型变量 整型表达式 以上均可 13、已知: charstr[10],*p=str;下面的语句中正确的是_____。 你的答案是: 正确答案是: B str="ABC"; p="ABC"; *str="ABC"; *p="ABC"; 14、下面语句中,错误的是_____。 你的答案是: 正确答案是: D inti;int*p;p=&i; inti,*p;p=&a; inti,*p=&a; inti,*p;*p=i; 15、下面对于结构体类型的描述正确的是_____。 你的答案是: 正确答案是: A 结构体类型的大小为各成员变量所占内存的总和 结构体类型变量与简单数据类型变量的引用规则一致。 结构体类型的大小为其成员中所占内存空间最大的变量的大小 结构体类型的大小为其最后一个成员中所占内存空间的大小 16、C语言规定: 在一个源程序中,main函数的位置________。 你的答案是: 正确答案是: C 必须在最开始 必须在系统调用的库函数的后面 可以任意 必须在最后 17、表达式18/4*sqrt(4.0)/8值的数据类型是________。 你的答案是: 正确答案是: C int float double 不确定 18、在c语言中,char型数据在内存中的存储形式是________。 你的答案是: 正确答案是: D 补码 反码 原码 ASCII码 19、阅读以下程序,当输入的数据形式为: 25,13,10 main(){intx,y,z;scanf("%d%d%d",&x,&y,&z);printf("x+y+z=%d\n",x+y+z);}你的答案是: 正确答案是: D x+y+z=48 x+y+z=35 x+z=35 不能确定 20、有如下程序voidmain(){floatx=2.0,y;if(x<0.0)y=0.0;elseif(x<10.0)y=1.0/x;elsey=1.0;printf(“%f\n”,y);}该程序的输出结果是()。 你的答案是: 正确答案是: C 0.000000 0.250000 0.500000 1.000000 21、判断char型变量s是否为小写字母的正确表达式是______。 你的答案是: 正确答案是: C 'a'<=s<='z' (s>='a')&(s<='z') (s>='a')&&(s<='z') ('a'<=s)and('z'>=s) 22、执行以下语句后,y的值为______。 intx,y,z;x=y=z=0;++x||++y&&++z;你的答案是: 正确答案是: A 0 1 2 不确定值 23、有如下程序段: intnumber=0;while(number++<=3)printf(“%d\n”,number++);则正确的执行结果是______。 你的答案是: 正确答案是: C 234 012 13 24 24、有如下程序voidmain(){intn=9;while(n>6){n--;printf(“%d”,n);}}该程序段的输出结果是______。 你的答案是: 正确答案是: B 987 876 8765 9876 25、要使以下程序段输出10个整数,请在空格中填入一个整数。 for(i=0;i<=______;printf("%d\n",i+=2));你的答案是: 正确答案是: B 15 18 20 10 26、设函数fun的定义形式为: fun(charch,floatx){…}则以下对函数fun的调用语句中正确的是______。 你的答案是: 正确答案是: B fun(“abc”,3) t=fun(‘D’,5) fun(‘ab’,3) fun(‘78’,1) 27、函数求sum(intn)的功能是计算自然数1到n的和,即1+2+…+n。 Main(){printf("Thesum=%d\n",sum(10));}intsum(intn){ints=0,i;for(i=0;i<=n;i++)____________}请从备选答案中选择一答案,补全程序。 你的答案是: 正确答案是: B s=s+n;returns; s=s+i;returns; returns; returns+=I; 28、设函数fun的定义形式为intfun(inta[],intn){ints=0,i=0;for(i=0;i 你的答案是: 正确答案是: C 3 5 7 9 29、若有说明: inta[10];则对数组元素的正确引用是________。 你的答案是: 正确答案是: D a[10] a[3,5] a(5) a[10-10] 30、以下不正确的定义语句是________。 你的答案是: 正确答案是: B doublex[5]={2.0,4,0,6,0,8,0,10.0}; inty[5]={0,1,3,5,7,9}; charc1[]={'1','2','3','4','5'}; charc2[]={'\x10','\xa','\x8'}; 31、下面程序的运行结果是________。 #include"stdio.h"main(){charstr[]="SWLIA",c;intk;for(k=0;(c=str[k])! ='\0';k++){switch(c){case'I': ++k;break;c你的答案是: 正确答案是: B SWA SW* SW*A SW 32、以下能正确进行字符串赋值操作的是______。 你的答案是: 正确答案是: D chars[5]={"12345"}; chars[5]={'1','2','3','4','5',‘6’}; char*s;*s="12345"; char*s="12345"; 33、以下程序段的运行结果是______。 Chara[]="program",*p;p=a;while(*p! ='g') {printf("%c",*p-32);p++;}你的答案是: 正确答案是: C PROgram PROGRAM PRO proGRAM 34、若有说明: char*pc[]={"aaa","bbb","ccc","ddd"};,则以下叙述正确的是______。 你的答案是: 正确答案是: C *pc[0]代表的是字符串"aaa"的首地址 *pc[0]代表的是字符'a'的首地址 pc[0]代表的是字符串"aaa"的首地址 pc[0]代表的是字符'a'的首地址 35、下列程序的运行结果是______。 #include 正确答案是: B GAGGAGA AGAAGAG GFEDCBA AGADAGA 36、定义如下的结构体描述同学信息structStudent{unsignedlongid;charname[30];charclass[30];}s;假设此同学的序号为1002,姓名为黎明,班级为冶金3班,则描述正确的为_____。 你的答案是: 正确答案是: C id=1002;name=黎明;class=冶金3班; id=1002;name=”黎明”;class=”冶金3班”; s.id=1002;s.name=”黎明”;s.class=”冶金3班”; s.id=1002;s.name=黎明;s.class=冶金3班; 37、用来描述C程序中注释的是_____。 你的答案是: 正确答案是: C // /* /**/ ** 38、下列变量中合法的定义是_____。 你的答案是: 正确答案是: A short_a=2-1 longif=0xabcL double1_d=1.5e2 floata=1.5e2.7 39、当c的值不为0时,能够将c的值赋给变量a和b的是_____你的答案是: 正确答案是: C c=b=a (a=c)||(b=c) (a=c)&&(b=c) a=c=b 40、设有以下程序段,执行后的输出结果是_____intx=100,y=200;printf("%d",(x,y));你的答案是: 正确答案是: B 100 200 100,200 编译出错 第二部分(程序设计题) 1编程: 要求输入整数a和b,若a*a+b*b大于100,则输出a*a+b*b百位以上的数字,否则输出两数之和a+b。 #include main() { inta,b,c; printf("pleaseinputa="); scanf("%d",&a); printf("pleaseinputb="); scanf("%d",&b); if(a*a+b*b>100) { c=(a*a+b*b)/100; printf("%d",c); } else printf("%d\n",a+b); } 2编程: 根据以下函数关系: 当x<=0,y=0;当0 (提示: sin(x)属于math.h) #include #include main() { intx; floaty; printf("pleaseinputx="); scanf("%d",&x); if(x<=0) { y=0; } elseif((0 { y=x; } elseif((10 { y=10; } else y=sin(x); printf("%f\n",y); } 3编程: 根据以下函数关系: 当x (提示: sin(x)、sqrt(x)属于math.h)参考2 4编程: 输入三个正整数x,y,z,将这三个数由小到大输出。 #include #include main() { inta[3],i,max,j; printf("pleaseinputthe3numbers: "); for(i=0;i<3;i++) { scanf("%d",&a[i]); } for(i=0;i<3;i++) { for(j=0;j<2;j++) if(a[j]>a[j+1]) { max=a[j]; a[j]=a[j+1]; a[j+1]=max; } } printf("theresultis"); for(i=0;i<3;i++) printf("%d",a[i]); printf("\n"); } #include main() { inta,b,c,t; scanf("%d%d%d",&a,&b,&c); if(a>b) { t=a;a=b;b=t; } if(a>c) { t=a;a=c;c=t; } if(b>c) { t=b;b=c;c=t; } printf("Theansweris: %d,%d,%d\n",a,b,c); } 5编程: 从键盘输入一个年号,判断该年号是否为闰年,并输出结果。 闰年是能被4整除但不能被100整除;或能被100整除且能被400整除的年号。 练习书上有,第一页 6编程实现四位电话号码的升位。 原来电话号码为1、3、5、7、9打头的号码前加2,原来电话号码为2、4、6、8打头的加3,例如: 输入1234,则输出: 21234。 #include main() { longx,y; printf("pleaseinputtelephonenumber"); scanf("%d",&x); y=x/1000; switch(y) { case1: case3: case5: case7: case9: x=2*10000+x;break; case2: case4: case6: case8: x=3*10000+x;break; } printf("theresultis%ld\n",x); } 7编程实现四位电话号码的升位。 原来电话号码为1、2、3、4、5打头的号码前加3,原来电话号码为6、7、8、9打头的加2,例如: 输入1234,则输出: 31234。 参考6 8编程: 已知分段函数: 当x>10时,y=2*x+1;当1 参考2 9编程: 输入3个正整数,判断能否组成三角形,如果能够组成三角形,则输出三角形的面积,否则输出错误。 三角形面积公式: area=sqrt(s(s-a)(s-b)(s-c)),其中s=1/2(a+b+c)。 (提示: sqrt(x)属于math.h) #include #include main() { floatx,y,z; floatarea,s; printf("pleaseinput: "); scanf("%f%f%f",&x,&y,&z); if((x+y<=z)||(z+y<=x)||(x+z<=y)) printf("no\n"); else { s=(x+y+z)/2; area=sqrt(s*(s-x)*(s-y)*(s-z)); printf("%f\n",area); } } 10编程: 已知分段函数,当x<=0时,y=3*x;当0 参考2 11编程: 判定用户输入一个不大于999的正整数是否为一个回文数。 回文数是指正读和反读都相同的数。 #include main() { inta,x,y,z; printf("pleaseinputanumber"); scanf("%d",&a); if(0 { x=a/100; y=(a-100*x)/10; z=a%10; if(x==0) { if(y==z) printf("Yes\n"); else printf("no\n"); } elseif(x==z) printf("yes\n"); else printf("no\n"); } } 12编程: 从键盘输入一个两位数的正整数a,将其转换形成一个整数b并输出b。 转换的方式是: 将a中较大的数码作为b的十位,剩余的数码作为b的个位。 例如,当输入a=49,则结果b=94。 #include main() { inta,b,x,y; printf("pleaseinputanumber"); scanf("%d",&a);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 东北大学 语言 编程 试题 及其 答案