《二级C语言笔试320真题无答案.pdf》由会员分享,可在线阅读,更多相关《二级C语言笔试320真题无答案.pdf(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 二级 C 语言笔试-320(总分 100,考试时间 90 分钟)一、选择题 下列各题 A)、B)、C)、D)四个选项中,只有一个选项是正确的。1.能正确表示逻辑关系a10 或 a0的 C 语言表达式是_。A.a=10 or a=0 B.a=0|a=10 C.a=10&a=0 D.a=10|a=10 2.有如下程序段:#includestdio.h#define Max(a,B)ab?a:b main()int a=5,b=6,c=4,d;d=c+Max(a,B);printf(%d,D);其输出结果为_。A.10 B.5 C.6 D.编译错误 3.若变量已正确定义并赋值,下面符合 C 语言的
2、表达式是_。A.a:=b+1 B.a=b=c+2 C.int 18.5%3 D.a=a+7=c+b 4.有如下函数调用语句 func(rec1,rec2+rec3,(rec4,rec5);该函数调用语句中,含有的实参个数是_。A.3 B.4 C.5 D.有语法错误 5.有如下程序段 int *p,a=10,b=1;p=&a;a=*p+b;执行该程序段后,a 的值为_。A.12 B.11 C.10 D.编译出错 6.检查软件产品是否符合需求定义的过程称为_。A.确认测试 B.集成测试 C.验证测试 D.验收测试 7.有以下函数定义:void fun(int n,double x)若以下选项中的变
3、量都已正确定义并赋值,则对函数 fun 正确调用语句是_。A.fun(int y,double m);B.k=fun(10,12.5);C.fun(x,n);D.void fun(n,x);8.下面一组中都是 C 语言关键字的是_。A.double Int for B.main while goto C.volatile break static D.malloc sizeof new 9.有如下程序段 int a=14,b=15,x;char c=A;x=(a&B)&(cB);执行该程序段后,x 的值为_。A.true B.false C.0 D.1 10.下面程序的输出结果是_。main(
4、)char str10,c=a;int i=0;for(;i5;i+)stri=C+;printf(%s,str);A.abcde B.a C.不确定 D.bcdef 11.C 语言运算对象必须是整型的运算符是_。A.%=B./C.=D.=12.有以下程序:int*f(int*x,int*y)if(*x*y)return x;else return y;main()int a=7,b=8,*p,*q,*r;p=&a;q=&b;r=f(p,q);printf(%d,%d,%dn,*p,*q,*r);程序运行后输出结果是_。A.7,8,8 B.7,8,7 C.8,7,7 D.8,7,8 13.下述
5、关于 C 语言文件的操作的结论中,正确的是_。A.对文件操作必须先关闭文件 B.对文件操作必须先打开文件 C.对文件操作顺序无要求 D.对文件操作前必须先测文件是否存在,然后再打开文件 14.以下叙述不正确的是_。A.分号是 C 语言的必要组成部分 B.C 程序的注释可以写在句的后面 C.函数是 C 程序的基本单位 D.主函数的名字不一定用 main 表示 15.在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送_。A.调用语句 B.命令 C.口令 D.消息 16.若变量 a、i 已正确定义,且 i 已正确赋值,合法的语句是_。A.a1 B.+i;C.a=a+=5;D.a=int(
6、i);17.将 E-R 图转换到关系模式时,实体与联系都可以表示成_。A.属性 B.关系 C.键 D.域 18.若已建立如下图所示的单向链表结构:在该链表结构中,指针 p、s 分别指向图中所示结点,则不能将 s 所指的结点插入到链表末尾仍构成单向链表的语句组是_。19.若已定义 x 和 y 为 double 类型,则表达式 x=1,y=x+3/2 的值是_。A.1 B.2 C.2.0 D.2.5 20.设有声明语句 char a=72;,则变量 a_。A.包含 1 个字符 B.包含 2 个字符 C.包含 3 个字符 D.声明不合法 21.有如下程序 main()char s5=abc,de,f
7、gh;printf(%c,s26);其输出为_。A.不确定 B.编译错误 C.g D.输出 null 字符 22.假设在 turboc2.0 采用 small 模式编译如下程序 main()char a4=a,b;char*b=abc;printf(%d,%d,sizeof(A.,sizeof(B.);&n C.4,3 D.2,2 23.执行语句 for(i=1;i+4;);后变量 i 的值是_。A.3 B.4 C.5 D.不定 24.下列关键字中,不属于 C 语言变量存储类别的是_。A.register B.auto C.extern D.public 25.有如下程序 main()int
8、y=3,x=3,z=1;printf(%d%dn,(+x,y+),z+2);运行该程序的输出结果是_。A.3 4 B.4 2 C.4 3 D.3 3 26.下面不属于软件设计原则的是_。A.抽象 B.模块化 C.自底向上 D.信息隐蔽 27.有如下程序 main()char ch25=6937,8254,*p2;int i,j,s=0;for(i=0;i2;i+)pi=chi;for(i=0;i2;i+)for(j=0;pij,0;j+=2)s=10*s+(pij-0);printf(%dn,s);该程序的输出结果是_。A.69825 B.63825 C.6385 D.693825 28.在
9、C 语言中,函数中变量的隐含存储类别是_。A.auto B.static C.extern D.无存储类别 29.算法一般都可以用_控制结构组合而成。A.循环、分支、递归 B.顺序、循环、嵌套 C.循环、递归、选择 D.顺序、选择、循环 30.有如下程序 main()int x=1,a=0,b=0;switch(x)case 0:b+;case 1:a+;case2:a+;b+;printf(a%d,b=%dn,a,B);该程序的输出结果是_。A.a=2,b=1 B.a=1,b=1 C.a=1,b=0 D.a=2,b=2 31.有如下程序:main()int a33=1,2,3,4,5,6,i
10、,j,s=0;for(i=1;i3;i+)for(j=0;j=i;j+)s+=aij;printf(%dn,s);该程序的输出结果是_。A.18 B.19 C.20 D.21 32.数据的存储结构是指_。A.数据所占的存储空间量 B.数据的逻辑结构在计算机中的表示 C.数据在计算机中的顺序存储方式 D.存储在外存中的数据 33.已经定义 ch 为字符型变量,以下赋值表达式中错误的是_。A.ch=''B.ch=62+3 C.ch=NULL D.ch='xaa'34.运行以下程序后,如果从键盘上输入 65 14回车,则输出结果为_。main()int m,n;pri
11、ntf(Enter m,n:);scanf(%d%d,&m,&n);while(m!=n)while(mn)m-=n;while(nm)n-=m;printf(m=%dn,m);A.m=3 B.m=2 C.m=1 D.m=0 35.有如下程序 main()int i,sum;for(i=1;i=3;sum+)sum+=i;printf(%dn,sum);该程序的执行结果是_。A.6 B.3 C.死循环 D.0 36.有如下程序 main()float x=2.0,y;if(x0.0)y=0.0;else if(x10.0)y=1.0/x;elsey=1.0;printf(%fn,y);该程序输
12、出结果是_。A.0.000000 B.0.250000 C.0.500000 D.1.000000 37.下列函数定义中,会出现编译错误的是_。A.max(int x,int y,int*z)B.int max(int x,y)*z=xy?x:y;int z;z=xy?X:y;return z;C.max(int x,int y)D.int max(int x,int y)int z;return xy?x:y;z=xy?x:y;return(z);38.有如下程序 int func(int a,int B)return(a+B);main()int x=2,y=5,z=8,r;r=func(
13、func(x,y),z);printf(%dn,r);该程序的输出结果是_。A.12 B.13 C.14 D.15 39.有以下程序段:main()int a=5,*b,*c;c=&b;b=&a;程序在执行了 c=&b;b=&a;语句后,表达式*c 的值是_。A.变量 a 的地址 B.变量 b 中的地址 C.变量 a 中的值 D.变量 b 的地址 40.有如下说明:int a10=1,2,3,4,5,6,7,8,9,10,*p=a;则数值为 9 的表达式是_。A.*p+9 B.*(p+8)C.*p+=9 D.p+8 41.在关系数据库中,用来表示实体之间联系的是_。A.树结构 B.网结构 C.
14、线性表 D.二维表 42.有以下函数 char *fun(char*p)return p;该函数的返回值是_。A.无确切的值 B.形参 p 中存放的地址值 C.一个临时存储单元的地址 D.形参 p 自身的地址值 43.下列工具中为需求分析常用工具的是_。A.PAD B.PFD C.N-S D.DFD 44.设有下列二叉树:对此二叉树中序遍历的结果为_。45.有如下程序:long fib(int n)if(n2)return(fib(n-1)+fib(n-2);else return(2);main()printf(%ldn,fib(3);该程序的输出结果是_。A.2 B.4 C.6 D.8 4
15、6.有如下程序 main()int x=3;do printf(%d,x-);while(!x);该程序的执行结果是_。A.321 B.3 C.不输出任何内容 D.陷入死循环 47.若有以下定义:int t32;,能正确表示 t 数组元素地址的表达式是_。A.&t32 B.t3 C.t1 D.*t2 48.下面程序运行后的输出结果是_。struct abc int a,b,c;main()struct abc s2=1,2,3,4,5,6;int t=-s0.a+s1.b;printf(%dn,t);A.5 B.6 C.7 D.8 49.有如下程序:#define n 2#define m N
16、+1#define NUM 2*m+1 main()int i;for(i=1;i=NUM;i+)printf(%dn,i);该程序中的 for 循环执行的次数是_。A.5 B.6 C.7 D.8 50.索引属于_。A.模式 B.内模式 C.外模式 D.概念模式 二、填空题 请将每一个空的正确答案写在答题卡的【1】至【20】序号的横线上,答在试卷上不得分。1.在运算过程中,能够使空表与非空表的运算统一的结构是 【1】。2.软件工程研究的内容主要包括:【2】技术和软件工程管理。3.与结构化需求分析方法相对应的是 【3】方法。4.关系模型的完整性规则是对关系的某种约束条件,包括实体完整性、【4】和
17、自定义完整性。5.数据模型按不同的应用层次分为三种类型,它们是 【5】数据模型、逻辑数据模型和物理数据模型。6.表示整数 x 的绝对值大于 5时值为真的 C 语言表达式是 【6】。7.以下程序的输出结果是 【7】。main()unsigned short a=65536;int b;printf(%dn,b=A);8.若有定义 int a=10,b=9,c=8;,接着顺序执行下列语句,变量 b 中的值是 【8】。c=(a-=(b-5);c=(a%11)+(b=3);9.以下程序运行后的输出结果是 【9】。main()int p=30;printf(%dn,(p/30?p/10:p%3);10.
18、函数 pi 的功能是根据以下近似公式求 值:(*)/6=1+1/(2*2)+1/(3*3)+1(n*n)现在请你在下面的函数中填空,完成求 的功能。#include “math.h double s=0.0;long i;for(i=1;i=n;i+)s=s+【10】;return(sqrt(6*s);11.函数 pi 的功能是根据以下公式近似求得的:pi*pi/6=1+1/(2*2)+1/(3*3)+1/(n*n)请在下面的函数中填空,完成求 pi 的功能。#includemath.h double pi(long n)doubles=0.0,long i;for(i=1;i=n;i+)s=
19、s+【11】;return(sqrt(6*s);12.若输入字符串:abcde,则以下 while 循环体将执行 【12】次。while(ch=getchar()=e)printf(*);13.以下函数用来求出两整数之和,并通过形参将结果传回,请填空。void func(int x,int y,【13】z)*z=x+y;14.若有以下定义,则不移动指针 p,且通过指针 p 引用值为 98 的数组元素的表达式是 【14】。int w10=23,54,10,33,47,98,72,80,61,*p=w;15.设在主函数中有以下定义和函数调用语句,且 fun 函数为 void 类型;请写出 fun
20、函数的首部 【15】。要求形参名为 b。main()double s1022;int n;fun(s);16.有以下程序:int f(int n)if(n=1)return 1;else return f(n-1)+1;main()int i,j=0;for(i=1;i3;i+)j+t(i);printf(%dn,j);程序运行后的输出结果是 【16】。17.以下程序的输出结果是 【17】。void fun()static int a=0;a+=2;printf(%d,A);main()int cc;for(cc=1;cc4;cc+)fun();printf(n);18.实现程序可将磁盘中的一
21、个文件复制到另一个文件中,两个文件的文件名在可执行命令的命令行中(相当于 copy 命令),假定文件在当前目录下。请补全程序。#includestdio.h void main(int argc,char*argv)FILE*f1,*f2;if(argc 【18】)printf(parameter error!n);exit(0);f1=fopen(argv1,r);f2=fopen(argv2,w);while(【19】)fputc(fgetc(f1),f2);fclose(f1);fclose(f2);19.以下程序的输出结果是 【20】。#define MAX(x,y)(x)(y)?(x):(y)main()int a=5,b=2,c=3,d=3,t;t=MAX(a+b,c+D)*10;printf(%dn,t);