下载此文档

2024年北京印刷学院公共课《C语言》科目期末试卷A(有答案).pdf


文档分类:高等教育 | 页数:约16页 举报非法文档有奖
1/16
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/16 下载此文档
文档列表 文档介绍
该【2024年北京印刷学院公共课《C语言》科目期末试卷A(有答案) 】是由【小屁孩】上传分享,文档一共【16】页,该文档可以免费在线阅读,需要了解更多关于【2024年北京印刷学院公共课《C语言》科目期末试卷A(有答案) 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:..2022年北京印刷学院公共课《C语言》科目期末试卷A(有答案)一、填空题1、设x为无符号整数。表达式x^(~(~0<<n)<<(p+1-n)))的作用是将x中从第p位开始的n位求反(1变0,0变1),其他位不变。请按表达式的求值顺序写出分解步骤,并解释含义。__________________________________2、C语言源程序的基本单位是________3、结构化程序由________、________、________3种基本结构组成。4、把以下多项式写成只含7次乘法运算,其余皆为加、减运算的C语言表达式为_______。5x7+3x6-4x5+2x1+x3-6x2+x+105、已知字母a的ASCIl码为十进制数97,且设ch为字符型变量,则表达式ch='a'+'8'-3'的值为_______。6、下面程序段的运行结果是_______。chars[20]="abcd";char*sp=s;sp++;puts(strcat(sp,"ABCD"));7、下面程序段中循环体的执行次数是_______。a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);8、假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。请填空。:..a+=_______;b=a-_______;a-=_______;9、为建立如图10-5所示的存储结构(即每个结点两个域,data是数据域,next是指向结点的指针域),请将定义补充完整。structs{chardata;_______}node;10、设有以下宏定义:#defineWIDTH80#defineLENGTHWIDTH+40则执行赋值语句:v=LENGTH*20;(v为int型变量)后,v的值是_______。二、选择题11、表达式18/4*sqrt()/8值的数据类型为()、若x、i、j和k都是int型变量,则执行表达式x=(i=4,j=16,k=32)后x的值为()。、设x、y和z均为int型变量,则执行语句x=(y=(z=10)+5)-5;后,x、y和z的值是()。====10y=15y=10y=10y=5z=10z=10z=15z=1014、以下能正确地定义整型变量a,b和c并为其赋初值5的语句是()。:..=b=c=5;,b,c=5;=5,b=5,c=5;=b=c=5;15、判断字符串a和b是否相等,应当使用()。(a==(a=(strcpy(a,B.)(strcmp(a,B.)16、以下叙述不正确的是(),注释说明只能位于一条语句的后面17、执行语句for(i=1;i++<4;);后变量i的值是()。、在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是()、已有定义int(*p)();指针p可以()。、设有以下定义:[2]={"1234","5678");则正确的叙述是()。数组的两个元素中各自存放了字符串”1234”和"5678”的首地址数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址是指针变量,它指向含有两个数组元素的字符型一维数组:..数组元素的值分别是1234和567821、以下程序的运行结果是()。#include<>intfun(inta,intB.{if(a>(a+B.;elsereturn(a-B.;intmain(){intx=3,y=8,z=6,r;r=fun(fun(x,y),2*z);printf("%d\n",r);return(0);}A.-16B.-、下面程序的运行结果是()。#include<>intmain(){charstr[]="SSSWLIA",c;intk;for(k=2;(c=str[k])!=\o';k++){switch(C.{case'I':++k;break;case'L':continue;:..default:putchar(C.;continue;putchar('*’);}return0;}***、下面程序段的运行结果是()。inta[6],i;for(i=1;i<6;i++){a[i]=9*(i-2+4*(i>3))%5;printf("%3d",a[i]);}A)-40404B)-40403C)-40443D)-4044024、以下程序的输出是()。#include<>intmain(){inta=5,b=8,c=3,max;max=a;if(c>(c>=c;:..elseif(b>=b;printf("max=%d\n",max);return0;}===、下面程序的运行结果是()。#include<>intmain(){inti;for(i=1;i<=5;i++)switch(i%5){case0:printf("*");break;case1:printf("#");break;default:printf("\n");case2:printf("&.");}return0;}A)#&8&&*B)#&C)#D)#&:..&&&*&*&*三、读程序填空26、以下程序的输出结果为_______。#include<>intmain(){shorti;i=一4;printf("\ni:dec=%d,oct=%o,hex=%x,unsigned=%u\n",i,i,i,i);return0;}27、已有定义intd=-2;执行以下语句后的输出结果是_______。printf("*d(1)=%d*d(2)=%3d*d(3)=%-3d*\n",d,d,d);printf("*d(4)=%x*d(5)=%6x*d(6)=%-6x*\n",d,d,d);28、若运行以下程序时输入:1992<回车>,则程序的运行结果是_______。#include<>intmain(){inty,t;scanf("%d",&y);:..t=((y%4==0&&y%100!=0)||y%400==0)?1:0;if(t)printf("%dis",y);elseprintf("%disnot",y);printf("aleapyear");return0;}29、以下程序的功能是_______。#include<>intmain(){intx,y,sum,product;printf("Enterxandy:");scanf("%d,%d",&x,&y);sum=x+y;product=x*y;if(sum>product)printf("(x+y)>(x*y)");elseprintf("(x*y)>=(x+y)");return0;}30、下面程序的功能是从键盘输入的10个整数中,找出第一个能被7整除的数。若找到,打印此数;若未找到,打印notexist。请填空。:..#include<>intmain(){inti,a;for(i=1;i<=10;i++){scanf("%d",&a);if(a%7==0)_______;}if(_______)printf("%d\n",a);elseprintf("notexist\n");return0;}31、下面程序的运行结果是_______。#include<>intsub(intn);intmain(){inti=5;printf("%d\n",sub(i));return(0);}intsub(intn){inta;if(n==1)return1;:..a=n+sub(n一1);return(a);}32、设数组a中的元素均为正整数,以下程序是求a中偶数的个数和偶数的平均值。请填空。#include<>intmain(){inta[10]={1,2,3,4,5,6,7,8,9,10};intk,s,i;floatave;for(k=s=i=0;i<10;i++){if(a[i]%2!=0)_______;s+=_______;k++;}if(k!=0){ave=s/k;printf("%d,%f\n",k,ave);}return0;}33、以下程序的运行结果是_______。#include<>#defineM4:..voidfun(int*a){inti,j,k,m;for(i=M;i>0;i--){k=*(a+M-1);for(j=M-1;j>=0;j--)*(a+j+1)=*(a+j);*a=k;for(m=0;m<M;m++)printf("%d",*(a+m));printf(\n");}}intmain(){inta[M]={1,2,3,4);fun(a);return(0);}四、编程题34、输入两个整数,求它们相除的余数。用带参的宏编程来实现。:..35、编写程序,puter赋给一个字符数组,然后从第一个字母开始间隔地输出该串,请用指针完成。:..参考答案一、填空题1、【1】~0得到一个全1的数【2】(~0<<n)得到一个左端几个1,右端全0的数【3】~(~0<<n)得到一个左端为0,右端几个1的数【4】~(~0<<n)<<(p+1-n)将几个1移到以p为起点的位置【5】x^(~(~0<<n)<<(p+1-n))对x中的指定位数用异或求反2、函数3、【1】顺序结构【2】选择结构【3】循环结构4、X*(X*(X*(X*(X*(X*(5*X+3)一4)+2)+1)-6)+1)+105、f6、bedABCD7、38、【1】b【2】b【3】b9、structs*next;10、880二、选择题11、C12、C13、A14、A:..15、D16、D17、C18、D19、B20、A21、B22、B23、C24、B25、B三、读程序填空26、i:dec=-4,oct=177774,hex=fffc,unsigned=6553227、*d(1)=-2*d(2)=囗-2*d(3)=-2囗**d(4)=fffe*d(5)=囗囗fffe*d(6)=fffe囗*(注:答案中的囗代表空格)28、1992isaleapyear29、输入两个数x、y,比较x+y和x*y哪个大。30、【1】break【2】i<=1031、1532、【1】continue【2】a[i]:..33、4123341223411234四、编程题34、/*求两个整数相除的余数*/#defineMOD(a,b)(a%b)intmain(){inta,b;printf("inputtwointegera,b:");scanf("%d,%d",&a,&b);printf("amodbis:%d\n",MOD(a,b));return0;}35、#include<>intmain(){harx[]="computer";char*p;for(p=x;p<x+7;p+=2)putchar(*p);printf("\n");:..return0;}

2024年北京印刷学院公共课《C语言》科目期末试卷A(有答案) 来自淘豆网www.taodocs.com转载请标明出处.