




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
二级C语言笔试试卷(1)(共100分) 注意事项:1.一、二题为客观题,请将答案涂在机读答题卡上 2. 三、四、五、六题为主观题,请将答案做在答题纸上一.单项选择题。(每小题分,共20分)1一个C程序的执行是从( A )。(A)本程序的main函数开始,到main函数结束(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束(C)本程序的main函数开始,到本程序文件的最后一个函数结束(D)本程序文件的第一个函数开始,到本程序main函数结束2设x、y和z是int型变量,且x = 3,y = 4,z = 5,则下面表达式中值为0的是( D )。(A) x & y; (B) x = y;(C) x | y + z & y z ; (D) !(xy)& ! z | 1);3以下有关宏替换的叙述不正确的是( D )。(A)宏替换不占用运行时间 (B)宏名无类型(C)宏替换只是字符串替换; (D)宏替换是在运行时进行的4已知函数的调用形式: fread ( buffer , size , count , fp ) ; 其中buffer代表的是( C )。(A)一个整型变量,代表要读入的数据项总数(B)一个文件指针,指向要读的文件(C)一个指针,指向要读入数据的存放地址(D)一个存储区, 存放要读的数据项5. 在位运算中,操作数每左移一位,其结果相当于 ( A )。(A)操作数乘以2 (B)操作数除以2(C)操作数除以4 (D)操作数乘以46.数字字符0的ASCII值为48,若有以下程序#includevoid main() char a=1,b=2;printf(%c,b+);printf(%dn,b-a);程序运行后的输出结果是( C )。A)3,2 B)50,2 C)2,2 D)2,507.有以下程序#includevoid main()int m=12,n=34;printf(%d%d,m+,+n);printf(%d%dn,n+,+m);程序运行后的输出结果是( C )。A)12353514 B)12353513 C)12343514 D)123435138已有定义 int k = 2; int *ptr1, *ptr2, 且ptr1和ptr2均已指向变量k , 下面不能正确执行的赋值语句是( B )A) k = *ptr1 + * ptr2; B) ptr2 = k;C) ptr1 = ptr2; D) k = * ptr1 *(*ptr2);9若有定义int i=2,a10,*p=&ai;则与*p+ 等价的是( A )。A)ai+ B)ai+ C)ai D)a+i10有定义int a=3,b=4,c=5; 执行完表达式a+-b&b+c-&+c后,a,b,c的值分别为(B )。A)3 4 5 B)4 3 5 C)4 4 4 D)4 4 511已知:int x = 1, y = 2, z =0; 则执行:z = x y ? 10:20后, z的值为( B )。 A)10 B)20 C)1 D)212. 若已定义x和y为double类型,则表达式x=2,y=x+10/4 的值是( C ) 。A) 2 B) 4 C) 4.0 D) 4.513.有定义语句:int b;char c10;,则正确的输入语句是( B )。A)scanf(%d%s,&b,&c); B)scanf(%d%s,&b, c);C)scanf(%d%s,b,c); D) scanf(%d%s,b,&c);14在一个源程序文件中定义的全局变量,其作用域为( B )。A) 定义所处的整个源程序文件 B) 从定义处开始到本源程序文件结束C) 整个主函数 D) 所处C程序的所有源程序文件中15在下面C语言的函数说明语句中,正确的是( A )。A) int fun(int x, int y); B) int fun(int x,y);C) int fun(x,y); D)int fun(int x; int y);16有以下程序#includevoid main()int m,n,p;scanf(m=%dn=%dp=%d,&m,&n,&p);printf(%d%d%dn,m,n,p);若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是( A )。A) m=123n=456p=789 B) m=123n=456p=789 C) m=123,n=456,p=789 D) 12345678917已知E的ASCII码是69,则执行以下语句的结果是( C ) printf(%c,E-8+5); A)66 B)A C)B D)E18有定义:char *s=”t”NameAddress”n”;,那么strlen(s)等于( B )。 A) 15 B) 16C) 17 D) 1819. 设有定义:int m=1,n=-1;则执行语句printf(%dn,(m-&+n);后的输出结果是( B )A) 1 B) 0 C) 1 D) 220有以下程序#includevoid main()int a,b,d=25;a=d/10%9;b=a&(-1);printf(%d,%dn,a,b);程序运行后的输出结果是( B )。A)6,1 B)2,1 C)6,0 D)2,0二 .基本概念选择填空题(本大题后面有若干备选项,请选择合适的备选项并将其号码填入各小题的空白处。每空2分,共10分)1函数main(int argc,char *argv)中argc表示的是_。2在C语言中,没有字符串变量,只有字符变量,字符串都存储在以 为结束符的字符数组中。3一个函数调用语句为fun(e1,e2,e3),(e4,e5),e6);,其实参个数为_。4为了避免嵌套的if-else语句的二义性,C语言规定else总是与_组成配对关系。5当程序打开一个文件时,系统就要在内存中建立一个与该文件对应的 结构体变量,存储该文件的有关信息。 F B J A K备选项:(A) 空格(B) 0(C) n(D) 在其之前未配对的if(E) 参数字符串(F) 命令行参数的个数(G) 6(H) 在其之前最近的未配对的if(J) 3(K)FILE(L)EOF(M) 命令行参数的字符数三程序填空题。(每空2分,共20分)。1. 以下程序的功能是:从键盘上输入若干个学生的成绩,统计计算出平均成绩。请填空。#includevoid main()float sum=0.0,ave,a;int n=0; printf(Enter markn);scanf(%f,&a);while(a=0.0)sum=sum+a;_; /n+ scanf(%f,&a);ave=sum/n;printf(ave=%fn,ave); 2. 下面程序的功能是将一个字符串str的内容颠倒过来,请填空。#includevoid main()char str=abcdefg; char *p1,*p2,ch; p1=str; p2=str;while(*p2!=0)p2+;_; /p2-while(p1p2)ch=*p1;*p1=*p2;*p2=ch;_; /p1+p2-;puts(str); 3. 以下程序中,fun函数的功能是求m行4列二维数组每行元素中的最大值。请填空。#includeint fun(int,int,int(*)4);void main()int a34=12,41,36,28,19,33,15,27,3,27,19,1,i;for(i=0;i3;i+)printf(%4d,fun( );/ i,4,a printf(n);int fun(int m,int n,int a4)int j,x;x=am0; for(j=0;jn;j+)if( _ ) x=amj; / xamj return x;4. 下面的程序是用来在数组table中查找x,若数中存在x程序输出数组中第一个等于x的数组元素的下标,否则输出-1。请填空。#includeint table10=12,34,54,23,45,33,78,87,59,97,x;int lookup(int t,int key,int n)int k;for(k=0;k=nreturn k; void main()scanf(%d,&x);printf(x_location:%dn,lookup(table,x,10);5.下列函数insert实现在一维数组v中插入一个元素x,且要求将该元素插入到下标为i位置,数组原有下标为i及以后的元素都将向后移动一个元素的位置,i=0。如果i大于等于元素的个数,则x插到数组的末尾。原有的元素个数存放在指针n所指向的变量中,插入后元素个数加1。主函数验证了该函的功能。请填空。#includevoid insert(int v,int *n,int x,int i);void main()int a20=1,2,3,4,5,6,7;int key=11;int n=7,*p=&n;insert(a,p,key,14);for(key=0;key*p;key+)printf(%d ,akey);putchar(n);printf(%dn,n);void insert(int v,int *n,int x,int i)int j;if(_) /i=i; _) /j-_=vj; /vj+1elsei=*n;vi=x;(*n)+;四阅读程序题(每小题5分,共30分)1下面程序的运行结果为:(f=6)#include int f(int num,int run)static int fact,i;if(run=0)fact=1;i=1;fact *=i;if(+i=num)f(num,1);return(fact);void main()int i=0;printf(f=%dn,f(3,0);2下面程序的运行结果是:( 6 3 ) #includemain()int a=1,3,5,7,9,b4=2,4,6,8,*p=a,*q=b;p+=2;q+;*p=(*q)%3+5;*(+q)=*(p-)-3;printf(%d ,*(p+1);printf(%dn, q0);3运行程序时输入-6931,则输出结果是: ( -1396 )#includevoid printopp(long int n)int i=0;if(n=0)return;elsewhile(n)if(n0|i=0)printf(%1d, n%10);elseprintf(%ld,-n%10);i+;n/=10;void main()long int n;scanf(%ld,&n);printopp(n);printf(n);4下面程序的运行结果是: ( 34 )#include#define N 2#define Y(n) (N+1)*n)main() int z; z=2*(N+Y(5); printf(%d,z);5以下程序的运行结果为(9 )#include void main()long fun(int n);printf(%ldn,fun(4);long fun(int n)long s;if(n=1|n=2)s=2;elses=n+fun(n-1);return s;6. 以下程序的运行结果为(4321 )#include void main()void fun(int *x,int *y);int a=1,2,3,4,j,x=0;for(j=0;j4;j+)fun(a,&x);printf(%d,x);printf(n);void fun(int *x,int *y)static int t=3;*y=xt;t-;五.编程序(每小题10分,共20分)1编写程序求下面数列的前20项之和。参考程序:#includemain()double x,sum;int i;for(i=1,x=2,sum=0;i=20;i+)sum=sum+x;x=1+1/x;printf(Front 20 terms of 2/1+3/2+5/3+=%lfn,sum);2. 函数fac的原型为long
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农行理财考试题库及答案
- 2025年陪诊服务知识题库及答案
- 2025年财务分析师中级专业能力测试题库与答案解析
- 2025年陪诊师资格证考试题库(附答案)
- 2025年文化旅游部公务员招录考试专业知识精讲
- 2025年篮球裁判员测试题及答案
- 2025年酒店物业管理水电维修师笔试模拟试题集及答案解析
- 桡骨小头骨折课件
- 2025年城市设计与可持续发展考试试题及答案
- 2025年篮球教练职业技能认证考试试题及答案
- T/CNCA 048-2023矿用防爆永磁同步伺服电动机通用技术条件
- 微电网短期负荷预测-洞察阐释
- 安装家具合同协议书范本
- 月饼代销合同协议书
- 精神康复与躯体管理训练体系
- 购买肉牛合同协议书
- 移动式压力容器安全技术监察规程(TSG R0005-2011)
- JT-T 495-2025 公路交通安全设施产品质量检验抽样方法
- 《废旧锂电池的回收与再利用》课件
- 2025小学道德与法治教师课标考试模拟试卷附参考答案 (三套)
- 中国卒中患者高血压管理专家共识(2024)解读
评论
0/150
提交评论