版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2022年西藏农牧学院公共课《C语言》科目期末试卷A(有答案)一、填空题1、请读程序段:unsigneda=16;printf("%d,%d,%d\n",a>>2,a=a>>2,a);以上程序段的输出结果是_______。2、一个C语言源程序由若干函数组成,其中至少应含有一个________3、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是4、C语言中的标识符只能由3种字符组成,它们是_______、_______和_______5、若x和y都是double型变量,且x的初值为3.0,y的初值为2.0,则表达式.pow(y,fabs(x))的值为_______6、以下程序段通过指针变量q,但不移动q,将如图所示连续动态存储单元的值,从第一个元素起依次输出到终端屏幕。请填空。(假设程序段中的所有变量均已正确说明。)for(k=0;k<10;k++)printf("%d,",_______);printf("\n");7、下面add函数的功能是求两个参数的和,并将和值返回调用函数。函数中错误的部分是_______,改正后为_______。voidadd(floata,floatb){floatc;c=a+b;returnc;}8、设有以下定义和语句,请在printf语句的_______中填上能够正确输出的变量及相应的格式说明。union{intn;doublex;}num;num.n=10;num.x=10.5;printf("_______",_______);9、已有定义inta;floatb,x;charcl,c2;为使a=3、b=6.5、x=12.6、cl='a'、c2='A',正确的scanf函数调用语句是_______,数据输入的形式应为_______。10、设有以下宏定义:#defineWIDTH80#defineLENGTHWIDTH+40则执行赋值语句:v=LENGTH*20;(v为int型变量)后,v的值是_______。二、选择题11、若x、i、j和k都是int型变量,则执行表达式x=(i=4,j=16,k=32)后x的值为()。A.4B.16C.32D.5212、设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是()。A.n=(n*100+0.5)/100.0B.m=n*100+0.5,n=m/100.0C.n=n*100+0.5/100.0D.n=(n/100+0.5)*100.013、若有以下定义,则正确的赋值语句是()。inta,b;floatx;A.a=1,b=2,B.b++;C.a=b=5D.b=int(x);14、以下C程序的运行结果是()。(注:口表示空格)#include<stdio.h>intmain(){longy=23456;printf("y=%3x\n",y);printf("y=%8x\n",y);printf("y=%#8x\n",y);return0;}A.y=5ba0B.y=囗囗囗5ba0y=囗囗囗囗5ba0y=囗囗囗囗囗囗05ba0y=囗囗0x5ba0y=囗囗0x5ba0C)y=5ba0D.y=5ba0y=5ba0y=囗囗囗囗5ba0y=0x5ba0y=####5ba015、以下各组选项中,均能正确定义二维实型数组a的选项是()。A)floata[3][4];B)floata(3,4);floata[][4];floata[3][4];floata[3][]={{1},{0}};floata[][]={{0};{0}};C)floata[3][4];D)floata[3][4];staticfloata[][4]={{0},{0}};floata[3][];autofloata[][4]={{0},{0},{0}};floata[][4];16、一个C语言程序由()。A.一个主程序和若干子程序组成B.函数组成C.若干过程组成D.若干子程序组成17、以下for循环的执行次数是()。for(x=0,y=0;(y=123)&&(x<4);x++);A.是无限循环B.循环次数不定C.执行4次D.执行3次18、若用数组名作为函数调用的实参,则传递给形参的是()A.数组的首地址B.数组第一个元素的值C.数组中全部元素的值D.数组元素的个数19、若有以下说明和语句:char*language[]={"FORTRAN","BASIC","PASCAL","JAVA","C");char**q;q=language+2;则语句printf("%o\n",*q);()。A.输出的是language[2]元素的地址B.输出的是字符串PASCALC.输出的是language[2]元素的值,它是字符串PASCAL的首地址D.格式说明不正确,无法得到确定的输出20、执行下列程序后编译将出现错误,错误是()。#include<stdio.h>intmain(){chara,b,c,*d;a=\V;b='\xbe';c=\0xab";d="\0127";printf("%c%c%c%c\n",a,b,c,*D.;return(0);}A.只有a=\';语句不正确B.b='\xbc';语句不正确C.d="\0127";语句不正确D.a='\V;和c=\0xab";语句都不正确21、以下程序的正确运行结果是()。#include<stdio.h>voidnum(){externintx,y;inta=15,b=10;x=a-b;y=a+b;intx,y;intmain(){inta=7,b=5;x=a+b;y=a-b;num();printf("%d,%d\n",x,y);return(0);}A.12,2B.不确定C.5,25D.1,1222、下面程序段的功能是输出两个字符串中对应相等的字符,请选择填空()。charx[]="programming";chary[]="Fortran";inti=0;while(x[i]!='\o'&&.y[i]!='\o')if(x[i]==y[i])printf("%c",【】);elsei++;A.x[i++]B.y[++i]C.x[i]D.y[i]23、下面程序段的运行结果是()。inta[6][6],i,j;for(i=1;i<6;i++)for(j=1:j<6;j++)a[i][j]=(i/j)*(j/i);for(i=1;i<6;i++){for(j=1;j<6;j++)printf("%2d",a[i][j]);printf("\n")}A)11111B)00001C)10000D)100011111100010010000101011111001000010000100111110100000010010101111110000000011000124、以下程序的输出是()。#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.值不确定25、下面程序的功能是在输入的一系列正整数中求出最大者,输入0结束循环,请选择填空()。#include<stdio.h>intmain(){inta,max=0;scanf("%d”,8.A.;while(【】){if(max<A.max=a;scanf("%d”,&-A.;printf("%d”,max);return0;}A.a==0B.aC.!a==1D.!a三、读程序填空26、以下程序的运行结果是_______。#include<stdio.h>intmain(){intn=0;n+=(n=10);printf("%d\n",n);return0;}27、以下程序的输出结果是_______。#include<stdio.h>intmain(){intx=10;floatpi=3.1416;printf("(1)%d\n",x);printf("(2)%6d\n",x);printf("(3)%f\n",56.1);printf("(4)%14fNn",pi);printf("(5)%e\n",568.1);printf("(6)%14e\n",pi);printf("(7)%g\n",pi);printf("(8)%12g\n",pi):return0;}28、若x、y、z均已正确定义且x=1、y=2、z=3,则执行以下if语句后,x、y、z中的值分别是_______、_______、_______。if(x>z)y=x;x=z;z=y;29、为了使以下程序的输出结果为s=1,t=5,输入值a和b应满足的条件是_______。#include<stdio.h>intmain(){ints,t,a,b;scanf("%d,%d”,&a,&b);s=1;t=1;if(a>0)s=s+1;if(a>b)t=s+t;elseif(a==b)t=5;elset=2*s;printf("s=%d,t=%d",s,t);return0;}30、当运行以下程序时,从键盘键入“right?<回车>”,则下面程序的运行结果是_______。#include<stdio.h>intmain(){charc;while((c=getchar())!=?)putchar(++c);return0;}31、以下程序的运行结果是输出如下图形。请填空。#include<stdio.h>voida(inti){intj,k;for(j=0;j<=7-i;j++)printf("");for(k=0;k<_______;k++)printf("x");printf("\n");}intmain(){inti;for(i=0;i<3;i++)_______;for(i=3;i>=0;i--)_______;return(0);}32、下面程序的功能是将二维数组a中每个元素向右移一列,最右一列换到最左一列,移后的数组存到另一二维数组b中,并按矩阵形式输出a和b。请填空。例如,数组a:456123#include<stdio.h>intmain(){inta[2][3]={4,5,6,1.2,3),b[2][3];inti,j;printf("arraya:\n");for(i=0;i<=1;i++){for(j=0;j<3;j++)printf("%5d",a[i][j]);printf("\n");___________for(_________;i++)b[i][0]=a[i][2];printf("arrayb:\n");for(i=0;i<2;i++){for(j=0;j<3;j++)printf("%5d",b[i][j]);___________;return0;}}33、以下程序的运行结果是_______。#include<stdio.h>#defineN9voidfun(int*a,int*max,int*min){inti;*max=*min=*(a+0);for(i=1;i<N;i++){if(*max<*(a+i))*max=*(a+i);if(*min>*(a+i))*min=*(a+i);}}intmain(){inta[N]={76,78,45,90,34,52,12,66,38},max,min;fun(a,&.max,&.min);printf("max=%d,min=%d\n",max,min);return(0);}四、编程题34、编写程序,统计d输入的命令行中第二个参数所包含的英文字符个数。35、编写程序,将字符串computer赋给一个字符数组,然后从第一个字母开始间隔地输出该串,请用指针完成。
参考答案一、填空题1、1,4,162、主函数(或main函数)3、【1】.c【2】.obj【3】.exe4、【1】字母【2】数字【3】下划线5、8.0000006、*(q+k)或q[k]7、【1】voidadd(floata,floatb)【2】floatadd(floata,floatb)8、【1】%If【2】num.x9、【1】scanf("%d%f%f%c%c”,&a,&.b,8.c1,8.c2);【2】3囗
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房管局抵押合同
- 黄斑变性患者的临终关怀与护理
- 贲门癌术后康复成功案例
- 人工智能与区块链 课件 第1-4章 人工智能与区块链融合导论-共识与验证算法
- 型客户服务流程与规范模板
- 城市居民垃圾分类操作规范指南
- 2024-2025学年度粮油食品检验人员高分题库(巩固)附答案详解
- 2024-2025学年度火电电力职业鉴定测试卷【预热题】附答案详解
- 2024-2025学年公务员考试《常识》每日一练试卷【B卷】附答案详解
- 社会责任履行及诚信守法承诺书6篇
- GB/T 19023-2025质量管理体系成文信息指南
- 《简介统计软件概述》课件
- 2024-2025学年成都市高新区初三二诊语文试题(含答案)
- 中国糖尿病合并慢性肾脏病临床管理共识 课件
- 员工号归属合同协议
- 《固态硬盘存储技术》课件
- 课题申报书:家校(园)社协同育人机制与路径创新研究
- 2025年春浙教版小学劳动一年级下册教学计划
- 施工项目移动脚手架租赁合同
- 婴幼儿学习与发展概述讲解
- 糖尿病的运动疗法课件
评论
0/150
提交评论