湖北省技能高考C语言测试题

  • 格式:doc
  • 大小:100.00 KB
  • 文档页数:9

一、单项选择题(每小题5分,共150分)1.下列合法的常量是()。

以下选项中不合法的标识符是()。

C.&a3.以下选项中不属于正确字符常量的是()。

A. 'C'B. '\\'C.'\xCC0'D. '\070'4.设变量已正确定义并赋值,以下正确的语句是()。

=y*5=x+z; %5);=y+z+5,++y; a=b=c=25%5;5.设变量均已正确定义,有语句scan(“%d%c%d%c”,&a,&b,&c,&d);若为变量a和c赋数值10和20,为变量b和d赋字符X和Y。

以下所示的输入形式中正确的是(注:□代表空格字符)()。

□X□20□Y〈回车〉□X20□Y〈回车〉〈回车〉□X〈回车〉20Y〈回车〉 20□Y〈回车〉6.若变量已正确定义,有以下程序段int a=3,b=5,c=7;if(a>b) a=b; c=a;else c=b;printf("%d,%d,%d\n",a,b,c);其输出结果是()。

A.程序段有语法错,5,3 ,5,5 ,5,77.有以下程序#include <>main(){ int x=1,y=0,a=0,b=0;switch(x){ case 1:switch(y){ case 0: a++;case 1: b++; break;}case 2: a++; b++;case 3: a++; b++; break;}printf(“a=%d,b=%d\n”,a--,--b);}程序的运行结果是()。

=1,b=0 =3,b=2 =3,b=3 =2,b=28.设有条件表达式:(EXP)? i++ :j--; ,则以下表达式中与(EXP)完全等价的是()。

A.(EXP==0)B.(EXP!=0)C.(EXP==1)D.(EXP!=1)9.设用到的变量都已正确定义,则下列正确的选项是()。

(“%”,&a);=getchar();putchar(c);若从键盘上输入abc后回车,则输出为a。

(“%”,;则输出结果为□。

(注:□代表空格字符)(“%3c%2d”,&a,&b);若从键盘输入123456后回车,则a值为’123’,b值为45。

10.有以下程序#include<>main(){ int i,j, m=55;for(i=1;i<=3;i++)for(j=3; j<=i; j++) m=m%j;printf("%d\n ", m);}程序的运行结果是()。

11.在C语言中,char型数据在内存中的存储形式是()。

A.补码B.反码C.源码码12.设用到的变量均正确定义,则执行语句:(x=6)>(y=5)?1:;后表达式的值为()。

D.编译通不过13.设 int a=12; 表达式a+=a-=a*=a的值是()。

A. 12B. 144C. 0D. 13214.以下程序的输出结果是()。

main( ){ int a=011;printf(“%#X\n”,++a);}A. 12B. 10C. AD. 0XA15.在下列程序段中,若k为整型,则程序输出结果为()。

k=2; while(k=0) printf(“%d”,k); k--; printf(“%d\n”,k);A. -1B. 2C. 0D. 116.以下程序的输出结果是()。

main(){ int k1=1,k2=2,k3=3,x=15;if(!k1) x--;else if(k2) if(k3) x=4;else x=3;printf(“x=%d\n”,x);}A. x=4B. x=15C. x=14D. x=317.若用到变量均正确定义,则下列说法正确的是()。

A .x=3;x=!x--;最终x值为2。

(“%d=%%D”,20,20);则输出20=%DC. scanf(“%d,%d”,&a,&b);在输入数据时可输入2□3后回车。

(注:□代表空格字符)D.执行程序段:x=1;do --x;while(x--);此循环为无限循环。

18.设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为。

A)1 B)2 C)3 D)419.以下程序运行后,a和b的值分别为()。

#include <>int main(){ int a,b;a=10%3,b=10/3;printf("%d,%%%d",a,b); },%3 ,%1 ,%1 ,%d20.有以下程序,运行后的输出结果是()。

main(){ int x,y,z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z);}A.2,3,3 B. 2,3,2 C. 2,3,1 D. 2,2,121.执行以下程序时,输入1234567<回车>,则输出结果是()。

main(){ int a=1,b;scanf(“%2d%2d”,&a,&b);printf(“a=%d b=%d”,a,b);}A.12 34 B.a=123 b=456 C.a=12 b=34 D.输入有错误22.逗号表达式(a=3*5,a*4),a+15的值为()。

23.若有说明语句:char c='\72';则变量c()。

A.包含1个字符B.包含2个字符C.包含3个字符D.说明不合法,c的值不确定24.下列程序段的运行结果是( )。

int n=0;while(n++<3);printf("%d",n)A. 2B. 3C. 4D. 以上都不对25.设用到的变量均正确定义,则以下不是无限循环的语句为( )。

A. for(y=0,x=1;x>++y; i++) i=x;B. for( ; ; i =x++);C. while(1){x++;y--;}D. for(i=10;a=2 ; i--) sum+=i;26.有以下程序,运行后的输出结果是()。

main(){ int i=1,j=2,k=3;if(i++==1&&(++j==3||k++==3))printf("%d %d %d\n",i,j,k);}A.1 2 3 B. 2 3 4 C. 2 2 3 D. 2 3 327.以下能正确计算1×2×3×4...×10的程序段是( )。

A. while(i<=10) {i=1; s=1; s=s*i; i++; }B. for {i=1, s=0;i<=10; i++; } s=s*i;C. i=1; s=1;do {s=s*i; i++; } while(i<=10)D. i=1; s=0;do {s=s*i; i++; } while(i<=10)28.以下程序段中的变量已正确定义for(i=0;i<4;i++,i++)for(k=1;k<3;k++);printf(“%d”,k);程序段的输出结果是()29.已知字符A的ASCII码值为65,执行下列程序后#include<>main(){char a=‘A’;int b=20;printf(“%d,%c”,(a=a+1,a+b,b),a+‘a’ -‘A’,b);}A.表达式非法,输出零或不确定值B.输出结果为20,bC.因输出项过多,无输出或输出不确定值D.输出结果为20,1541,2030.以下程序的输出结果是()main(){int a=2,b=-1,c=2;if(a<b)if(b<0) c=0;else c+=1;printf(“%d\n”,c);}A. 0二、程序填空题(每空5分,计200分)31.输入一个正整数,求该数各位之和,如输入3256, 求得3+2+5+6=16。

#include<>main(){ int i,t= 【1】 ;scanf(“%d”,【2】);while( 【3】 ){t+= 【4】 ; 【5】;}printf(“%d\n”,t);}32. 下面程序的功能是:判断整数 m 是否为素数。

试题程序:#include <>#include <>void main ( ){ int m, i, k;printf ("输入一个整数:");scanf ("%d", &m);k =【6】;for ( 【7】; i <= k;【8】)if ( m % i == 0 ) 【9】;if (【10】)printf ("%d是素数\n", m );elseprintf ("%d不是素数\n", m );}33. 下面程序的功能是:有一分数序列,,,,,,132181358352312…求这个数列的前20项之和。

试题程序:main( ){ int i,n=20;float a=2,b=【11】,t,s=0;for(i=1;【12】;i++){ s+=【13】;t=a;【14】;【15】;}printf("sum=%9.6f\n",s);}34.以下程序的功能是计算:m=1-2+3-4+…+9-n,并输出结果。

请填空。

【16】int main( ){ int m=0,f ,i,n;scanf(“%d”,&n);【17】;for(【18】; i<=n; i++){ m+=【19】;f= 【20】; }printf(“m=%d”,m)}35. 以下程序的功能是计算:s=1+12+123+1234+12345。

请填空。

#include<>int main(){ int t,s=0,i;【21】;for( i=1;【22】; i++){ t=i+【23】 ;s=【24】; }printf("1+12+123+1234+12345=%d\n",【25】);}36. 输入x,计算y值并输出。

其中分段函数如下:x<0 y=2x+3x=0,y=0x>0,y=(x+7)/3#include <>main(){int x; float y ;if(x<0)【27】;else if(【28】) y=0;【29】【30】;printf(“输入x的值为%d,对应y值为%f。