




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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) scanf(
4、 %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) 1
5、1 D) 1314、在下面的说明中,( D )是指向函数的指针。A)int *p; B)int (*p); C) *p();D)(*p)();15、如果在C程序中有main(int argc,char *argv),那么( D )是指命令行中的参数个数。A)argvB)argvC)argc,argvD)argc16、下列程序运行的结果是( B )。#include main() unsigned a,b,x; a=0x255; b=a4 x=(b)&0xffA) 0x55 B) 0xaf C) 0x50 D) 0xda17、下面程序中选择正确答案( C )main() int k=0; whi
6、le (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) *pd.year E)
7、*(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 computer ,则输出的结果为( B
8、)。#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) 有多少个return语句就有多少个返回值C
9、) 在定义函数时,对函数值的说明类型与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、求n!既可以用递归的方式,也可以用
10、递推的方式。()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 ),当文件结束时feof函数的值为 非零整数 。
11、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,*sub;_ _ int i,j,k;
12、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 termcount+=1; sum+=1.
13、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 = ai-1_; aj=sk; puts(a)
14、;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分,共20分)1、下列程序执行后其输出结果是:
15、#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 void fun(int n,int *s)
16、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); 程序的运行结果为:45、写出下面程序执行的结果:#incl
17、ude 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; ai=aj; aj=t;for( i=0; i5; i+)printf(%5d,ai);2、编
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 钢筋质量提升的管理措施
- 25年公司主要负责人安全培训考试试题附完整答案【全优】
- 2025年管理人员岗前安全培训考试试题及答案【历年真题】
- 2025年公司、项目部、各个班组安全培训考试试题含解析答案可打印
- 25年公司三级安全培训考试试题【名校卷】
- 买房抵押贷款合同办理流程3篇
- 作品权益登记信誉书3篇
- 工程合同补充协议的签订时间3篇
- 初二年级组英语口语提升计划
- 公章委托书公证流程3篇
- 关于辽宁省电力有限公司收取多回路
- 四川施工组织设计(方案)报审表(共3页)
- 退休证翻译模板word
- 《爱护眼睛和耳朵》PPT课件.ppt
- SimTrade外贸实习平台快速入门
- 民间非营利组织会计制度.ppt
- 女装类直播电商脚本及直播话术(明细表)
- 镀锌钢管质量检验报告
- 热管换热器设计说明书
- 水电站防地震灾害应急预案范本
- 佛山市禅城区机动车维修项目工时费收费标准
评论
0/150
提交评论