二级C语言分类模拟题535_第1页
二级C语言分类模拟题535_第2页
二级C语言分类模拟题535_第3页
二级C语言分类模拟题535_第4页
二级C语言分类模拟题535_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、二级 C语言分类模拟题 535选择题1、有以下程序段:int x;for(x=3; x 6; x+)printf(x%2)?(*%d): (#%dn), x); 程序段的输出结果是A *3#4*5B #3*4#5C #3*4#5D *3#4*52、设x和y都是int 类型,且x=1,y=2,则printf(%d%d,x,y,(x ,y) 的输出结果是A. 1 2 B. 1 2 2 C. 1,2 D. 输出值不确定3、若有以下说明和定义:#include main() int(*a)(int*), *b(), w10, c;int fun(int*c) 则以下选项中能正确调用 fun 函数是fu

2、n(b);A a=fun; a(w); B a=fun; (*a)(&c); Cb=fun; *b(w); D4、若变量已正确定义,在 if(W)printf(%dn,k);中,以下不可替代 W的是 _A a=b+c B ch=getchar() Ca b+c D a+5、阅读以下程序:# includemain() int case; float printF;printf(请输入 2 个数 :);scanf(%d%f, case, printF.;printf(%d%fn,case,printF.;case 是关键字,不能用作用户自定义标识符 printF 不能用作用户自定义标识符 sca

3、nf 不能作为输入函数使用 printf 不能输出 case 的值该程序在编译时产生错误,其出错原因是ABCD定义语句出错,定义语句出错,定义语句无错,定义语句无错,6、有以下程序:# includemain() char a,b,c;b=1;c=A;for(a=0;a 6;a+)if(a%2) putchar(b+a);else putchar(c+a);程序运行后的输出结果是 A 1B3D5F B ABCDEF C A2C4E6 D 1234567、下面对软件特点描述不正确的是 。A 软件是一种逻辑实体,具有抽象性B 软件开发、运行对计算机系统具有依赖性C 软件开发涉及软件知识产权、法律及

4、心理等社会因素D 软件运行存在磨损和老化问题8、下列叙述中正确的是 。A 存储空间不连续的所有链表一定是非线性结构B 节点中有多个指针域的所有链表一定是非线性结构C 能顺序存储的数据结构一定是线性结构D 带链的栈与队列是线性结构9、设有宏定义:#define IsDIV(k,n) (k%n= =1)?1 : 0) 且变量 m已正确定义并赋值,则宏调用:IsDIV(m,5) & IsDIV(m,7) 为真时所要表达的是 。A 判断 m是否能被 5和7整除 B 判断 m被5和7整除是否都余 1C 判断m被5或者7整除是否余 1 D 判断m是否能被 5或者7整除10、按照 C语言规定的用户标识符命名

5、规则,不能出现在标识符中的是 A 连接符 B 大写字母 C 数字字符 D 下划线11 、设有宏定义:#define IsDIV(k,n)(k%n=1)?1:0) 且变量 m已正确定义并赋值,则宏调用:IsDIV(m,5)&IsDIV(m,7) 为真时所要表达的是 。A 判断 m是否能被 5和7整除 B 判断 m被5和7整除是否都余 1C 判断m被5或者7整除是否余 1 D 判断m是否能被 5或者7整除12 、有以下程序#include void swap(int*a,int*b)int t,*tp;t=*a;*a=*b;*b=t;tp=a;a=b;b=tp;printf(%d,%d,*a,*b

6、);main()int i=3,j=7,*p=&i,*q=&j;swap(p,q) ;printf(%d,%d,%d,%d,i,j,*p,*q); 程序执行后的输出结果是 。A 3 ,7,3 ,7 ,3,7 B 7,3,7,3,7,3 C 3,7,3,7,7, 3 D 3 ,7, 7,3,7,313 、以下程序段给数组所有元素输入数据:#includemain() int a10, i=0;while(i age); B scanf(%s,);C scanf(%d,&std1.age); Dscanf(%c,&(p- sex);15 、若有以下程序段:char str412=

7、aaa,bbbb,ccccc,dddddd,*strp4;int i;for(i=0;i 4;i+)strpi=stri; 则以下错误引用字符串的选项是 ( 其中0k 4) 。A *strp Bstrk Cstrpk D strp16 、有以下程序段:int j;float y;char name50;scanf(%2d%f%s,&j,&y,name); 当执行上述程序段,从键盘上输入 55566 7777abc 后, y的值为 。A 55566.0 B 566.0C 7777.0 D 566777.017 、程序流程图中带有箭头的线段表示的是 。A 图元关系 B 数据流 C 控制流 D 调用

8、关系18 、已定义以下函数int fun(int *P) return *P;fun 函数返回值是 。A 一个整数 B 不确定的值C 形参p中存放的值 D 形参 p的地址值19 、软件测试的目的是 。A 评估软件可靠性 B 发现并改正程序中的错误C 改正程序中的错误 D 发现程序中的错误20 、若有定义: float x=1.5;int a=1,b=3,c=2;,则正确的 switch 语句是Aswitch(a+b) case 1:printf(*n);case 2+1:printf(*n);Bswitch(int)x);case 1:printf(*n);case 2:printf(*n);

9、Cswitch(x)case 1.0:printf(*n);case 2.0:printf(*n);Dswitch(a+b)case 1:printf(*n);case c:printf(*n);21 、下面程序的运行结果是 。#include void del(char*s)int i,j;char*a;a=s;for(i=0,j=0;ai!=0;i+)if(ai=0&ai=9)sj=ai;j+;sj=0;main()char s=aa89gggh;del(s);printf(n%s,s);Aaa B89 C ggghD aa89gggh22 、以下选项中表示一个合法的常量是 ( 说明:符号

10、 表示空格) 。A999 B0XabC123E0.2D2.7e23 、有以下程序:#include#define S(x) (x)*x*2main() int k=5,j-2; printf(%d,S(k+j);printf(%dn,S(k-j);程序运行后的输出结果是 ( ) 。A. 98,18B. 39,11 C. 39,18 D. 98,1124 、若有以下程序段:int r=8;print(%dn,r 1);输出结果是 。A16 B8C4 D225 、有以下函数定义:void fun(int n, double x) 若以下选项中的变量都已正确定义并赋值,则对函数 fun 的正确调用语

11、句是 ( ) 。 A. fun(int y,double m);B. k=fun(10,12.5);C. fun(x,n);D. void fun(n,x);26 、下列叙述中正确的是 。A存储空间连续的数据结构一定是线性结构B存储空间不连续的数据结构一定是非线性结构C没有根节点的非空数据结构一定是线性结构 构27 、以下选项中,能够正确利用随机函数 rand()Arand()%2=0?rand()%A:rand()%aBrand()%26+A|rand()%26+aCrand()%26+A&rand()%26+a Drand()%2=0?rand()%26+A:rand()%26+a28 、

12、下面不属于对象主要特征的是 。A唯一性 B多态性 C可复用性DD具有两个根节点的数据结构一定是非线性结,产生一个英文字母的表达式是 。封装性29 、设有定义: char*c; 以下选项中能够使 c 正确指向一个字符串的是 。Achar str=string;c=str; Bscanf(%s,c); Cc=getchar();D*c=string;30 、C语言中运算对象必须是整型的运算符是 。A% B/C! D*31 、在结构化分析方法中,数据字典的作用是 A存放所有需要处理的原始数据B存放所有处理的结果C存放所有程序文件D描述系统中所用到的全部数据和文件的有关信息32 、有以下程序:#inc

13、lude main() char a30,b30;scanf(%s,a);gets(b);printf(%s%s,a,b);程序运行时若输入:how are you? I am fine则输出结果是 。Ahow are you?I am fineBhoware you? I am fineChow are you? I am fine Dhow are you?33 、以下结构体类型说明和变量定义中正确的是 Atypedef struct int n;char c;REC;REC t1,t2;Bstruct REC;int n;char c;);REC t1,t2;Ctypedef struc

14、t REC;int n=0;char c=A;t1,t2;Dstructint n;char c;REC;REC t1,t2;34 、有下列程序: int fun(int x, int n) static int sum=0, i; for(i=0; i n; i+) sum+=xi;return sum;main()int a=1, 2, 3, 4, 5, b=6, 7, 8, 9, s=0; s=fun(a, 5)+fun(b, 4); printf(%dn, s); 程序执行后的输出结果是 。A45 B50C60 D5535 、有以下程序: #include main( )chair c

15、h=B;while (ch age 是结构指针访问结构成员的方式,如果为结构体内变量进行赋值,应该 对指针地址指向的单元进行赋值,因此在 p- age 前面应该加入取地址符, A选项语句错误,答案 为A选项。15、D 解析 程序定义了二维数组 str ,指针数组 strp 。 A项正确, *strp 引用数组 str 的第一行字符 串”aaa”;B项正确, strk 引用数组 str 的第k行字符串; C项正确, strpk 引用数组 str 的第k 行字符串; D项错误, strp 不能引用字符串。16、B 解析 本题考查通过 scanf 函数输入数据时的格式控制问题。变量 j 的格式控制为

16、 “%2d”,即只接 收输入数据的前两位,从第三位开始直到空格之间的输入都会被保存到变量y中,因为 y 为浮点型数据,所以输出结果为选项 B。17、C 解析 在数据流图中,用标有名字的箭头表示数据流。在程序流程图中,用标有名字的箭头表示控 制流。所以选择 C选项。18、A 解析 本题考查的是指针的概念。在 C语言中,指针是一种特殊的变量,它存放的值是一个内存地 址。所以一个指针变量涉及三个值:指针变量所指内容的值、指针变量中存放的值、指针变量的地址 值。它们可以分别用表达式 *p 、p 、&p 来表示。题目中 fun() 函数的返回表达式是 *p ,所以选项 C、 D不为所选,而应该是形参 p

17、所指内容的值,因为 p 为int 型指针,所以该值是一个整数。故应该选择 A。19、D 解析 软件测试是为了发现错误而执行程序的过程,测试要以查找错误为中心,而不是为了演示软 件的正确功能,也不是为了评估软件或改正错误,因此本题答案为 D。20、A 解析 B 选项中 switch(int)x);语句中不应该有最后的分号。 switch(expr1) 中的 expr1 不能用浮点类型或 long 类型,也不能为一个字符串,所以 C选项错误。 case 后面必须为常量表达式, 所以D选项错误。 21、B22、B 解析 当用指数形式表示浮点数据时, E的前后都要有数据,并且 E的后面数要为整数。23

18、、C 解析 由#define 的定义知, x是在预编译阶段替换参数值,即第一个 s(k+j) 替换成(k+j)*k+j*2 ,带入数值得 39 ;第二个s(k-j) 替换成(k-j)*(k-j)*2,带入数值得 18。故选 C) 。24、C 解析 本题考查移位运算。将 8转为二进制数为 1000 ,右移一位不足补 0,结果为0100 ,转化为十 进制结果为 4 。25、C 解析 本题考查函数调用。函数调用时,实参前不需加类型说明,选项 A) 错误;题目中的函数没有 返回值,所以选项 B)错误;函数调用前不需要加类型说明,选项 D) 错误。26、D 解析 一个非空的数据结构如果满足以下两个条件:

19、有且只有一个根节点;每一个节点最多有一个 前件,也最多有一个后件,称为线性结构,也称为线性表,可以采用顺序存储和链式存储,其中顺序 存储的空间连续而链式存储空间不连续。 非线性结构是指不满足以上两个条件的数据结构, 非线性结 构主要是指树形结构和网状结构。 数据结构线性与否与存储空间是否连续没有直接关系, 如二叉树可 以用一片连续的空间来存储,但其为非线性结构, A选项错误。线性表的链式存储结构可以用不连续 的空间来存储,但其为线性结构, B选项错误。没有根节点的非空数据结构一定不是线性结构, C选 项错误。具有两个根节点的结构一定是非线性结构,故 D选项正确。27、D 解析 rand() 函

20、数是产生随机数的函数,它可以生成 0RAND_MAX之间的一个随机数,其中 RAND_MAX是stdlib.h 中定义的一个整数。 通常如果我们需要随机 0N-1 之间的一个随机数, 需要 使用rand() 的结果对N求模即可。选项 A中,rand()%2 只有两个值 0或1,所以当rand()%2 的结果 为0时,整个表达式的值是 rand()%A ,这里A 要转换成ASCII 码值65 ,所以结果为 064之间 的一个随机数,当 rand()%2 的结果为 1 时,整个表达式的值是 rand()%a ,a 的ASCII 码值为 97 ,所以结果是 096之间的一个随机数, 可见选项A错误;

21、逻辑或运算符 | 或逻辑与运算符 &的结 果都只能是 0或非0,所以选项 B、C也是错误的;选项 D中,如果rand()%2 的结果为 0,那么整个表 达式的值为 rand()%26+A,0 25 之间任一个数与 A 的和都是一个大写字母;如果 rand()%2的值为 1,整个表达式的值为: rand()%26+a,0 25之间任一个数与 a 的和都是一个小写字母,所以选项 D正确;本题答案为 D。28、C 解析 对象的基本特点如下表所示。特点描述标识唯一性一个对象通常可由对象名、属性和操作三部分组成分类性指可以将具有相同属性和操作的对象抽象成类多态性指同一个操作可以是不同对象的行为, 不同对象执行同一操作产生不同的结果封装性从外面看只能看到对象的外部特性,对象的内部对外是不可见的模块独立性好由于完成对象功能所需的元素都被封装在对象内部,所以模块独立性好可知 C选项正确。29、A 解析 选项 A定义字符数组 str ,然后将 str 赋值给 c ,c 便指向字符串 str

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论