版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2022年中山大学公共课《C语言》科目期末试卷B(有答案)一、填空题1、设有一输入函数scanf("%d”,k);它不能使float类型变量k得到正确数值的原因是_______未指明变量k的地址和_______格式控制符与变量类型不匹配。2、C语言的源程序必须通过【】和【】后,才能被计算机执行。3、一个C语言源程序由若干函数组成,其中至少应含有一个________4、表达式x=6应当读做_______5、表达式pow(2.8,sqrt(double(x))值的数据类型为_______。6、设x的二进制数是11001101,若想通过x&y运算使x中的低4位不变,高4位清零,则y的二进制数是_______。7、函数swap(intx,inty)可完成对x和y值的交换。在运行调用函数中的如下语句后,a[0]和a[1]的值分别为_______,原因是_______。a[o]=1;a[1]=2;swap(a[o],a[1]);8、假设M为已经声明的符号常量,则定义一个具有M×M个元素的双精度型数组a,且所有元素初值为0的形式是_______。9、若有定义:inta[3][4]={{1,2},{0},{4,6,8,10}};,则初始化后,a[1][2]得到的初值是_______,a[2][1]得到的初值是_______。10、下面程序段的运行结果是_______。char*s1="AbcdEf",*s2="aB";intt;s1++;t=(strcmp(s1,s2)>0);printf("%d\n",t);二、选择题11、下面4个选项中,是合法转义字符的选项是()。A.’\"B.'\'C.'\018'D.'\\o''\\''\017''\f''\10l''\n''\"'xab''xlf'12、已知字母A的ASCII码为十进制数65,且定义c2为字符型变量,则执行语句c2='A'+'6'-'3';后,c2中的值为()。A.DB.68C.不确定的值D.C13、一个C程序的执行是从()A.本程序的main函数开始,到main函数结束B.本程序的第一个函数开始,到本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束D.本程序的第一个函数开始,到本程序main函数结束14、以下叙述正确的是A.在C程序中,main函数必须位于程序的最前面B.C程序的每行中只能写一条语句C.C语言本身没有输入输出语句D.在对一个C程序进行编译的过程中,可以发现注释中的拼写错误15、若有说明:inta[3][4];,则对a数组元素的正确引用是()。A.a[3][4]B.a[1,3]C.a[i+1][0]D.a(2)(1)16、以下针对scanf函数的叙述中,正确的是()。A.输入项可以为一实型常量,如scanf("%f",3.5);B.只有格式控制,没有输入项,也能进行正确输入,如scanf("a=%d,b=%d");C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("%4.2f",&f);D.当输入数据时,必须指明变量的地址,如scanf("%f",&f);17、下面程序段的运行结果是()charstr[]="ABC",*p=str;printf("%d\n",*(p+3));A.67B.0C.字符C的地址D.字符C18、若用数组名作为函数调用的实参,则传递给形参的是()A.数组的首地址B.数组第一个元素的值C.数组中全部元素的值D.数组元素的个数19、若i为整型变量,则以下循环执行次数是()。for(i=2;i==0;)printf("%d",i--);A.无限次B.0次C.1次D.2次20、若有如下语句:intx=3;do{printf("%d\n",x-=2);}while(!(--x));上面程序段()。A.输出1B.输出1和-2C.输出3和0D.是死循环21、以下程序的运行结果是()。#include<stdio.h>intmain(){inta,b,d=241;a=d/100%9;b=(-1)8&.8&(-1);printf("%d,%d",a,B.;return0;}A.6,1B.2,1C.6,0D.2,022、当运行以下程序时,从键盘输入:AhaMAAha<回车>,则下面程序的运行结果是()#include<stdio.h>intmain(){chars[80],c='a';inti=0;scanf("%s",s);while(s[i]!='\0'){if(s[i]==c)s[i]=s[i]-32;elseif(s[i]==c-32)s[i]=s[i]+32:i++;}puts(s);return0;}A)ahAMaB)AhAMaC)AhAMaahAD)ahAMaahA23、下面程序段的运行结果是()。chara[7]="abcdef";charb[4]="ABC";strcpy(a,B.;printf("%c",a[5]);A.口B.\0C.eD.f(其中口表示1个空格)24、以下程序的正确运行结果是()。#include<stdio.h>intf(intA.;intmain(){inta=2,i;for(i=0;i<3;i++)printf("%4d",f(A.);return(0);}intf(intA.{intb=0;staticintc=3;b++;c++;return(a+b+C.;}A.777B.71013C.7911D.78925、下面程序的功能是将从键盘输入的偶数写成两个素数之和。请选择填空()#include<stdio.h>#include<math.h>intmain(){inta,b,c,d;scanf("%d",&.A.;for(b=3;b<=a/2;b+=2){for(c=2;c<=sqrt(B.;c++)if(b%c==0)break;if(c>sqrt(B.)d=【】;elsebreak;for(c=2;c<=sqrt(D.;c++)if(d%c==0)break;if(c>sqrt(D.)printf("%d=%d+%d\n",a,b,D.;}return0;}A.a+bB.a-bC.a*bD.a/b三、读程序填空26、若要求下列程序的输出结果为8.00,则[]中应填入的是_______。#include<stdio.h>intmain(){intk=2,m=5;floats,x=1.2,y=[];s=2/3+k*y/x+m/2;printf("%4.2f\n",s);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、函数del的作用是删除已按升序排列的数组a中的指定元素x。已有调用语句n=del(a,n,x);其中实参n为删除前数组元素的个数,赋值号左边的n为删除后数组元素的个数。请填空。intdel(inta[],intn,intx){intp,i;p=0;while(x>=a[p]&&p<n)_______;for(i=p-1;i<n;i++)_______;n=n一1;returnn;}29、以下程序的运行结果是_______。#include<stdio.h>voidf(inta[]){inti=0;while(a[i]<=10){printf("%d",a[i]);i++;intmain(){inta[]={1,5,10,9,11,7};f(a+1);return(0);}30、下面程序的功能是求1111的个、十、百位上的数字之和。请填空。#include<stdio.h>intmain(){inti,s=1,m=0;for(i=1;i<=11;i++)s=s*11%1000;do{m+=_______;s=_______;}while(s);printf("m=%d\n",m);return0;}31、以下程序是将矩阵a、b的乘积存入矩阵c中并按矩阵形式输出。请填空。#include<stdio.h>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++){for(j=0;j<2;j++)printf("%6d",c[i][j]);___________return0;}32、若运行以下程序时输入:100<回车>,则程序的运行结果是_______。#include<stdio.h>intmain(){inta;scanf("%d",&a);printf("%s",(a%2!=0)?"no":"yes");return0;}33、以下程序通过指针数组p和一维数组a构成如下所示的二维数组的左下半三角结构,然后输出。请填空。#include<stdio.h>#defineM5#defineNUM(M+1)x(M)/2intmain()inta[NUM],*p[M],i,j,index,n;for(i=0;i<M;i++){index=i*(i+1)/2;p[i]=_______;}for(i=0;i<M;i++){n=1;for(j=0;j<=i;j++){p[i][j]=_______;n++;}printf("TheOutput:\n");for(i=0;i<M;i++){for(j=0;_______;j++)printf("%4d",p[i][j]);printf("\n");}return(0);}四、编程题34、请编写程序实现文件的复制。即将源文件复制到目的文件,两个文件名均由命令行给出,源文件名在前。35、以下程序的功能是应用下面的近似公式计算e的n次方。函数fl用来计算每项分子的值,函数f2用来计算每项分母的值。请编写f1和f2函数。ex=1+x+x22!+x33!#include<stdio.h>floatf2(intn){}floatfl(intx,intn){}intmain(){floatexp=1.0;intn,x;printf("Inputanumber:");scanf("%d',&x);printf("%d\n",x);exp=exp+x;for(n=2;n<=19;n++)exp=exp+f1(x,n)/f2(n);printf("\nTheisexp(%d)=%8.4f\n",x,exp);return(0);}运行结果:Inputanumber:3Theisexp(3)=20.0855
参考答案一、填空题1、【1】格式控制符与变量类型不匹配。scanf语句的正确形式应该是:scanf("%f",8.k);【2】未指明变量k的地址。2、【1】编译【2】连接3、主函数(或main函数)4、将常量6赋给变量x5、双精度型(或double型)6、000011117、a[0]=1a[1]=2【2】单向值传递,不能返回交换后的值。8、doublea[M][M]={0};9、【1】0【2】610、1二、选择题11、A12、A13、A14、C15、C16、D17、B18、A19、B20、B21、B22、A23、D24、B25、B三、读程序填空26、3.627、(1)10(2)口口口囗10(3)56.100000(4)口口口
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2020年中国电信转正面试高分上岸专属题库及答案解析
- 2024计量经济考研复试笔试高频试题及满分答案
- 2020广西事业单位B类考前必刷模拟题附答案 命中率超70%
- 2023年广东省学法考试模拟卷+真题卷答案全
- 2026PSCR裸考救星考试题和答案 零基础也能拿高分
- 上班族摸鱼也能背的2024新三板考试答案
- 2021编剧基础期末考试往届学长学姐力荐题库及答案 亲测好用
- 江苏南京市栖霞区2025-2026学年九年级下学期期初学情分析语文试题(含解析)
- 放射科x线检查操作规程
- 肾脏病的中医科普
- 2026湖北宜昌夷陵区小溪塔街道办事处招聘民政助理1人笔试备考试题及答案解析
- 2026新疆兵团第七师胡杨河市公安机关社会招聘辅警358人考试参考试题及答案解析
- 2026陕西榆林市旅游投资集团有限公司招聘7人考试备考试题及答案解析
- 2024版前列腺癌药物去势治疗随访管理中国专家共识课件
- 2026年基于责任区的幼儿园联片教研活动设计方案
- 《油气管道地质灾害风险管理技术规范》SYT 6828-2024
- 2026新疆喀什正信建设工程检测有限公司招聘12人考试参考试题及答案解析
- 2026年宁夏工业职业学院单招职业技能考试题库含答案详解(完整版)
- IMPA船舶物料指南(电子版)
- 地理科学专业教育实习研习报告1
- 中国石油集团公司井喷事故案例汇编
评论
0/150
提交评论