资源描述:
《01春程序设计基础试题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、内蒙古机电职业技术学院<高级语言程序设计>试卷系_________班级__________学号___________姓名___________考场_________题号一二三四五总分得分考生注意:1.试卷和答题纸上的“系,班级,学号,姓名,考场”项目都要填上;2.所有答题内容皆写在答题纸上,交卷时将试卷和答题纸一起交上;3.不遵守上述者将不给予登记这次考试成绩.一、基本题(30分,每小题3分)(1)(填空)写出以下数学式的C语言表达式。答案:sqrt(b*b-4*a*c)/2/a(2)(多选)以下变量名中,哪些是合法的?A.IB.longC.I
2、NTD.6KE.K6F.xY_0答案:A,C,E,F(3)求表达式(int)5.5/(float)2的值。A.3B.2.75C.2.5D.2答案:C(4)已知a=b=c=0;则语句x=(a=100)&&(b=0)&&(c=200);运行后,各变量的值为:A.x=0,a=100,b=0,c=200B.x=1,a=100,b=0,c=0.C.x=0,a=100,b=0,c=0答案:CD.x=0,a=0,b=0,c=0(5)已知变量floatx=1.2,y=23.41;intz=345;要使输出为x=1.20,y=-23.4,z=345(中间无空格)
3、则应使用语句printf(““,x,y,z);A.%4.2f,%6.1f,%5dB.%4.2f,%5.1f,%5dC.%4.2f,%5.1f,%2dD.%4.1f,%5.1f,%2d答案:C(3)已知有语句scanf(“%d%d”,&a,&b);要使整型变量a=6,b=8运行时,屏幕上应看到输入:A.a=6,b=8B.a=6b=8C.6,8D.68答案:D(4)已知变量inta=-1;则printf(“%d,%u,%x,%o”,a,a,a,a);的输出为:A.–1,-1,-1,-1B.–1,65535,-1,-1C.–1,65535,ffff,
4、177777答案:CD.–1,65535,-ffff,-177777(5)表达式(11^5)的结果为:A.15B.1C.14D.8答案:C(6)(填空)实写出逻辑判断“条件x的值大于100和y的值小于100,要么同时成立要么同时不成立”对应的C表达式。答案:(x>100&&y<100)
5、
6、(x<=100&&y>=100)或(x>100)^(y<100)(7)(填空)已知intx=2,y=5,z;语句z=(x>y)?x++:y++;运行后求各变量的值。答案:x=2,y=6,z=5二、改错程序(10分)以下程序统计字符‘#’与数字字符的个数,该程序
7、有语法与语义上的错误,请仔细阅读程序,指出所有的错误点,并重写整个程序。main(){charstr[81];答案:intn1,n2;intn1=0,n2=0,i;gets(str);for(i=0;str[i]!=’ ’;i++);for(i=0;str[i]!=’ ’;i++)if(str[i]=’#’){if(str[i]==’#’)n1++;ifstr[i]>=0&&str[i]<=9thenif(str[i]>=’0’&&str[i]<=’9’)n2++;printf(“space=%d,digit=%d”,n1,n2);}}
8、三、阅读程序,写出运行结果(25分,每小题5分)(1)程序1#includemain(){intyears,day,month,monthday;scanf(“%d”,&year);days=0;for(month=1;month<=12;month++){switch(month){case2:if(year%400==0)monthday=29;elseif(year%4==0&&year$100!=0)monthday=29;elsemonthday=28;break;case1:case3:case5:case7:ca
9、se8:case10:case12:monthday=31;break;default:monthday=30;}days+=monthday;}printf(“%5.2f”,days/12.0);}答案:输入2000输出30.50(2)程序2#includeintvtest(intn){staticintx=100;inty=200;returnn+(x++)+(y++);}main(){printf(“%d”,vtest(10));printf(“%d”,vtest(20));}答案:输出310321(3)程序
10、3#includemain(){inta[]={0,10,20,30,};intn=0,*p;p=a+1;n+=*(p++);n+=