【计算机类职业资格】二级C语言分类模拟题552及答案解析.doc
《【计算机类职业资格】二级C语言分类模拟题552及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言分类模拟题552及答案解析.doc(15页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言分类模拟题 552 及答案解析(总分:63.50,做题时间:90 分钟)一、选择题(总题数:40,分数:63.50)1.若有以下程序: #include stdio.h main( ) int y=9; for( ; y0; y-) if(y%3= =0) printf(“%d“, -y); 则程序的运行结果是_。(分数:2.50)A.852B.963C.741D.8754212.一名雇员就职于一家公司,一个公司有多名雇员,则实体公司和实体雇员之间的联系是_。(分数:1.00)A.1:1 联系B.1:m 联系C.m:1 联系D.m:n 联系3.设有表示学生选课的三张表,学生 S(
2、学号,姓名,性别,年龄,身份证号),课程 C(课号,课名),选课 SC(学号,课号,成绩),则表 SC 的关键字(键或码)为_。(分数:1.00)A.课号,成绩B.学号,成绩C.学号,课号D.学号,姓名,成绩4.下列叙述中正确的是_。(分数:2.00)A.在 C 语言中,预处理命令行都以“#”开头B.预处理命令行必须位于 C 源程序的起始位置C.#includestdio.h必须放在 C 程序的开头D.C 语言的预处理不能实现宏定义和条件编译的功能5.以下数组定义中错误的是_。(分数:1.00)A.int x3=1,2,3,4,5,6;B.int x3=0;C.int x23=1,2,3,4,
3、5,6;D.int x23=1,2,3,4,5,6;6.下列叙述中正确的是_。(分数:2.50)A.在赋值表达式中,赋值号的左边既可以是变量,也可以是任意表达式B.实型变量中允许存放整型数C.若 a 和 b 类型相同,在执行赋值 a=b 后,b 中的值将放入 a 中,但 b 中的值不变D.在 C 程序中,求取余运算符“%”两边的类型相同时才能进行运算7.有以下程序 #includestdio.h main() int i,j,m=1; for(i=1;i3;i+) for(j=3;j0;j-) if(i*j3)break; m*=i*j; printf(“m=%d/n“,m); 程序运行后的输
4、出结果是_。(分数:1.00)A.m=4B.m=2C.m=6D.m=58.有以下程序: #include stdio.h #define N 2 #define M N+1 #define NUM (M+1) * M/2 main( ) printf(“%d/n“,NuM); 程序运行后的输出结果是_。(分数:5.00)A.4B.8C.9D.69.设有定义:“char*c;”,以下选项中能够使字符型指针 c 正确指向一个字符串的是_。(分数:1.00)A.char str=“string“; c=str;B.scanf(%s, c);C.c=getchar();D.*c=“string“;10
5、.若有定义语句:int a23, *p3;,则以下语句中正确的是_。(分数:2.50)A.p=a;B.p0=a;C.p0=D.p1=11.以下叙述中正确的是_。(分数:2.00)A.break 语句不能用于提前结束 for 语句的本层循环B.使用 break 语句可以使流程跳出 switch 语句体C.continue 语句使得整个循环终止D.在 for 语句中,continue 与 break 的效果是一样的,可以互换12.有以下程序 #includestdio.h main() int a5=2,4,6,8,10,*p,*k; p=a;k=p; printf(“%d“,*(p+); pri
6、ntf(“%d/n“,*k); 程序运行后的输出结果是_。(分数:2.00)A.2 4B.4 4C.2 2D.4 613.若要求从键盘读入含有空格字符的字符串,应使用函数(分数:2.00)A.getc()B.gets()C.getchar()D.scanf()14.设变量已正确定义并赋值,以下正确的表达式是_。(分数:2.50)A.x=y+z+5,+yB.int(15.8%5)C.x=y*5=x+zD.x=25%5.015.有以下定义:int a;long b;double x,y;,则以下选项中正确的表达式是(分数:1.00)A.a%(int)(x-y)B.a=x!=yC.(a*y)%bD.
7、y=x+y=x16.以下选项中正确的语句组是_。(分数:1.00)A.char*s;s=“BOOK!“;B.char*s;s=“BOOK!“;C.char s10;s=“BOOK!“;D.char s;s=“BOOK!“;17.支持子程序调用的数据结构是_。(分数:2.50)A栈B树C.队列D.二叉树18.有以下程序: #include stdio.h #define N 3 void fun(int aN,int b) int i,j; for(i=0;iN;i+) bi=ai0; for(j=1;jN;j+ +) if (biaij )bi=aij; main( ) int xNN=1,2
8、,3,4,5,6,7,8,9,yN,i; fun(x,y); for(i=0;iN;i+) printf(“%d,“,yi); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.3,5,7B.1,3,5,C.2,4,8,D.3,6,9,19.以下叙述中错误的是_。(分数:2.00)A.使用三种基本结构构成的程序只能解决简单问题B.结构化程序由顺序、分支、循环三种基本结构组成C.C 语言是一种结构化程序设计语言D.结构化程序设计提倡模块化的设计方法20.以下针对全局变量的叙述错误的是_。(分数:1.00)A.全局变量的作用域是从定义位置开始至源文件结束B.全局变量是在函
9、数外部任意位置上定义的变量C.用 extern 说明符可以限制全局变量的作用域D.全局变量的生存期贯穿于整个程序的运行期间21.负责数据库中查询操作的数据库语言是_。(分数:1.00)A.数据定义语言B.数据管理语言C.数据操纵语言D.数据控制语言22.有以下定义语句,编译时会出现编译错误的是_。(分数:1.00)A.char a=“/x2d“;B.char a=“/n“;C.char a=“a“;D.char a=“aa“;23.有以下程序: void change(int k)k0=k5;) main() int x10=1,2,3,4,5,6,7,8,9,10,n=0; while(n=
10、4)(change(xn);n+; for(n=0;n5;n+)printf(“%d“,xn); printf(“/n“); 程序运行后的输出结果是_。(分数:2.00)A.6 7 8 9 10B.1 3 5 7 9C.1 2 3 4 5D.6 2 3 4 524.数据库 DB、数据库系统 DBS、数据库管理系统 DBMS 之间的关系是_。(分数:1.00)A.DB 包含 DBS 和 DBMSB.DBMS 包含 DB 和 DBSC.DBS 包含 DB 和 DBMSD.没有任何关系25.假定 x 和 y 为 double 型,则表达式 x=2,y=x+3/2 的值是_。(分数:2.50)A.3.
11、500000B.3C.2.000000D.3.00000026.在数据结构中,从逻辑上可以把数据结构分为_。(分数:1.00)A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构27.在 C 语言中,函数调用时_。(分数:2.00)A.实参和形参各占独立的存储单元B.实参和形参共用存储单元C.由系统自动确定实参和形参是否共用存储单元D.由用户指定实参和形参是否共用存储单元28.可在 C 程序中用作用户标识符的一组标识符是_。(分数:2.50)A.voiddefineWORDB.as_b3_123IfC.For_abccaseD.2cDOSIG29.有以下
12、程序: #includestdio.h main() union short i2; long k; char c4; r, *s= s-i0=0x39; s-i1=0x38; printf(“%x/n“, s-c0); 已知字符 0 的 ASCII 码值的十进制数是 48,且数组的第 0 个元素在低位。以上程序的运行结果是(分数:2.00)A.39B.9C.38D.830.设有定义: char str=“Hello“; 则语句 printf(“%d%d“,sizeof(str),strlen(str);的输出结果是_。(分数:1.00)A.5 5B.6 6C.6 5D.5 631.有以下程序
13、: #includestdio.h #define S(x)x*x/x main() int k=6,j=3; printf(“%d,%d/n“,S(k+j+2),S(j+k+2); 程序运行后的输出结果是_。(分数:1.00)A.11,11B.29,29C.26,29D.121,12132.若有定义 char a; int b; float c; double d; ,则表达式 a+b+c-d 的结果为_型。(分数:1.00)A.doubleB.intC.floatD.char33.下列关于栈的叙述正确的是_。(分数:2.00)A.栈按“先进先出”组织数据B.栈按“先进后出”组织数据C.只能
14、在栈底插入数据D.不能删除数据34.算术运算符和圆括号有不同的运算优先级,对于表达式:a+b+c*(d+e),关于执行顺序,以下说法正确的是_。(分数:1.00)A.先执行(d+e)得 r2,再执行 c*r2 得 r3,再执行 a+b 得 r1,最后执行 r1+r3 得表达式最后结果B.先执行 a+b 得 r1,再执行(d+e)得 r2,再执行 c*r2 得 r3,最后执行 r1+r3 得表达式最后结果C.先执行(d+e)得 r2,再执行 c*r2 得 r3,再执行 b+r3 得 14,最后执行 a+r4 得表达式最后结果D.先执行 a+b 得 r1,再执行 r1+c 得 r5,再执行(d+e
15、)得 r2,最后执行 r5*r2 得表达式最后结果35.若有下列说明语句 int(* p)(); 则标识符 p 代表的是 _(分数:1.00)A.一个用于指向函数的指针变量,函数返回值的类型为 int 型B.一个带回值类型为整型的函数名C.一个用于指向整型数据的指针变量D.一个带回值类型为指针类型的函数名36.以下选项中可用作 C 程序合法实数的是_。(分数:1.00)A1e0B.3.0e0.2CE9D.9.12E37.若有定义语句:double x, y, *px, *py;执行了 px= py=之后,正确的输入语句是_。(分数:1.00)A.scanf(“%f%“, x, y);B.sca
16、nf(“%f%f“C.scanf(“%lf%lf“, px, py);D.scanf(“%lf%lf“, x, y);38.设有以下函数: void fun(int n,char *s) 则下面对函数指针的定义和赋值均正确的是_。(分数:1.00)A.void (*pf)(int,char*); pf=fun;B.void *pf(); pf=fun;C.void *pf(); *pf=fun;D.void (*pf)(int,char); pf=39.算法具有五个特性,以下选项中不属于算法特性的是 _。(分数:1.00)A.有穷性B.简洁性C.可行性D.确定性40.若有定义语句:“int a
17、=3, b=2, c=1;”,以下选项中错误的赋值表达式是_。(分数:1.00)A.a=(b=4)=3;B.a=b=c+1;C.a=(b=4)+c;D.a=1+(b=c=4);二级 C 语言分类模拟题 552 答案解析(总分:63.50,做题时间:90 分钟)一、选择题(总题数:40,分数:63.50)1.若有以下程序: #include stdio.h main( ) int y=9; for( ; y0; y-) if(y%3= =0) printf(“%d“, -y); 则程序的运行结果是_。(分数:2.50)A.852 B.963C.741D.875421解析:解析 第一次 for 循
18、环,y 的值为 9,y%3 的值为 0,满足条件,打印-y,即先减 1 后打印,所以打印 8;第二次 for 循环,y 的值为 7,y%3 的值为 1,不执行打印语句;第三次 for 循环,y 的值为 6,y%3的值为 0,满足条件,打印-y,打印 5;第四次 fof 循环,y 的值为 4,不满足 if 条件,不执行打印语句;第五次 for 循环,y 的值为 3,满足 if 条件,打印 2;第六次 for 循环,y 的值为 1,不满足条件,不执行打印语句。2.一名雇员就职于一家公司,一个公司有多名雇员,则实体公司和实体雇员之间的联系是_。(分数:1.00)A.1:1 联系B.1:m 联系 C.
19、m:1 联系D.m:n 联系解析:解析 一般来说,实体集之间必须通过联系来建立连接关系,分为 3 类:一对一联系(1:1)、一对多联系(1:m)、多对多联系(m:n)。一个公司与多个雇员的关系为 1:m 联系,故 B 选项正确。3.设有表示学生选课的三张表,学生 S(学号,姓名,性别,年龄,身份证号),课程 C(课号,课名),选课 SC(学号,课号,成绩),则表 SC 的关键字(键或码)为_。(分数:1.00)A.课号,成绩B.学号,成绩C.学号,课号 D.学号,姓名,成绩解析:解析 学号是学生表 S 的主键,课号是课程表 C 的主键,因此选课表 SC 的关键字就应该是与前两个表能够直接联系且
20、能唯一定义的学号和课号,故本题答案为 C。4.下列叙述中正确的是_。(分数:2.00)A.在 C 语言中,预处理命令行都以“#”开头 B.预处理命令行必须位于 C 源程序的起始位置C.#includestdio.h必须放在 C 程序的开头D.C 语言的预处理不能实现宏定义和条件编译的功能解析:解析 预处理命令是以“#”号开头的命令,它们不是 C 语言的可执行命令,这些命令应该在函数之外书写,一般在源文件的最前面书写,但不是必须在起始位置书写,所以 B、C 选项错误。C 语言的预处理能够实现宏定义和条件编译等功能,所以 D 选项错误。5.以下数组定义中错误的是_。(分数:1.00)A.int x
21、3=1,2,3,4,5,6;B.int x3=0;C.int x23=1,2,3,4,5,6; D.int x23=1,2,3,4,5,6;解析:解析 C 选项中 x23定义的是一个 2 行 3 列的二维数组,而在给数组元素赋值时却赋成了 3 行,因此错误。6.下列叙述中正确的是_。(分数:2.50)A.在赋值表达式中,赋值号的左边既可以是变量,也可以是任意表达式B.实型变量中允许存放整型数C.若 a 和 b 类型相同,在执行赋值 a=b 后,b 中的值将放入 a 中,但 b 中的值不变D.在 C 程序中,求取余运算符“%”两边的类型相同时才能进行运算 解析:解析 选项 A,在赋值表达式中,赋
22、值号的左边只能是变量或者是代表某个存储单元的表达式,不能是任意表达式,右边也不得出现表达式;选项 B 中,整型变量中只能存放整型数,但实型变量中能存放实型数,也能存放整型数;选项 C,表达式 a=b 的意思是把变量 b 的值赋给变量 a,从而覆盖 a 中原来值;选项 D,要求取余运算符“%“两边的类型相同。7.有以下程序 #includestdio.h main() int i,j,m=1; for(i=1;i3;i+) for(j=3;j0;j-) if(i*j3)break; m*=i*j; printf(“m=%d/n“,m); 程序运行后的输出结果是_。(分数:1.00)A.m=4B.
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 分类 模拟 552 答案 解析 DOC
