C语言程序设计习题集(1)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

2020/11/21C程序设计习题2020/11/22C语言程序设计习题第一章程序设计基本概念第二章C程序设计的初步知识第三章顺序结构第四章选择结构第五章循环结构第六章字符型数据第七章函数第八章指针2020/11/23C语言程序设计习题第九章数组第十章字符串第十一章对函数的进一步讨论第十二章C语言中标识符的作用域和存储类第十三章编译预处理和动态存储分配第十四章结构体、共用体和用户定义类型第十五章位运算第十六章文件2020/11/24[1.2]C语言源程序文件的后缀是______,经过编译后,生成文件的后缀是______,经过连接后,生成文件的后缀是______。第一章程序设计基本概念[1.1]在TURBOC环境中用RUN命令运行一个C程序时,所运行的程序的后缀是。.EXE[1.3]结构化程序由、和三种基本结构组成。.C.OBJ.EXE顺序选择(分支)循环2020/11/25第二章C程序设计的初步知识一、选择题[2.1]以下选项中正确的整型常量是。A)12.B)-20C)1,000D)456[2.2]以下选项中正确的实型常量是A)0B)3.1415C)0.329*102D).871[2.3]以下选项中不正确的实型常量是A)2.607E-1B)0.8103e2C)-77.77D)456e-2[2.4]以下选项中不合法的用户标识符是A)abc.cB)fileC)MainD)PRINTF[2.5]以下选项中不合法的用户标识符是A)_123B)printfC)A$D)Dim2020/11/26[2.6]C语言中运算对象必需是整型的运算符是A)%B)/C)!D)**[2.7]可在C程序中用作用户标识符的一组标识符是A)voidB)as_b3C)ForD)2cdefine_123-abcDOWORDIfcaseSIG关键字不能有-数字开头[2.8]若变量已正确定义并赋值,符合C语言语法的表达式是A)a=a+7;B)a=7+b+c,a++C)int(12.3%4)D)a=a+7=c+b语句,不是表达式%要求整型数=号前是变量2020/11/27[2.10]以下叙述中正确的是A)在C程序中无论整数还是实数,只要在允许的范围内都能准确无误的表示。B)C程序由主函数组成。C)C程序由函数组成。D)C程序由函数和过程组成。[2.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。2020/11/28[2.11]TURBOC中int类型变量所占字节数是A)1B)2C)3D)4[2.12]不合法的八进制数是A)0B)028C)077D)01[2.13]不合法的十六进制数是A)oxffB)0XabcC)0x11D)0x19二、填空题[2.14]若k为int整型变量且赋值11。请写出运算k++后表达式的值A)____和变量k的值B)_____。[2.15]若x为double型变量,请写出运算x=3.2,++x后表达式的值A)_____和变量x的值B)________。11124.24.22020/11/29[2.16]函数体由符号____开始,用符号_____结束。函数体的前面是部分,其后是部分。[2.17]C语言中的标识符可分为________、、和预定义标识符三类。[2.18]在C语言程序中,用关键字_________定义基本整型变量,用关键字________定义单精度实型变量,用关键字_______定义双精度实型变量。[2.19]把a1、a2定义成单精度实型变量,并赋初值1的定义语句是。[2.20]C程序中定义的变量,代表内存中的一个。{}定义说明执行语句关键字用户标识符intfloatdoublefloata=1,b=1;不能用floata=b=1;存储单元2020/11/210[2.21]表达式3.5+1/2的计算结果是________。[2.22]对以下数学式,写出三个等价的C语言表达式______、、。a﹒bc[2.23]表达式s=10应当读做“________________”。[2.24]计算机中内存储器的最小存储单位称_________,其中能容纳的数是_________。[2.25]通常一个字节包含_______个二进制位。在一个字节中能存放的最大(十进制)整数是_____,它的二进制数的形式是___________;最小(十进制)整数是_______,它的二进制数的形式是______________。3.5不是4.5!a*b/ca/c*bb/c*a条件:a,b,c是实数S赋值为10bit(位)0/1812701111111-12810000000(补码)2020/11/211[2.27]在C语言中整数可用______进制数、_____进制数和_____进制数三种数制表示。[2.26]当计算机用两个字节存放一个整数时,其中能存放的最大(十进制)整数是_______、最小(十进制)整数是_____,它的二进制数的形式是。0111111111111111/100000000000000032767-3276810816三、上机改错题(读者最好在TURBOC环境下上机试一试,以便熟悉出错信息)。[2.28]请指出以下C程序的错误所在#includestdio.h;main();/*mainfunction*/floatr,s;/*/*risradius*/,/*sisareaofcircular*/*/r=5.0;s=3.14159*r*r;printf(“%f\n”,s)“”{}运行结果:78.5397492020/11/212[2.29]请指出以下C程序的错误所在#includestdio.hmain/*mainfunction*/{floata,b,c,v;/*a,b,caresides,visvolumeofcube*/a=2.0;b=3.0;c=4.0v=a*b*c;printf(“%f\n”,v)}();;运行结果:24.000000【2-28】(正确)#include“stdio.h”main()/*mainfunction*/{floatr,s;/*risradius,sisareaofcircular*/r=5.0;s=3.14159*r*r;printf(%f\n,s);}2020/11/213【2-29-2】(正确)#includestdio.hmain()/*mainfunction*/{floata,b,c,v;/*a,b,caresides,visvolumeofcube*/a=2.0;b=3.0;c=4.0;v=a*b*c;printf(%f\n,v);}2020/11/214第三章顺序结构一、选择题[3.1]若a、b、c、d、都是int类型变量且初值为0,以下选项中不正确的赋值语句是。A)a=b=c=d=100;B)d++;C)c+b;D)d=(c=22)-(b++);[3.2]以下选项中不是C语句的是。A){inti;i++;printf(“%d\n”,i);}B);C)a=5,c=10D){;}[3.3]以下合法的C语言赋值语句是。A)a=b=58B)k=int(a+b);C)a=58,b=58D)--i;[3.4]以下程序的输出结果是。A)0B)1C)3D)不确定的值main(){intx=10,y=3;printf(“%d\n”,y=x/y);}应为(int)(a+b);2020/11/215[3.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);[3.6]若变量已正确说明为float类型,要通过以下赋值语句给a赋予10、b赋予22、c赋予33,以下不正确的输入形式是。A)10B)10.0,22.0,33.0C)10.0D)10222222.033.03333scanf(“%f%f%f”,&a,&b,&c);[3.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;2020/11/216[3.8]若变量已正确定义,以下程序段的输出结果是。A)输出格式说明与输出项不区配,输出无定值B)5.170000C)5.168000D)5.169000x=5.16894;printf(“%f\n”,(int)(x*1000+0.5)/(float)1000);[3.9]若有以下程序段,c3中的值是。A)0B)1/2C)0.5D)1intc1=1,c2=2,c3;c3=c1/c2;[3.10]若有以下程序段,其输出结果是A)0,0,-10B)0,0,5C)-10,3,-10D)3,0,-10inta=0,b=0,c=0;c=(a-=a-5),(a=b,b+3);printf(“%d,%d,%d\n”,a,b,c);(int)(x*1000+0.5)=(int)(5169.44)=51695169/1000.0=5.1692020/11/217[3.11]当运行以下程序时,在键盘上从第一列开始输入9876543210CR(此处CR代表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.0,c=4321.0main(){inta;floatb,c;scanf(“%2d%3f%4f”,&a,&b,&c);printf(“\na=%d,b=%f,c=%f\n”,a,b,c);}[3.12]以下程序的输出结果是A)a=%2,b=%5B)a=2,b=5C)a=%%d,b=%%dD)a=%d,b=%dmain(){inta=2,b=5;printf(“a=%%d,b=%%d\n”,a,b);}%%输出‘%’2020/11/218[3.13]若int类型占两个字节,则以下程序段的输出是。A)-1,-1B)-1,32767C)-1,32768D)-1,65535inta=-1;printf(“%d,%u\n”,a,a);-1补码:1111111111111111[3.14]以下程序段的输出是A)*496*B)*496*C)*000496*D)输出格式符不合法intx=496;Printf(“*%-06d*\n”,x);“*%06d*\n”:输出*000496*[3.15]以下程序段的输出是A)|3.1415|B)|3.0|C)|3|D)|3.|floata=3.1415;Printf(“|%6.0f|\n”,a);[3.16]以下程序段的输出是A)|2345.67800|B)|12345.6780|C)|12345.67800|D)|12345.678|printf(“|%10.5f|\n”,12345.678);突破场宽!2020/11/219[3.17]以下程序段的输出是A)*0000057.66*B)*57.66*C)*0000057.67*D)*57.67*floata=57.666;pirntf(“%010.2f\n”,a);[3.18]若从终端输入以下数据,要给变量c赋以283.19,则正确的输入语句是A)scanf(“%f”,&c);B)scanf(“%8.4f”,&c);C)scanf(“%6.2f”,&c);D)scanf(“%8”,&c);283.1900CRsca

1 / 171
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功