1 / 21
文档名称:

2023年深圳技术大学公共课《C语言》科目期末试卷B(有答案).pdf

格式:pdf   大小:1,325KB   页数:21页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

2023年深圳技术大学公共课《C语言》科目期末试卷B(有答案).pdf

上传人:1781111**** 2024/5/11 文件大小:1.29 MB

下载得到文件列表

2023年深圳技术大学公共课《C语言》科目期末试卷B(有答案).pdf

相关文档

文档介绍

文档介绍:该【2023年深圳技术大学公共课《C语言》科目期末试卷B(有答案) 】是由【1781111****】上传分享,文档一共【21】页,该文档可以免费在线阅读,需要了解更多关于【2023年深圳技术大学公共课《C语言》科目期末试卷B(有答案) 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:..年深圳技术大学公共课《C语言》科目期末试卷B(有答案)、假设变量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、请读以下函数:getbits(unsignedx,unsignedp,unsignedn)'{x=((x<<(p+1-n))&((unsigned)~0>>n));return(x);}假设机器的无符号整数字长为16位。若调用此函数时x=0115032,p=7,n=4,则函数返回值的八进制数是_______。3、设有chara,b;若要通过a&b运算屏蔽掉a中的其他位,只保留第2和第8位(右起为第1位),则b的二进制数是_______。4、设a、b、c均为int类型变量,请用C语言的表达式描述以下命题。(1)a或b中有一个大于c_______(2)a、b和c中只有2个为正数_______(3)c是偶数_______5、已知字母a的ASCIl码为十进制数97,且设ch为字符型变量,则表达式ch='a'+'8'-3'的值为_______。6、鸡兔共有30只,脚共有90只,下面程序段是计算鸡兔各有多少只。请填空。for(x=0;x<=30;x++):..x;if(_______)printf(,,x,y);}7、设有如下定义:#defineSWAP(T,X,Y){T=X;X=Y;Y=T;}以下程序段将通过调用宏实现变量x和y内容的交换,请填空。Doublex=,y=,z;SWAP(_______);8、当a=3,b=2,c=1时;表达式f=a>b>c的值是_______。9、若x、y均为int型变量,则描述“x、y和z中有两个为负数”的表达式是_______。10、函数process是一个可对两个整型数a和b进行计算的通用函数;函数max()可求这两个数中的较大者,函数min()可求它们中的较小者。已有调用语句process(a,b,max);和process(a,b,min);。请填空。voidprocess(_______){intresult;result=(*fun)(x,y);}二、选择题11、以下正确的叙述是()。,,C程序中允许赋值a=10,因此实型变量中允许存放整型数:..C程序中,无论是整数还是实数,,%是只能用于整数运算的运算符12、若x、i、j和k都是int型变量,则执行表达式x=(i=4,j=16,k=32)后x的值为()。、以下程序的输出结果是()。(注:口表示空格)#include<>intmain(){printf(,);printf(,);return0;}A.*s1=chinabeijing囗囗囗**s2=**chi*B.*s1=chinabeijing囗囗囗**s2=chi囗囗*C.*s1=*囗囗chinabeijing**s2=囗囗chi*D.*s1=囗囗囗chinabeijing**s2=chi囗囗*14、以下C程序的运行结果是()。(注:口表示空格)#include<>intmain(){longy=23456;printf(,y);printf(,y);:..,y);return0;}==囗囗囗5ba0y=囗囗囗囗5ba0y=囗囗囗囗囗囗05ba0y=囗囗0x5ba0y=囗囗0x5ba0C)y==5ba0y=5ba0y=囗囗囗囗5ba0y=0x5ba0y=####5ba015、以下程序段()。x=-1;do{x=x*x;}while(!x);、C语言规定:在一个源程序中,main函数的位置()、若有说明:inta[3][4];,则对a数组元素的非法引用是()。[o][2*1][1][3][4-2][o][o][4]18、若用数组名作为函数调用的实参,则传递给形参的是():..、以下与库函数strcmp(char*s,char*t)的功能相等的程序段是()。(char*s,char*t){for(;*s++==*t+十;)if()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;:..*t-*s);}20、已有变量定义和函数调用语句:inta=25;print_value(&A.;下面函数的正确输出结果是。voidprint_value(int*x){printf(,++*x);}、下面程序的功能是从键盘输入一行字符,统计其中有多少个单词,单词之间用空格分隔。请选择填空。()#include<>intmain(){chars[80],c1,c2='';inti=0,num=0;gets(s);while(s[i]!){c1=s[i];if(i==0)c2='';elsec2=s[i-1];if(【】)num++;i++;printf(,num);return0;:..==′′&&c2==''!=''&&c2==''==''&&c2=''!=''&&c2!=''22、以下程序的输出是()。#include<>intmain(){inta=5,b=8,c=3,max;max=a;if(c>(c>=c;elseif(b>=b;printf(,max);return0;}===、以下程序的输出是()。#include<>intmain(){intx=1;:..x=2)printf();elseif(x<2)printf(,x);elseprintf();return0;}、以下程序可选出能被3整除且至少有一位是5的两位数,打印出所有这样的数及其个数。请选择填空()。#include<>intsub(intk,intn){intal,a2;a2=k/10;al=k-【】;if((k%3==0&&a2==5)|l(k%3==0&&al==5)){printf(,k);n++;returnn;}elsereturn-1;}intmain(){inti,k,n,m;for(k=10;k<=99;k++):..k,n);if(m!=-1)n=m;}printf(,n);return(O);}*%1025、下面程序段的运行结果是()。x=y=0;while(x<15)y++,x+=++y;printf(,%d',y,x);,,,,20三、读程序填空26、若有以下程序段,且grade的值为C,则输出结果是_______。switch(grade){case'A':printf();case'B':printf();case'C':printf();case'D':printf(();default:printf(!);}:..4-3中给定的函数关系,对输入的每个x值计算出相应的y值。请填空。函数关系xy2?≤10xx+2)?1<?≤22x?≤?1x-1#include<>intmain(){intx,y;if(_______)y=x*(x+2);elseif(_______)y=2*x;elseif(x<=-1)y=x-1;else(_______);return0;}28、以下程序的输出结果是_______。#include<>intmain():..floatpi=;return0;}29、已知字母A的ASCII码值为65。以下程序的输出结果是_______。#include<>intmain(){chara,b;a='A'+'4'-'3';b='A'+'6'-2';printf(,,a,b);return0;}30、函数f中的形参a为一个10×10的二维数组,n的值为5,以下程序的运行结果为_______。:..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;}}}31、下面程序用“顺序查找法”查找数组a中与x相等的第一个数。请填空。#include<>intmain(){inta[8]={25,57,48,37,12,92,86,33},i,x;scanf(,x);for(i=0;i<8;i++):..x==a[i])·{printf(!,--i);_______;}if(_______)printf(!);return0;}32、下面程序的功能是从3个红球、5个白球、6个黑球中任意取出8个球,且其中必须有白球,输出所有可能的方案。请填空。#include<>intmain(){inti,j,k;printf();for(i=0;i<=3;i++)for(_______;j<=5;j++){k=8-i-j;if(_______)printf(,i,j,k);}return0;}33、以下程序的输出结果是_______。:..intmain,,,,;char**q;intnum;q=str;for(num=1;num<5;num+=2)printf(,*(q++));return(0);}四、编程题34、以下函数fun的功能是从3个红球(x)、5个白球(y)、6个黑球(z)中任意取出8个,且其中必须要有红球和白球。请编写函数,输出所有方案。#include<>intfun(intx,inty,intz){inti,j,k,sum=0;(请在此处编写函数)}:..{intsum,x=3,y=5,z=6;sum=fun(x,y,z);printf(,sum);return(0);}35、试定义一个带参的宏swap(x,y),以实现两个整数之间的交换,并利用它将一维数组a和b的值进行交换。36、从键盘输入两个字符串a和b,要求不用库函数strcat把串b的前5个字符连接到串a中;如果b的长度小于5,则把b的所有元素都连接到a中。试编程。:..一、填空题、【1】t=a【2】c=t2、0120000或1200003、100000104、【1】a>cl|b>c【2】((a>&b><0))||((a>08.&c>08.&.b<0))||((c>&.b>08.&a<0))【3】(c%2)==05、f6、2*x+4*y==907、z,x,y或z,y,x8、09、((x<0)&&(y<0))||((x<0)&&(z<0))||((y<0)&&(z<0))10、intx,inty,int(*fun)(int,int)二、选择题11、D12、C13、D14、A:..C16、C17、D18、A19、C20、D21、B22、B23、A24、A25、D三、读程序填空26、【1】mark/10【2】case0:case1:case2:case3:case4:case5:【3】case9:case10:27、【1】x><=10【2】x>-<=2【3】y=-128、(1)10(2)口口口囗10(3)(4)(5)+02:..)+00(7)(8)(注:答案中的囗代表空格)29、a=66,b=E30、打印5阶幻方:172418152357141646132022101219213**********、【1】break【2】i==832、【1】j=1【2】k>=0&&k<=633、ENGLISHMATH四、编程题34、for(i=1;i<=x;i++){for(j=1;j<=y;j++){k=8-i-j;if(k>=0&&k<=z){sum=sum+1;printf(,i,j,k);:..}}returnsum35、/*两个一维数组元素的交换*/#defineswap(x,y){intt;t=x;x=y;y=t;}intmain(){inti,a[10],b[10];for(i=0;i<10;i++)scanf(,&.a[i]);for(i=0;i<10;i++)scanf(,&b[i]);for(i=0;i<10;i++)swap(a[],b[i]);for(i=0;i<10;i++)printf(,a[i]);printf();for(i=0;i<10;i++)printf(,b[i]);return0;:..36#include<>#include<>intmain(){chara[80],b[80];inti=0,j;printf();gets(a);gets(b);while(a[i++]!);for(j=0,i--;j<5&&b[j]!;j++)a[i++]=b[j];;puts(a);return0;}