下载此文档

2024年贵州财经大学公共课《C语言》科目期末试卷B(有答案).pdf


文档分类:资格/认证考试 | 页数:约21页 举报非法文档有奖
1/21
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/21 下载此文档
文档列表 文档介绍
该【2024年贵州财经大学公共课《C语言》科目期末试卷B(有答案) 】是由【小屁孩】上传分享,文档一共【21】页,该文档可以免费在线阅读,需要了解更多关于【2024年贵州财经大学公共课《C语言》科目期末试卷B(有答案) 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:..2022年贵州财经大学公共课《C语言》科目期末试卷B(有答案)一、填空题1、假设变量a、b和c均为整型,以下语句借助中间变量t把a、b和c中的值进行交换,即把b中的值给a,把c中的值给b,把a中的值给c。例如:交换前,a=10、b=20、c=30;交换后,a=20、b=30、c=10。请填空。_______;a=b;b=c;_______;2、一个C语言源程序由若干函数组成,其中至少应含有一个________3、结构化程序由________、________、________3种基本结构组成。4、若有定义语句:intb=7;floata=,c=;则表达式a+(int)(b/3*(int)(a+c)/2)%4的值为_______5、在C语言的赋值表达式中,赋值号左边必须是_______6、若x=0123,则表达式(5+(int)(x))&(~2)的值是_______。7、函数swap(intx,inty)可完成对x和y值的交换。在运行调用函数中的如下语句后,a[0]和a[1]的值分别为_______,原因是_______。a[o]=1;a[1]=2;swap(a[o],a[1]);8、若有定义floata[3][5];则a数组所含数组元素个数是_______,a数组所占的字节数是_______。9、假设M为已经声明的符号常量,则定义一个具有M×M个元素的双精度型数组a,且所有元素初值为0的形式是_______。10、请填空:建立如图所示存储结构所需的说明语句是_______。:..建立如图所示为变量a输入数据的输入语句是_______。建立如图所示存储结构所需的赋值语句是_______。二、选择题11、以下表达式值为3的是()-13%+3/-2D.(2+6)/(12-9)12、以下不正确的叙述是()。,,,在执行了赋值表达式a=b后b中的值将放入a中,,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值13、,,可以发现注释中的拼写错误14、以下叙述不正确的是():..,注释说明只能位于一条语句的后面15、若有以下程序段:inta[]={4,0,2,3,1},i,j,t;for(i=l;i<5;i++){t=a[i];j=i-1;while(j>=0&&t>a[j]{a[j+1]=a[j];j--;}a[j+1]=t;则该程序段的功能是()。(升序)(降序)(升序)(降序)16、已有如下定义和输入语句,若要求al,a2,c1,c2的值分别为10、20、A和B,当从第一列开始输入数据时,正确的数据输入方式是。(注:口表示空格)inta1,a2;charc1,c2;scanf("%d%c%d%c”,&a1,&c1,&a2,&c2);□20B<回车>□A□20□B<回车>□20B<回车>□B<回车>:..17、以下与库函数strcmp(char*s,char*t)的功能相等的程序段是()。(char*s,char*t){for(;*s++==*t+十;)if(*s=='\0')returnO;return(*s-*t);}(char*s,char*t){for(;*s++==*t++;)if(!*s)returnO;return(*s-*t);(char*s,char*t){for(;*t==*s;){if(!*t)return0;t++;s++;}return(*s-*t);·}(char*s,char*t){for(;*s==*t;s++,t++)if(!*s)return0;return(*t-*s);:..}18、以下程序有语法性错误,有关错误原因的正确说法是()。#include<>intmain(){intG=5,k;voidprt_char();-----k=prt_char(G);---}();有错,它是函数调用语句,、与下面程序段等价的是()。for(n=100;n<=200;n++){if(n%3==0)continue;printf("%4d",n);}(n=100;(n%3)&&n<=200;n++)printf("%4d",n);(n=100;(n%3)||n<=200;n++)printf("%4d",n);:..(n=100;n<=200;n++)if(n%3!=0)printf("%4d",n);(n=100;n<=200;n++){if(n%3)printf("%4d",n);elsecontinue;break;}20、下面的程序段()。x=3;do{y=x--;if(!y){printf("x");continue;}printf(“#”);}while(1<=x<=2);####*、以下程序的输出是()。#include<>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;}.-、下面程序的功能是从键盘输入一行字符,统计其中有多少个单词,单词之间用空格分隔。请选择填空。()#include<>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;}==′′&&c2==''!=''&&c2==''==''&&c2!=''!=''&&c2!='':..23、下面程序的功能是将已按升序排好序的两个字符串a和b中的字符按升序归并到字符串c中。请选择填空。#include<>#include<>intmain(){chara[]="acegikm",b[]="bdfhjlnpq";charc[80],*p;inti=0,j=0,k=0;while(a[i]!=\o'&&b[j]!='\o'){if(a[i]<b[j]){c[k]=a[i];i++}else{【】}k++;}c[k]='\o';if(a[i]=='\0')p=b+j;elsep=a+i;strcat(c,p);puts(C.;return0;}[k]=a[i];i++;[k]=a[j];i++;[k]=a[i];j++;[k]=a[j];j++;:..24、以下是有关汉诺塔问题的程序段,若在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、下面程序段的运行结果是()。for(y=1;y<10;)y=((x=3*y,x+1),x-1);printf("x=%d,y=%d",x,y);:..=27,y==12,y==15,y==y=27三、读程序填空26、以下程序的输出结果为_______。#include<>intmain(){shorti;i=一4;printf("\ni:dec=%d,oct=%o,hex=%x,unsigned=%u\n",i,i,i,i);return0;}27、以下程序的输出结果为_______。#include<>intmain(){charc='x';printf("c:dec=%d,oct=%o,hex=%x,ASCIl=%c\n",c,c,c,c);return0;}28、以下程序的运行结果是_______。#include<>intfunc(inta[][3]intmain():..{inta[3][3]={1,3,5,7,9,11,13,15,17};intsum;sum=func(a);printf("\nsum=%d\n",sum);return(0);}intfunc(inta[][3]){inti,j,sum=0;for(i=0;i<3;i++)for(j=0;j<3;j++){a[i][j]=i+j;if(i==j)sum=sum+a[i][j];}return(sum);}29、以下程序的功能是根据输入的y(Y)与n(N),.。请填空。#include<>voidYesNo(charch){switch(ch){case'y':case'Y':printf("\nThisisYES.\n");_______;:..case'n':case'N':printf("\nThisisNO.\n");}intmain(){charch;printf("\nEnterachar'y','Y"or'n','N':");ch=[2];printf("ch:%c",ch);YesNo(ch);return(0);}30、下面程序的运行结果是_______。#include<>intmain(){inti,j=4;for(i=j;i<=2*j;i++)switch(i/j){case0:case1:printf("*");break;case2:printf("#");:..}return0;}31、当运行以下程序时,从键盘输入girl<回车>boy<回车>则下面程序的运行结果是_______。#include<>#include<>intmain(){chara[2][80],t;inti,j,m,n,l,max;for(i=0;i<=1;i++)gets(a[i]);t=a[0][0];for(i=0;i<=1;i++){1=strlen(a[i]);for(j=0;j<=1;j++)if(a[i][j]>t){max=a[i][j];m=i;n=j;}printf("%c%d%d\n",max,m,n);:..return0;}32、以下程序段的功能是:针对输入的截止日期(年一yend;月一mend;日—dend)和出生日期(yman,mman,dman),计算出某人的实际年龄。请填空。intyend,mend,dend,yman,mman,dman,age;age=yend-yman;if(mend_______mman)age--;elseif(mend_______mman&&dend_______dman)age--33、以下程序给方阵a中所有边上的元素和两个对角线上的元素置1,其他元素置0。要求对每个元素只置一次值,最后按矩阵形式输出a。请填空。#include<>intmain(){inta[10][10];inti,j=9;for(i=0;i<10;_______){a[i][i]=1;*(*(a+i)+j)=1;}for(i=1;i<9;i++)*(*a+i)=1;for(i=1;i<9;i++)*(_______)=1;for(i=8;i>0;i-一)*(*(a+9)+_______)=1;for(i=8;i>0;i-一)*(*(a+i)+9)=1;for(i=1;i<=8;i++):..for(j=1;j<=8;j++)if(*(*(a+i)+j)!=1)*(*(a+i)+j)=0;for(i=0;i<10;i++){for(j=0;j<10;j++)printf("%2d",*(*(a+i)+j));printf("\n");}return(0);}四、编程题34、请编程序建立一个带有头结点的单向链表,链表结点中的数据通过键盘输入,当输入数据为-1时,表示输入结束。(链表头结点的data域不放数据,表空的条件是ph->next==NULL。)35、下面是一个5阶的螺旋方阵。试编程打印出此形式的n(n<10)阶的方阵(顺时针方向旋进)。12345:..1617181961524252071423222**********:..参考答案一、填空题1、【1】t=a【2】c=t2、主函数(或main函数)3、【1】顺序结构【2】选择结构【3】循环结构4、、变量6、0130或88或0x58【1】7、a[0]=1a[1]=2【2】单向值传递,不能返回交换后的值。8、【1】15【2】609、doublea[M][M]={0};10、【1】chara,*p;【2】scanf("%c",);【3】p=;二、选择题11、B12、D13、C14、D15、B16、A:..17、C18、C19、C20、C21、C22、B23、D24、C25、C三、读程序填空26、i:dec=-4,oct=177774,hex=fffc,unsigned=6553227、c:dec=120,oct=170,hex=78,ASCII=x28、sum=629、【1】break【2】getchar()30、****#31、y1232、【1】<【2】==【3】<33、【1】++,j--【2】*(a+i)【3】i四、编程题34、#include<>:..structlist{intdata;structlist*next;};structlist*creatlist(){structlist*p,*q,*ph;inta;ph=(structlist*)malloc(sizeof(structlist));p=q=ph;printf("inputanintegernumber,enter-1totheend:\n");scanf("%d”,8&.a);while(a!=-1)p=(structlist*)malloc(sizeof(structlist));p->data;q->next=p;q=p;scanf("%d”,&a);p->next='\o';return(ph);}intmain():..{structlist*head;head=creatlist();return0;}35、#include<>intmain(){inta[10][10],i,j,k=0,m,n;printf("Entern(n<10):\n");scanf("%d”,&n);if(n%2==0)m=n/2;elsem=n/2+1;for(i=0;i<m;i++){for(j=i;j<n-i;j++){k++;a[i][j]=k;}for(j=i+1;j<n-i;j++){k++;a[j][n-i-1]=k;}for(j=n-i-2;j>=i;j--){k++;a[n-i-1][j]=k;}for(j=n-i-2;j>=i+1;j--){k++;a[j][i]=k;}:..for(i=0;i<n;i++){for(j=0;j<n;j++)printf("%5d",a[i][j]);printf(\n");}}return0;

2024年贵州财经大学公共课《C语言》科目期末试卷B(有答案) 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数21
  • 收藏数0 收藏
  • 顶次数0
  • 上传人小屁孩
  • 文件大小486 KB
  • 时间2024-04-14
最近更新