C程序设计习题册_第1页
C程序设计习题册_第2页
C程序设计习题册_第3页
C程序设计习题册_第4页
C程序设计习题册_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C程序设计习题册第二版 安徽工业职业技术学院信息工程系应用教研室第一单元 C语法基础知识点:1) C语言程序的基本概念和上机步骤;2) 常用数据类型、常量和变量;3) 基本输入输出函数的使用;4) 运算符与表达式(算术、赋值运算符);习题A一、选择题1. 要把高级语言编写的源程序转换为目标程序,需要使用( )A、编辑程序 B、 驱动程序 C、诊断程序D、 编译程序2. C语言源文件的扩展名一般为( )A、.c B、 .obj C、.exe D、 .bak3. 以下叙述中正确的是( )A、C语言的源程序不必通过编译就可以直接运行B、C语言中的每条可执行语句最终都将被转换成二进制的机器指令C、C源程序经编译形成的二进制代码可以直接运行D、C语言中的函数不可以单独进行编译4. 一个C语言程序是由( ) A、一个主程序和若干个子程序组成B、函数组成C、若干个过程组成D、若干个子程序组成 5. 字符型数据(char)在微机内存中的存储形式是 ( )A、反码 B、补码 C、BCD码 D、ASCII码6. int型变量a,执行了语句:a=A+1;,则正确的叙述是 ( )A、a的值是字符CB、a的值是浮点型C、不允许字符型和浮点型相加D、 a的值是字符A的ASCII值加上17. 当执行下面两个语句后,输出的结果为() char c1 = 97; c2 = 98; printf(“%d %c”,c1, c2); (a的ASCII值是97)A、97 98 B、97 b C、a 98 D、a b8. C语言中,运算对象必须是整型数的运算符是( )A、% B、/ C、%和/ D、*9. 知:int c,a=15,b=4; c=a/b; c的值为( )A、3.75 B、3 C、4 D、4.010. 若有程序段: int c1 = 1, c2 = 2, c3; c3 = 1.0/c2 *c1; 则执行后,c3中的值是()A、0 B、0.5 C、1 D、2二、填空题1. C语言的源程序必须通过 和 后,才能被计算机执行。 2. 一个C程序可包含 个函数,但是必须有且只有一个 函数,而且程序总是从该函数开始执行。3. C语言中的标识符只能由三种字符组成,它们是 、 和 。4. 在C语言中的实型变量分为两种类型,它们是 和 。5. 若s是int型变量,且s=6,则表达式s2+(s+1)2的值为 。6. 若a是int型变量,则执行表达式a=25/3%3后a的值为 。7. 算术表达式的C语言表达式是 。8. 设x=A,则x-a的值为 。三、问答题:1. 下列标识符中不合法的有哪些,并分别说明为什么不合法。A、abcd B、A_9C、_1_2_3 D、floatE、3AY F、_123 G、qq$ H、-int I、wang J、for K、zhao L、_h23 2. 某商店为了统计每日方便面的销售情况,需要定义两个变量分别统计某品牌方便面销售数量和总销售额,这两个变量分别定义成什么类型比较合适?3. 符号常量与变量有可异同?习题B 一、选择题1. 算法具有五个特性, 以下选项中不属于算法特性的是( )A、有穷性 B、简洁性 C、可行性 D、确定性答案:B2. 以下不能定义为用户标识符是( )A、Main B、_0 C、int D、sizeof 答案:C3. 以下叙述中错误的是( )A、用户所定义的标识符允许使用关键字B、用户所定义的标识符应尽量做到“见名知意”C、用户所定义的标识符必须以字母或下划线开头D、用户定义的标识符中,大、小写字母代表不同标识 答案:A 4. 以下不合法的用户标识符是( )A、j2_KEY B、Double C、4d D、_8_ 答案:C5. 以下叙述中错误的是( )A、C语言源程序经编译后生成后缀为.obj的目标程序B、C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件C、C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中D、C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令 答案:D6. 下列叙述中错误的是( )A、一个C语言程序只能实现一种算法 B、C程序可以由多个程序文件组成C、C程序可以由一个或多个函数组成 D、一个C函数可以单独作为一个C程序文件存在 答案:A7. 下列叙述中正确的是( )A、每个C程序文件中都必须要有一个main()函数B、在C程序中main()函数的位置是固定的C、C程序中所有函数之间都可以相互调用,与函数所在位置无关D、在C程序的函数中不能定义另一个函数 答案:D8. 以下叙述中错误的是( )A、计算机不能直接执行用C语言编写的源程序B、C程序经C编译程序编译后,生成后缀为.obj的文件是一个二进制文件C、后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件D、后缀为.obj和.exe的二进制文件都可以直接运行 答案:D9. 按照C语言规定的用户标识符命名规则,不能出现在标识符中的是( )A、大写字母 B、连接符 C、数字字符 D、下划线 答案:B10. 以下叙述中错误的是( )A、C语言是一种结构化程序设计语言B、结构化程序由顺序、分支、循环三种基本结构组成C、使用三种基本结构构成的程序只能解决简单问题D、结构化程序设计提倡模块化的设计方法 答案:C11. 以下合法的字符型常量是( )A、x13 B、081 C、65 D、n 答案:A12. 以下选项中可作为C语言合法常量的是( )A、-80. B、-080 C、-8e1.0 D、-80.0e 答案:A13. 以下选项中, 不能作为合法常量的是( )A、1.234e04 B、1.234e0.4 C、1.234e+4 D、1.234e0 答案:B14. 以下不合法的数值常量是( )A、011 B、1e1 C、8.0E0.5 D、0xabed 答案:C15. 以下不合法的字符常量是( )A、018 B、 C、 D、xcc 答案:A16. 以下关于long、int和short类型数据占用内存大小的叙述正确的是( )A、均占4个字节 B、根据数据的大小来决定所占内存的字节数 C、由用户自己定义 D、由C语言编译系统决定 答案:D17. 以下正确的字符串常量是( )A、 B、abc C、OlympicGames D、 答案:D18. 以下合法的字符型常量是( )A、x13 B、081 C、65 D、n 答案:A19. 以下不能正确计算代数式值的C语言表达式是( )A、1/3*sin(1/2)*sin(1/2)B、sin(0.5)*sin(0.5)/3C、pow(sin(0.5),2)/3D、1/3.0*pow(sin(1.0/2),2) 答案:D20. 表达式3.6-5/2+1.2+5%2的值是( )A、4.3 B、4.8 C、3.3 D、3.8 答案:D21. 下列定义变量的语句中错误的是( )A、int _int; B、double int_; C、char For; D、float US$; 答案:D22. 若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是( )A、+x,y=x- B、x+1=y C、x=x+10=x+y D、double(x)/10 答案:A23. 以下选项中,值为1的表达式是( )A、1 0 B、1 - 0 C、1 -0 D、0 - 0 答案:B24. 设有定义:int k=0;以下选项的四个表达式中与其他三个表达式的值不相同的是( )A、k+ B、k+=1 C、+k D、k+1 答案:A25. 以下选项中,当x为大于1的奇数时,值为0的表达式是( )A、x%2=1 B、x/2 C、x%2!=0 D、x%2=0 答案:D26. 已知大写字母A的ASCII码是65,小写字母a的ASCII码是97。以下不能将变量c中的大写字母转换为对应小写字母的语句是( )A、c=(c-A)%26 +a B、c=c+32 C、c=c-A+a D、c=(A+c)%26-a 答案:D27. 有以下程序 main() int m,n,p; scanf(m=%dn=%dp=%d,m,n,p); printf(%d%d%dn,m,n,p); 若想从键盘上输入数据, 使变量m中的值为123, n中的值为456, p中的值为789, 则正确的输入是( )A、m=123n=456p=789 B、m=123 n=456 p=789 C、m=123,n=456,p=789 D、123 456 789 答案:A28. 有以下程序#include stdio.hmain() char c1=1,c2=2; c1=getchar(); c2=getchar(); putchar(c1); putchar(c2);当运行时输入:a回车 后,以下叙述正确的是( )A、变量c1被赋予字符a,c2被赋予回车符B、程序将等待用户输入第2个字符C、变量c1被赋予字符a,c2中仍是原有字符2D、变量c1被赋予字符a,c2中将无确定值答案:A29. 有以下程序 main() int x, y, z; x=y=1; z=x+,y+,+y; printf(%d,%d,%dn,x,y,z); 程序运行后的输出结果是( )A、2,3,3 B、2,3,2 C、2,3,1 D、2,2,1 答案:C30. 设有定义:int a; float b; 执行 scanf(%2d%f,a,b); 语句时,若从键盘输入876 543.0回车,a和b的值分别是( )A、876和543.000000 B、87和6.000000 C、87和543.000000 D、76和543.000000 答案:B 31. 设变量均已正确定义,若要通过scanf(%d%c%d%c,a1,c1,a2,c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。以下所示的输入形式中正确的是(注:代表空格字符) ( )A、10X20Y回车B、10X20Y回车C、10X 回车 20Y回车D、10X 回车 20Y回车 答案:D32. 有以下程序,其中%u表示按无符号整数输出 main() unsigned int x=0xFFFF; /* x的初值为十六进制数 */ printf(%un,x); 程序运行后的输出结果是( )A、-1 B、65535 C、32767 D、0xFFFF 答案:B 二、填空题1. 以下程序运行后的输出结果是 。 main() int a,b,c; a=10;b=20;c=(a%b1)|(a/b1); printf(%d %d %dna,b,c); 本小题第1空答案:10 20 02. 已知字符A的ASCII代码值为65, 以下程序运行时若从键盘输入: B33回车。则输出结果是 。 #include stdio.h main() char a,b; a=getchar();scanf(%d,b); a=a-A+0; b=b*2; printf(%c %cna,b); 本小题第1空答案:1 B3. 若变量a,b已定义为int类型并赋值21和55,要求用printf函数以a=21,b=55的形式输出,请写出完整的的输出语句 。 本小题第1空答案:printf(a=%d,b=%dn,a,b); 或 printf(a=%d,b=%d,a,b); 4. 设有定义:float x=123.4567;,则执行以下语句后的输出结果是 。 printf(%fn,(int)(x*100+0.5)/100.0); 本小题第1空答案:123.46 或 123.4600005. 以下程序运行后的输出结果是 。 main() int m=011,n=11; printf(%d %dn,+m, n+); 本小题第1空答案:10 11 6. 执行以下程序时输入1234567CR,则输出结果是 。 #include stdio.h main() int a=1,b; scanf(%2d%2d,a,b);printf(%d %dn,a,b); 本小题第1空答案:12 34第二单元 程序结构知识点:1) 关系及逻辑运算符与表达式;2) 分支结构及其运用;3) 循环结构及其运用;习题A一、选择题1. 下列表达式中, 不满足“当x的值为偶数时值为真,为奇数时值为假”的要求( )。A、x%2=0 B、!x%2!=0 C、(x/2*2-x)=0 D、!(x%2)2. 能正确表示“当x的取值在1,10和200,210范围内为真,否则为假”的表达式是( )。A、(x=1) (x=10) (x=200) (x=210)B、(x=1) | | (x=10) | | (x=200) | | (x=210)C、(x=1) (x=10) | | (x=200) (x=210)D、(x=1) | | (x=10) (x=200) | | (x=210)3. 若有定义:int a=3,b=2,c=1;并有表达式:a%b,abc,bc+1,c+=1,则表达式值相等的是( )。A、和 B、和 C、和 D、和4. 设:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=ab) (n=cd)后n的值为( )。A、1 B、2 C、3 D、45. 逻辑运算符两侧运算对象的数据类型( )。A、只能是0或1 B、只能是0或非0正数C、只能是整型或字符型数据 D、可以是任何类型的数据6. 下述表达式中,( )可以正确表示x0或x1的关系。A、(x=1) | | (x=0) B、x=1 | x=0C、x=1 x=0 D、(x=1) (x=0)7. C语言对嵌套if语句的规定是:else总是与( )。A、其之前最近的if配对 B、第一个if配对C、缩进位置相同的if配对 D、其之前最近的且尚未配对的if配对8. 已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是( )。 if(xy) z=x; x=y; y=z;A、 x=10, y=20, z=30 B、 x=20, y=30, z=30C、 x=20, y=30, z=10 D、 x=20, y=30, z=209. 执行下面语句后的输出结果为( )int i = -1;if( i = 0) printf(“* * * n”);else printf(“% % % n”);A、* * * B、% % % C、% % c D、语法错误,不能执行10. 假定所有变量均已正确说明,下列是程序段运行后 x 的值是( ) a = b = c = 0; x = 35; if( !a ) x - -; else if( b ) x = 3; else x = 4;A、34 B、4 C、35 D、311. 以下程序的输出结果是( )main( ) int a=5, b=4, c=6, d;printf(%d n, d=ab?(ac?a:c):(b);A、 5 B、 4 C、 6 D、不确定12. 若有以下定义: float x; int a,b; 则正确的switch 语句是( )A、switch(x) B、 switch(x) case 1.0: printf(*n); case 1, 2: printf(*n); case 2.0: printf(*n); case 3: printf(*n); C、 switch (a+b) D、 switch (a+b); case 1: printf(n); case 1: printf(*n); case 1+2: printf(*n); case 2: printf(*n); 13. 有如下程序 main( ) float x=2.0, y; if(x0.0) y=0.0; else if(x10.0) y=1.0/x; else y=1.0; printf(“%fn”,y);该程序的输出结果是( ) A、 0.000000 B、 0.250000 C、 0.500000 D、 1.000000 14. 以下程序的运行结果是( )main() int m=5; if(m+5) printf(“%dn”,m); else; printf(“%dn”,m-);A、 4 B、 5 C、 6 D、 715. 若运行时给变量x输入12,则以下程序的运行结果是( )main() int x,y; scanf(“%d”,x); y=x12 ? x+10 : x-12;printf(“%dn”,y);A、 3 B、 2 C、 1 D、 016. 对下述程序,( )是正确的判断。main ( ) int x,y;scanf(“%d,%d”,x,y);if (xy) x=y;y=x;else x+;y+;printf(“%d,%d”,x,y);A、有语法错误,不能通过编译 B、若输入3和4,则输出4和5C、若输入4和3,则输出3和4 D、若输入4和3,则输出4和517. 若int i=10;执行下列程序后,变量i的正确结果是( )。switch (i) case 9: i+=1 ;case 10: i+=1 ;case 11: i+=1 ;default : i+=1 ;A、10 B、11 C、12 D、1318. 以下描述错误的是( )A、while 循环是先判断表达式,后执行循环体语句B、do-while和for循环均是先执行循环体语句,后判断表达式C、while、do-while和for循环中的循环体语句均可以由空语句组成D、使用while和do-while循环时,循环变量初始化操作应在循环语句之前完成19. 语句的while(E);中的条件E等价于( )A、E=0 B、E!=1 C、E!=0 D、E20. 若i,j已定义为int 类型,则以下程序段中内循环体的总的执行次数是( ) for( i=5; i0; i-)for( j=0; j 4; j+) A、20 B、24 C、25 D、3021. 以下程序中,while循环的循环次数是( )main( ) int i=0;while(i10 ) if(i1) continue;if(i= =5) break;i+;A、 1 B、 10 C、 6 D、 死循环,不能确定次数22. 设有程序段 int k=10; while(k=0)k=k-1;这下面描述中正确的是( )A、while循环执行10次 B、循环是无限循环C、循环体语句以此也不执行 D、循环体语句执行一次23. 以下程序段( ) x=-1; do x=x*x; while(!x);A、是死循环 B、循环执行二次C、循环执行一次 D、有语法错误24. 若 x是int型变量,且有下面程序片段:for (x = 3;x 6;x + + ) if(x%2=1) printf(“* * %d”,x); else printf(“# # %dn”,x);则输出结果是:()A、* * 3 B、# # 3 C、# # 3 D、* * 3 # # 4# # 4 * * 4 * * 4 # # 5 * * 5 * * 5 # # 5 25. 下面程序的输出是() main( ) int y = 9; for( ; y 0; y - -) if(y%3=0) printf(“%d”,- - y); continue; A、741 B、852 C、963 D、87542126. 有以下程序main( ) int i,s=0; for(i=1;i10;i+=2) s+=i+1; printf(“%dn”,s);程序执行后的输出结果是( )A、自然数19的累加和B、自然数110的累加和C、自然数19中的奇数之和D、自然数110中的偶数之和27. 在下列选项中,没有构成死循环的程序段是( )A、 int i=100 B、for( ; ;); while(1) i=i%100+1; if(i100)break; C、int k=1000; D、int s=36; do+k; while(k=10000); while(s);-s;28. 下面程序段的运行结果是() int n=0; while(n+=2);printf(%d,n);A、2 B、3 C、4 D、有语法错29. 以下正确的描述是( )A、continue语句的作用是结束整个循环的执行B、只能在循环体内和switch语句体内使用break语句C、在循环体内使用break语句或continue语句的作用相同D、从多层循环嵌套中退出时,只能使用goto语句30. 以下是死循环的程序段是( )A、 for (i=1; ; ) if (i+%2=0) continue ; if (i+%3=0) break ; B、 i=32767;do if (i0) break ; while (+i) ;C、 for (i=1 ; ;) if (+I10) continue ;D、 i=1 ; while (i-);二、 填空题1. 设a=3,b=4,c=5,写出下面各逻辑表达式的值。表达式 表达式运算后的值a+bc b=c !(ab) !c | 1 !(a+b) + c 1 b + c/2 2. 已知A=7.5,B=2,C=3.6,表达式AB CA | AB !CB的值是 。3. 有int x=3,y=-4,z=5;则表达式(xy)=(x|z)的值为 。4. 若有x=1,y=2,z=3,则表达式(xy?x:y)=z+的值是 。5. 以下程序实现输出x,y,z三个数中的最小值,请填空使程序完整。main ( ) int x=4,y=5,z=8 ;int u,v;u = xy ? ;v = uz ? ;printf (“%d”,v);6. 填空完成下面程序,以实现输出下列图形。1 2 3 4 5 6 7 8 9 2 3 4 5 6 7 8 9 3 4 5 6 7 8 9 4 5 6 7 8 9 5 6 7 8 9 6 7 8 97 8 98 99 main( ) int i, j;for(i=1; ; i+) for( ; j=9; j+) printf(%2d, j);printf(n); 7. 下面程序段实现从键盘输入的字符中统计数字字符的个数,用换行符结束循环,请填空完成程序。 int n=0,c; c=getchar(); while( ) if( )n+; c=getchar(); 三、程序阅读题1. 请将以下语句改成switch语句。if (s0) (s=10)if (s=3) (s=6) x=2;else if (s1) (s8) x=3;else x=1;else x=0;2. 若运行时输入100,写出以下程序的运行结果。main ( ) int a ;scanf(“%d”,a);printf(“%s”,(a%2!=0)?”No”:”Yes”);3. 下面程序将输入的大写字母改写成小写字母输出,其他字符不变;请判断下面程序的正误,如果错误请改正过来。main ( ) char c;c = getchar ( ) ;c = (c=A | | c=Z) ? c-32 : c+32 ;printf(“%c”,c);4. 写出下面程序运行的结果。 #include stdio.h main() int a,s,n,count; a=2;s=0;n=1;count=1; while(count=7)n=n*a;s=s+n;+count; printf(s=%d,s); 5. 写出下面程序运行的结果。 i=1;s=3; dos+=i+; if(s%7=0)continue; else +i; while(s15); printf(%d,i);6. 写出下面程序运行的结果。main ( ) int i,b,k=0 ;for (i=1; i=5 ; i+) b=i%2;while (b-=0) k+ ;printf(“%d,%d”,k,b);7. 写出下面程序运行的结果。main ( ) int a,b;for (a=1,b=1 ; a=100 ; a+) if (b=20) break;if (b%3=1) b+=3 ; continue ; b-=5;printf(“%dn”,a);习题B一、选择题1. 有以下程序 main() int i=1,j=2,k=3; if(i+=1 (+j=3 | k+=3) printf(%d %d %dn,i,j,k); 程序运行后的输出结果是( )A、1 2 3 B、2 3 4 C、2 2 3 D、2 3 3 答案:D2. 若整型变量a、b、c、d中的值依次为 :1、4、3、2。则条件表达式 ab?a:cd?c:d 的值是( )A、1 B、2 C、3 D、4 答案:A3. 有以下程序段int k=0,a=1,b=2,c=3;k=ab ? b:a; k=kc ? c:k;执行该程序段后,k的值是( )A、3B、2C、1D、0 答案:B4. 以下叙述中正确的是( )A、调用printf函数时,必须要有输出项B、使用putchar函数时,必须在之前包含头文件stdio.hC、在C语言中,整数可以以十二进制、八进制或十六进制的形式输出D、调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码 答案:B5. 设变量a、b、c、d和y都已正确定义并赋值。若有以下if语句if (ab) if(c=d) y=0; else y=1;该语句所表示的含义是( )A、B、C、D、 答案:C6. 有以下程序 main() int a=0,b=0,c=0,d=0; if(a=1) b=1;c=2; else d=3; printf(%d,%d,%d,%dn,a,b,c,d); 程序输出( )A、0,1,2,0 B、0,0,0,3 C、1,1,2,0 D、编译有错 答案:D7. 设变量x和y均已正确定义并赋值。以下if语句中,在编译时将产生错误信息的是( )A、if(x+); B、if(xy y!=0);C、if(x0) x- D、if(y0) ; else y+; else x+; 答案:C8. 有以下计算公式 (x0)y= (x0)若程序前面已在命令中包含math.h文件,不能够正确计算上述公式的程序段是( ) A、if(x=0) y=sqrt(x); B、y=sqrt(x) else y=sqrt(-x); if(x0) y=sqrt(-x); C、if(x=0)y=sqrt(x); D、y=sqrt(x=0?x:-x); if(x0)y=sqrt(-x); 答案:B9. 设有定义:int a=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是( )A、if(ab) c=a,a=b,b=c; B、if(ab) c=a,a=b,b=c; C、if(ab) c=a;a=b;b=c; D、if(ab) c=a;a=b;b=c; 答案:C10. 以下程序段中,与语句:k=ab?(bc?1:0):0;功能相同的是( )A、if(ab)(bc) k=1; else k=0;B、if(ab)|(bc) k=1; else k=0;C、if(a=b) k=0; else if(b=c) k=1;D、if(ab) k=1; else if(bc) k=1; else k=0; 答案:A 11. 有以下程序#includestdio.hmain()intx;scanf(%d,x);if(x=3);else if(x!=10)printf(%dn,x);程序运行时,输入的值在哪个范围才会有输出结果( )A、不等于10的整数 B、大于3且不等于10的整数C、大于3或等于10的整数 D、小于3的整数 答案:B 12. 有以下程序#includestdio.hmain()inta=1,b=2,c=3,d=0;if(a=1b+=2)if(b!=2|c-!=3)printf(%d,%d,%dn,a,b,c);elseprintf(%d,%d,%dn,a,b,c);elseprintf(%d,%d,%dn,a,b,c);程序运行后输出结果是( )A、1,2,3 B、1,3,2 C、1,3,3 D、3,2,1 答案:C 13. 有以下程序段int a,b,c;a=10;b=50;c=30;if(ab) a=b,b=c; c=a;printf(“a=%d b=%d c=%d”,a,b,c);程序的输出结果是( )A、a=10 b=50 c=10 B、a=10 b=50 c=30 C、 a=10 b=30 c=10 D、 a=50 b=30 c=50 答案:A 14. 有以下程序#include stdio.hmain() int x=1,y=2, z=3; if(xy) if (yz) printf(“%d”,+z); else printf(“%d”,+y); printf(“%dn”,x+);程序运行结果是( )A、331 B、41 C、 2 D、1 答案:D15. 有以下程序 main() int a=1,b; for(b=1;b=10;b+) if(a=8) break; if(a%2=1) a+=5; continue; a-=3; printf(%dn,b); 程序运行后的输出结果是( )A、3 B、4 C、5 D、6 答案:B16. 以下叙述中错误的是( )A、C语句必须以分号结束B、复合语句在语法上被看作一条语句C、空语句出现在任何位置都不会影响程序运行D、赋值表达式末尾加分号就构成赋值语句 答案:C17. 有以下程序段int n,t=1,s=0;scanf(%d,n);do s=s+t; t=t-2; while (t!=n);为使此程序段不陷入死循环,从键盘输入的数据应该是( )A、任意正奇数 B、任意负偶数C、任意正偶数 D、任意负奇数 答案:D18. 设变量已正确定义,则以下能正确计算f = n!的程序段是( )A、f=0;B、f=1;for(i=1;i=n;i+) f*=i; for(i=1;in;i+) f*=i;C、f=1;D、f=1;for(i=n;i1;i+) f*=i; for(i=n;i=2;i-) f*=i; 答案:D19. 有以下程序main() int k=5,n=0; while(k0) switch(k) default : break; case 1 : n+=k; case 2 : case 3 : n+=k; k-; printf(%dn,n);程序运行后的输出结果是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论