志伟分享左凯小编1选择题(共题),成绩()1、C语言所提供的基本数据类型包括字符型、整型、双精度型、单精度型和____:A)指针型B)结构型C)数组型D)枚举类型正确答案是:D2、下面四个选项中,均是合法浮点数的选项是:A)1e+15e-9.403e2B)-.6012e-4-8e5C)123e1.2e-.4e-4D)-e3e-45.e-0正确答案是:B3、以下符合C语言语法的表达式:A)d=9+e+f=d+9B)d=9+e,f=d+9C)d=9+e=e++,d+9D)d=9+e++=d+7正确答案是:B4、若有定义inta=12,则表达式a+=a-=a*=a的值是:A)0B)-264C)-144D)132正确答案是:A5、下面程序的输出结果是:#includestdio.hvoidmain(){inta,b,c;intd;b=(a=32767,a++);c=d=0xffff;printf(%x,%d,%d,%d\n,a,b,c,d);}A)8000,32767,65535,65535B)-1,-1,32767,8000C)-1,-1,-1,-1D)32767,-1,-1,-1正确答案是:A6、已知有double型变量x=2.5,y=4.7,整型变量a=7,则表达式x+a%3*(int)(x+y)%2/4的值是:A)2.4B)2.5C)2.75D)0正确答案是:B7、设inta=12,则执行完语句a+=a-=a*a后,a的值是A)552B)264C)144D)-264正确答案是:D8、表达式:10!=9的值是A)trueB)非零值C)0D)1正确答案是:D9、在下列选项中,不正确的赋值语句是A)++t;B)n1=(n2=(n3=0));C)k=i=j;D)a=b+c=1;正确答案是:D10、设a,b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表达式是A)'a'&&'b'B)a=bC)a||b+c&&b-cD)!((ab)&&!c||1)正确答案是:D11、能正确表示a和b同时为正或同时为负的逻辑表达式是A)(a=0||b=0)&&(a0||b0)B)(a=0&&b=0)&&(a0&&b0)C)(a+b0&&a+b=0)D)a*b0正确答案是:D12、运行下面程序后,输出是()。#includestdio.hvoidmain(){intk=-3;if(k=0)printf(****\n);elseprintf(####\n)}A)####B)****C)####****D)有语法错误不能通过编译正确答案是:D13、下面程序的输出结果是#includestdio.hvoidmain(){inta=2,b=7,c=5;switch(a0){case1:switch(b0){case1:printf(@);break;case0:printf(!);break;}case0:switch(c==5){case0:printf(*);break;case1:printf(#);break;default:printf(%%);break;志伟分享左凯小编2}default:printf(&);}printf(\n);}A)&B)!#&C)%%D)@*&正确答案是:B14、运行下面程序时,若从键盘输入数据为123,则输出结果是()。#includestdio.hvoidmain(){intnum,i,j,k,place;scanf(%d,&num);if(num99)place=3;elseif(num9)place=2;elseplace=1;i=num/100;j=(num-i*100)/10;k=(num-i*100-j*10);switch(place){case3:printf(%d%d%d\n,k,j,i);break;case2:printf(%d%d\n,k,j);break;case1:printf(%d\n,k);}}A)123B)1,2,3C)321D)3,2,1正确答案是:C15、以下程序的输出结果是#includestdio.hvoidmain(){inta=-1,b=4,k;k=(++a0)&&!(b--=0);printf(%d,%d,%d\n,k,a,b);}A)1,0,4B)1,0,3C)0,0,3D)0,0,4正确答案是:D16、执行以下程序,分别输入-10和5,运行的结果分别是()。#includestdio.hvoidmain(){intx,c,m;floaty;scanf(%d,&x);if(x0)c=-1;elsec=x/10;switch(c){case-1:y=0;break;case0:y=x;break;case1:y=10;break;case2:case3:y=-0.5*x+20;break;default:y=-2;}if(y!=-2)printf(y=%d\n,y);elseprintf(error\n);}A)y=0B)y=0y=5y=-2C)y=-10D)y=0y=5y=10正确答案是:A17、执行下面程序时,若从键盘输入2CR,则程序的运行结果是()。#includestdio.hvoidmain(){intk;charcp;cp=getchar();if(cp='0'&&cp='9')k=cp-'0';elseif(cp='a'&&cp='f')k=cp-'a'+10;elsek=cp-'A'+10;printf(%d\n,k);}A)2B)4C)1D)10正确答案是:A18、下列程序执行后的输出结果是()。#includestdio.hvoidmain(){inta=358;if(a=100){if(a=1000)printf(%disgreaterthan10000\n,a);elseprintf(%dis100to999\n,a);志伟分享左凯小编3}else{if(a10)printf(%dislessthan10\n,a);elseprintf(%dis10to99\n,a);}}A)aislessthan10B)ais10to99C)aisgreaterthan10000D)358is100to999正确答案是:D19、以下叙述正确的是A)do-while语句构成的循环不能用其它语句构成的循环来代替B)do-while语句构成的循环只能用break语句退出C)用do-while语句构成的循环,在while后的表达式为非零时结束循环D)用do-while语句构成的循环,在while后的表达式为零时结束循环正确答案是:D20、设i,j,k均为int型变量,则执行完下面的for循环后,k的值为for(i=0,j=10;i=j;i++,j--)k=i+j;A)12B)10C)11D)9正确答案是:B21、若i为整型变量,则以下循环语句的循环次数是()。for(i=2;i==0;)printf(%d,i--);A)无限次B)0次C)1次D)2次正确答案是:B22、下面程序的输出结果是()。#includestdio.hvoidmain(){unsignedintnum,k;num=26;k=1;do{k*=num%10;num/=10;}while(num);printf(%d\n,k);}A)2B)12C)60D)18正确答案是:B23、下面程序的输出结果是()。#includestdio.hvoidmain(){intx,i;for(i=1;i=50;i++){x=i;if(++x%2==0)if(x%3==0)if(x%7==0)printf(%d,i);}}A)28B)27C)42D)41正确答案是:D24、下面程序的输出结果是()。#includestdio.hvoidmain(){intx=3,y=6,a=0;while(x++!=(y-=1)){a+=1;if(yx)break;}printf(x=%d,y=%d,a=%d\n,x,y,a);}A)x=4,y=4,a=1B)x=5,y=5,a=1C)x=5,y=4,a=3D)x=5,y=4,a=1正确答案是:D25、当从键盘上输入字符“12134211”下面程序的输出结果是()。#includestdio.hvoidmain(){chars;intv1=0,v2=0,v3=0,v4=0,k;for(k=0;k=7;k++){scanf(%c,&s);switch(s){default:v4++;case'1':v1++;case'3':v3++;case'2':v2++;}}printf(v1=%d,v2=%d,v3=%d,v4=%d\n,v1,v2,v3,v4);}志伟分享左凯小编4A)v1=4,v2=2,v3=1,v4=1B)v1=4,v2=9,v3=3,v4=1C)v1=5,v2=8,v3=6,v4=1D)v1=8,v2=8,v3=8,v4=8正确答案是:C26、下面程序的功能是:计算1到10之间奇数之和及偶数之和,请填空。#includestdio.hvoidmain(){inta,b,c,i;a=c=0;for(i=0;i=10;i+=2){a+=i;______;c+=b;}printf(偶数之和=%d\n,a);printf(奇数之和=%d\n,c-11);}A)i+=2B)i++C)b=b+1D)b=i+1正确答案是:D27、运行以下程序后,如果从键盘上输入12,8回车,则输出结果为()。#includestdio.hvoidmain(){inta,b,n1,n2,t;scanf(%d,%d,&n1,&n2);if(n1n2){t=n1;n1=n2;n2=t;}a=n1;b=n2;while(b!=0){t=a%b;a=b;b=t;}printf(%d,%d\n,a,n1*n2/a);}A)2,6B)4,24C)4,12D)8,96正确答案是:B28、有如下程序#includestdio.hvoidmain(){charch[80];intj;longs=0;printf(Enteranumeralstring\n);gets(ch);for(j=0;ch[j]'\0';j++)s=10*s+ch[j]-'0';printf(%ld\n,s);}如果运行时,从键盘上输入由数字组成的字符串,该程序的功能是________。A)测字符数组ch的长度B)将数字字符串ch转换成十进制数C)将字符数组中的小写字母转换成大写D)将字符数组中的大写字母转换成小写正确答案是:B29、有如下程序#includestdio.hvoidmain(){charch[80]=123abcdEFG*&;intj;longs=0;for(j=0;ch[j]'\0';j++);printf(%d\n,j);}该程序的功能是________。A)测字符数组ch的长度B)将数字字符串ch转换成十进制数C)将字符数组ch中的小写字母转换成大写D)将字符数组ch中的大写字母转换成小写正确答案是:A30、以下程序的输出结果是________。#includestdio.hvoidmain(){inta[4][4]={{1,2,3,4},{3,4,5,6},{5,6,7,8},{7,8,9,10}};inti,j,s=0;for(i=0;i4;i++)for(j=0;j4;j++)if(i==0||j==0||i==3||j==3)s+=a[i][j];printf(%d\n,s);}A)88B)66C)60D)50正确答案是:B31、设有以下定义语句charstr1[]=string,str2[8],str3[6],str4[]=string;则下面对函数strcpy的调用中,错误的调用是________。(此函数用来复制字符串)A)strc