c教材习题.docx
- 文档编号:26404795
- 上传时间:2023-06-19
- 格式:DOCX
- 页数:30
- 大小:36.75KB
c教材习题.docx
《c教材习题.docx》由会员分享,可在线阅读,更多相关《c教材习题.docx(30页珍藏版)》请在冰豆网上搜索。
c教材习题
第2章C语言基础
二、选择题
1.下列合法的字符常量是________。
A)"c"B)cC)'char'D)'\n'
2.下列合法的字符串常量是________。
A)56B)'56'C)"56"D)'\t'
3.合法的C语言标识符是__。
A)2aB)sumC)defaultD)a*b
4.不合法的C语言标识符是__。
A)_8_B)j2_KEYC)4dD)Double
5.以下语句的输出结果是__。
printf("%d",strlen("\t\''\065\xff\n\\"));
A)6B)14C)8D)输出项不合法,无正常输出
6.在C语言中,要求运算数必须是整型的运算符是__。
A)%B)/C) 7.已知字母A的ASCII码为十进制的65,下面程序的输出是__。 A)67,DB)B,CC)C,DD)不确定的值 voidmain() { charch1,ch2; ch1='A'+'5'-'3'; ch2='A'+'6'-'3'; printf("%d,%c",ch1,ch2); } 8.下面程序的输出是__。 A)0B)1C)3D)不确定的值 voidmain() { intx=10,y=3; printf("%d",y=x/y); } 9.有关运算符的正确描述是________。 A)运算符优先级最高的是圆括号运算符 B)“.”仅是小数点,不能作为运算符 C)圆括号只能用于算术表达式 D)赋值号的运算优先级是最低的 10.语句floatx=3.0,y=4.0;下列表达式中y的值为9.0的是________。 A)y/=x*27/4B)y+=x+2.0 C)y-=x+0.8D)y*=x-3.0 11.若有下列类型说明语句: charw;intx;floaty;doublez; 则表达式w*x+z-y值的正确数据类型为________。 A)floatB)charC)intD)double 12.下列浮点数的表示中不正确的是__。 A)22.3B).719e22C)e23D)12.e2 三、编程题 1.编写程序,输出|-6|+16.3*5.4的值。 2.编写程序,输入a、b两个整数值,输出两个数中较大值的平方根。 3.编写程序,从键盘输入的一个实数,输出他的平方和立方。 4.编写程序,从键盘输入的4个实数,输出他们的平均值。 5.编写程序,从键盘输入一个5位正整数,然后分别求出它的个位数、十位数、百位数、千位数和万位数,并打印出这五位数字的和。 如输入12345,打印出15(1+2+3+4+5=15)。 第3章顺序结构程序设计 二、选择题 1.运行下面程序,输出结果是______。 voidmain() {inta=5; printf("a=%d\n",++a+2); } A)a=6B)8C)a=5D)a=8 2.putchar函数可以向屏幕输出一个_________。 A)整型变量值B)实型变量值 C)字符串D)字符或字符变量值 3.运行以下程序,从键盘输入25,13,10<回车>,则输出结果是______。 voidmain() { inta1,a2,a3; scanf("%d,%d,%d",&al,&a2,&a3); printf("al+a2+a3=%d\n",al+a2+a3); } A)al+a2+a3=48B)al+a2+a3=25 C)al+a2+a3=10D)不定 4.设有以下程序段,则输出结果是__________。 charc1='b',c2='e'; printf("%d,%c\n",c2-c1,c2-'a'+'A'); A)2,MB)3,E C)2,ED)输出结果不确定 5.下面程序的执行结果是_______。 voidmain() {inta,b; a=20;b=10; a+=a+b; a-=a-b; printf("%d\n",a); } A)10B)-10C)30D)0 6.下面哪个语句正确地描述了计算公式 A)y=ax*x*x/x–bB)y=ax*x*x/(x–b) C)y=(a*x*x*x)/(x–b)D)y=a*x*x*x/x–b 7.有以下程序,叙述中正确的是_______。 voidmain() {chara1='M',a2='m'; printf("%c\n",(a1,a2)); } A)程序输出大写字母MB)程序输出小写字母m C)程序运行时产生出错信息D)格式说明符不足,编译出错 三、编程题 1.若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1='a',c2='b'。 想得到以下的输出结果,请写出程序(包括定义变量和输出设计)。 要求输出的结果如下: a=3b=4c=5 x=1.200000,y=2.400000,z=-3.600000 x+y=3.60y+z=-1.20z+x=-2.40 u=51274n=128765 c1='a'or97(ascii) c2='b'or98(ascii) 2.编写程序,输入圆的半径,计算并输出其周长和面积。 常量pi的值取3.14159,周长和面积取小数点后2位数字。 3.编写程序,把整数华氏温度f,转换为浮点型的摄氏温度c。 转换公式为c=5/9(f-32),输出要有文字说明,取2位小数。 4.编写程序,输入三角形的三边的边长,求三角形面积 。 三角形面积的计算公式为: p=(a+b+c)/2,S=sqrt(p(p-a)(p-b)(p-c))。 5.编写程序,使用类似printf("AA\aBB");语句,分别测试以下10个转义字符的显示效果: \a,\b,\n,\r,\t,\v,\’,\”,\\,\? 。 6.编写程序,输入一个小写字母,输出其对应的大写字母。 7.编写程序,从键盘输入两个字符分别存放在变量c1和c2中,要求交换c1和c2的值并输出。 8.编写程序,设银行定期存款的年利率rate为3.25%,存款期为n年,存款本金为capital元,计算并输出n年后的本利之和deposit。 interest(利息)=principal(本金)*rate(年利率)*n(年) 9.编写程序,输入销售员的销售额,计算并输出其月工资。 公司规定销售人员的工作由底薪加提成构成。 底薪为1000元,提成为当月总销售额的9%。 第4章选择结构 一、选择题 1.若变量c为char类型,能正确判断出c为小写字母的表达式是___________。 A)'a'<=c<='z'B)(c>='a')||(c<='z') C)('a'<=c)and('z'>=c)D)(c>='a')&&(c<='z') 2.有如下程序,运行后的输出结果是_。 voidmain() {inta=10,b=4,C=3; if(a if(a printf("%d,%d,%d\n",a,b,c); } A)3,4,10B)4,4,3C)3,4,3D)10,4,3 3.有如下程序段,执行该程序段后,x的值为__________。 inta=14,b=15,x; charc='A'; x=(a&&b)&&(c<'B'); A)tureB)falseC)0D)l 4.运行以下程序,如果从键盘上输入5,则输出结果是________。 voidmain() {intx; scanf("%d",&x); if(x--<5)printf("%d",x); elseprintf("%d",x++); } A)3B)4C)5D)6 5.下列关于if语句的描述中,错误的是()。 A)if语句中可以没有elseif子句,也可以没有else子句 B)if语句中只能有1个else子句 C)if语句中只能有不超过5个的elseif子句 D)if语句中的条件可以是任意表达式 6.以下程序的输出结果是___________。 main() {inta=-1,b=1; if((++a<0)&&! (b--<=0)) printf("%d%d\n",a,b); else printf("%d%d\n",b,a); A)–11B)01C)10D)00 7.有如下程序,该程序的输出结果是_________。 voidmain() {floatx=2.0,y; if(x<0.0)y=0.0; elseif(x<10.0)y=1.0/x; elsey=l.0; printf("%f\n",y); } A)0.000000B)0.250000C)0.500000D)1.000000 8.以下语法不正确的语句是___________。 A)if(x>y); B)if(x<y){x++;y++;} C)if(x=y)&&(x! =0)x+=y; D)if(x! =y)scanf("%d",&x);elsescanf("%d",&y); 9.以下程序输出结果为_________。 main() {intx=2,y=-1,z=2; if(x<y) if(y<0)z=0; elsez+=1; printf("%d\n",z); } A)3B)2C)1D)0 10.若输入字符B,以下程序的运行结果为___________。 main() {chargrade; scanf("%c",&grade); switch(grade) {case'A': printf(">=85"); case'B': case'C': printf(">=60"); case'D': printf("<60"); default: printf("error"); } } A)>=85B)>=60C)>=60<60errorD)error 11.有如下程序段: intscore=5; switch(score) {case5: printf("verygood! "); case4: printf("Good! "); default: printf("dataerror! "); } 程序输出结果为_。 A)Verygood! B)Good! C)dataerror! D)Verygood! Good! dataerror! 12.下列关于switch语句和break语句的说法中,只有___________是正确的。 A)break是switch语句中的一部分。 B)在switch语句中可以根据需要使用或不使用break语句。 C)在switch语句中必须使用break语句。 D)以上三种说法有两个是正确的。 二、填空题 1.设a=1,b=2,c=3,写出下列关系表达式的值 (1)(a (2)(c(a (3)a+b==c。 (4)a+b>=c。 2.设a=1,b=2,c=3,d=4写出下列逻辑表达式的值 (1)a&&b&&c。 (2)a||! b||! c。 (3)a! =11&&b<4。 3.当a=1,b=2,c=3时执行下面语句后,a,b,c的值分别为_______、_______、________。 if(a>c) b=c;a=c;c=b; 4.以下程序实现将两个数从大到小输出。 main() {floata,b,_____; scanf(______,&a,&b); if(a {t=a; __________; b=t; } printf("%5.2f,%5.2f\n",a,b); } 三、编程题 1.输入一个整数,判别它是奇数还是偶数。 2.输入一个字符,如果输入的是大写字母,则将它转换成小写字母后输出,否则按原样输出。 3.输入一个考试分数,如果分数是60分以下输出“不及格”,90分以上输出“优秀”,否则输出“合格”。 4.输入员工的工作时间,计算并输出该员工的工资。 公司规定每个雇员40小时以内的报酬为10.00美元/小时,超出40小时以外的按1.5工资付酬。 5.输入一个考试分数,要求输出成绩等级。 如果不在0~100之间,显示出错信息: “数据错误”,60分以下输出“不及格”,60~69之间输出“及格”,70~79之间输出“中”,80~89之间输出“良”,90分以上输出“优”。 6.根据分段函数y=f(x),输入x,输出y的值。 7.输入年、月、日三个整数值,计算并输出这一天是该年的第几天。 8.输入一个字符,判断输入字符的种类并输出,字符分为空格、数字字符、英文字母和其他字符。 9.根据某人的体重指数判断他的体重是属于何种类型,其中体重指数的计算公式为: 体重指数t=体重w/(身高h)2(其中体重w以千克为单位,身高h以米为单位)。 而体重指数对肥胖程度的划分是: 当t小于18时为体重偏轻;当18≤t<25时为体重正常;当25≤t<27时为体重超重;当t≥27时为肥胖。 第5章循环结构程序设计 一、选择题 1.设有如下程序段,则输出结果为k=()。 intk=0,a; for(a=1;a<=1000;a++)k=k+1; printf("k=%d",k); A)1B)1001C)1000D)溢出 2.设有如下程序段,则最后输出的a=()。 inta; for(a=1;a<=1000;a++)printf("a=%d",a); A)1B)1001C)1000D)溢出 3.设有如下程序段,则输出结果为a=()。 inta; for(a=1;a<=1000;a++); printf("a=%d",a); A)1B)1001C)1000D)溢出 4.设有如下程序段,则输出结果为k=()。 intk=0,a; for(a=1;a<=1000;a++){a=a+1;k=k+1;} printf("k=%d",k); A)1000B)499C)500D)501 5.循环语句for(inti=1,j=10;i==j;i++,j--);的循环次数是() A)0B)5C)10D)无限 6.语句for(x=0,y=0;y! =1&&x<4;x++);是()。 A)无限循环B)循环次数不定C)循环4次D)循环3次 7.设有程序段: intk=10;while(k=0)k=k-1;则下面叙述正确的是()。 A)while循环执行10次B)循环是无限循环 C)循环体语句执行一次D)循环体语句一次也不执行 8.与语句while(! x);等价的语句是()。 A)while(x==0);B)while(x! =1); C)while(x! =0);D)while(x==1); 9.设有如下程序段,程序运行结果应为()。 #include voidmain() {inti,j,k; for(i=1;i<=2;i++) for(j=1;j<=2;j++) printf("i=%d\tj=%d\t\n",i,j); } (A)(B) i=1j=1i=1j=1 i=1j=2i=2j=1 i=2j=1i=1j=2 i=2j=2i=2j=2 (C)(D) i=1j=1i=1j=2 i=2j=2i=2j=2 10.下述有关break语句的描述中,错误的是()。 A)break语句用于循环体内,它将结束该循环 B)break语句用于switch语句,它结束该switch语句 C)break语句用于if语句的内嵌语句内,它结束该if语句 D)break语句在一个循环体内可使用多次 11.下面关于循环体的描述中,错误的是()。 A)循环体内可以包含有循环语句 B)循环体内必须出现break语句和continue语句 C)循环体内可以出现选择语句 D)循环体可以是空语句 二、编程题 1.用for循环语句编程输出1—20之间的所有整数,两数之间以空格分隔。 2.用for循环语句编程输出20—1之间的所有整数,两数之间以空格分隔。 3.用for循环语句编程输出A—Z,之间的所有字符,两字母之间以空格分隔,要求一行输出8个字符。 4.输出100~200之间所有能被3和7整除的数(每行输出4个数)。 5.输出1至1000之间所有满足用3除余2、用5除余3、用7除余2的数(要求每行只输出5个数)。 6.先读入一个正整数n,然后计算并显示前n个偶数的和。 例如n为5,则求2+4+6+8+10的值,即sum=30。 7.计算S=1+1/2+1/3+1/4+...+1/200的值并输出。 8.计算1-3+5-7+…-99+101的值。 9.输入6个整数并显示其平均值。 10.输出Fibonacci数列的前几项,直到该项的值大于10000为止(每行输出5项)。 fobinacci数列为1,1,2,3,5,8,13,21,34,…。 即第一项和第二项为1,其他为前两项之和。 11.输出10000至99999中所有的回文数(回文数是指从左到右读与从右到左读都一样的正整数,如11、22、3443、94249等)。 12.找出所有“水仙花数”。 所谓的“水仙花数”是指一个三位整数,其各位数字立方和等于该数本身。 例如,153是水仙花数,因为153=13+53+33。 13.输出1至100之间所有各位数之积大于各位数之和的数,例如23,因为2*3>2+3。 14.输入一个整数,计算该整数的位数及各位之和。 15.一个正整数如果恰好等于它的因子之和,这个数就称为“完数”。 例如,6的因子为1、2、3,且6=1+2+3,因此6是“完数”。 输入一个数,判断该数是否为完数。 16.输出“九九乘法表”。 17.输出如下图形: A BBB CCCCC DDDDDDD 18.输出如下图案: * *** ***** ******* ***** *** * 19.找出10000之内的所有完数。 20.找出500内的所有素数。 21.有一分数序列2/1,3/2,5/3,8/5,13/8,21/13,……求出这个数列的前20项之和。 22.计算100至999之间有多少个数其各位数字之和是5。 23.编写程序,输出1500至3000年间的所有闰年,要求每行输出8个数据。 24.求一个二位整数AB(其中AB分别为两位整数的十位和个位),使AB-BA=45成立。 25.36块砖,36人搬。 男搬4,女搬3,两个小孩抬一砖。 一次刚好搬完,问男、女、小孩各多少人? 26.编程求解马克思手稿中的数学题: 有30个人,在一家饭馆里吃饭共花了50先令,每个男人各花3先令,每个女人各花2先令,每个小孩各花1先令,问男人、女人和小孩各有几人? 第6章函数 二、选择题 1.C语言程序由函数组成。 正确的说法是__________。 A)主函数写在必须写在其他函数之前,函数内可以嵌套定义函数 B)主函数可以写在其他函数之后,函数内不可以嵌套定义函数 C)主函数必须写在其他函数之前,函数内不可以嵌套定义函数 D)主函数必须在写其他函数之后,函数内可以嵌套定义函数 2.一个C语言程序的基本组成单位是__________。 A)主程序B)子程序C)函数D)过程 3.以下说法正确的是__________。 A)C语言程序总是从第一个定义的函数开始执行 B)C语言程序中,被调用的函数必须在main()函数中定义 C)C语言程序总是从主函数main()开始执行。 D)C程序中的main()函数必须放在程序的开始处 4.已知函数fun类型为void,则void的含义是__________。 A)执行函数fun后,函数没有返回值B)执行函数fun后,可以返回任意类型的值 C)执行函数fun后,函数不再返回D)以上三个答案都是错误的 5.下列对C语言函数的描述中,正确的是__________。 A)在C语言中,调用函数时只能将实参的值传递给形参,形参的值不能传递给实参 B)函数必须有返回值 C)C语言函数既可以嵌套定义又可以递归调用 D)C程序中有调用关系的所有函数都必须放在同一源程序文件中 6.以下叙述中错误的是__________。 A)函数形参是存储类型为自动类型的局部变量 B)外部变量的缺省存储类别是自动的。 C)在调用函数时,实参和对应形参在类型上只需赋值兼容 D)函数中的自动变量可以赋初值,每调用一次赋一次初值 7.C语言中的函数__________。 A)不可以嵌套调用B)可以嵌套调用,但不能递归调用 C)可以嵌套定义D)嵌套调用和递归调用均可 8.C语言中函数返回值类型由_________决定。 A)调用该函数的主调函数类型B)函数参数类型 C)return语句中的表达式类型D)定义函数时指定的函数类型 9.C语言规定,调用一个函数,实参与形参之间的数据传递方式是________。 A)由实参传给形参,并由形参传回来给实参B)按地址传递 C)由用户指定方式传递D)按值传递 10.下列叙述错误的是__________。 A)形参是局部变量 B)复合语句中定义的变量只在该复合语句中有效 C)主函数中定义的变量在整个程序中都有效 D)其他函数中定义的变量在主函数中不能使用 11.若函数类型和return语句中的表达式类型不一致,则__________。 A)运行时出现不确定结果B)返回值的类型以函数类型为准 C)编译时出错D)返回值的类型以return语句中表达式的类型为准 12.下面函数定义正确的是__________。 A)doublefun(doubleu,v)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教材 习题
![提示](https://static.bdocx.com/images/bang_tan.gif)