ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:22.50KB ,
资源ID:12478990      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12478990.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(01C语言笔试试题1.docx)为本站会员(b****0)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

01C语言笔试试题1.docx

1、01C语言笔试试题1二级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;

2、 (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

3、)。(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)123435

4、14 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

5、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在一个源程序文件中定义的全局变量,

6、其作用域为( 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中

7、的值为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 )

8、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,e

9、3),(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. 以下程序的功能是:从键盘上输入若干个学生的成绩,统计计算出平均成绩。请填空。#includ

10、evoid 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=*

11、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; / x

12、amj 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=n return k; void main() scanf(%d,&x); printf(x_location:%dn,lookup(table,x,10);5.下列函数insert实现在一维数组v中插入一个元素x,且要求将该元素插入到下标为i位

13、置,数组原有下标为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);voi

14、d insert(int v,int *n,int x,int i) int j; if(_) /i=i; _) /j- _=vj; /vj+1 else i=*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下面程序的运行结果

15、是:( 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; else while(n) if(n0|i=0) printf(%1d, n%10); else printf(%ld,-n%10); i+; n/=

16、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; else s=n+fun(n-1); ret

17、urn 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

18、=sum+x; x=1+1/x; printf(Front 20 terms of 2/1+3/2+5/3+=%lfn,sum); 2. 函数fac的原型为long fac(int k);,函数利用静态变量实现:连续以1,2,3,n 为参数调用该函数后,函数最后返回n!。要求编制该函数并用相应的主函数进行测试。参考程序:#include void main() long fac(int n); int n,j; long ff; scanf(%d,&n); for(j=2;j=n;j+) ff=fac(j); printf(n!=%ldn,ff);long fac(int n) static long ff=1; ff*=n; return ff;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1