2022年重庆科技学院公共课《C语言》科目期末试卷B(有答案)_第1页
2022年重庆科技学院公共课《C语言》科目期末试卷B(有答案)_第2页
2022年重庆科技学院公共课《C语言》科目期末试卷B(有答案)_第3页
2022年重庆科技学院公共课《C语言》科目期末试卷B(有答案)_第4页
2022年重庆科技学院公共课《C语言》科目期末试卷B(有答案)_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

2022年重庆科技学院公共课《C语言》科目期末试卷B(有答案)一、填空题1、设有一输入函数scanf("%d”,k);它不能使float类型变量k得到正确数值的原因是_______未指明变量k的地址和_______格式控制符与变量类型不匹配。2、一个C语言源程序由若干函数组成,其中至少应含有一个________3、结构化程序由________、________、________3种基本结构组成。4、表达式x=6应当读做_______5、已知字母a的ASCIl码为十进制数97,且设ch为字符型变量,则表达式ch='a'+'8'-3'的值为_______。6、请读以下函数:getbits(unsignedx,unsignedp,unsignedn)'{x=((x<<(p+1-n))&((unsigned)~0>>n));return(x);}假设机器的无符号整数字长为16位。若调用此函数时x=0115032,p=7,n=4,则函数返回值的八进制数是_______。7、函数swap(arr,n)可对arr数组从第1个元素到第n个元素分别进行两两元素交换。在运行调用函数中的如下语句后,a[o]和a[1]的值分别为_______,原因是_______。a[0]=1;a[1]=2;swap(a,2);8、在C语言中,二维数组元素在内存中的存放顺序是_______。9、若有定义floata[3][5];则a数组所含数组元素个数是_______,a数组所占的字节数是_______。10、请填空:建立如图所示存储结构所需的说明语句是_______。建立如图所示为变量a输入数据的输入语句是_______。建立如图所示存储结构所需的赋值语句是_______。二、选择题11、下面4个选项中,是不合法的转义字符的选项是()A.'\"'B.'\1011'C.'\0ll'D.'\abe'\\'\''\f''\0ll'\xf''\a''\]''xlf'12、下面4个选项中,是不合法的用户标识符的选项是()。A.AB.floatC.b-aD._123P_01a0gototempDoAintINT13、一个C程序的执行是从()A.本程序的main函数开始,到main函数结束B.本程序的第一个函数开始,到本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束D.本程序的第一个函数开始,到本程序main函数结束14、以下叙述正确的是A.在C程序中,main函数必须位于程序的最前面B.C程序的每行中只能写一条语句C.C语言本身没有输入输出语句D.在对一个C程序进行编译的过程中,可以发现注释中的拼写错误15、以下对一维整型数组a的正确说明是()。A.inta(10);B.intn=0,a[n];C.intn;scanf("%d",&n);inta[n];D.#defineSIZE10;inta[SIZE];16、设有以下程序:#include<stdio.h>intmain(){inta=201,b=012;printf("%2d,%2d\n",a,B.;return0;.}程序执行后的输出结果是()。A.01,12B.201,10C.01,10D.20,0117、若有语句:charsl[]="string",s2[8]=",*s3,*s4="string2";则对库函数strcpy的错误调用是()A.strcpy(s1,"string2");B.strcpy(s4,"string1");C.strcpy(s3,"string1");D.strcpy(s1,s2);18、若用数组名作为函数调用的实参,则传递给形参的是()A.数组的首地址B.数组第一个元素的值C.数组中全部元素的值D.数组元素的个数19、语句while(!E);中的表达式!E等价于()。A.E==0B.E!=1C.E!=0D.E==120、执行语句for(i=1;i++<4;);后变量i的值是()。A.3B.4C.5D.不定21、以下程序的输出是()。#include<stdio.h>intmain(){inta=100,x=10,y=20,okl=5,ok2=0;if(x<y)if(y!=10)if(!ok1)a=1;elseif(ok2)a=10;a=-1;printf("%d\n",A.;return0;}A.1B.0C.-1D.值不确定22、下面程序的功能是从键盘输入一行字符,统计其中有多少个单词,单词之间用空格分隔。请选择填空。()#include<stdio.h>intmain(){chars[80],c1,c2='';inti=0,num=0;gets(s);while(s[i]!='\o'){c1=s[i];if(i==0)c2='';elsec2=s[i-1];if(【】)num++;i++;printf("Thereare%dwords.\n",num);return0;}A.c1==′′&&c2==''B.cl!=''&&c2==''C.c1==''&&c2!=''D.cl!=''&&c2!=''23、下面程序的运行结果是()。#include<stdio.h>intmain(){chara[]="morming",t;inti,j=0;for(i=1;i<7;i++)if(a[j]<a[])j=i;t=a[j];a[j]=a[7];a[7]=a[j];puts(a);return0;}A)mogninrB)moC)morningD)mornin24、以下是有关汉诺塔问题的程序段,若在main函数中有调用语句hanoi(3,'A',B’,C.;则符合程序段运行结果的选项是()。voidmove(chargetone,charputone){printf("%c——>%c\n",getone,putone);voidhanoi(intn,charone,chartwo,charthree){if(n==1)move(one,three);else{hanoi(n-1,one,three,two);move(one,three);hanoi(n-1,two,one,three);}}A)A-->CB)A-->CC)A-->CD)A-->CA-->BA-->BA-->BA-->BC-->BC-->AC-->BC-->BB-->AA-->BA-->CA-->CC-->BB-->CB-->AA—->BA-->CA-->CB-->CB-->CA-->BA-->BA-->CA-->C25、若运行以下程序时,从键盘输入2473<回车>,则下面程序的运行结果()#include<stdio.h>intmain(){intc;while((c=getchar())!='\n')switch(c-'2'){case0:case1;putchar(c+4);case2:putchar(c+4);break;case3:putchar(c+3);default;putchar(c+2);break;}return0;}A.668977B.668966C.66778777D.6688766三、读程序填空26、已有定义floatd1=3.5,d2=-3.5;执行以下语句后的输出结果是_______。printf("*d(1)=%e*d(2)=%.4e*d(3)=%10.4e*\n",dl,dl,d1);printf("*d(4)=%e*d(5)=%.6e*d(6)=%-12.5e*\n",d2,d2,d2);27、已有定义intd=-2;执行以下语句后的输出结果是_______。printf("*d(1)=%d*d(2)=%3d*d(3)=%-3d*\n",d,d,d);printf("*d(4)=%o*d(5)=%7o*d(6)=%7o*\n",d,d,d);28、以下search函数的功能是利用顺序查找法从数组a的10个元素中对关键字m进行查找。顺序查找法的思路是:从第一个元素开始,从前向后依次与关键字比较,直到找到此元素或查找到数组尾部时结束。若找到,则返回此元素的下标;若仍未找到,则返回值一1。请填空。#include<stdio.h>intsearch(inta[10],intm){inti;for(i=0;i<=9;i++)if(_______)return(i);return(-1);intmain(){inta[10],m,i,no;no=search(_______);if(_______)printf("\nOKFOUND!%d",no+1);elseprintf("\nSorryNotFound!");return(0);}29、函数f中的形参a为一个10×10的二维数组,n的值为5,以下程序的运行结果为_______。voidf(inta[10][10],intn){inti,j,k;j=n/2+1;a[1][j]=1;i=1;for(k=2;k<=n*n;k++){i=i-1;j=j+1;if((i<1)&&(j>n)){i=i+2;j=j-1;}else{if(i<1)i=n;if(j>n)j=1;i}f(a[i][j]==0)a[i][j]=k;else{i=i+2;j=j-1;a[i][j]=k;}}}30、下面程序的运行结果是_______。#include<stdio.h>intmain(){inti,j=4;for(i=j;i<=2*j;i++)switch(i/j){case0:case1:printf("*");break;case2:printf("#");}return0;}31、有10个字符串。下面程序的功能是在每个字符串中找出最大字符,并按一一对应的顺序放入一维数组a中,即第i个字符串中的最大字符放入a[i]中,输出每个字符串中的最大字符。请填空。#include<stdio.h>intmain(){chars[10][20];inta[10],i,j;for(i=0;i<10;i++)gets(s[i]);for(i=0;i<10;i++){_______;for(j=1;s[i][j]!=\0';j++)if(a[i]<s[i][j])_______;}for(i=0;i<10;i++)printf("%d%c",i,a[i]);return0;}32、若有以下程序段,且grade的值为C,则输出结果是_______。switch(grade){case'A':printf("85~100\n");case'B':printf("70~84n");case'C':printf("60~69\n");case'D':printf("(60\n");default:printf("error!\n");}33、下面程序的运行结果是_______。#include<stdio.h>#include<string.h>voidfun(char*p1,char*p2,intn){inti;for(i=0;i<n;i++)p2[i]=(pl[i]-'A'-3+26)%26+'A';p2[n]='\o';}intmain(){charsl[5],s2[5];strcpy(s1,"ABCD");fun(s1,s2,4);puts(s2);return0;}四、编程题34、请定义枚举类型money,用枚举元素代表人民币的面值。包括1、2、5分;1、2、5角;1、2、5、10、50、100元。35、有4名学生,每个学生考4门课程,要求在用户输入学生序号以后能输出该学生的全部成绩,用指针型函数来实现。请编写函数float*search()。#include<stdio.h>float*search(float(*pointer)[4],intn);intmain(){staticfloatscore[J[4]={{60,70,80,90},{50,89,67,88},{34,78,90,66},{80,90,100,70)};float*p;inti,m;printf("enterthenumberofstudent:");scanf("%d",&.m);printf("ThescoreofNo.%dare:\n",m);p=search(score,m);for(i=0;i<4;i++)printf("%5.2f\t",*(p+i));return(0);float*search(float(*pointer)[4],intn){}

参考答案一、填空题1、【1】格式控制符与变量类型不匹配。scanf语句的正确形式应该是:scanf("%f",8.k);【2】未指明变量k的地址。2、主函数(或main函数)3、【1】顺序结构【2】选择结构【3】循环结构4、将常量6赋给变量x5、f6、0120000或1200007、【1】a[0]=2a[1]=1【2】因实参是地址,已对指定地址中的内容进行了交换。8、按行主顺序存放9、【1】15【2】6010、【1】chara,*p;【2】scanf("%c",8.a);【3】p=8.a;二、选择题11、B12、C13、A14、C15、D16、B17、C18、A19、A20、C

温馨提示

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

评论

0/150

提交评论