c语言在线考试试题及答案,全国计算机等考试C语言笔试试题附答案.doc

全国计算机等考试C语言笔试试题附答案.doc

2007 年 9 月全国计算机等级考试二级C 语言笔试试题(附答案)本卷共分为 3 大题 66 小题,作答时间为 120 分钟,总分 100 分,60 分及格。选择题一(1)-(10)每题 2 分 1 软件是指()。 A程序 B程序和文档 C算法加数据结构 D程序,数据和相关文档的完整集合2 软件调试的目的是( )。 A发现错误B 改正错误C 改善软件性能D 验证软件正确性3 在面向对象方法中,实现信息隐蔽是靠( )。 A对象的继承B 对象的多态C 对象的封装D 对象的分类4 下列叙述中,不符合良好程序设计风格的是( )。 A程序的效率第一,清晰第二B程序的可读性好C程序中要有必要的注释D输入数据前要有提示信息5 下列叙述中正确的是( )。 A程序执行效率与数据的存储结构密切相关 B 程序执行效率只取决于程序的控制结构 C 程序的执行效率只取决于所处理的数据量 D 以上三种说法都不对6 下列叙述中正确的是( )。 A数据的逻辑结构与存储结构必定是一一对应的B由于计算机存储空间是向量式存储结构,因此,数据的存储结构一定是线性结构C程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构D以上三种说法都不对7 冒泡排序在最坏的情况下比较次数是( )。 An(n1 )/2 Bnlog2n Cn(n-1)/2 Dn/28 一颗二叉树中共有 70 个叶子结点与 80 个度为 1 的结点,则该二叉树中的总结点数为( )。 A219 B221 C229 D2319 下列叙述中正确的是( )。 A数据库系统是一个独立的系统,不需要操作系统的支持B 数据库技术的根本目标是要解决数据的共享问题C 数据库管理系统就是数据库系统D 以上三种说法都不对10 下列叙述中正确的是( )。 A为了建立一个关系,首先要构造数据的逻辑关系B表示关系的二维表中各元组的每一个分量还可以分成若干数据项C一个关系的属性名表称为关系模式D一个关系可以包括多个二维表选择题二(11)-( 50)每题 1 分 11 C 语言源程序名的后缀是( )。 A. B .C C .obj D .cp12 可在 C 程序中用作用户标志符的一组是( )。 A and B Date C Hi D case _2007 y-m-d Dr.Tom Big113 以下选项中,合法的一组 C 语言数值常量是( )。 A028 B12. C.177 D0 x8A .5e-3 0Xa23 4e1.5 10,000 -0 xf 4.5e0 0abc 3.e514 以下叙述中正确的是( )。 AC 语言程序将从源程序中第一个函数开始执行B可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行CC 语言规定必须用 main 作为主函数名,程序从此开始执行,在此结束。Dmain 可作为用户标志符,所以命名任意一个函数作为主函数15 若在定义语句int a,b,c,*p之后,接着执行以下选项中的语句,则能正确执行的语句是( )。 Ascanf(“d”,a,b,Bscanf(“ddd”,a,b,Cscanf(“d”,p); Dscanf (“d”,16 以下关于 long,int 和 short 类型数据占用内存大小的叙述中正确的是( )。 A均占 4 个字节 B根据数据的大小来决定所占内存的字节数C由用户自己定义 D由 C 语言编译系统决定17 若变量均已正确定义并赋值,以下合法的 C 语言赋值语句是( )。 Axy5; Bxn2.5 CxnI; Dx541;18 有以下程序段 int j; float y; char name50; scanf(“-fs”, 当执行上述程序段是,从键盘输入 55566 7777abc 后,y 的值为( )。 A55566.0 B566.0 C7777.0 D566777.019 若变量已正确定义,有以下程序段 i0; do printf(“d,”,i); while(i); printf(“d”,i); 其输出结果为( )。 A0,0 B0,1 C1,1 D程序进入无险循环 x 的平方根 x020 有以下计算公式 y -x 的平方根 x0 ) ysqrt(x ); Bysqrt(x); else ysqrt(-x); if(x0) ysqrt(x); Dysqrt(x0x-x ); if(x0; y) if(y30) printf(“d”,y); 程序运行结果是( )。 A741 B963 C852 D87542123 已有定义,char c; ,程序前面已在命令行中包含 ctype.h 文件,不能用于判断 c 中的字符是否为大写字母的表达式是( )。 Aisupper(BA main() int i,j,m55; for(i1;i void fun(char p) p; printf(“sn”,*p); main() char *a“Morning”,”Afternoon”,”Evening”,”Night”; fun( A; 程序的运行结果是( )。 AAfternoon Bfternoon CMorning DOrning33 若有定义语句,int a23,*p3;则以下语句中正确的是( )。 Apa; Bp0a; Cp0 Dp134 有以下程序 include void fun(int *a,int n)/*fun 函数功能是将 a 所指的数组元素从大到小排序*/ int t,i,j; for(i0;i int fun(char s) int n0; while(*s0 ) n10*n*s-0;s; return(n); main() char s106,1,*,4,*,9,*,0,*; printf(“dn”,fun (s ; 程序的运行结果是( )。 A9 B61490 C61 D536 当用户要求输入的字符串中含有空格时,应使用的输入函数是(此题先少打了个串字,已改正) Ascanf() Bgetchar() Cgets() Dgetc()37 以下关于字符串的叙述正确的是( )。 AC 语言中有字符串类型的常量和变量B两个字符串中的字符个数相同时才能进行字符串大小的比较C可以用关系运算符对字符串的大小进行比较D空串一定比空格打头的字符串小38 有以下程序 include void fun(char *t,char *s) while(*t0) t; while(*t*s)0); main() char ss10”acc”,aa10”bbxxyy”; fun(ss,a A; printf(“s,sn”,ss,a A; 程序的运行结果是( )。 Aaccxyy,bbxxyyBacc,bbxxyyCaccxxyy,bbxxyyDaccbbxxyy,bbxxyy39 有以下程序 include include void fun( char s10,int n) char t; int i,j; for(i0;i int a1; int f(int C static int a2; cc1; return (a)c; main() int i,k0; for(i0;i void fun(int n,int *p) int f1,f2; if(n1n2) *p1; else fun(n-1, fun( n-2, pf1f2; main() int s; fun(3, printf(“dn”,s) ; 程序运行的结果为( )。 A2 B3 C4 D543 若程序中有宏定义行define N 100 则以下叙述中正确的是( )。 A宏定义行中定义了标志符 N 的值为整数 100B在编译程序对 C 源程序进行编译预处理时用 100 替换标志符 NC对 C 源程序进行编译时用 100 替换标志符 ND在运行时用 100 替换标志符 N44 以下关于 typedef 的错误是( )。 A用 typedef 可以增加新类型Btypedef 只是将已存在的类型用一个新的名字代表C用 typedef 可以为各种类型说明一个新名,但不能用来为变量说明一个新名D用 typedef 为类型说明一个新名,通常可以增加程序的可读性45 有以下程序 include struct tt int x; struct tt *y; *p; struct tt a420,a1,15,a2,30,a3,17,a; main() int I; pa; for(i1;ix); pp-y; 程序的运行结果是( )。 A20,30 B30,17 C15,30 D20,1546 有以下程序 include include typedef struct char name9; char sex; float score2;STU; STU f(STU A STU b“Zhao”,m,85.0,90.0; int I; strcpy(a.name,b.name); a.sexb.sex; for(i0;i main() int a1,b2,c3,x; x(a B printf( “dn”,x); 程序运行结果是( )。 A0 B1 C2 D349 读取二进制文件的函数调用形式为fread(buffer,size,count,fp); 其中 buffer 代表的是( )。 A一个文件指针,指向待读取的文件B一个整形变量,代表待读取的数据的字节数C一个内存块的首地址,代表读入数据存放的地址D一个内存块的字节数50 有以下程序 include main() FILE *fp; it a101,2,3,0,0; fp(“d2.dat”,”wb”); fwrite(a,sizeof(int ),5,fp); fwrite(a,sizeof(int),5,fp); fclose(fp); fp(“d2.dat”,”rb”); fread(a,sizeof (int),10,fp); for(i0;i,则输出结果是_6_include main() int a1,b; scanf(““,printf(“d dn“,a,b); 57 以下程序的功能是输出 a、b、c 三个变量中的最小值.请填空。 include main() int a,b,c,t1,t2; scanf(“ddd“, t1a main() int n12345,d; while(n0) dn; printf(“d“,d); n/10; 59 有以下程序段,且变量已正确定义和赋值 for(s1.0,k1;k main() int i; for(ia return(pstrlen(t)/2); main() char *str“abcdefgh“; strfun(str); puts(str ); 62 以下程序中函数 f 的功能是在数组 x 的 n 个数(假定 n 个数互不相同)中找出最大最小数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换.请填空. include viod f(int x,int n) int p0,p1,i,j,t,m; ijx0; p0p10; for(m0;mi ) ixm; p0m; else if(xm include main() int num260,i; char c; while_16_)) if(isupper(c numc-A _17_; for(i0;i main() int i,n41; for(i1;i define M 5 define N MM main() int k; kN*N*5; printf(“dn“,k ); 66 函数 main()的功能是 在带头结点的单链表中查找数据域中值最小的结点.请填空 include struct node int data; struct node *next; ; int min(struct node *first)/*指针 first 为链表头指针*/ strct node *p; int m; pfirst-next; mp-data;pp-next; for(;pNULL;p_20_ ) if(p-datadata; return m; 参考答案见下部参考答案1、D2、B3、C4、A5、A6、D7、C8、A9、B10、A11、B12、A13、B14、C15、C16、D17、A18、B19、B20、B21、B22、C23、B24、B25、D26、C27、C28、D29、A30、A31、B32、A33、C34、D35、C36、C37、D38、D39、D40、D41、A42、A43、B44、A45、D46、C47、D48、D49、C50、D51、无歧义性52、白盒测试53、顺序54、ACBDFEHGP55、实体集56、12 3457、ab ct158、5432159、Knext

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值