您好,欢迎访问三七文档
当前位置:首页 > 医学/心理学 > 药学 > C期末复习题2010(答案)
C语言期末复习题(2010)一、单项选择题:1.下列变量名中,(b)是不合法的。A、JohnB、floatC、B43D、sum2.以下不正确的C语言标识符是(d)。A、_abcB、MCC、IntD、a.c3.以下叙述不正确的是(d)。A、C语言本身没有输入输出语句B、一个可执行的C源程序必须包含一个main函数C、程序的执行总是从main函数开始执行的D、C程序中的main函数必须放在程序的开始部分4.以下叙述正确的是(b)A、while语句循环体至少执行一次B、do-while语句的循环体至少执行一次C、for语句的循环体至少执行一次D、while语句用于循环次数已知的循环5、将字符g赋给字符变量c,正确的表达式是(c)。//g的ASCII值为103A、c=\147B、c=\147C、c='\147'D、c='0147'6.下列表达式的值为0的是(c)。A、4﹪5B、4/5.0C、4/5D、457、已知intx=5,y=5,z=5;执行语句x%=y+z;后,x的值是(c)。A、0B、1C、5D、68.设有数组定义:chararray[]=China;则数组array所占的空间为(c)A、4个字节B、5个字节C、6个字节D、7个字节9、已知intx=12,y=3;执行下述程序后,变量x的值是(d)。do{x/=y--;}while(xy);A、1B、2C、3D、程序运行有错误10、当a=1,b=2,c=3,d=1时,执行下面一段程序后,x的值为(a)。if(ab)if(cd)x=1;elsex=6;elsex=7;A、6B、3C、2D、111.若要求在if后一对园括号中表示a不等于0的关系,则能正确表示这一关系的表达式是(d)A、a0B、!aC、a=0D、a12、对二维数组的定义和初始化,正确说明是(c)A、inta[][]={1,2,3,4,5,6};B、inta[2][]={1,2,3,4,5,6};C、inta[][3]={1,2,3,4,5,6};D、inta[2,3]={1,2,3,4,5,6};13.若有说明:intx[20];则对x数组元素的正确的引用是(a)。A、x[11-10]B、x[20]C、x(5)D、x[6.7]14、若用数组名作为函数调用时的实参,则实际上传递给形参的是(a)。A、数组首地址B、数组的第一个元素值C、数组中全部元素的值D、数组元素的个数15.描述a是偶数的表达式是(b)。A、a%2B、a%2==0C、a%2!=0D、a%2=016、已知inti=0;执行语句while(i++3);后,变量i的值为(b)。A、3B、4C、5D、617.任何复杂的程序,都是由(c)构成。A、选择结构、顺序结构、过程结构B、选择结构、循环结构、过程结构C、选择结构、顺序结构、循环结构D、选择结构、循环结构18、对字符数组s赋值,不合法的一个是(c)。A、chars[]=Beijing;B、chars[20]={beijing};C、chars[20];s=Beijing;D、chars[20]={'B','e','i','j','i','n','g'};19、函数a有2个形参,一个数组x一个变量n对函数形参的说明有错误的是(d)。A、inta(floatx[],intn)B、inta(float*x,intn)C、inta(floatx[10],intn)D、inta(floatx,intn)20.下述语句执行后,变量j的值是(b)。intj=1;while(++j7);A、6B、7C、8D、此为无限循环,其值不定A、6B、3C、2D、121、下列函数的功能是(b)。fun(chars1[],chars2[]){inti=0;while(s1[i]=s2[i])i++;}A、字符串比较B、字符串复制C、字符串连接D、字符串反向22.下述循环语句是(d)for(a=0,b=0;a3&&b!=3;a++);A、无限循环B、循环次数不定C、循环4次D、循环3次23.以下程序段执行后,a3中的值是(b)。inta1=1,a2=2,a3;a3=1.0/a2*a1;A、0B、0.5C、1D、226.在C语言中,合法的字符常量是(b)。A、’\084’B、’\x43’C、’ab’D、”/0”27.下列各语句定义了数组,其中哪一个是正确的(d)A、inta[2,3];B、chara(30);C、intx[];D、intx[5]={1,2,3};28.表达式:10!=9的值是(d)。A、trueB、非零值C、0D、129.设有如下定义:intx=10,y=3,z;则语句printf(“%d\n”,z=(x%y,x/y));的输出结果是(d)。A、1B、0C、4D、330、以下一维数组x的正确定义是(d)。A、intx(10);B、intn=10,x[n];C、intn;scanf(“%d”,&n);intx[n];D、#defineSIZE10intx[SIZE];31、调用函数strlen(“axyz\0ef\0g”)的结果是(a)。A、4B、6C、11D、732、写出|x|2的C语言表达式。33表示图中坐标轴上阴影部分的正确表达式是c。////////////////XabcA(x=a)&&(x=b)&&(x=c)B(x=a)||(b=x=c)C(x=a)||(x=b)&&(x=c)D(x=a)&&(b=x=c)34、能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是c。A(x=1)&&(x=10)&&(x=200)&&(x=210)B(x=1)||(x=10)||(x=200)||(x=210)C(x=1)&&(x=10)||(x=200)&&(x=210)D(x=1)||(x=10)&&(x=200)||(x=210)35、以下能正确计算1×2×3×…×10的程序段是c。A)do{i=1;s=1;B)do{i=1;s=0;s=s*i;s=s*i;i++;i++;}while(i=10);}while(i=10);C)i=1;s=1;D)i=1;s=0;do{s=s*i;do{s=s*i;i++;i++;}while(i=10);}while(i=10);36、下列程序段不是死循环的是d。Ainti=100;while(1){i=i%100+1;if(i100)break;}Bfor(;;);Cintk=0;do{++k;}while(k=0);Dints=36;while(s);--s;二、填空题:1.下列运算符按优先级别最高的是!,最低的是+=。+,,!=,!,&&,+=2.下列运算符按优先级别最高的是,最低的是,。算术运算符,关系运算符,赋值运算符,&&,||,!(非),逗号运算符3、若想通过以下输入语句给x赋1、y赋2,则输入数据的形式应该是(x=1,y=2)。…intx,y;scanf(″x=%d,y=%d″,&x,&y);…4、若有charstr1[20],str2[]={boy};能把str2中的字符串赋值给str1的函数调用语句是(ctrcpy(s1,s2))。5.已知:x=4.2,y=3.6;则表达式(int)(x+y)%2/5的值为(0)。。6、若有定义a=1,b=2,c=3,d=4,m=n=1;则执行表达式(m=ab)&&(n=cd)后,m和n的值分别为(0),(1)。7、若x=y=5;则表达式!(13)‖(x=y)的值为(1)。8、若inti=6,j=0;则执行下列语句后,变量j结果值为(3)。switch(i){case4:j++;case5:j++;case6:j++;case7:j++;default:j++;}9、‘y’在内中占(1)字节,y在内中占(2)字节。10、设inta[10]={1,2,3,4,5,6,7,8,9,10};。则a[a[0]+2]的值是4。11、在执行inta[][3]={{1,2},{3,4}};语句后,a[0][2]的值是(0)。12、如果a=10,b=2,c=3,d=4,则条件表达式ab?a:cd?c:d的值为(3)。13、写出判断某年y是闰年的逻辑表达式((y%4==0&&y%100!=0)||y%400==0)。闰年条件是符合下面二者之一a.能被4整除,但不能被100整除。b.能被4整除,又能被400整除。14、下面程序输出结果是(12BOY)。#includestdio.hmain(){inti;for(i=1;i=3;i++)switch(i){case1:case2:printf(%d,i);break;default:printf(BOY);}}15.阅读以下程序,写出程序运行的结果__11235_______。#includestdio.hmain(){inti;ints[5]={1,1};for(i=2;i5;i++)s[i]=s[i-2]+s[i-1];for(i=0;i5;i++)printf(″%d,″,s[i]);}16、若从键盘输入2.0,则以下程序输出的结果是_0.500000_____。#includestdio.hvoidmain(){floatx,y;scanf(%f,&x);if(x0.0)y=0.0;elseif((x0.0)&&(x!=2.0))y=1.0/(x+2.0);elseif(x10.0)y=1.0/x;elsey=10.0;printf(%f\n,y);}17.阅读以下程序,程序运行结果是____3_____。#includestdio.hvoidmain(){charc=′b′;inti=4;switch(c){case′a′:i=1;break;case′b′:i=2;case′c′:i=3;break;case′d′:i=5;}printf(″%d″,i);18、#includestdio.hmain(){inti;for(i=3;i10;i++){if(i*i/30=1)break;printf(%d,,i);}}该程序的运行结果是____3,4,5__________________三、程序填空题1、从键盘上输入3个数a,b,c,要求按从大到小的顺序输出,请填空。#includestdio.hvoidmain(){inta,b,c,t;scanf(%d%d%d,&a,&b,&c);if(__ab__){t=a;a=b;b=t;}if(ac){t=a;a=c;c=t;}if(bc){t=b;__b=c__;c=t;}printf(″%d,%d,%d″,a,b,c);}答案:①__5,4,3____②_65536,575,5_____2、以下程序统计数组中负数的个数,请填写缺少的语句。#includestdio.hvoidmain(){inta[10]={2,4,0,-5,10,6,-8,9,6,7};inti,count=0;for(i=0;__①__;i++)if(__②__)count++;elsecontinue;printf(%d,count);}答案:①__i10____②__a[i]0____3、以下程序的功能是:输出100以内(不含100)能被3整除且个位数为6的所有整数,请填空#includestdio.hvoidmain(){inti,j;for(i=0;___①____;i++){j=i*10+6;(__②____)continue;printf(“%d”,j);}}答案:①_i10_____②_if(j%3!=0)_____4、把200-300之间不能被3整除的数输出。#includestdio.hmain(){intn;for(n=200;n=300;n++){if(__①__)__②__;printf(%d\n,n);}}答案:①__n%3==0____
本文标题:C期末复习题2010(答案)
链接地址:https://www.777doc.com/doc-2907492 .html