2009年下学期C语言期中考试模拟试卷

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

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

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

资源描述

第1页共9页一、选择题(每小题2分,共40分)1.以下叙述中正确的是()。A)C语言比其他语言高级B)C语言可以不用编译就能被计算机识别执行C)C是近英语的自然语言和数学语言为语言的表达形式D)C语言出现最晚,具有其他语言的一切优点2.以下叙述中不正确的是()。A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C)函数是C程序的基本组成单位D)分号是C语句之间的分隔符,不是语句的一部分3.算法具有五个特性,以下不属于算法特性的是()。A)有穷性B)简洁性C)可行性D)确定性4.以下()组中的标识符都是合法的用户标识符。A)3ab,A_10,stB)class,λ1,gradeC)printf,INT,char1D)b3,a,unsigned5.C语言中的基本数据类型包括()。A)整型、实型(浮点型)、逻辑型B)整型、实型(浮点型)、字符型C)整型、字符型、逻辑型D)字符型、实型(浮点型)、逻辑型6.以下选项中,均是合法整型常量的选项是()。A)123,Oxffff,0123B)Oxabc,018,0x123C)Ola,123,012,OxefD)Ox22b,3e5,0167.若有定义:floata=3.0,b=4.0,c=5.0;则表达式1/2*(a+b+c)的值为()。A)6.0B)6C)0.0D)无答案8.若有定义和语句:ints,p;s=p=5;p=s++;则执行语句后p的值是()。A)0B)5C)7D)69.以下选项中,与k=n++完全等价的表达式(即执行后k,n及表达式的值完全相同)是()。A)k=n,n=n+lB)n=n+1,k=nC)k=++nD)k+=n+1福州大学《C语言程序设计》期中模拟试卷2009—2010学年第二学期考试日期:2010年4月日专业:班级:考生学号:考生姓名:第2页共9页10.以下程序的输出结果是()。#includestdio.hvoidmain(){inta=20,b=10;printf(%d,%%d\n,a+b,a-b);}A)30,%dB)30,10C)30,%10D)以上答案均不正确11.下列程序的运行结果是()。#includestdio.hvoidmain(){floatx=2.5;inty;y=(int)x;printf(x=%f,y=%d,x,y);}A)x=2.500000,y=2.000000B)x=2.5,y=2C)x=2,y=2D)x=2.500000,y=212.下列程序段的输出结果是()。inta=1234;floatb=123.456;doublec=12345.54321;printf(%2d,%3.2f,%4.1f,a,b,c);A)无输出B)12,123.46,12345.5C)1234,123.46,12345.5D)1234,123.45,1234.513.已知a,b,c为int型变量,若从键盘输入:1,2,3回车,使a的值为1,b的值为2,c的值为3,以下选项中正确的输入语句是()。A)scanf(%2d,%2d,%2d,a,b,c);B)scanf(%d,%d,%d,&a,&b,&c);C)scanf(%d%d%d,&a,&b,&c);D)scanf(i=%d,j=%d,k=%d,&a,&b,&c);14.有以下程序段:intm=0,n=0;charc=‘a';scanf(%d%c%d,&m,&c,&n);printf(%d,%c,%d\n,m,c,n);若从键盘上输入:10A10回车,则输出结果是()。A)10,65,10B)10,a,10C)10,97,10D)10,A,1015.数学关系式x≤y≤z可用C语言表达式()表示。A)x=y=zB)x=yANDy=zC)x=y&&y=zD)(x=y)&(y=z)第3页共9页16.如果从键盘上输入3,则以下程序段的输出结果是()。intx;scanf(%d,&x);if(x--3)printf(%d,--x);elseprintf(%d,x++);A)1B)2C)3D)417.以下程序段运行后,其输出结果是()。intw=4,x=3,y=2,z=1,m;m=(wx)?w:x;m=(my)?m:y;m=(mz)?m:z;printf(%d\n,m);A)4B)3C)2D)118.以下程序段运行后的输出结果()。inta=15,m=0;switch(a%3){case0:m++;case1:m++;break;default:m++;}printf(%d\n,m);A)0B)3C)2D)119.以下程序段执行后sum的值是()。inti,sum;for(i=1;i5;i++)sum+=i;printf(%d\n,sum);A)15B)10C)5D)不确定20.设int类型变量占用两个字节,其有定义:intx[10]={0,2,4};则数组x在内存中所占的字节数是()。A)3B)6C)10D)20第4页共9页二、填空题(每小题4分,共20分。将要添在每对/**/之间的内容写于答题纸上,以完成题目的要求。1.下程序的功能是,输入半径r求圆的面积s。#definePI3.1415#includestdio.hvoidmain(){/**/【1】/**/;floats;printf(Enterradius:);scanf(%d,/**/【2】/**/);s=r*r*PI;printf(s=%f\n,s);}2.下程序的功能是,输出1~100间(含1和100)的所有的奇数。#includestdio.hvoidmain(){inti;for(i=1;i/**/【3】/**/100;i++)if(i%2/**/【4】/**/)printf(%5d,i);printf(\n);}3.下程序的功能是:输出所输入的字符串(以#号结束),并将其中的大写字母转换成小写字母。#includestdio.hvoidmain(){charch;ch=getchar();while(ch!=‘#’){if(ch=‘A’/**/【5】/**/)ch=ch+32;putchar(ch);ch=/**/【6】/**/;}printf(\n);}第5页共9页4.下程序的功能是:在数组中,查找出输入的数值,若找到则立即停止查找,输出“found!”,否则输出“nofound!”。#defineN10#includestdio.hvoidmain(){intx[N]={45,2,3,54,6,78,9,7,6,9},y,n=0;printf(Enterainteger:);scanf(%d,&y);do{if(y==x[n]){printf(found!\n);/**/【7】/**/;}n++;}while(nN);if(nN)/**/【8】/**/;}5.下程序的功能是:从键盘输入一个正整数,输出它是几位数,并且按逆序打印出各位数字。#includestdio.hvoidmain(){intx,n=0;/*n用来统计这个数的位数*/scanf(%d,&x);while(/**/【9】/**/)/*商为0时,停止运算*/{printf(%4d,x%10);/**/【10】/**/x%=10;n++;}printf(\nn=%d\n,n);}第6页共9页三、改错题(每小题5,共20分。修改每对/**/之间的错误于答题纸上,以完成题目的要求。)1.下程序的功能是,输入华氏温度f,输出相应的摄氏温度c【温度转换公式为c=5(f-32)/9】。#includestdio.hvoidmain(){floatc,f;scanf(/**/%10.2f/**/,&f);【1】c=/**/5(f-32)/9/**/;【2】printf(C=%f\n,c);}2.下程序的功能是,输出1~100间的所有的3的倍数之和。#includestdio.hvoidmain(){/**/inti=3,sum/**/;【3】while(i=100){if(/**/i%3=0/**/)【4】sum+=i;++i;}printf(sum=%5d\n,sum);}3.下程序的功能是,判断输入的3个整型数能否构成三角形(构成的条件是任意2边之和必须大于第3边),若能则输出“can!”,否则输出“cannot!”。#includestdio.hvoidmain(){inta,b,c;scanf(%d,%d,%d,&a,&b,&c);if(/**/a+bc||a+cb||b+ca/**/)【5】printf(can!\n);else/**/(a+b=c&&a+c=b&&b+c=a)/**/【6】printf(cannot!\n);}第7页共9页4.下面程序的功能是:根据以下公式求π值(直到最后一项小于10–6为止)#includestdio.hvoidmain(){doubles=0.0,t=1.0;intn;for(n=1;t=1e-6;n++){s+=t;t=/**/t/(2*n+1)【7】/**/;}printf(“pi=%f\n”,2.0*/**/pi【8】/**/);}5.以下程序用二分法在已按从小到大排好序的数组a中查找q,若找到第一个q则输出其对应的下标,没找到输出-1。#includestdio.h#defineSIZE8voidmain(){inta[SIZE]={3,4,6,11,17,22,31,45},q;intleft,right,mid,k=-1;scanf(“%d”,&q);left=0;right=SIZE-1;while(left=right){mid=(left+right)/2;if(qa[mid])right=/**/mid+1【9】/**/;elseif(qa[mid])left=/**/mid-1【10】/**/;else{k=mid;break;}}printf(%d\n,k);}9473523173523152313112第8页共9页四、编程题(共20分。补充每对/**/之间的程序段于答题纸上,以完成题目的要求。)1.36块砖,36个人,男人搬4块,女人搬3块,两个小孩搬一块,要求一次搬完,完成以下程序。输出需要男人、女人、小孩各多少人,解决方案有多少。#includestdio.hvoidmain(){intman,woman,child,n=0;/*man,woman,child依次为男、女和小孩的人数,n为方案数*/for(man=0;man=36;man++)for(woman=0;woman=36;woman++)/**//**/}printf(%d,n);}2.完成以下程序使其计算以下代数式(提示:lg表示以10为底的对数,其C函数为log10(x)):#includestdio.h#includemath.hvoidmain(){floatx;doubley;printf(Pleaseinputanumber:\n);scanf(%f,&x);/**//**/printf(y=%0.2f\n,y);}3.完成以下程序使其输出右图:#includestdio.hvoidmain(){inti,j,k;for(i=1;i=5;i++)/**//**/}-1lg(|x|+2.6)y==x3|x|300|x|=300123452345345455第9页共9页福州大学至诚学院期中模拟试卷---答题纸专业:计算机班级:考生学号:考生姓名:题号一二三四总分题分40202020100得分一、选择题1234567891011121314151617181920CDBCBACBAADCBDCBDCDD二、填空题【1】intr【2】&r【3】i=100,或i100【4】!=0或==1【5】ch=’Z’【6】getchar()【

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

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

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

×
保存成功