08年6月安徽省水平考试二级C语言试题及参考答案_第1页
08年6月安徽省水平考试二级C语言试题及参考答案_第2页
08年6月安徽省水平考试二级C语言试题及参考答案_第3页
08年6月安徽省水平考试二级C语言试题及参考答案_第4页
08年6月安徽省水平考试二级C语言试题及参考答案_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

08年6月安徽省水平考试二级C语言试题及参考答案一、单项选择题(每小题2分,共40分)1.以下选项中,合法的C语言标识符是()。A._123_abcB.2aC.intD.a-b2.若有定义:charc='\103';,则变量c中存储的字符是()。A.'A'B.'B'C.'C'D.'D'3.设inta=5,b=6;,则表达式(a++==5)||(b--==6)的值是()。A.0B.1C.5D.64.若有定义:intx=1,y=2;,则执行语句x=y+3;后,x的值为()。A.5B.8C.2D.105.若有定义:floatx=3.5;,则表达式(int)x+1的值是()。A.3.5B.4.5C.4D.36.若输入3和4给变量a和b(输入格式为:a=3,b=4),则正确的输入语句是()。A.scanf("a=%d,b=%d",&a,&b);B.scanf("%d,%d",&a,&b);C.scanf("a=%db=%d",&a,&b);D.scanf("a=%d;b=%d",&a,&b);7.若有定义:inta=1,b=2,c=3;,则执行语句if(a<b)c=a;a=b;b=c;后,b的值是()。A.1B.2C.3D.不确定8.以下循环执行的次数是()。inti=0;while(i=0)i++;A.0次B.1次C.无限次D.2次9.若有定义:inta[5]={1,2,3,4,5};,则a[3]的值是()。A.1B.2C.3D.410.若有定义:chars[]="hello";,则数组s的长度是()。A.5B.6C.7D.411.若有函数定义:voidfun(intx){x=10;},主函数中执行inta=5;fun(a);后,a的值是()。A.5B.10C.15D.012.若有定义:intp,a=10;,则正确的赋值语句是()。A.p=a;B.p=a;C.p=&a;D.p=&a;13.若有定义:structstudent{intnum;charname[10];}s={1001,"LiMing"};,则引用s中name成员的正确方式是()。A.B.s->nameC.D.&14.若有定义:inta[][3]={{1,2,3},{4,5,6}};,则a[1][0]的值是()。A.1B.4C.5D.615.以下关于C语言文件操作的描述中,错误的是()。A.fopen函数返回文件指针B.文件打开模式"r"表示只读C.文件打开模式"w"表示只写D.文本文件和二进制文件的读写方式完全相同16.若有定义:intx=10,p=&x;,则表达式p+2的值是()。A.10B.12C.2D.2017.若有函数调用:fun(&a,&b);,则fun函数的形参定义正确的是()。A.voidfun(intx,inty)B.voidfun(intx,inty)C.voidfun(intx,y)D.voidfun(x,inty)18.以下能正确计算1+2+…+10的循环结构是()。A.for(i=1,sum=0;i<=10;sum+=i,i++)B.for(i=1,sum=0;i<10;sum+=i,i++)C.for(i=1,sum=0;i<=10;sum=i,i++)D.for(i=1,sum=0;i<10;sum=i,i++)19.若有定义:chars="abcde";,则s[2]的值是()。A.'a'B.'b'C.'c'D.'d'20.以下关于C语言函数的描述中,正确的是()。A.函数必须有返回值B.函数可以嵌套调用但不能递归调用C.函数的参数可以是任意类型D.主函数必须位于程序的最前面二、填空题(每空2分,共20分)1.若有定义:inta=5,b=3;,则表达式(a+b)/2的值是________。2.若输入字符'a'给变量c(charc;),则正确的输入语句是________。3.执行以下程序段后,x的值是________。intx=0,i;for(i=1;i<=5;i++){if(i%2==0)continue;x+=i;}4.若有定义:inta[5]={0,1,2,3,4};,则a[4]的值是________。5.若有定义:chars[]="test";,则strlen(s)的值是________。6.若有函数定义:intadd(intx,inty){returnx+y;},则调用该函数计算5+3的表达式是________。7.若有定义:inta=10,p=&a;,则p的值是________。8.若有结构体定义:structdate{intyear;intmonth;intday;};,则该结构体的大小是________字节(假设int占4字节)。9.若要打开一个二进制文件用于追加写入,fopen函数的第二个参数应是________。10.执行以下程序段后,输出结果是________。inta=3,b=5;if(a>b)printf("%d",a);elseprintf("%d",b);三、程序改错题(每小题10分,共20分。找出错误并改正,错误仅出现在下划线处)1.以下程序的功能是计算1到10的累加和。include<stdio.h>voidmain(){inti=1,sum;while(i<=10){sum=sum+i;//错误1i++;}printf("sum=%d\n",sum);//错误2}2.以下程序的功能是输出数组中的最大值。include<stdio.h>voidmain(){inta[]={5,3,8,2,9};intmax=a[0];for(inti=1;i<5;i++);//错误1{if(a[i]>max)max=a[i];//错误2}printf("max=%d\n",max);}四、程序设计题(每小题10分,共20分)1.编写一个C程序,输入两个整数a和b,输出它们的和、差、积、商(商保留2位小数)。2.编写一个C程序,统计一个字符串中字母、数字和其他字符的个数。参考答案一、单项选择题1-5:ACBDC6-10:AAADB11-15:ACABD16-20:BBACC二、填空题1.4((5+3)/2=4)2.scanf("%c",&c);3.9(i=1、3、5时累加,1+3+5=9)4.45.4("test"长度为4)6.add(5,3)7.108.12(3个int,4×3=12)9."ab"(二进制追加写)10.5三、程序改错题1.错误1:sum未初始化,应改为sum=0+sum;(或初始化为sum=0)改正:inti=1,sum=0;(初始化sum为0)错误2:无(但原sum未初始化导致结果错误,修改后正确)正确程序:include<stdio.h>voidmain(){inti=1,sum=0;//初始化sumwhile(i<=10){sum=sum+i;i++;}printf("sum=%d\n",sum);}2.错误1:for循环后多了分号,导致循环体为空改正:删除for语句后的分号(for(inti=1;i<5;i++))错误2:无(逻辑正确)正确程序:include<stdio.h>voidmain(){inta[]={5,3,8,2,9};intmax=a[0];for(inti=1;i<5;i++)//删除分号{if(a[i]>max)max=a[i];}printf("max=%d\n",max);}四、程序设计题1.参考代码:include<stdio.h>voidmain(){inta,b;floatquotient;printf("请输入两个整数:");scanf("%d%d",&a,&b);printf("和:%d\n",a+b);printf("差:%d\n",a-b);printf("积:%d\n",ab);if(b!=0){quotient=(float)a/b;//强制转换为浮点型printf("商:%.2f\n",quotient);}elseprintf("商:除数不能为0\n");}2.参考代码:include<stdio.h>include<ctype.h>//用于isalpha和isdigit函数voidmain(){charstr[100];intletter=0,digit=0,other=0;inti;printf("请输入一个字符串:");gets(str);//读取字符串(或用scanf("%s",str),但无法读取空格)for(i=0;str[i]!='\0';i++){if(isalpha(str[i]))//

温馨提示

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

评论

0/150

提交评论