C语言课程设计课后答案.doc_第1页
C语言课程设计课后答案.doc_第2页
C语言课程设计课后答案.doc_第3页
C语言课程设计课后答案.doc_第4页
C语言课程设计课后答案.doc_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

全国计算机等级考试二级教程C语言程序设计课后题及参考答案(教育部考试中心)高等教育出版社 出版(第一章、第二章、第三章) 第一章 程序设计基本概念1.1 在TRUBO C环境中用RUN命令运行一个C程序时,所运行的程序的后缀是_。答案:.exe1.2 C语言源程序文件的后缀是_,经过编译后,生成文件的后缀是_,经过连接后,生成文件的后缀是_。答案:.c.obj.exe1.3 结构化程序由_、_、_三种基本结构组成。答案:顺序、选择、循环第二章 C程序设计的初步知识一、选择题2.1 以下选项中正确的整型常量是A)12.B)-20C)1,000D)456答案:B2.2 以下选项中正确的实型常量是A)0B)3. 1415 C)0.32910(2)(10的2次方)D).871答案:D2.3 以下选项中不正确的实型常量是A)2.607E-1B)0.8103e2C)-77.77D)456e-2答案:B2.4 以下选项中不合法的用户标识符是A)abc.cB)fileC)MainD)PRINTF答案:A2.5 以下选项中不合法的用户标识符是A)_123B)printfC)A$D)Dim答案:C2.6 C语言中运算对象必需是整型的运算符是A)%B)/C)!D)*答案:A2.7 可在C程序中用作用户标识符的一组标识符是A)voiddefineWORDB)as_b3_123IfC)For-abccaseD)2cDOSIG答案:B2.8 若变量已正确定义并赋值,符合C语言语法的表达式是A)a=a+7;B)a=7+b+c,a+C)int(12.3%4)D)a=a+7=c+b答案:B2.9 以下叙述中正确的是A)a是实型变量,C允许进行以下赋值a=10,因此可以这样说:实型变量中允许存放整型值。B)在赋值表达式中,赋值号右边既可以是变量也可以是任意表达式。C)执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值已由原值改变为b的值,b的值由原值变为0。D)已有a=3,b=5。当执行了表达式a=b,b=a之后,已使a中的值为5,b中的值为3。答案:B2.10 以下叙述中正确的是A)在C程序中无论是整数还是实数,只要在允许的范围内都能准确无误的表示。B)C程序由主函数组成。C)C程序由函数组成。D)C程序由函数和过程组成。答案:C2.11 TURBO C中int类型变量所占字节数是A)1B)2C)3D)4答案:B2.12 不合法的八进制数是A)0B)028C)077D)01答案:B2.13 不合法的十六进制数是A)oxffB)0XabcC)0x11D)0x19答案:A二、填空题2.14 若k为int整型变量且赋值11。请写出运算k+后表达式的值A)_和变量的值B)_。答案:11、122.15 若x为double型变量,请写出运算x=3.2,+x后表达式的值A)_和变量的值B)_。答案:4.2、4.22.16 函数体由符号_开始,用符号_结束。函数体的前面是_部分,其后是_部分。答案:、定义、执行2.17 C语言中的标识符可分为_、_、和预定义标识符三类。答案:关键字、用户标识符2.18 在C语言程序中,用关键字_定义基本整型量,用关键字_定义单精度实型变量,用关键字_定义双精度实型变量。答案:int、float、double2.19 把a1、a2定义成单精度实型变量,并赋初值1的定义语句是_。答案:float a1=1.0,a2=1.0;2.20 C程序中定义的变量,代表内存中的一个_。答案:存储单元2.21 表达式3.5+1/2的计算结果是_。答案:3.52.22 对以下数学式,写出三个等价的C语言表达式_、_、_。ab c答案:a*b/c、a/c*b、b/c*a2.23 表达式s=10应当读做“_”。答案:将10赋给变量s2.24 计算机中内存储器的最小存储单位称_,其中能容纳的数是_。答案:位、0或12.25 通常一个字节包含_个二进制位。在一个字节中能存放的最大(十进制)整数是_,它的二进制数的形式是_;最小(十进制)整数是_,它的二进制数的形式是_。答案:8、255、1111 1111、-128、1000 00002.26 当计算机用两个字节存放一个整数时,其中能存放的最大(十进制)整数是_、最小(十进制)整数是_,它的二进制数的形式是_。答案:65535、-32768、1000 0000 0000 00002.27 在C语言中整数可用_进制数、_进制数和_进制数三种数制表示。答案:十、八、十六第三章、顺序结构一、选择题3.1 若a、b、c、d都是int类型变量且初值为0,以下选项中不正确的赋值语句是A) a=b=c=100;B) d+;C) c+b;D) d=(c=22)-(b+);答案:C3.2 以下选项中不是C语句的是A) int i; i+; printf(%dn, i); B) ;C) a=5,c=10D) ; 答案:C3.3 以下合法的C语言赋值语句是A) A=B=58B) k=int(a+b);C) a=58,b=58D) -i;答案:D3.4 以下程序的输出结果是A) 0 B) 1 C) 3 D)不确定的值main()int x=10,y=3;printf(%dn, y=x/y);答案:C3.5 若变量已正确说明为int类型,要给a、b、c输入数据,以下不正确的输入语句是A) read(a,b,c);B) scanf(%d%d%d,a,b,c);C) scanf(%D%D%D,&a,&b,&c);D) scanf(%d%d%d,&a,&b,&c);答案:D3.6 若变量已正确说明为float类型,要通过以下赋值语句给a赋予10、b赋予22、c赋予33,以下不正确的输入形式是A) 10 22 33B) 10.0,22.0,33.0C) 10.0 22.0 33.0D) 10 22 33scanf(%f %f %f, &a, &b, &c);答案:B3.7 若变量以正确定义,要将a和b中的数进行交换,下面不正确的语句组是A) a=a+b,b=a-b,a=a-b;B) t=a,a=b,b=t;C) a=t; t=b; b=a;D) t=b; b=a; a=t;答案:C3.8 若变量已正确定义,以下程序段的输出结果是A) 输出格式说明与输出项不匹配,输出无定值B) 5.17000C) 5.168000D) 5.169000x=5.16894;printf(%fn,(int)(x*1000+0.5)/(float)1000);答案:D3.9 若有以下程序段,c3中的值是A) 0B) 1/2C) 0.5D) 1int c1=1,c2=2,c3;c3=c1/c2;答案:A3.10 若有以下程序段,其输出结果是A) 0,0,-10B) 0,0,5C) -10,3,-10D) 3,3,-10int a=0,b=0,c=0;c=(a-=a-5),(a=b,b+3);printf(%d,%d,%dn,a,b,c);答案:B3.11 当运行以下程序时,在键盘上从第一列开始输入9876543210(此处代表Enter),则程序的输出结果是A) a=98,b=765,c=4321B) a=10,b=432,c=8765C) a=98,b=765.000000,c=4321.000000D) a=98,b=765,c=4321.0main()int a; float b,c;scanf(%2d%3f%4f,&a,&b,&c);printf(na=%d,b=%f,c=%fn,a,b,c);答案:C3.12 以下程序的输出结果是A) a=%2,b=%5B) a=2,b=5C) a=%d,b=%dD) a=%d,b=%dmain() int a=2,b=5;printf(a=%d,b=%dn,a,b);答案:D3.13 若int类型占两个字节,则以下程序段的输出是A) -1,-1B) -1,32767C) -1,32768D) -1,65535int a=-1;printf(%d,%un,a,a);答案:D3.14 以下程序段的输出是A) *496 *B) * 496*C) *000496* D)输出格式符不合法int x=496;printf(*%-06d*n,x);答案:A3.15 以下程序段的输出是A) |3.1415|B) | 3.0| C) |3|D) |3.|float a=3.1415;printf(|%6.0f|n,a);答案:C3.16 以下程序段的输出是A) |2345.67800|B) |12345.6780|C) |12345.67800|D) |12345.678|printf(|%10.5f|n,12345.678);答案:C3.17 以下程序段的输出是A) *0000057.66*B) *57.66*C) *0000057.67*D) *57.67*float a=57.666;printf(*%010.2f*n,a);答案:C3.18 若从终端输入以下数据,要给变量C赋以283.19,则正确的输入语句是A) scanf(%f,c);B) scanf(%8.4f,&c);C) scanf(%6.2f,&c);D) scanf(%8,&c);283.1900 表示Enter键答案:由于印刷错误,本题没有正确答案。改正意见:把选项A改为:scanf(%f,&c);或者把选项D改为:scanf(%8f,&c);则可分别选择A或者D为正确答案。3.19 若变量已正确说明,要求用以下语句给a赋予3.12、给b赋予9.0,则正确的输入形式是(代表空格)A) 3.129.0B) a=3.12b=9C) a=3.12,b=9 D) a=3.12,b=9scanf(a=%f,b=%f,&a,&b); 表示Enter键答案:C3.20 以下程序的输出结果是A) 98 B) 89 C) 66 D) 以上三个都不对#includemath.hmain() double a=-3.0, b=2;printf(%3.0f %3.0fn,pow(b,fabs(a),pow(fabs(a),b);答案:B二、填空题3.21 若有以下定义,请写出以下程序段中输出语句执行后的输出结果。(1)_(2)_(3)_int i=-200,j=2500;printf(1) %d %d,i,j);printf(2) i=%d, j=%dn,i,j);printf(3) i=%dn j=%dn,i,j);答案:-200 2500i=-200, j=2500i=-200 j=25003.22 变量i、j、k已定义为int类型并有初值0,用以下语句进行输入时scanf(%d,&i); scanf(%d,&j); scanf(%d,&k);当执行第一个输入语句,从键盘输入:12.3 表示Enter键则变量i、j、k的值分别是_、_、_。答案:12、0、03.23 复合语句在语法上被认为是_。空语句的形式是_。答案:一条语句、 ;3.24 C语句的最后用_结束。答案:;3.25 以下程序段,要求通过scanf语句给变量赋值,然后输出变量的值。写出运行时给k输入100,给a输入25.81,给x输入1.89234时的三种可能的输入形式_、_、_。int k; float a; double x;scanf(%d%f%lf,&k,&a,&x);printf(k=%d,a=%f,x=%fn,k,a,x);答案:(1) 10025.811.89234(2) 10025.811.89234(3) 100 25.81 1.892343.26 以下程序段的输出结果是_。int x=0177;printf(x=%3d,x=%6d,x=$%6o,x=%6x,x=%6un,x,x,x,x,x);答案:x=127,x= 127,x= 177,x=7f,x= 1273.27 以下程序段的输出结果是_。int x=0177;printf(x=%-3d,x=%-6d,x=$%-06d,x=$%06d,x=%06dn,x,x,x,x,x);答案:27、x=127,x=127 ,x=$127 ,x=$000127,x=%06d3.28 以下程序段的输出结果是_。double a=513.789215;printf(a=%8.6f,a=%8.2f,a=%14.8f,a=%14.8lfn,a,a,a,a);答案:a=513.789215,a=513.79,a=513.78921500,a=513.78921500第四章、选择结构一、 选择题4.1 下列运算符中优先级最高的运算符是A) !B) %C) -=D) &答案:A4.2 下列运算符中优先级最低的运算符是A) |B) !=C) =y)&(y=z)B) (x=y)AND(y=z)C) (x=y=z) D) (x=y)&(y=z)答案:A4.4 设a、b和c都是int型变量,且a=3,b=4,c=5;则以下的表达式中,值为0的表达式是A) a&bB) a=bC) a|b+c&b-cD) !(ab)&!c|1)答案:D4.5 以下程序的输出结果是A) 0B) 1C) 2D) 3main() int a=2,b=-1,c=2;if(ab)if(b0)c=0;elsec+=1;printf(%dn,c);答案:C4.6 以下程序的输出结果是A)1B) 2C) 3 D) 4main() int w=4,x=3,y=2,z=1;printf(%dn,(wx?w:zy?z:x);答案:A4.7 若执行以下程序时从键盘上输入3和4,则输出结果是A) 14B) 16C) 18D) 20main() int a,b,s;scanf(%d%d,&a,&b);s=a;if(ab) s=b;s*=s;printf(%dn,s);答案:B4.8 下面的程序片段所表示的数学函数关系是 -1(x0) 1(x0) 0(x0) -1(x0)y=-1;if(x!=0) y=1;if(x0) y=1;else y=0;答案:本题没有正确答案。程序片段所表示的数学函数关系应该是 0(x0)4.9 运行以下程序后,输出A) *B) &C) #&D) 有语法错误不能通过编译main() int k=-3;if(k、=、=、=、!=4.13 C语言中的逻辑运算符按优先级别是_、_、_。答案:!、&、|4.14 C语言中的关系运算符和逻辑运算符的优先级别是_、_、_、_、_、_、_。答案:!、=、!=、&、|4.15 C语言中逻辑运算符_的优先级高于算术运算符。答案:!4.16 将下列数学式改写成C语言的关系表达式或逻辑表达式A)_B)_。A)a=b或a4答案:A)a=b|a4|x100)printf(%dn,a100);else printf(%dn,a0)B) !0答案:A) xc)b=a; a=c; c=b;答案:3、2、24.20 若变量已正确定义,以下语句段的输出结果是_。x=0; y=2; z=3;switch(x) case 0:switch(y=2) case 1: printf(*); break;case 2: printf(%); break; case 1:switch(z) case1: printf($); case2: printf(*); break; default: printf(#); 答案:*#第五章、循环结构一、 选择题5.1 以下程序段的输出结果是A) 9B) 1C) 11D) 10int k,j,s;for(k=2; k6; k+,k+) s=1;for(j=k; j6; j+)s+=j;printf(%dn, s);答案:D5.2 以下程序段的输出结果是A) 12B) 15C) 20D) 25int i,j,m=0;for(i=1; i=15; i+=4)for(j=3; j7) n-;printf(%dn, n);答案:B5.4 以下程序段的输出结果是A) 1B) 3 0C) 1 -2D) 死循环int x=3;do printf(%3d,x-=2); while(!(-x);答案:C5.5 以下程序段的输出结果是A) 15B) 14C) 不确定D) 0main() int i,sum;for(i=1; i0; y-)if(y%3=0)printf(%d, -y); continue;答案:B5.7 若x是int型变量,以下程序段的输出结果是A) *3 #4 *5B) #3 *4 #5C) #3 *4#5D) *3#4 *5for(x=3; x6; x+)printf(x%2)?(*%d):(#%dn),x);答案:D5.8 以下程序的输出结果是A) *#*#*#$B) #*#*#*$C) *#*#$ D) #*#*$main() int i;for(i=1; i=5; i+) if(i%2)printf(*);else contionue;printf(#);printf($n);答案:A5.9 以下叙述正确的是A) do_while语句构成的循环不能用其它语句构成的循环来代替。B) do_while语句构成的循环只能用break语句退出。C) 用do_while语句构成循环时,只有在while后的表达式为非零时结束循环。D) 用do_while语句构成循环时,只有在while后的表达式为零时结束循环。答案:D5.10 以下程序的输出结果是A) 39 81B) 42 84C) 26 68D) 28 70main() int x,i;for(i=1; ib; +b) i+;while(a+c) j+;do k+;while(ad+);答案:5、4、65.12 以下程序段的输出结果是_。int k,n,m;n=10; m=1; k=1;while(k=n)m*=2;printf(%dn,m);答案:死循环5.13 以下程序的输出结果是_。main() int x=2;while(x-);printf(%dn,x);答案:-15.14 以下程序段的输出结果是_。int i=0,sum=1;do sum+=i+; while(i5);printf(%dn,sum);答案:115.15 有以下程序段:s=1.0;for(k=1; k=n; k+) s=s+1.0/(k*(k+1);printf(%fn,s);请填空,使下面的程序段的功能完全与之等同。s=0.0;_;k=0;do s=s+d;_;d=1.0/(k*(k+1);while(_);printf(%fn,s);答案:d=1.0、k+、kamax)amax=x;if(_)amin=x;scanf(%f,&x);printf(namax=%fnamin=%fn,amax,amin);答案:x=0、xamin第六章、字符型数据一、选择题6.1 C语言中的简单数据类型有A) 整型、实型、逻辑型B) 整型、实型、字符型C) 整型、字符型、逻辑型D) 整型、实型、逻辑型、字符型答案:B6.2 C语言中,字符(char)型数据在微机内存中的存储形式是A) 反码B) 补码C) EBCDIC码D) ASCII码答案:D6.3 设有语句char a=72;,则变量aA) 包含1个字符B) 包含2个字符C) 包含3个字符D) 说明不合法答案:A6.4 C语言中不合法的字符常量是A) 0xffB) 65C) &D) 028答案:本题A)和D)选项都是不合法的字符常量。若A)选项改为xff,则正确。6.5 C语言中不合法的字符串常量是A) 121B) y=C) nnD) ABCDx6d答案:B6.6 判断char型变量c是否为大写字母的最简单且正确的表达式是A) A=c=A)&(c=Z)C) (A=c)D) (c=A)&(c=A&x=Z)?(x+32):x;printf(%cn,x);答案:B6.9 以下程序的输出结果是A) 67,CB) B,CC) C,DD) 不确定的值main() char ch1,ch2;ch1=A+5-3;ch2=A+5-3;printf(%d,%cn,ch1,ch2);答案:A6.10 对以下程序,从第一列开始输入数据:2473,代表Enter。程序的输出结果是A) 668977B) 668966C) 66778777D) 6688766#include stdio.hmain() int c;while(c=getchar()!=n) switch(c-2) case 0:case 1: putchar(c+4);case 2: putchar(c+4); break;case 3: putchar(c+3);default : putchar(c+2); break;printf(n);答案:A6.11 若变量已正确说明,要求用以下语句给c1赋予字符%、给c2赋予字符#、给a赋予2.0、给b赋予4.0,则正确的输入形式是(代表空格)A) 2.0%4.0#B) 2.0%4.0#C) 2%4#D) 2%4scanf(%f%c%f%c,&a,&c1,&b,&c2);(代表Enter键)答案:B二、填空题6.12 EOF的十进制值是_。答案:-16.13 C语言中,字符占内存_个字节。答案:16.14 调用C语言对字符处理的库函数时,在#include命令行中应包括的头文件是_。答案:string.h6.15 若输入字符A,在以下while语句执行后ch的值是_。while(ch=getchar()=A);答案:16.16 若要通过以下语句给a、b、c、d分别输入字符A、B、C、D,给w、x、y、z分别输入10、20、30、40,正确的输入形式是_,请用代表Enter键。scanf(%d%c%d%c%d%c%d%c,&w,&a,&x,&b,&y,&c,&z,&d);答案:10A20B30C40D6.17 若有以下说明和输入语句,要求给c1、c2输入字符A和B,给a1、a2输入7.29和101.298,从键盘正确输入数据的形式是_。char c1,c2;float a1,a2;scanf(%f%f,&a1,&a2);scanf(%c%c,&c1,&c2);答案:7.29101.298AB6.18 若有以下说明和输入语句,要求给c1、c2输入字符A和B,给a1、a2输入7.29和101.298,从键盘正确输入数据的形式是_。char c1,c2;float a1,a2;scanf(%c%f%c%f,&c1,&a1,&c2,&a2);答案:A7.29B101.2986.19 若有以下说明和输入语句,要求给c1、c2、c3输入字符A、B和C,请写出各种从键盘正确输入数据的形式。c

温馨提示

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

评论

0/150

提交评论