- 2022-04-07 发布 |
- 37.5 KB |
- 17页
申明敬告: 本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
文档介绍
辽工软件学院2010年专升本C语言复习题带答案
辽工软件学院2010年专升本C语言复习题一、选择题(共50题)1.以下选项中合法的常量是A)10110BB)0386C)0XffaD)X2a22.以下选项中不正确的实型常量是A)2.607E-1B)0.8103e2C)-77.77D)456e-23.以下选项中合法的用户标识符是A)longB)_2TestC)3DmaxD)A.dat4.C语言中运算对象必需是整型的运算符是A)%B)/C)!D)*5.已知ch是字符型变量,以下不正确的赋值语句是A)ch=″a″;B)ch=‘a’;C)ch=‘141’;D)ch=‘61’+3;6.下面变量定义中合法的是:A)short_a=1-.1e-1;B)doubleb=1+5e2.5;C)longdo=0xfdal;D)float2_and=1-e-3;7.若变量已正确定义,以下合法的赋值表达式是A)a=l/b=2B)++(a+b)C)a=a/(b=5)D)y=int(a)+b8.以下选项中,与k=n++完全等价的表达式是A)k=n,n=n+lB)n=n+l,k=nC)k=++nD)k+=n+19.若a为int类型,且其值为3,则执行完表达式:a+=a-=a*a后,a的值是A)-3B)9C)-12D)610.经过下述赋值后,变量x的数据类型是intx=3;doubley;y=(double)x;A)intB)charC)floatD)double11.若有说明语句inti,j;则计算表达式i=(j=3,j++,j=5,j+5)后i的值为:A)3B)4C)5D)1012.若a、b、c均被定义成整型并已赋大于1的值,能正确表示代数式的C语言表达式是A)1/(float)a*b*cB)1/(a*b*c)C)1.0/a/b/cD)1/a/b/(float)c13.有以下程序main(){intx,y,z;x=y=1;z=x++,y++,++y;printf(“%d,%d,%dn”,x,y,z);}A)2,3,3B)2,3,2C)2,3,1D)2,2,117n14.有以下程序段,其输出结果是inta=1234;printf(“%2dn”,a);A)12B)34C)1234D)输出宽度不足、无结果15.设有定义:inta;floatb;执行scanf(“%2d%f”,&a,&b);语句时,若从键盘输入876543.0<回车>,a和b的值分别是A)876和543.000000B)87和6.000000C)87和543.0000000D)76和543.000000016.有以下程序main(){inta=0,b=0;/*a=10;b=20;*/printf(“a+b=%dn”,a+b);}程序运行后的输出结果是A)a+b=0B)a+b=30C)30D)a+b=2017.设a、b和c都是int型变量,且a=3,b=4,c=5;则以下的表达式中,值为0的表达式是A)a&&bB)a<=bC)a||b+c&&b-cD)!((a7){n--;printf(″%dn″,n);}22.有以下程序:main(){intt,a=2,b=3,c=-2;while(a>b>c){t=a;a=b;b=t;c++;}printf(″%d,%d,%d″,a,b,c);}程序的输出结果是A)2,3,0B)3,2,0C)3,2,-1D)2,3,123.不能与do-while语句中的(E)等价的表达式是A)(!E==0)B)(E>0||E<0)C)(E==0)D)(E!=0)24.有以下程序:main(){intx=3,y;do{y=--x;if(!y)printf(″x″);elseprintf(″y″);}while(x);}程序的输出结果是:A)xyxB)yyxC)yxxD)yxy25.有以下程序main(){intk=5;while(--k)printf(“%d”,k-=3);printf(“n”);}执行后的输出结果是A)1B)2C)4D)死循环26.有以下程序17nmain(){inti;for(i=1;i<=40;i++){if(i++%5==0)if(++i%8==0)printf(“%d”,i);}printf(“n”);}执行后的输出结果是A)5B)24C)32D)4027.下面程序的功能是计算正整数234的各位数字之和。main(){intn,sum=O;n=234;while(n){sum=sum+n%10;n=________;}printf(″sum=%d″,sum);}请把适当的选项填在下划线处。A)n/100B)n/10C)n%100D)n%1028.以下函数的返回值类型是A)与参数x的类型相同B)void类型C)int类型D)无法确定ff(floatx){printf(″%dn″,x*x);}29.在C语言中,形参的缺省存储类是A)staticB)registerC)autoD)extern30.以下程序的输出结果是A)11B)20C)21D)31func(inta,intb){intc;c=a+b;returnc;}main(){intx=6,y=7,z=8,r;r=func((x--,y++,x+y),z--);printf(″%dn″,r);}31.若有定义:intx,*pb;则以下正确的赋值表达式是17nA)pb=&xB)pb=xC)*pb=&xD)*pb=*x32.对于基类型相同的两个指针变量之间,不能进行的运算是A)2)return(fib(n-1)+fib(n-2));elsereturn(2);}main(){printf(″%ldn″,fib(6));}47.以下程序的输出结果是A)1B)2C)7D)10intm=13;17nintfun2(intx,inty){intm=3;return(x*y-m);}main(){inta=7,b=5;printf(“%dn”,fun2(a,b)/m);}48.以下程序的输出结果是A)8,17B)8,16C)8,20D)8,8main(){intk=4,m=1,p;p=func(k,m);printf(“%d,”,p);p=func(k,m);printf(“%dn”,p);}func(inta,intb){staticintm,i=2;i+=m+1;m=i+a+b;return(m);}49.以下程序中的for循环执行的次数是A)5B)6C)8D)9#defineN2#defineMN+1#defineNUM(M+1)*M/2main(){inti;for(i=1;i<=NUM;i++);printf(“%dn”,i);}50、以下程序的输出结果是main(){chara=0xf0,b=03,c;c=~a&020>>b;printf(“%xn”,c);}A)10B)fC)2D)16二.程序填空题(17题)1.若变量a,b已定义为int类型并赋值21和55,要求用printf函数以a=21,b=55的形式输出,请写出完整的输出语句_【1】____。printf(“a=%d,b=%d”,a,b);2.以下程序用于判断a,b,c能否构成三角形,若能输出YES,若不能输出NO。当a,b,c输入三角形三条边长时,确定a,b,c能构成三角形的条件是需要同时满足三条件:a+b>c,a+c>b,b+c>a。请填空。main(){floata,b,c;scanf(“%f%f%f”,&a,&b,&c);17nif(__【1】a+b>c&&b+c>a&&c+a>b__)printf(“YESn”);/*a,b,c能构成三角形*/elseprintf(“NOn”);/*a,b,c不能构成三角形*/}3.输入任一字符,如果它是一个大写字母,则把它变成小写字母;如果它是一个小写字母,则把它变成大写字母;其它字符不变。请在_____内填入正确内容。main(){charch;scanf(“%c”,&ch);if(【1】ch>=’A’&&ch<=‘Z’)ch=ch+32;elseif(ch>=’a’&&ch<=’z’)【2】ch=ch-32;printf(“%c”,ch);}4.输入一个正整数n,输出2/1+3/2+5/3+······的前20项之和,保留2位小数(该序列从第二项起,每一项的分子是前一项的分子与分母之和,分母是前一项的分子。)#include"stdio.h"main(){floatm=2,n=1,sum=0,t;inti=1;for(;i<=20;i++){sum+=m/n;t=m;【1】m=m+n;n=t;}printf("%f",sum);}5.用π/4=1-1/3+1/5-1/7+……公式求π的近似值,直到某一项的绝对值小于10-6为止#include