资源描述:
《C语言综合练习题.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C语言综合练习题一、填空题1、设有intx=2,y=3,z=4;则表达式x+y&&z的值为1。2、已知有声明“intx=1,y=2;”,则执行表达式“(x>y)&&(--x>0)”后x的值为1。3、静态变量和外部变量的初始化是在编译阶段完成的,而自动变量的赋值是在函数调用时进行的.4、若有定义:inta=2,b=3,c=4;则执行完语句:a*=16+(b++)-(++c);后,a的值是28。5、设有inta=1,b=2,c=3;执行语句a=b=c;后a的值是3。6、若有声明“inta=30,b=7;”,则表达式“!a+a%b
2、”的值是2。7、下列程序的功能是输入一个整数,判断其是否是素数,若为素数输出1,否则输出0。请填空。main(){inti,x,y=1;scanf("%d",&x);for(i=2;i<=x-1或x/2;i++)if(x%i==0){y=0;break;}printf("%d",y);}8、以下程序运行后的输出结果1011。#includevoidmain(){intm=011,n=11;printf("%d%d",++m,n++);}9、执行下列语句的结果是4,4。inta=3;printf("%
3、d,",++a);printf("%d",a++);10、下面程序的运行结果是135。#includevoidmain(){charch[6]={"12345"},*p1;intj,s=0;p1=&ch[0];for(j=0;*(p1+j)>='0'&&*(p1+j)<='9';j+=2)s=10*s+(*(p1+j)-'0');printf("%d",s);}11、下面程序的运行结果是-3,-7,-4。#includevoidsub(intx,inty,int*z){*z=y-x;}
4、voidmain(){inta,b,c;sub(6,3,&a);-32-sub(4,a,&b);sub(a,b,&c);printf("%4d,%4d,%4d",a,b,c);}12、表示“x≥y≥z”的C表达式是x>=y&&y>=z。13、intx=2,z;z=-x+++1;则z的值为-1。14、表达式strlen("ABbCDEFrGH")的结果是11。15、预处理命令行都必须以#号开始。16、以下程序的执行结果是37。#includevoidmain(){inti;for(i=3;i<13
5、;i++){if(i%4==0)i+=2;elseif(i/10)break;elseprintf("%d",i);}}17、若a,b和c均是int型变量,则计算表达式a=(b=4)+(c=2)后,a值为6,b值为4,c值为2。18、以下程序的输出结果是54321。#includevoidmain(){intn=12345,d;while(n!=0){d=n%10;printf("%d",d);n/=10;}}19、已知i=5,写出语句i*=i+1;执行后整型变量i的值是30。20、以下程序运行时输出结果是
6、12010。#includevoidmain(){inti,j,row=0,col=0,m;intarr[3][2]={100,110,120,28,91,35};m=arr[0][0];for(i=0;i<3;i++)for(j=0;j<2;j++)if(arr[i][j]>m){m=arr[i][j];row=i;col=j;}printf("%d%d%d",m,row,col);}二、单选题-32-1、下面程序的输出结果是(C)。main(){intx=10,y=10,i;for(i=0;x>8;
7、y=++i)printf("%d%d",x--,y);}A、10192B、9876C、101091D、109902、下列叙述中正确的是(D)。A、每个C程序文件中都必须要有一个main()函数B、在C程序中main()函数的位置是固定的C、C程序中所有函数之间都可以相互调用,与函数所在位置无关D、在C程序的函数中不能定义另一个函数3、若有定义intx,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++):(y++)中的条件表达式(x-y)等价的是(C)。A、(x-y>0)B、(x-y<0)C、(x-y<0
8、
9、x
10、-y>0)D、(x-y==0)4、在位运算中,操作数每右移一位,其结果相当于(B)。A、操作数乘以2B、操作数除以2C、操作数乘以16D、操作数除以165、设有定义:inta;floatb;执行scanf("%2d%f",&a,&b);语句时,若从键盘输入876543.0<回车>,a和b的