1 / 19
文档名称:

2022年四川农业大学公共课《C语言》科目期末试卷A(有答案).pdf

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

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

分享

预览

2022年四川农业大学公共课《C语言》科目期末试卷A(有答案).pdf

上传人:1781111**** 2024/5/7 文件大小:1.24 MB

下载得到文件列表

2022年四川农业大学公共课《C语言》科目期末试卷A(有答案).pdf

相关文档

文档介绍

文档介绍:该【2022年四川农业大学公共课《C语言》科目期末试卷A(有答案) 】是由【1781111****】上传分享,文档一共【19】页,该文档可以免费在线阅读,需要了解更多关于【2022年四川农业大学公共课《C语言》科目期末试卷A(有答案) 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:..2022年四川农业大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、设x为无符号整数。表达式x^(~(~0<<n)<<(p+1-n)))的作用是将x中从第p位开始的n位求反(1变0,0变1),其他位不变。请按表达式的求值顺序写出分解步骤,并解释含义。__________________________________2、在C语言源程序中,一个变量代表【】。3、C语言源程序的基本单位是________4、表达式x=6应当读做_______5、若有定义语句:inta=2,b=3;floatx=,y=;则表达式(float)(a+b)/2+(int)x%(int)y的值为_______6、下面程序段的运行结果是_______。chars[80],!;sp=strcpy(s,sp);s[0]='h';puts(sp);7、函数swap(intx,inty)可完成对x和y值的交换。在运行调用函数中的如下语句后,a[0]和a[1]的值分别为_______,原因是_______。a[o]=1;a[1]=2;swap(a[o],a[1]);8、设有一输入函数scanf(,k);它不能使float类型变量k得到正确数值的原因是_______未指明变量k的地址和_______格式控制符与变量类型不匹配。9、已有定义inta;floatb,x;charcl,c2;为使a=3、b=、x=、cl='a'、c2='A',正确的scanf函数调用语句是_______,数据输入的形式应为_______。:..10、若有定义floata[3][5];则a数组所含数组元素个数是_______,a数组所占的字节数是_______。二、选择题11、以下表达式值为3的是()-13%+3/-2D.(2+6)/(12-9)12、下面正确的字符常量是()13、若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是()(,,&x,&y,&z);(,&x,&y,&z);(,&x,&y);(,&x,&y,&z);14、设有如下程序:#include<>intmain(){charch1='A',ch2='a';printf(,(chl,ch2));return0;}则以下叙述中正确的是()。:..,编译出错15、在C语言中,一维数组的定义方式为:类型说明符数组名()。A.[常量表达式]B.[整型表达式]C.[整型常量]或[整型表达式]D.[整型变量]16、一个C程序的执行是从(),,,,到本程序main函数结束17、以下程序段()。x=-1;do{x=x*x;}while(!x);、若用数组名作为函数调用的实参,则传递给形参的是():..19、以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是()intmain(){int*p,*q,a,b;p=&a;printf();scanf(,*p);}A.*p表示的是指针变量p的地址B.*p表示的是变量a的值,而不是变量a的地址C.*p表示的是指针变量p的值D.*p只能用来说明p是一个指针变量20、有如下语句inta=10,b=20,*p1,*p2;p1=&a;p2=&b;如图所示;若要实现图所示的存储结构,可选用的赋值语句是()A.*p1=*p2;=p2;=*p2;D.*p1=p2;:..21、以下是有关汉诺塔问题的程序段,若在main函数中有调用语句hanoi(3,'A',B’,C.;则符合程序段运行结果的选项是()。voidmove(chargetone,charputone){printf(——,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-->C22、定义如下变量和数组:intk;inta[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是()。:..for(k=0;k<3;k++)printf(,a[k][2-k]);A)357B)369C)159D)14723、下面程序段的运行结果是()。charc[5]={'a',b',,'c',);printf(,C.;A.'a''b'(其中口表示1个空格)24、若变量都已正确定义,则以下程序段的输出是()。a=10;b=50;c=30;if(a>=b,b=c;c=a;printf(,b,C.;=10b=30c==10b=50c==50b=30c==50b=30c=5025、下面程序的功能是求算式xyz+yzz=532中x、y、z的值(其中xyz和yzz分别表示一个三位数),请选择填空()。#include<>intmain(){,z,i,result=532;for(x=1;x<10;x++)for(y=1;y<10;y++)for(z=0;z<10;z++){i=100*x+10*y+z+100*y+10*z+z;:..if(________)}return0;}A)i/result==1B)i=resultC)i!=resultD)i==result三、读程序填空26、以下程序的输出结果是_______。#include<>intmain(){floata=;doubleb=;printf((1),a);printf((2),a);printf((3),a);printf((4),b);printf((5),b);printf((6),b);printf((7),b);return0;}:..27、以下程序的输出结果是_______。#include<>intmain(){intx=10;floatpi=;return0;}28、下面程序的功能是:根据表4-3中给定的函数关系,对输入的每个x值计算出相应的y值。请填空。函数关系xy0x=a或x=-a-a<x<asqrt(a*a-x*x)x<-a或x>-ax#include<>#include<>:..intmain(){intx,a;floaty;if(______)y=0;elseif(______)y=sqrt(a*a-x*x);elsey=x;29、以下程序a对应的数学表达式是_______;程序b对应的数学表达式是_______。程序a程序b#include<>#include<>intmain()intmain(){inta,b;{inta,b;if(a<0)b=-1;b=0;elseif(a==0)if(a!=0)b=0;if(a>0)b=1;elseb=1;elseb=-1;return0;return0;}}:.._______。#include<>intmain(){inta,y;a=10;y=0;do{a+=2;y+=a;if(y>50)break;}while(a=14);printf(,a,y);return0;}31、以下程序的运行结果是_______。#include<>intreset(inti);intworkover(inti);inti=0;intmain(){inti=5;:..{i=(i%i)·((i*i)/(2*i)+4);intreset(inti){i=i<=2?5:0;return(i);}32a、b的乘积存入矩阵c中并按矩阵形式输出。请填空。#include<>intmain(){inta[3][2]={2,-1,一4,0,3,1},b[2][2]={7,-9,一8,10};inti,j,k,s,c[3][2];for(i=0;i<3;i++)for(j=0;j<2;j++){for(___________;k<2;k++)s+=__________;c[i][j]=s;for(i=0;i<3;i++)___________return0;:..331,否则返回0。请填空。#include<>intf(chars[],chart[]){inti=0;while(_______&&_______)i++;return(_______);}intmain(){chara[6],b[7];inti;scanf(,a,b);i=f(a,b);printf(,i);return(0);}四、编程题34、以下函数fun的功能是从3个红球(x)、5个白球(y)、6个黑球(z)中任意取出8个,且其中必须要有红球和白球。请编写函数,输出所有方案。:..intfunintx,inty,intz){inti,j,k,sum=0;(请在此处编写函数)}intmain(){intsum,x=3,y=5,z=6;sum=fun(x,y,z);printf(,sum);return(0);}35、编写程序实现功能:读入两个运算数(datal和data2)及一个运算符(op),计算表达式datalopdata2的值,其中op可以为十、一、*、/四个符号中的任一种(用switch语句实现)。:..:..一、填空题、【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、函数4、将常量6赋给变量x5、、hELLO!1】7、a[0]=1a[1]=2【2】单向值传递,不能返回交换后的值。8、【1】格式控制符与变量类型不匹配。scanf语句的正确形式应该是:scanf(,);【2】未指明变量k的地址。9、【1】scanf(,&a,&.b,,);【2】<回车>(注:答案中的囗代表空格)10、【1】15【2】60:..二、选择题11、B12、C13、D14、B15、A16、A17、C18、A19、B20、B21、C22、A23、B24、B25、D三、读程序填空26、(1)(2)(3):..(4)(5)(6)(7)、(1)10(2)口口口囗10(3)(4)(5)+02(6)+00(7)(8)(注:答案中的囗代表空格)28、【1】x==a||x==-a【2】x>-a&&x<a29、【1】30、a=16y=6031、i=5i=2i=2i=0i=2:..32、【1】k=s=0【2】a[i][k]*b[kJ[]【3】printf();33、【1】s[i]==t【2】s[i]!【3】()?1:0四、编程题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);}}}returnsum;35、#include<>#include<>intmain(){floatdatal,data2,data3;charop;{case'+':data3=datal+data2;break;:..case'-':data3=datal-data2;break;case'*':data3=datal*data2;break;case'/':if(data2==0)exit(1);}data3=datal/data2;break;return0;}