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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言试题二级C语言试题.docx

1、C语言试题二级C语言试题二级C语言程序设计模拟试题(一)一、单项选择题。(每小题1分,共20分)1、一个C语言程序是由( B )组成。A) 一个函数 B) 一个或若干个函数C) 一个过程 D) 一个过程或若干个过程知识点:C语言程序的结构2、C语言用( D )表示逻辑真值。A) true B) T C) 整型值0 D) 非0整型值知识点:数据类型3、如果程序中有#include 文件名 则意味着( A )。A) 将文件名所指的那个文件的全部内容,在此命令行出现的这一点上,插 入源程序B) 指定标准输入输出C) 宏定义一个函数D) 条件编译说明知识点:编译预处理4、为一个结构体变量分配存储空间时

2、,其所占容量为( B )。A) 结构体中第一个成员所占容量 B) 结构体中所有成员所占容量C) 结构体中所有成员中所占容量最大者 D) 结构体中最后一个成员所占容量知识点:结构体5、如果int *px,*py;则可用temp=*px;*px=*py;*py=temp实现*px和*py 的交换。 其中temp应该说明为( A )。A) int temp B) int &temp C) int *temp D) int *temp知识点:指针6、于合法的c语言长整型常量是( A )。A) 12L B) 6887273 C) 5E12 D) (long)6887273知识点:数据类型7、下列程序输出

3、正确的是( A )。main() int a=-1,b=1,c; c=(a+=0)&!(b-=0); printf(“%d,%d,%d”,a,b,c);A) 0,0,1 B) -1,1,1 C) 0,0,0 D) 0,1,0知识点:逻辑运算符8、已知E的ASCII码是69,则执行printf(“%c”,D-8+5);的结果是( B )。A) 66 B) A C) B D) E知识点:数据类型与自动转换9、段名访问的方式是( A )A) 结构名.位段名 B) 位段名 C) 结构名 D) *&位段名知识点:位段10、有字符数组a,则正确的输入语句是( C )。A) gets(a); B) scan

4、f( %c,a); C) scanf( %s,a); D) gets( a);知识点:字符数组11、如果程序中有static char c;则编译时会对其自动设置初始值为( C )A) n B) n C) 0 D) 0知识点:存储类型与静态变量12、如果程序中有语句FILE fp;fp=fopen(abc.txt,w);则程序准备做( C )。A) 对文件读写操作 B) 对文件读操作 C) 对文件写操作 D) 对文件不操作13、如果有#define f(x,y) x+y及int a=2,b=3;则执行printf(%d,f(a,b)*f(a,b) 后的值为( C )。A) 36 B) 25 C

5、) 11 D) 1314、在下面的说明中,( D )是指向函数的指针。A) int *p; B) int (*p); C) *p(); D) (*p)();15、如果在C程序中有main(int argc,char *argv),那么( D )是指命令行中的参数个数。A) argv B) argv C) argc,argv D) argc16、下列程序运行的结果是( B )。#include main() unsigned a,b,x; a=0x255; b=a4 x=(b)&0xffA) 0x55 B) 0xaf C) 0x50 D) 0xda17、下面程序中选择正确答案( C )main(

6、) int k=0; while (printf(“*”) k+; if (k B) + - C) = D) & | E) & |3、在C语言中,下面哪些描述是正确的( BDE )。A) 在switch(c)语句中,c 可以是任意表达式。B) else if 语句可以转化为switch语句。C) 大小写没有区别。D) goto语句必须与“转向标号”配合使用。E) C语言提供函数的递归调用机制。4、如有说明structint day;int month;int year; d,*pd;则下列哪些引用是正确的( ABC )。A) pd-year B) (*pd) .year C) d.year D

7、) *pd.year E) *(pd-year)5、在C语言中,系统指定的标准设备文件有( BCD )。A) fopen B) stdin C) stdout D) stderr E) fclose6、C语言中要求所用到的变量作强制性定义,其目的是( ACE )A) 变量被指定类型后便于分配内存单元 B) 确定变量的数量C) 保证程序中正确地使用变量 D) 保证变量不同名E) 根据变量的类型便于确定运算的合法性7、结构化程序是由( ADE )组成的。A) 顺序结构 B) 模块结构 C) 树型结构D) 选择结构 E) 循环结构8、下列程序中,若输入的命令行为:file1 china comput

8、er ,则输出的结果为( B )。#include main(int argc, char * argv) while (-argc0) printf(“%s”,*+argv);A) file1 B) china C) china computer D) language 9、下面( ACDE )是位段特性的正确描述。A) 位段空间的分配,不受机器的限制一律从左到右B) 可以定义位段数组 C) 位段的长度不能大于存储单元的长度D) 位段可以用整数格式输出 E) 位段的长度可以为010、函数返回值的正确描述是( ACE )。A) 函数的返回值是通过函数中的return语句获得 B) 有多少个re

9、turn语句就有多少个返回值C) 在定义函数时,对函数值的说明类型与return语句表达式的类型应一致D) 如果函数值的类型与return中表达式的类型不一致时,以表达式(应该以函数类型为准)为准E) 当函数中没有return语句时,返回的是一个不确定的值三、判断分析题(如正确选;如错误选。每小题1分,共10分)1、使用typedef可以自定义一种新的数据类型。 (X)2、结构(struct)和联合(uion)类型实质上是相同的。 ( X )3、可以用顺序、分支、循环三种结构构造任何算法。 ()4、如有int a=2,b=4,c=8;则表达式(ab) & ca) | (cb)的值为真。 ()5

10、、求n!既可以用递归的方式,也可以用递推的方式。 ()6、在C语言中,程序main()int ptr ;*ptr=100;printf(%d,*ptr);是正确的。(X)7、C语言的编译系统对宏命令的处理是在源程序编译阶段进行的。(X)8、C语言中的输入输出操作是通过专门的输入输出语句实现的。(X)9、C语言可以处理的文件类型是文本文件和二进制文件。( )10、若定义 int *p;则程序中调用*p时,它代表p的地址。(X)四、填空题。(每空2分,共20分)1、构成递归的两个组成部分是递归方式和 递归结束 条件。2、ANSI C提供了一个测试文件是否在结尾的状态函数feof ( pf ),当文

11、件结束时feof函数的值为 非零整数 。3、下面是输出链表head的函数print。#include struct stud long num; float score; struct stud *next;void print(struct stud *head) struct stud *p; p=head; if(head!=NULL) do printf(%ld%5.1fn,p-num,p-score); _ p=p-next _; while(p!=NULL);4、下面函数能找出字串s所包含的子串sub第1次出现的位置,请完善此程序填空。search(s,sub)_ char *s,

12、*sub;_ _ int i,j,k; for(i=0;si!=0;i+) for(j=i,k=0;_ sj!=0&subk!=0_&sj= =subk;j+,k+); if(subk= =0) return(i); return(-1);5、算满足不等式1+1/2+1/3+1/4+.+1/nlimit所需调和级数的项数.其中limit是提出的要满足的要求,而所求的是项数n,请完善此程序填空。#include main() int termcount=0; float sum,limit; sum=0.0; printf(“limit=?”); scanf(“%f”,&limit); do t

13、ermcount+=1; sum+=1.0/termcount; while (_ sum limit _); printf(“n=%dtsum=%fn”,termcount,sum);6、有已排好序(升序)的字符串a ,下面的程序是将字符串s中的每个字符按升 序的规律插入到a中。请完善程序。#include #include void main() char a20=abcdefwxy; char s=english; int i,j,k; for(k=0;sk!=0;k+) j=0; while(sk=aj&aj!=0) j+; for(i=strlen(a);i=j;i-) _ai =

14、ai-1_; aj=sk; puts(a);7、函数fac的作用是用来求整数n1和整数n2的最大公约数,并返回该值,请完善程序。int fac (int n1,int n2) int t,x,y; if(n1n2) t=n1;n1=n2;n2=t; x=n1;y=n2; while(_y_) t=x%y;x=y;y=t; return(x);8、以下函数的功能是删除字符串s中的所有数字字符。请填空。viod dele(char *s) int n=0,i; for(i=0;si;i+) if( si=0 & si=9 ) sn+=si; sn= 0 ;五、阅读程序,写出运行结果。(每小题4分,

15、共20分)1、下列程序执行后其输出结果是:#include fun3(int x) static int a=3; a+=x; return(a);void main() int k=2,n; n=fun3(k); n+=fun3(k); printf(%dn,n);程序的运行结果为:(5+7)=122、下列程序执行后其输出结果是:#include union ee int a; int b; *p,s4;void main() int n=1,i; for(i=0;ia);printf(%d,+p-a);程序的运行结果为:(共用体)2,33、下列程序执行后其输出结果是:#include vo

16、id fun(int n,int *s) int f1,f2=1; if(n=1) *s=1; else fun(n-1,&f1); *s=f1+f2; void main() int x; fun(6,&x); printf(%dn,x);程序的运行结果为:(递归调用)64、写出下面程序执行的结果:int *fun(int *p) static int a=0; return p+a+;main() int *fun(int *p); int a10=0,1,2,3,4,5,6,7,8,*p; p=fun(a+1); p=fun(p+2); printf(“%d”,*p); 程序的运行结果为

17、:45、写出下面程序执行的结果:#include main() char c;int i,k; k=0; for(i=0;i0&c=9) break; k=k*10+c-0; printf(“k=%dn”,k);程序的意思是:从用户的输入字符串中提出前四个数字组成一个新串并输出。输入:1a2s3d4f输出:1234六、编程序。(每小题10分,共20分)1、编程将一个数组中的值,按逆序重新存放,例如原来是8,6,5,4,1,要求改为1,4,5,6,8。答:main() int a = 8,6,5,4,1,i,j,t; for( i=0; i4; i+) for(j=i+1; jaj) t=ai;

18、 ai=aj; aj=t; for( i=0; i5; i+) printf(%5d,ai);2、编写函数insert(f,str1,str2)其功能是按f指定的位置,在字符串str1中插入str2。答:#include string.hvoid insert(int f, char *str1, char *str2) char str50; strcpy(str,str1+f); strcpy(str1+f,str2); strcat(str1,str);void main() char str150 = abcdef; char str250 = xyz; insert(2,str1,str2); puts(str1);(此文档部分内容来源于网络,如有侵权请告知删除,文档可自行编辑修改内容,供参考,感谢您的配合和支持)

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

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