1、13 设所有变量均为int型,则表达式(a=2,b=5,b+,a+b)的值是 A. 7 B. 8 C. 6 D. 214 在C语言中,要求运算数必须是整型的运算符是: A. / B. +C. != D. %15 设C语言中,一个int 型数据在内存中占2个字节,则unsigned int 型数据的取值范围为 A. 0-255B. 1-32767 C. 0-65535D. 0-214748364716 下面不正确的字符串常量是:A. abcB. 1212C. 0D. 17 表达式 18/4*sqrt(4.0)/8值的数据类型是:A. intB. float C. doubleD. 不确定18 若
2、有以下定义:char a;int b;float c;double d;则表达式a*b+d-c值的类型为:A. float B. int C. char D. Double19 不属于字符型常量的是 ABC. nD. x7220 在C语言中,合法的长整型常数是_。A. 0L B. 4962710 C. 0412765 D. 0xa34b7fe21 若有以下定义语句char c1=b, c2=e; printf(“%d,%cn”,c2-c1,c2-a+A);则输出结果是_。A. 2,M B. 3,E C. 2,E D. 输出项与相应的格式控制不一致,输出结果不确定22 设char ch; 以下正
3、确的赋值语句是:A. ch=123;B. ch=xffC. ch=08D. ch=23 若t为double类型,表达式t=1,t+5,t+的值是 A. 1 B. 6.0 C. 2.0 D. 1.024 设整型变量m,n,a,b,c,d均为1,执行“(m=ab)&(n=ab)”后m,n的值是 A. 0,0 B. 0,1 C. 1,0 D. 1,125 若a=1,b=2,c=3,d=4,则条件表达式ab?a:ad?c:d的值为 B. 2 C. 3 D. 426 设a=2,则执行b=a=!a;语句后,b的结果是 A. 0 B. 1 C. 2 D. 327 设有以下语句,则c的二进制值是 char a
4、=3,b=6,c; 解: a=00000011,b=00000110c=ab2; ab=00000101 c=00010100A. 00011011 B. 00010100 C. 00011100 D. 0001100028 设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是 A. 把x和y按从大到小排列B. 把x和y按从小到大排列C. 无确定结果D. 交换x和y中的值(二) 填空题1. C语言中的标识符只能由三种字符组成,它们是 字母、 数字 、 下划线 。2. 一个C语言程序有且仅有一个_main_函数。3. 结构化设计中的三种基本结构是顺序,分支,循环。4.
5、C语言程序的执行是从_main函数_开始执行的。5. C语言源程序文件后缀是_c或cpp_,经编译后生成文件的后缀是_obj_。经链接后生成文件的后缀是_exe_。6. C语言源程序的语句分隔符是_;_。7. 若a是int型变量,且a的初值为6,则执行下面表达式后a的值为 -60 。 a+=a-=a*a 解:a=a-36=-30 a=a+(-30)8. 72在内存中占 1 个字节,”72”在内存中占 2 个字节。9. 若有以下定义语句:int a=5; printf(“%dn”,a+); 则输出结果是_5_。10. C语言中的基本数据类型分为 整 型、 实 型和 字符 型。11. C语言的实型
6、可分为 float 型和 double 型。12. 若有以下定义语句:int u=010,v=0x10,w=10; printf(“%d,%d,%dn”,u,v,w); 则输出结果是 _8,16,10_。13. 下面程序的输出是_k=11,k=13,k=b_。main()int k=11; printf(k=%d,k=%o,k=%xn,k,k,k);14. 若有以下定义语句: 则输出结果是_5_。15. 设x为int型变量,执行以下语句,x=10; x+=x-=x-x; x的值为_20_。16. 若有定义int a=10,b=9,c=8; 接着顺序执行下列语句后,变量b的值为_3_。c=(a-
7、=b-5);c=(a%11)+(b=3);17. 设有以下定义,并以赋予了确定的值:char w; int x; float y; double z;则表达式w*x+z-y所求得值的数据类型为_double_。18. 设x和y均为int型变量,且x=10和y=3则以下语句的输出结果是_10,2_。Printf(“%d,%dn”,x+,-y);19. 下列程序的输出结果是_2,1 _。int a=1,b=2; a+=b; b=a-b; a-=b; printf(“%d,%dn”,a,b);20. 以下程序执行结果是: 2,1 main( )int a,b,d=241;a=d/100%9;b=(-
8、1)&(-1);printf(%d,%dn,a,b);21. 以下程序执行结果是: 3.14159,3.1416,3.142 float f=3.1415927;%5f,%5.4f,%3.3f,f,f,f);22. 以下程序输入1 2 3后的执行结果是: a=1,b=2,c=3 int a,c;char b;scanf(%d %c %d,&a,&b,&c);a=%d,b=%c,c=%dn,a,b,c);23. 以下程序输入123456后的执行结果是: a=12,b=345 int a,b;scanf (%2d%3db);a=%d,b=%dn24. 以下程序输入ABC 后的执行结果是: c=A
9、char c;%3cc=%cn,c);二、 分支结构1 选择合法的条件语句(设int x,a,b,c;) ( )。A. if (a=b) +x;B. if (a=b) +x;C. if (aD. if (a=b) +x;2 执行下列程序,输入为1的输出结果是( A ),输入为4的输出结果是( C ),输入为3的输出结果是( D )。int k; scanf(%dk); switch(k)case 1:%dn,k+); case 2: break; case 3: case 4: case 5: default:Full!n); A. 12 C. 45 D. 3 1 下列程序运行后输出结果是_e
10、nd_。int a,b,c; a=2;b=3;c=1; if(ab)c),a); else,b);endn2 以下程序执行结果是_d=1_。int a,b,c,d,x; a=b=c=0; d=1; if(a) d=d-10; else if(! if(!c) x=6; else x=7;d=%dn,d);3 若从键盘输入m,下列程序执行结果是_M_。Enter a character:%c if(a=c&c t=a;a=b;b=t;a=c;c=t;d)a=d;d=t; if (b t=b;b=c;b=d; if (c t=c;c=d;n %d %d %d %dn 6 以下程序的执行结果是_ f
11、irstthird_。 int x=1,y=0; switch(x) case 1: switch(y) case 0:firstnbreak; case 1:secondn case 2:thirdn 7 执行以下程序,输入-10的结果是_x=0_,输入5的结果是_ x=5_,输入10的结果是_ x=10_,输入30的结果是_ x=5_。 int a,b; float x;a); if(a0) b=-1; else b=a/10; switch(b) case -1:x=0; case 0:x=a;x=10;x=-0.5*a+20;x=-2; if(x!=-2) printf(x=%gn,x
12、);else printf(error!三、 循环结构1 若i,j已定义为int型,则以下程序段中内循环体的执行次数是( )。 for(i=5;i;i-) for(j=0;j4;j+) A. 20 B. 24 C. 25 D. 302 若i,j已定义为int型,则以下for循环是( )。 for(i=0,j=0;(j!=123)&(i4);i+);A. 无限循环 B. 循环次数不定 C. 执行4次 D. 执行3次 3 对于for(表达式1; ; 表达式3)可以理解为( )。A. for(表达式1;0; 表达式3)B. for(表达式1;1;C. for(表达式1; 表达式1;D. for(表达
13、式1; 表达式3;4 执行下列程序段后,x值是( A ),i值是( C )。 int i,x; for(i=1,x=1;i=10) break; if(x%2=1) x+=5; continue; x-=3;A. 10 B. 7 D. 145 下列程序的执行结果是( )。 #include=0;k-) switch(k) case 1: case 4: case 7: s+; case 6: s+=2; s=%dn,s);A. s=4 B. s=7 C. s=3 D. s=56 下列程序段执行结果是输出( )。 x=3; do%2d,x-); while(!x);B. 3 C. 321 D.
14、2101 C语言while和dowhile循环的主要区别是 前者先判后做 ,后者先做后判 。2 以下程序输出结果是 123 。int num=0; while(num=2) num+; printf(,num); 3 下列程序运行输出结果是 12 23 3 34 4 4 4 5 5 5 5 56 6 6 6 6 6int i,j,k; for(i=1;=6; for(j=1;=20-2*i;j+) for(k=1;k=i;k+)%4d,i);4 下列程序执行结果是 237273 。 int i=2,j,k;=9; for(k=0; if(i*j*k=42&i+j+k=12)%d%d%dn,i,
15、j,k);5 下列程序执行时,若从键盘输入124cmknp 03,结果是 d=5 s=1 a=5 。 char c; int d,s,a; d=s=a=0; c=getchar( ); while(c! if(c0 d=d+1; if(c= s=s+1; if(c|cZ a=a+1;d=%d s=%d a=%dn,d,s,a);6 下列程序执行结果是 72 。int i,j,k,s=0; for(i=0;3; for(j=0;4; for(k=0;2; s=s+i+j+k;7 下列程序执行结果是 0 12 46 912 1617 1921 2427 3135 4042 4548 5256 61
16、66 72 (代表回车换行) 。 for(k=0; s=s+i+j+k;%d );8 下列程序执行结果是 * * * * 。int i; char j=* switch(i) %cn,j); %c%cn,j,j);%c%c%cn,j,j,j);9 执行下列程序,若由键盘输入4,程序执行结果是 4 7 9 10 。 int s=0,i;i); if(i=0) s=s+i;%dt,s); while(-i);四、 数组1 以下关于数组的描述正确的是( )。A. 数组的大小是固定的,但可以有不同类型的数组元素B. 数组的大小是可变的,但所有数组元素的类型必须相同C. 数组的大小是固定的,所有数组元素
17、的类型必须相同D. 数组的大小是可变的,可以有不同类型的数组元素2 下面一维数组a正确定义是( )。A. int a(10);B. int n=10,an;C. int n;scanf(%d”,&n);int an;D. # define SIZE 10int aSIZE;3 若定义int a10;则对a数组元素的正确引用是( )。A. a10 B. a4.3 C. a(5) D. a6-64 以下对一维数组进行正确初始化的语句是( )。A. int a3=(0,1;B. int a3=;C. int a=0;D. int a3=3*2;5 下列程序:# define N 6char aN;
18、int i=0; for (;N;ai=getchar(),i+); for (i=0;putchar(ai),i+);运行时输入以下三行字符,每行输入都是在该行首列开始:abcdef程序输出结果是( )A. abcdef B. abcd C. abcd D. abcdef6 运行下列程序的输出结果是( )。 int a=5; float x=67.846; static char d10=abc%4d,%4.1f,%c,a,x,d2);A. 5,67.8,c B. 5,67.8,cC. 5,67.8, b D. 5,67.8,b7 若定义int a32;则printf(“%d”,a10);语
19、句输出的是第( )个元素。C. 4 D. 58 当输出含空格的字符串时,应使用( )函数。A. printf() B. puts () C. putchar () D. putc()9 在执行char str10=”chnina”;strlen(str)的结果是( )。A. 5 B. 6 C. 7 D. 910 10当接收用户键入的含空格的字符串时,应使用( )函数。A. scanf() B. gets() C. getchar() D. getc()1 C语言数组元素的下标必须是正整数、0或者 整型表达式 。2 C语言数组元素的下标下限为 0 。3 C语言的数组名是一个 地址 常量,不能对其进行赋值运算和自加、减运算。4 以下程序输出结果是 4 。# include char s1 =12345,s2 =1234,strlen(strcpy(s1,s2);5 以下程序执行结果
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1