C语言程序设计中期练习题
- 格式:doc
- 大小:54.50 KB
- 文档页数:8
C语言中期考试一、选择题B1.下列程序#include <stdio.h>int main() {printf("%d",n);} 输出结果是:(A)0 (B)变量无定义(C)-1 (D)115A2.假设所有变量均为整型,表达式(a=2,b=5,a>b? a++:b++,a+b)的值是:(A)7 (B)8 (C)9 (D)2C3. 在C语言中,能代表逻辑值"真"的是:(A)true (B)大于0的数(C)非0整数(D)非0的数D4. 以下程序#include<stdio.h>int main() { int i,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=3 (B)i=1,j=1,k=2(C)i=4,j=2,k=4 (D)i=1,j=1,k=3C5. 若变量都已正确定义,a=2;b=3;printf(a>b?"* * *a=%d":"# # #b=%d",a ,b);则程序段:(A)没有正确的输出格式控制(B)输出为:* * * a=2(C)输出为:# # # b=2 (D)输出为:* * * a=2# # # b=2C6. 若k为整型,k=10;while(k=0) k=k-1;则while循环:(A)执行10次(B)无限循环(C)一次也不执行(D)执行一次C7. 以下程序段int a=10; printf("%d\n",-a); 输出结果是:(A)01 (B)-11 (C)-10 (D)-5A8.以下程序的输出结果是int main() { char cl='6',c2='0'; printf("%c,%c,%d\n",c1,c2,c1-c2); }(A)6,0,6 (B)因输出格式不合法,输出出错信息(C)6,0,7 (D)6,0,5A9. 为表示关系x>=y>=z,应使用C语言表达式(A)(x>=y)&&(y>=z) (B)(x>=y)AND(y>=z)(C)(x>=y>=z) (D)(x>=y)&(y>=z)C10、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是( )。
(A)INPUT x、y、z; (B)scanf("%d%d%d",x,y,z);(C)scanf("%d%d%d",&x,&y,&z); (D)printf("%d%d%d",x,y,z);B11、多重if-else语句嵌套使用时,寻找与else配对的if方法是( )。
(A)缩排位置相同的if (B)其上最近的if(C)下面最近的if (D)其上最近的未配对的ifD12、判断字符串s1是否大于字符串s2,应当使用( )。
(A)if(s1>s2)(B)if(strcmp(s1,s2))(C)if(strcmp(s2,s1)>0)(D)if(strcmp(s1,s2)>0)C13.以下程序段的输出结果是int x=3;do { printf("%3d",x-=2); } while(!(- -x));(A)1 (B)30 (C)1 -2 (D)死循环C14. 以下程序main(){ int a=-1,b=4,k;k=(++a<0)&&!(b--<=0);printf("%d%d%d\n",k,a,b);} 输出结果是(A)104 (B)103 (C)003 (D)004C15、以下程序的输出结果是( )。
# include <stdio.h>int main( ){int a=2;printf("%d\n",(a+=a-=a*a) );return 0;}(A)-4 (B)4 (C)0 (D)8D16、以下程序的输出结果是( )。
# include <stdio.h>int main( ){ int a=-4,b=2,c=0,d;d=!a&&b||!c;printf("%d\n",d);return 0;}(A)-1 (B)0 (C)非0的数(D)1A17、以下程序的输出结果是()。
# include <stdio.h>int main( ){ char c='z';printf("%c",c-24);return 0;}(A)b (B)c (C)y (D)z-2418. 若a为float类型变量,且a=4.6785,则表达式(int)(a*100+0.5)/100.0的值为(4.68 )。
19. 设有int x=11,y=10;则以下表达式的值为( 10 )。
x- - >y? 10:11>y++?’a’:’z’B20. 设int x=8,y,z;执行y = z = x + +; x = y = =z( ) 。
(A)0 (B)1 ( C)8 (D)9D21、一个C语言程序是由()构成。
(A)语句(B)行号(C)数据(D)函数C22、下面标识符中正确的是()。
(A)a#bc (B)123ABC (C)sime (D)Y·M·DB23、若有定义:int a=17,b=5,c;,执行语句c=a/b-0.4;后,c的值为( )。
(A)3.0 (B)3 (C)2 (D)2.6A24、以下程序段的输出结果是( )。
int a=2578;printf("%2d\n",a);(A)2578 (B)25 (C)78 (D)提示出错、无结果B25、以下关于运算符优先顺序的描述中正确的是( )。
(A)关系运算符< 算术运算符< 赋值运算符< 逻辑运算符(B)赋值运算符< 逻辑运算符< 关系运算符< 算术运算符(C)逻辑运算符< 关系运算符< 算术运算符< 赋值运算符(D)算术运算符< 关系运算符< 赋值运算符< 逻辑运算符A26、一个C程序的执行是从()。
(A)本程序的main函数开始到main函数结束。
(B)本程序文件的第一个函数开始到本程序文件的最后一个函数结束。
(C)本程序的main函数开始到本程序文件的最后一个函数结束。
(D)本程序文件的第一个函数开始到本程序的main函数结束。
C27、C语言程序经过编译以后生成的文件名的后缀为()。
(A).c (B).obj (C).exe (D).cppC28、设变量a是int型,f是float型,i是double型,则表达式10+‘a’+i*f的值为()。
(A)int型(B)float型(C)double型(D)不确定A29、在C语言中,存储一个字符型、整型、单精度实型变量所需的空间分别为()个字节。
(A)1、2、4 (B)1、1、4 (C)1、2、8 (D)2、2、8 D30、字符型数据在内存中是以()的二进制形式存储的。
(A)原码(B)反码(C)补码(D)ASCII码C31、设有int x=11 ;则表达式(x+1/3)的值是()。
(A)3 (B)4 (C)11 (D)12C32、设a、b、c、d、m、n均为int型变量,且a=1、b=2、c=3、d=4、m=1、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值位为()。
(A)0 (B)1 (C)2 (D)3C33、若有代数式3aebc,则不正确的C语言表达式是()。
(A)a/b/c*e*3 (B)3*a*e/b/c(C)3*a*e/b*c (D)a*e/c/b*3C34、以下程序的输出结果是()。
# include <stdio.h>int main( ){ int a=3;printf("%d\n",(a+=a-=a*=a) );return 0;}(A)-6 (B)6 (C)0 (D)12C35、以下程序的输出结果是( )。
# include <stdio.h>int main( ){ int a=2,b=-3,c=5,d;printf("%d\n",d=a>b?(a>c?a:c):(b));return 0;}(A)-3 (B)2 (C)5 (D)不确定D36、以下程序的输出结果是()。
# include <stdio.h>int main( ){ int a, b;for(a=1, b=1; a<=100; a++){ if (b>=10) break;if (b%3==1){ b+=3; continue; }}printf("%d\n",a);return 0;}(A)101 (B)6 (C)5 (D)4二、编程题1. 按下列公式按下列公式s(n)=12+22+…+n2编写计算并输出s值,其中的n值由键盘输入。
main( ){int i,n,s;scanf("%d",&n);for(i=1;i<=n; i++)s=s+i*10+2;printf("%d\n",s);}2.有36块砖,共36人搬,成年男子一次搬4块砖,成年女子一次搬3块砖,儿童两人抬1块砖,恰好一次全部搬完,编程求出成年男子成年女子和儿童各有多少人。
#include<stdio.h>main(){int nanren,nvren,xiaohai ;for(nanren=0;nanren<=36;nanren++)/* 三层嵌套循环,实现穷举*/for(nvren=0;nvren<=36;nvren++)for(xiaohai=0;xiaohai<=36;xiaohai++)if(nanren+nvren+xiaohai==36&&4*nanren+3*nvren+0.5*xiaohai==36)printf("%4d%4d%4d\n",nanren,nvren,xiaohai);}3 3 303、计算1+1/2+1/3+1/4+…+1/99+1/100的值,结果保留3位小数。