二级C语言笔试ppt课件

上传人:无*** 文档编号:181177235 上传时间:2023-01-10 格式:PPT 页数:34 大小:135KB
收藏 版权申诉 举报 下载
二级C语言笔试ppt课件_第1页
第1页 / 共34页
二级C语言笔试ppt课件_第2页
第2页 / 共34页
二级C语言笔试ppt课件_第3页
第3页 / 共34页
资源描述:

《二级C语言笔试ppt课件》由会员分享,可在线阅读,更多相关《二级C语言笔试ppt课件(34页珍藏版)》请在装配图网上搜索。

1、2019(秋秋)C言语笔试卷言语笔试卷一、选择题用答题卡答题,答案依次填在一、选择题用答题卡答题,答案依次填在2130答题号内,共答题号内,共10分分 21.以下表达中正确的选项是以下表达中正确的选项是 21 。A在编译时可以发现注释中的拼写错误在编译时可以发现注释中的拼写错误 BC言语程序的每一行只能写一条语句言语程序的每一行只能写一条语句 Cmain()必需位于程序的开场必需位于程序的开场 DC言语程序可以由一个或多个函数组成言语程序可以由一个或多个函数组成 D 22.以下选项中不能用作变量名的是以下选项中不能用作变量名的是 22 。A_float Bswitch Csum D_123 B

2、 23.知知sizeof(int)的值为的值为2,为将,为将10!的值存储到变量的值存储到变量 f 中中10!=3628800,变量,变量f的类型应声明的类型应声明 为为 23 。Along int Bint Cshort int Dunsigned int A 假设有声明假设有声明“double x=3,c,*a=&x,*b=&c;,那么以下语句中错误的选项是那么以下语句中错误的选项是 24 。Aa=b=0;Ba=&c ,b=a;C&a=&b;D*b=*a;C 25.数学式数学式 在在C程序中正确的表示方式为程序中正确的表示方式为 25 。Asqrt(a)/2*b Bsqrt(a)/2/b

3、Csqrt(a)/2b Dsqrt a/(2*b)B ba2 26.知有程序段知有程序段 char str10=Aoyun,Beijing,*p=&str00;printf(%sn,p+10);那么执行那么执行printf语句后输出为语句后输出为 (26)。ABeijing BAoyun Cing Dng A 2 7.2 7.以 下 声 明 中 错 误 的 选 项 是以 下 声 明 中 错 误 的 选 项 是 2727 。A Aint a2;int a2;B Bint a=0,1 ;int a=0,1 ;C Cint a3=0;int a3=0;D Dint a34=0;int a34=0;C

4、 28.知有构造定义和变量声明如下:知有构造定义和变量声明如下:struct student char name20;int score;struct student*h;stu,*p;int*q;以下选项中错误的选项是以下选项中错误的选项是 28 。Ap=&stu;Bq=&stu.score;Cscanf(%s%d,&stu);Dstu.h=p;C 已有声明已有声明“int a=3,b=3,c=2;,以下选项中值为,以下选项中值为0 的表达式是的表达式是 29 。A.!a&!b&c B.!a|!b|c C.a=b&b=c D.a=b&bc A 30.30.假设有声明假设有声明 “char s

5、s8=char ss8=“Red Red ;,那么那么sizeof(ss)sizeof(ss)的值是的值是 3030 。A A 8 8 B B 4 4 C C 3 3 D D 1 1 A 二、填空题将答案填写在答题纸的相应对题号内,二、填空题将答案填写在答题纸的相应对题号内,每个答案只占一行,共每个答案只占一行,共30分分 l l 根本概念根本概念11知有函数定义知有函数定义“int int fun()return(3,4);fun()return(3,4);,那么调那么调 用用funfun后的函数前往值是后的函数前往值是 11 。4 2设有声明设有声明“int a=3,b=4;float x

6、=4.5,y=3.5;,那么表达式那么表达式“(float)(a+b)/2+(int)x%(int)y 的的值值 是是 (2)。4.5 3 3假设已有定义假设已有定义 “enum TPA,B,C;enum TPA,B,C;,那么,那么执行语句执行语句 “printf(%dn,A+1);printf(%dn,A+1);后输出结后输出结果是果是 (3)(3)。1 4 假设需求翻开假设需求翻开D盘上盘上user子目录下曾经存在的名子目录下曾经存在的名 为为abc.txt的文本文件的文本文件,先读出文件中数据,后先读出文件中数据,后 追加写入新数据,那么正确的函数调用语句追加写入新数据,那么正确的函数

7、调用语句 是:是:fp=fopen(D:userabc.txt,(4);。a+或或ab+l 阅读程序阅读程序5.以下程序运转时输出结果的最后一行是以下程序运转时输出结果的最后一行是 (5)。#include void main()int a=1,b=1,i;for(i=1;i=2;i+)a=a+b;printf(%d/%d,b,a);b=a+b;printf(%d/%d n,a,b);printf(n);3/5,5/86.以下程序运转时输出结果为以下程序运转时输出结果为 (6)。#include void main()int i,sum=0;for(i=0;i5;i+)switch(i)cas

8、e 0:case 1:sum+;case 3:sum+;case 4:sum-;break;printf(%dn,sum);1 7.7.以下程序运转时输出结果是以下程序运转时输出结果是 7 7 。#include#include void func(int b)void func(int b)int a;int a;a=b;a=b;b=10;b=10;void main()void main()int a=10,b=20;int a=10,b=20;func(b);func(b);printf(%d,%d,a,b);printf(%d,%d,a,b);10,20 8.以下程序运转时输出结果的第

9、一行是以下程序运转时输出结果的第一行是 (8),第第 二行是二行是 (9)。#includeint f1()static int i=0,f=1;return f*=+i;int f2()int i=0,f=1;return f*=+i;void main()printf(%dn,f1()+f1();printf(%dn,f2()+f2();3 2 9.以下程序运转时输出结果是以下程序运转时输出结果是 (10)。#include#includevoid sf(char*s1,char*s2)if(*s1=*s2)sf(s1+1,s2+1);void main()char a20=ABC,b20

10、=xyz;sf(a+strlen(a),b);puts(a);ABCxyz 10.以下程序运转时输出结果的第一行是以下程序运转时输出结果的第一行是 (11),第,第三行是三行是 (12)。#include void main()int i,j,a33;for(i=0;i3;i+)for(j=0;j3;j+)if(ij)aij=1;else aij=i-j+1;for(i=0;i3;i+)for(j=0;j3;j+)printf(%4d,aij);printf(n);3 2 1 1 1 1 11.以下程序运转时输出结果以下程序运转时输出结果是是 13 。#include void sort(in

11、t a,int n)int i,j,p;int t;for(i=1;in-1;i+=2)p=i;for(j=i+2;jap)p=j;if(p!=i)t=ai;ai=ap;ap=t;8 3 4 1 void main()int s=8,1,4,3,n=4,k;sort(s,n);for(k=0;kn;k+)printf(%4d,sk);printf(n);12.以下程序运转时输出结果的第一行是以下程序运转时输出结果的第一行是 14 ,第二行是,第二行是 15 。#include typedef struct s int x,*y;SS;int d5=10,20,30,40,50;SS a5=10

12、0,&d0,200,&d1,300,&d2,400,&d3,500,&d4;SS*p;void main()p=a;printf(%5d,p-x+);printf(%5dn,p-x);printf(%5d,*p-y);printf(%5dn,*+p-y);100 101 10 20 13.13.以下程序运转时假设输入以下程序运转时假设输入8 8,那么输出结果中第一行是,那么输出结果中第一行是 1 61 6 ,第 二 行 是,第 二 行 是 1 71 7 ,第 三 行 是,第 三 行 是 1818 。#include#include void main()void main()int k,i,m

13、,n,num20;int k,i,m,n,num20;scanf(%d,&n);scanf(%d,&n);for(i=0;in;i+)numi=i+1;for(i=0;in;i+)numi=i+1;i=k=m=0;i=k=m=0;while(mn-1)while(mn-1)if(numi!=0)k+;if(numi!=0)k+;if(k=3)if(k=3)printf(%4d,numi);printf(%4d,numi);numi=0;k=0;m+;numi=0;k=0;m+;if(m%3=0)printf(n);if(m%3=0)printf(n);i+;i+;if(i=n)i=0;if(i

14、=n)i=0;i=0;i=0;while(numi=0)i+;while(numi=0)i+;printf(%4d,numi);printf(%4d,numi);3 6 1 5 2 8 4 7 l 完善程序14以下程序的功能是:求以下程序的功能是:求a数组中前数组中前4个元素之和及后个元素之和及后6个元素个元素之和。试完善程序以到达要求的功能。之和。试完善程序以到达要求的功能。int fsum(int*array,int n)int i,s;s=0;for(i=0;19 ;i+)s+=arrayi;return(s);void main(void)int a15=1,2,3,4,5,6,7,8

15、,9,10,11,12,13,14,15;int sumh,sumt;sumh=fsum(a,4);sumt=20 ;printf(“%d%dn,sumh,sumt);in fsum(&a9,6)或或 fsum(a+9,6)15以下程序对二维数组以下程序对二维数组a中存储的中存储的NN矩阵做如下操作:先矩阵做如下操作:先将每一行中值最大的元素与该行位于主对角线处的元素交换值,将每一行中值最大的元素与该行位于主对角线处的元素交换值,然后对主对角线上的一切元素排序使其自左上角到右下角升序然后对主对角线上的一切元素排序使其自左上角到右下角升序陈列,最后输出排序后主对角线上各元素的值。试完善程序以陈列

16、,最后输出排序后主对角线上各元素的值。试完善程序以到达要求的功能。到达要求的功能。void main()int aNN=10,25,24,13,23,11,22,12,21,14,20,15,19,16,18,17,9,4,5,3,2,1,6,7,8 ,i;fun(a,N);for(i=0;iN;i+)printf(%3d,aii);printf(n);#include#define N 5void fun(int xN,int n)int i,j,t,arr,col;for(i=0;in;i+)arr=xi0;col=0;for(j=0;j=arr)arr=xij;(21);t=xii;(2

17、2);xicol=t;for(i=0;in-1;i+)for(j=i+1;jxjj xii=xicol 16以下程序中函数以下程序中函数replace的功能是:将字符串的功能是:将字符串s中一切属于中一切属于字符串字符串s1中的字符都用中的字符都用s2中的对应位置的字符交换。假设中的对应位置的字符交换。假设s为为“ABCBA,s1为为“AC,s2为为“ac,那么调用,那么调用replace函数函数后,字符串后,字符串s的内容将变换为的内容将变换为“aBcBa。试完善程序以到达要。试完善程序以到达要求的功能。求的功能。#include#define MAX 20void replace(char

18、*s,char*s1,char*s2)char*p;for(;*s;s+)p=s1;while(*p&24 )p+;if(*p)*s=25 ;void main()char sMAX=ABCBA,s1MAX=AC,s2MAX=ac;26 ;printf(The string of s is:);printf(%sn,s);*p!=*s*(s2+p-s1)replace(s,s1,replace(s,s1,s2)s2)17.以下程序的功能是:函数以下程序的功能是:函数struct node*insert(struct node*head,struct node*p)将将p指向的结点作为首结点插入

19、指向的结点作为首结点插入head指指向的链表中。向的链表中。main函数接纳从键盘输入的一行字符,每接纳函数接纳从键盘输入的一行字符,每接纳一个字符后,恳求一个新结点保管该字符,并调用一个字符后,恳求一个新结点保管该字符,并调用insert函数函数将新结点插入链表中。最后从表头开场依次输出该链表各结点将新结点插入链表中。最后从表头开场依次输出该链表各结点成员成员c的值。试完善程序以到达要求的功能。的值。试完善程序以到达要求的功能。#include#include struct node char c;struct node*next;void main()struct node*insert(

20、struct node*head,struct node*p);char ch;struct node*head,*p;head=NULL;while(ch=getchar()!=n)p=(struct node*)malloc(sizeof(struct node);27 =ch;p-next=NULL;28 ;p=head;while(p!=NULL)printf(%c,p-c);29 ;p-c head=insert(head,p)head=insert(head,p)p=p-next struct node*insert(struct node*head,struct node*p)if(head=NULL)head=p;else 30 ;head=p;return head;p-next=head

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!