您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > C语言基础知识综合练习题
C语言课外练习题及其答案(仅作为参考)(xingweimin@sina.com)1一、C语言数据类型与表达式(一)选择题1.设a,b和c都是int型变量,且a=3,b=4,c=5则下面的表达式中,值为零的表达式是()。A)‘a’&&’b’B)a=bC)a||b+c&&b-cD)!((ab)&&!C||1)2.设ch是char型变量,其值为A字符,且有表达式:ch=(ch=‘A’&&ch=‘Z’)?(ch+32):ch,则表达式ch的值是()字符。A)AB)aC)ZD)z3.若x和y都是int型变量,x=100,y=200,且有程序段:printf(“%d”,(x,y));则输出结果是()。A)200B)100C)100,200D)输出格式不够,输出不确定的值4.C语言中最简单的数据类型包括()。A)整型、实型、逻辑型B)整型、单精度型、双精度、字符型C)整型、字符型、逻辑型D)整型、实型、逻辑型、字符型5.C语言中,运算对象必须是整型的运算符是()。A)%B)/C)%和/D)**6.数学关系x≥y≥z,它对应C语言表达式是()。A)(x=y)&&(y=z)B)(x=y)AND(y=z)C)(x=y=z)D)(x=y)&(y=z)7.以下说法中正确的是()。A)C语言程序总是从第一个定义的函数开始执行B)在C语言程序中,要调用的函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分8.设intx=10,y=3,z;则语句printf(“%d\n”,z=(x%y,x/y));的输出结果是()。A)1B)0C)4D)39.C语言表达式10!=9的值是()。A)trueB)非零值C)0D)110.合法的C语言字符常量是()。A)’\t’B)“A”C)65D)A11.若int类型数据占两个字节,则下列语句的输出为()。intk=-1;printf(“%d,%u\n”,k,k);A)-1,-1B)–1,32767C)–1,32768D)–1,6553512.组成C语言程序的是()。A)子程序B)过程C)函数D)主程序和子程序C语言课外练习题及其答案(仅作为参考)(xingweimin@sina.com)213.以下的选项中,正确的赋值语句是()。A)i++;B)a=1,b=2;C)a=b=5D)y=int(x);14.以下不符合C语言语法的语句是()。A)i++;B)i=j=5;C)k=2*4,k*4;D)y=float(i)15.下列程序的输出结果是()。main(){inta=9;a+=a-=a+a;printf(“%d\n”,a);}A)18B)9C)–18D)–916.下列语句的输出结果是()。printf(“%d\n”,(int)(2.5+3.0)/3);A)有语法错误不能通过编译B)2C)1D)017.下列程序的输出是()。main(){inta=7,b=5;printf(“%d\n”,b=b/a);}A)有语法错误不能通过编译B)2C)1D)018.请阅读程序()。main(){inta;floatb,c;scanf(“%2d%3f%4f”,&a,&b,&c);printf(“\na=%d,b=%f,c=%f\n”,a,b,c);}若运行时从键盘上输入9876543210CR(CR表示回车),则上面程序的输出结果是()。A)a=98,b=765,c=4321B)a=10,b=432,c=8765C)a=98,b=765.000000,c=4321.000000D)a=98,b=765.0,c=4321.019.以下程序的输出结果是()。main(){inta=-1,b=4,k;k=(++a0)&&!(b--=0);printf(“%d%d%d\n”,k,a,b);}A)104B)103C)003D)00420.下列程序的输出结果是()。main(){inti,j,k,a=3,b=2;i=(--a==b++)?--a:++b;j=a++;k=b;printf(“i=%d,j=%d,k=%d\n”,i,j,k);}A)i=2,j=1,k=3B)i=1,j=1,k=2C)i=4,j=2,k=4D)i=1,j=1,k=3C语言课外练习题及其答案(仅作为参考)(xingweimin@sina.com)3(二)填空题1.在C语言中,double类型数据占个字节;char类型数据占个字节。2.设C语言中,int类型数据占2个个字节,则long类型数据占个字节;unsignedint类型数据占个字节;short类型数据占个字节;3.表达式8/4*(int)2.5/(int)(1.25*(3.7+2.37))值的数据类型为4.假设m是一个三位数,从左到右用a,b,c表示每一位的数字,若从左到右数字是bac的三位数,则在C语言中用m表示bac的表达式是二、C语言选择和循环结构1.在C语言中,能代表逻辑值“真”的是()。A)trueB)大于0的数C)非0整数D)非0的数2.若给定条件表达式(M)?(a++):(a--);则其中表达式MA)和(M==0)等价B)和(M==1)等价C)和(M!=0)等价D)和(M!=1)等价3.在C语言的if语句中,用作判断的表达式是()。A)关系表达式B)逻辑表达式C)算术表达式D)任意表达式4.若变量已正确定义,则以下程序段的输出为()。inta=2;b=3;printf(ab?“***a=%d”:“###b=%d”,b);A)没有正确的输出格式控制B)***a=2C)###b=3D)***a=2####b=35.以下程序段的输出结果为()。inta=1;b=2,c=2,t=0;while(ab){t=a;a=b;b=t;c++;}printf(“%d,%d,%d”,a,b,c);A)1,2,0B)2,1,0C)1,2,1D)2,1,36.已知intx=10,y=20,z=30;以下语句执行后x,y,z的值是()。if(xy)z=x;x=y;y=z;A)x=10,y=20,z=30B)x=20,y=30,z=30C)x=20,y=30,z=10D)x=20,y=30,z=207.以下程序的运行结果是()。main(){intm=5;if(m++5)printf(“%d\n”,m);elseprintf(“%d\n”,m--);}A)4B)5C)6D)78.以下不正确的语句是()。A)if(xy);B)if(x=y)&&(x!=0)x+=y;C语言课外练习题及其答案(仅作为参考)(xingweimin@sina.com)4C)if(x!=y)scanf(“%d”,&x);elsescanf(“%d”,&y);D)if(xy){x++;y++;}9.若w、x、y、z、m均为int型变量,则执行下面语句后的m值是()。w=1;x=2;y=3;z=4;m=(wx)?w:x;m=(my)?m:y;m=(mz)?m:z;A)1B)2C)3D)410.下面有关for循环的正确描述是()。A)for循环只能用于循环次数已经确定的情况B)for循环是先执行循环体语句,后判断表达式C)在for循环中,不能用break语句跳出循环体D)for循环的循环体中,可包含多条语句,但必须用花括号括起来11.若i为整数变量,则以下循环执行的次数是()。for(i=2;i==0;)printf(“%d”,i--);A)无限次B)0次C)1次D)2次12.执行语句for(i=1;i++4;);后变量i的值是()。A)3B)4C)5D)不定13.以下正确的说法是()。A)continue语句的作用是结束整个循环的执行B)只能在循环体内和switch语句体内使用break语句C)在循环体内使用break语句或continue语句的作用相同D)在多层循环嵌套中退出时,只能使用goto语句14.以下程序的功能是判断输入的年份是否是闰年。请在填入正确内容main(){inty,f;scanf(“%d”,&y);if(y%400==0)f=1;elseif(①)f=1;else②;if(f)printf(“%dis”,y);elseprintf(“%disnot”,y);printf(“aleapyear\n”);}15.有四个数a,b,c,d要求按从大到小的顺序输出请在内填入正确内容main(){inta,b,c,d,t;scanf(“%d%d%d%d”,&a,&b,&c,&d);if(ab){t=a;a=b;b=t;}if(①){t=a;a=d;d=t;}C语言课外练习题及其答案(仅作为参考)(xingweimin@sina.com)5if(ac){t=a;a=c;c=t;}if(②){t=b;b=c;c=t;}if(bd){t=b;b=d;d=t;}if(cd){t=c;c=d;d=t;}printf(“%d%d%d%d\n”,a,b,c,d);}16.以下程序的功能是()。从键盘输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。main(){floatx,amax,amin;scanf(“%f”,&x);amax=x;amin=x;while(①){if(xamax)amax=x;if(②)amin=x;scanf(“%f”,&x);}printf(“\namax=%f\namin=%f\n”,amax,amin);}17.以下程序的功能是计算1-3+5-7+……-99+101的值,请填空。main(){inti,t=1,s=0;for(i=1;i=101;i+=2){①;s=s+t;②;}printf(“%d\n”,s);}或:main(){inti,t=1,s=0;for(i=1;i=101;i+=2){s=s+t*i;③;}printf(“%d\n”,s);}18.若用0至9之间不同的三个数构成一个三位数,下面程序统计出共有多少种方法。请填空。main(){inti,j,k,count=0;for(i=1;i=9;i++)for(j=0;j=9;j++)if(①)continue;C语言课外练习题及其答案(仅作为参考)(xingweimin@sina.com)6elsefor(k=0;k=9;k++)if(②)count++;printf(“%d”,count);}19.下面的程序功能是打印100以内个位数为6,且能被3整除的所有数。请填空。main(){inti,j;for(i=0;①;i++){j=i*10+6;if(②)continue;printf(“%d”,j);}}三、C语言数组(一)选择题1.以下对C语言字符数组的描述错误的是()。A)字符数组可以存放字符串B)字符数组中的字符串可以整体输入、输出C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值字符串D)不可以用关系运算符对字符数组中的字符串进行比较2.不能把字符串Hell0!赋给数组b的语句是()。A)charb[10]={‘H’,’e’,’l’,’l’,’o’,’!’};B)charb[10];b=”Hello!”;C)charb[10]={‘H’,’e’,’l’,’l’,’o’,’!’,’\0’};D)charb[10]=“Hello!”;3.合法数组定义是()。A)inta[]=”string”;B)inta[5]={0,1,2,3,4,5};C)chara=”string”;D)chara[]={0,1,2,3,4,5};4.以下能对二维数组a进行正确初始化的语句是()。A)inta[2][]={{1,0,1},{5,2,3}};B)inta[][3]={{1,2,3},{4,5,6}};C)inta[2][4]={{1,2,3},{4,5},{6}};D)inta[][3]={{1,0,1}{},{1,1}};5.若有说明inta[3][4]={0};则下面正确的叙述是()
本文标题:C语言基础知识综合练习题
链接地址:https://www.777doc.com/doc-2907909 .html