C语言程序设计习题集基础知识一单项选择题(每题2分,共44分)1以下叙述正确的是___。AC程序基本组成单位是语句BC程序每一行只能写一个语句C简单C语句必须以分号作为结束符D注释语句可以嵌套2一个C语言程序是从___开始执行的。A程序中第一个函数B名为main的函数C包含文件(头文件)的第一个函数D程序中的第一个语句3请选出合法的C语言赋值语句___。Aa=b=58Bi++;Ca=58,b=58Dk=int(a+b);4下面标识符中,合法的用户标识符是___。A1abcBincludeCa-b-c123Dchar5以下所列的C语言整形常量中,正确的是___。A0x10B0976C076LD01ff6C语言中下列运算符的操作数必须为整型的是___。A%B++C/D=7设a和b均为int型变量,则执行以下语句后的输出为___。inta=20;intb=3;printf(%d\n,a+=(b%=2));A20B21C0D238已知inti;,则执行语句i=2.6;后,i的值为___。A2B3C2.6D不确定9以下合法的字符常量为___。A'ab'B'\482'C'\'D'\xaf'10若y为int型变量,则执行以下语句后,y的值是___。y=8;y+=y-=y*y;A64B–56C–112D–4811以下合法的浮点型常量是___。Ae-3B1.5e+2.4C3.14e+2LD3.14e+512设int数据占用两个字节,float数据占用四个字节,double数据占用8个字节,且已知floata=2;intb=3;则执行下列语句输出为___。printf(%d,sizeof(a*b)+2/5);A4B8C6D713设int型占2个字节,且inti=-2;,则语句printf(%u,i);的输出结果为___。A0B-2C65534D6553514若x、y、z均为整型常量,且a=100,则执行下列语句后的z值为___。x=a++;y=--a;z=x+y-a--;1A100B400C200D30015若有以下定义和语句:intu=010,v=0x10,w=10,printf(%d,%d,%d\n,u,v,w);,则输出结果是___。A8,16,10B10,10,10C8,8,10D8,10,1016设x、y为int型变量,则执行下列语句后,y的值是___。x=5;y=x++*x++;y=--y*--y;A529B2401C1209D62517假设在程序中a,b,c均被定义成整型,并且已赋大于1的值,则下列能正确表示代数式A1/a*b*cB1/(a*b*c)C1/a/b/(float)cD1.0/a/b/c18若有定义:inta=8,b=5,c;chard='A';,则执行语句c=a/b+d%a+0.5;后c的值为___。A2B2.5C3D类型不一致,无法计算,编译出错19在有以下程序:intmain(){inti=10,j=1;i=i+j++;printf(%d,%d,%d\n,i++,++j,i);intmain()执行后输出结果是___。A12,3,11B12,2,11C11,3,11D12,3,1220已知inti=65;,则putchar(i);printf(%d,i);printf(%c,i);的输出结果为___。AA,65,AB65,65,ACA,A,65DA,A,A21已知inty,a,i=1;,则语句printf(%d,%d,-i++,(y=a=3.6*3));的输出结果为___。A-1,10B-2,1.8C0,3D1,1822有以下程序:intmain(){chara,b,c,d;a='\';b='\xbc';c='\0xab';d='\023';printf(%c%c%c%c\n,a,b,c,d);return0;return0;}编译时出现错误,以下叙述中正确的是___。A程序中只有a='\';语句不正确Bb='\xbc';语句不正确Cd='\023';语句不正确Da='\';和c='\0xab';语句都不正确二填空题(第1题2分,其余每题3分,共56分)1设x为int型变量,请写出描述“x是偶数”的表达式是___。2已知scanf(a=%d,b=%d,c=%d,&a,&b,&c);,若从键盘输入2、3、4三个数分别作为变量a、b、c的值则正确的输入形式是___。3设有语句inta=3;,则执行了语句a+=a-=a*a后,变量a的值是___。abc1的表达式是____。24以下程序的输出结果是___。intmain(){inta=-10,b=-3;printf(%d\n,-a++);printf(%d\n,-a+b);return0;}5以下程序的输出结果是___。intmain(){charc;c=0362;printf(%d\n,c);return0;}6以下程序段(n所赋的是八进制数)执行后输出结果是___。intm=32767,n=032767;printf(%d,%o\n,m,n);7字符串\\name\\\101ddress\b\xaf的长度为:___。8有以下程序段:intm=0,n=0;charc='a';scanf(%d%c%d,&m,&c,&n);printf(%d,%c,%d\n,m,c,n);若从键盘上输入:10A10回车,则输出结果是___。9以下程序的输出结果是___。intmain(){printf(%d,%o,%x\n,10,10,10);printf(%d,%d,%d\n,10,010,0x10);printf(%d,%x\n,012,012);return0;}10设a、b、c为整形变量,且a=2、b=3、c=4,则执行完语句a*=16+(b++)-(++c);之后,变量a的值为___。11以下程序的输出结果为___。intmain(){intx=023;printf(%x\n,--x);return0;}12以下程序的结果为___。intmain(){inta=2,b=3,c,d;c=(a++)+(a++)+(a++);d=(++b)+(++b)+(++b);printf(a=%dc=%d\n,a,c);printf(b=%dd=%d\n,a,d);3return0;}13以下程序intmain(){charch1,ch2,ch3;scanf(%c%c%c,&ch1,&ch2,&ch3);printf(%c%c%c%c%c,ch1,'#',ch2,'#',ch3);return0;}当输入ABC时运行结果为【1】,当输入ABC时运行结果为【2】。14若有定义:floatx;,以下程序段的输出结果是___。x=5.16894;printf(%f\n,(int)(x*1000+0.5)/(float)1000);15以下程序的功能是:输入一个小写字母,输出对应的大写字母,将程序补充完整。intmain(){charch;【1】/*从键盘输入一个小写字母*/【2】/*将该字母转换为大写字母*/【3】/*输出转换后的结果*/return0;}16当运行以下程序时,在键盘上从第一列开始输入9876543210↙(此处↙代表回车),则程序的输出结果是___。intmain(){inta;floatb,c;scanf(%2d%3f%4f,&a,&b,&c);printf(\na=%d,b=%f,c=%f\n,a,b,c);return0;}17以下程序的运行结果是___。intmain(){printf(%12.5f\n,123.1234567);printf(%12f\n,123.1234567);printf(%12.8d\n,12345);printf(%12.8s\n,abcdefghij);return0;}18运行以下程序时,如从键盘上输入abcdefg↙,则输出结果是___。intmain(){charch1,ch2,ch3;ch1=getchar();ch2=getchar();ch3=getchar();putchar(ch1);putchar(ch2);putchar(ch3);putchar('\n');}419运行以下程序时,如从键盘上输入:a=3,b=5↙35,35.12↙abc↙后,结果是___。intmain(){inta,b;floatx,y;charc1,c2;scanf(a=%d,b=%d,&a,&b);scanf(%f,%e,&x,&y);scanf(%c%c%c,&c1,&c1,&c2);printf(a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n,a,b,x,y,c1,c2);return0;}顺序、选择结构程序设计一单项选择题(每题2分,共40分)1以下程序运行后的输出结果是___。intmain(){inta=0,b=0;a=10;b=20;printf(a+b=%d\n,a+b);return0;}Aa+b=10Ba+b=30C30D出错2以下程序运行后的输出结果是___。intmain(){doubled=3.2;intx,y;x=1.2;y=(x+3.8)/5.0;printf(%d\n,d*y);return0;}A3B3.2C0D3.073以下程序运行后的输出结果是___。intmain(){doubled;floatf;longl;inti;i=f=l=d=20/3;printf(%d%ld%.1f%.1f\n,i,l,f,d);return0;}A666.06.0B666.76.7C666.06.7D666.76.04以下程序运行后的输出结果是___。intmain(){inta=1,b=2;a=a+b;b=a-b;a=a-b;printf(%d,%d\n,a,b);return0;}A1,2B1,1C2,2D2,15以下程序运行后的输出结果是___。5intmain(){intx,y,z;x=y=2;z=3;y=x++-1;printf(%d%d,x,y);y=++x-1;printf(%d%d\n,x,y);y=z---1;printf(%d%d,z,x);y=--z-1;printf(%d%d\n,z,x);return0;}A3143B3133C3143D213224142422241213126以下程序运行后的输出结果是___。intmain(){intx,y,z;x=y=1;z=x++,y++,++y;printf(%d,%d,%d\n,x,y,z);return0;}A2,3,3B2,3,2C2,3,1D2,2,17以下程序运行后的输出结果是___。intmain(){intx=4,y=7;x-=y;y+=x;printf(%d%d\n,x,y);return0;}A47B-3-3C-311D-348以下程序运行后的输出结果是___。intmain(){unsignedshorta=65536;intb;printf(%d\n,b=a);return0;}A65536B0C1D-19以下程序:#includestdio.hintmain(){charc1,c2,c3,c4,c5,c6;scanf(%c%c%c%c,&c1,&c2,&c3,&c4);c5=getchar();c6=getchar();putchar(c1);putchar(c2);printf(%c%c\n,c5,c6);return0;}6程序运行后,若从键盘输入(从第1列开始)123回车45678回车则输出结果是___。A1267B1256C1278D124510设a、b和c都是int型变量,且a=3,b=0,c=5,则以下值为0的表达式是___。A'a'&&'b'Ba&&b||cCa&&b&&cDa||b&&c11在嵌套使用if语句时,C语言规定else总是___。A和之前与其具有相同缩进位置的if配对B和之前与其最近的if配对C和之前与其最近不带else的if配对D和之前的第一个if配对12若要