C程序设计期末考试试卷A及答案_第1页
C程序设计期末考试试卷A及答案_第2页
C程序设计期末考试试卷A及答案_第3页
C程序设计期末考试试卷A及答案_第4页
C程序设计期末考试试卷A及答案_第5页
已阅读5页,还剩3页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

一、判断题(每小题1分,共10个小题,共10分)1、printf可以作为变量名使用。()2、在标准C中,“=”是判断两个数是否相等。()3、C语言中实参到形参传递是双向的。()4、"a"是合法的字符串常量。()5、C语言中,以0代表“假”,以非零代表“真”。()6、二维数组可以这样定义:inta[3][4]。()7、设“chara[10]="abc"”;则strlen(a)的值为3。()8、一个C语言源程序文件中有且只能有一个主函数。()9、不能用"r"方式打开一个并不存在的文本文件。()10、打开文件使用fclose函数。()二、选择题(每小题2分,共40个小题,共80分)1、若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是()【A】函数调用可以作为一个函数的形参 【B】函数调用可以作为一个函数的实参【C】函数调用可以出现在表达式中 【D】函数调用可以作为独立的语句存在2、以下程序运行后的输出结果是(),︹符号表示空格。floatfun(intx,inty){return(x+y);}main(){ inta=2,b=5,c=8; printf(“%3.0f\n”,fun((int)fun(a+c,b),a-c));}【A】编译出错 【B】︹︹9 【C】︹21 【D】9.03、若运行时给变量x输入12,则以下程序的运行结果是()intx,y;scanf(“%d”,&x);y=x>12?x+10:x-12;printf(“%d\n”,y);【A】12 【B】22 【C】0 【D】104、以下说法正确的是()【A】C语言程序总是从第一个的函数开始执行 【B】在C语言程序中,要调用函数必须在main()函数中定义【C】C语言程序中的main()函数必须放在程序的开始部分【D】C语言程序总是从main()函数开始执行5、若执行下述程序时,若从键盘输入6和8时,结果为()inta,b,s;scanf(“%d%d”,&a,&b);s=a;if(a<b)s=b; s*=s;printf(“%d”,s);【A】65 【B】36 【C】48 【D】以上都不对6、以下叙述中正确的是()【A】可以在一个函数中定义另一个函数【B】构成C程序的基本单位是函数【C】main()函数必须放在其他函数之前【D】所有被调用的函数一定要在调用之前进行定义7、下列程序段的输出结果是()inta=1234;floatb=123.456;doublec=12345.54321;printf(“%2d,%2.1f,%2.1f”,a,b,c);【A】无输出 【B】12,123.5,12345.5【C】1234,123.5,12345.5 【D】1234,123.4,1234.58、已知字母A的ASCII码为十进制数65,且C1为字符型变量,则执行语句C1=’A’+’6’-‘3’后C1的值为()【A】B 【B】C 【C】d 【D】D9、设有以下程序段()intx=0,s=0;while(!x!=0) s+=++x;printf(“%d”,s);【A】运行程序段后输出1 【B】运行程序段后输出0 【C】程序段中的控制表达式是非法的 【D】程序段执行无限次10、执行下面的程序段后,变量k中的值为()intk=3,s[2];s[0]=k;k=s[1]*10;【A】33 【B】不定值 【C】30 【D】1011、以下程序段的描述,正确的是()x=-1;do{ x=x*x;}while(!x);【A】是死循环 【B】循环执行两次 【C】循环执行一次 【D】有语法错误12、有如下程序段,执行该程序段后,x的值为()inta=14,b=15,x;charc=‘A’;x=(a&&b)&&(c<‘B’);【A】ture 【B】false 【C】0 【D】113、以下选项中不是字符常量的是()【A】”C” 【B】’C’ 【C】’\xF1’ 【D】’\071’14、一个C语言程序是由()【A】一个主程序和若干子程序组成 【B】函数组成【C】若干过程组成 【D】若干子程序组成15、请选出可用作C语言用户标识符的是()【A】temp,fname,dir-name 【B】if,_123,var1【C】FOR,_abc,Case 【D】2a,Do,Sizeof16、以下不正确的叙述是()【A】在C程序中,逗号运算符的优先级最低【B】在C程序中,APH和aph是两个不同的变量【C】若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,而b中的值不变【D】当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值17、下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,在划线处应填入的选项是()inti=0,j,k;do{ i++; k=316-13*i;}while(________);j=k/11;printf(“316=13*%d+11*%d”,i,j);【A】k%11 【B】k/11 【C】k/11==0 【D】k%11==018、下面程序的运行结果是()inty=10;do{ y--;}while(--y);printf(“%d\n”,y--);【A】-1 【B】0 【C】8 【D】119、下列程序的输出结果是()doubled=3.2;intx,y;x=1.2;y=(x+3.8)/5.0;printf(“%d\n”,d*y);【A】3 【B】3.2 【C】0 【D】3.0720、下列数据中,不合法的C语言实型数据的是()【A】0.123f 【B】123e3 【C】789.0 【D】2.1e3.521、设变量a是int型,f是float型,i是double型,则表达式10+’a’+i*f值的数据类型为()【A】double 【B】float 【C】int 【D】不确定22、能正确表示逻辑关系:”a≥10或a≤0”的C语言表达式是()【A】a>=10ora<=0 【B】a>=10||a<=0【C】a>=10&&a<=0 【D】a>=0|a<=1023、设以下变量均为int类型,表达式的值不为7的是()【A】(x=y=6,x+y,x+1) 【B】(x=y=6,x+y,y+1)【C】(x=6,x+1,y=6,x+y) 【D】(y=6,y+1,x=y,x+1)24、变量a是int类型,执行语句:“a=‘A’+1.6;”后,正确的叙述是()【A】a的值是字符C 【B】a的值是浮点型【C】不允许字符型和浮点型相加 【D】a的值是字符’A’的ASCII值加上125、有如下程序,该程序的输出结果是()inta=2,b=-1,c=2;if(a<b) if(b<0) c=0; else c++;printf(“%d\n”,c);【A】2 【B】1 【C】0 【D】326、执行以下程序后的输出结果是()intx=23;do{ printf(“%d”,x--);}while(!x);【A】321 【B】23 【C】不输出任何内容 【D】陷入死循环27、有一堆零件(100到200之间),如果分成4个零件一组的若干组,则多2个零件;若分成7个零件一组,则多3个零件;若分成9个零件一组,则多5个零件。下面程序是求这堆零件总数,在划线处应填入的选项是()inti;for(i=100;i<200;i++) if((i-2)%4==0) if(!((i-3)%7)) if(________) printf(“%d”,i);【A】i%9=5 【B】i%9!=5 【C】(i-5)%9==0 【D】(i-5)%9!=028、若变量c为char类型,能正确判断出c为小写字母的表达式是()【A】‘a’<=c<=‘z’ 【B】(c>=‘a’)||(c<=‘z’)【C】(‘a’<=c)and(‘z’>=c) 【D】(c>=‘a’)&&(c<=‘z’)29、下列函数的运行结果是()main(){ inti=2,p; intj,k; j=i; k=++i; p=f(j,k); printf(“%d”,p);}intf(inta,intb){ intc; if(a>b)c=1; elseif(a==b) c=0; elsec=-1; return(c);}【A】编译出错,无法运行 【B】1 【C】2 【D】-130、有如下程序,该程序中的for循环执行的次数是()#defineN2#defineMN+1#defineNUM2*M+1main(){ inti; for(i=1;i<=NUM;i++) printf(“%d\n”,i);}【A】5 【B】6 【C】7 【D】831、以下程序的输出结果是()inta=21,b=11;printf("%d\n",--a+b,--b+a);【A】32 【B】31 【C】30 【D】3332、设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是()【A】n=(n/100+0.5)*100.0 【B】m=n*100-0.5,n=m/100.0【C】n=n*100+0.5/100.0 【D】n=(n*100+0.5)/100.033、设x,y和z都是int型变量,且x=3,y=4,z=5,则下面表达式中,值为0的表达式是()【A】!(x<y&&!z||1) 【B】x<=y【C】x||++y&&y-z 【D】x&&y34、要使下面的程序中的a,b,c三变量的值分别为3,5,8,则在键盘上的不正确输入是(),︹符号表示空格,<CR>表示回车。inta,b,c;scanf("%d%d%d",&a,&b,&c);【A】3<CR>5<CR>8<CR> 【B】35<CR>8<CR>【C】3<CR>5︹8<CR> 【D】3︹5︹8<CR>35、设有如下程序段,则下面描述中正确的是()intk=10;while(k=0) k=k-1;【A】while循环执行10次 【B】循环是无限循环【C】循环体语句一次也不执行 【D】循环体语句执行一次36、对表达式for(表达式1;;表达式3)可理解为()【A】 for(表达式1;表达式3;表达式3) 【B】for(表达式1;0;表达式3)【C】for(表达式1;表达式1;表达式3) 【D】for(表达式1;1;表达式3)37、以下程序的输出结果是()inta=0,i;for(i=1;i<5;i++){ switch(i){ case0: case3:a+=2; case1: case2:a+=3; default:a+=5; }}printf("%d\n",a);【A】31 【B】13 【C】10 【D】2038、若有说明:inta[][4]={0,0};则下面不正确的叙述是()【A】数组a的每个元素都可得到初值0【B】只有元素a[0][0]和a[0][1]可得到初值,其余元素均得不到确定的初值【C】当初值的个数能被第二维的常量表达式的值除尽时,所得商数就是第一维的大小【D】二维数组a的第一维大小为139、下面程序的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对相等数时结束循环,在划线处应填入的语句是()inta,b,t;scanf("%d%d",&a,&b);while(________){ if(a>b){ t=a;a=b;b=t; } printf("%d,%d\n",a,b); scanf("%d%d",&a,&b);}【A】!a=b 【B】a==b 【C】a!=b 【D】a=b40、有以下程序,输出结果是()voidfun(inta,intb,intc){ a=456,b=567,c=678;}main(){ intx=10,y=20,z=30; fun(x,y,z); printf("%d,%d,%d\n",x,y,z);}【A】30,20,10 【B】678,567,456【C】456,567,

温馨提示

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

最新文档

评论

0/150

提交评论