【计算机类职业资格】二级C语言分类模拟题537及答案解析.doc
《【计算机类职业资格】二级C语言分类模拟题537及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言分类模拟题537及答案解析.doc(20页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言分类模拟题 537 及答案解析(总分:56.50,做题时间:90 分钟)一、选择题(总题数:40,分数:56.50)1.有以下程序: #include stdio.h struct S int a;int b; main( ) struct S a, *p= a.a=99; printf(“%d/n“,_); 程序要求输出结构体中成员 a 的数据,以下不能填入横线处的内容是_。(分数:1.00)A.aB.*p.aC.p-aD.(*p).a2.下列叙述中正确的是_。(分数:1.00)A.空字符串不占用内存,其内存空间大小是 0B.两个连续的单引号(“)是合法的字符常量C.可以对字符
2、串进行关系运算D.两个连续的双引号(“ “)是合法的字符串常量3.以下选项中可用作 C 程序合法实数的是_。(分数:1.00)A.3.0e0.2B1e0CE9D.9.12E4.有如下程序: #include stdio.h struct person char name10; int age; ; main( ) struct person room2 = “Wang“,19,“Li“,20; printf(“%s:%d/n“,(room+1)-name,room-age); 程序运行后的输出结果是_。(分数:1.00)A.Li:19B.Wang:19C.Li:20D.Wang:175.有以下
3、程序(字母 A 的 ASCII 代码为 65): #include stdio.h main() char c1 = “A“. c2 = “Y“; printf(“%d,%d/n“,c1,c2); 程序运行后的输出结果是_。(分数:1.00)A.输出格式不合法,输出出错信息B.A,YC.65,90D.65,896.有以下程序: #includestdio.h int f(int x); main() int n=1, m; m=f(f(f(n); printf(“%d/n“, in); int f(int x) return x*2; 程序运行后的输出结果是_。(分数:1.00)A.8B.2C
4、.4D.17.fgets(str,n,fp)函数从文件中读入一个字符串,以下错误的叙述是_。(分数:3.00)A.字符串读入后会自动加入“/0“B.fp 是指向该文件的文件型指针C.fgets 函数将从文件中最多读入 n 个字符D.fgets 函数将从文件中最多读入 n-1 个字符8.下列叙述中,正确的是_。(分数:1.00)A.C 程序中的注释只能出现在程序的开始位置和语句的后面B.C 程序书写格式严谨,要求一行内只能写一个语句C.C 程序的书写格式自由,一个语句可以写在多行上D.用 C 语言编写的程序只能放在一个程序文件中9.有以下程序: #includestdio.h main() in
5、t a=1,b=2,c=3,d=0; if(a=1 else printf(“%d,%d,%d/n“,a,b,c); else printf(“%d,%d,%d/n“,a,b,c); 程序的运行结果是_。(分数:2.50)A.1,3,2B.1,3,3C.1,2,3D.3,2,110.有三个关系 R,S 和 T 如下: R A B C a 1 2 b 2 1 c 3 1 S A B C d 3 2 T A B C a 1 2 b 2 1 c 3 1 d 3 2 其中关系 T 由关系 R 和 S 通过某种操作得到,该操作为_。(分数:1.00)A.选择B.投影C交D并11.有以下程序(注:字符 a
6、 的 ASCH 码值为 97): #includestdio.h main() char*s=“abc“; do printf(“%d“,*s%10);+s; while(*s); 程序运行后的输出结果是_。(分数:1.00)A.789B.abcC.7890D.97989912.以下叙述中正确的是_。(分数:1.00)A.在 C 语言中,预处理命令行都以“#”开头B.预处理命令行必须位于 C 源程序的起始位置C.#include stdio.h必须放在 C 程序的开头D.C 语言的预处理不能实现宏定义和条件编译的功能13.若变量已正确定义,下列正确的程序段是 _ 。(分数:2.00)A.whi
7、le(ch=getchar()=“/N“)putchar(ch);B.while(ch=getchar()=“/n“)putchar(ch);C.while(ch=getchar()!=“/N“)putchar(ch);D.while(ch=getchar()!=“/n“)putchar(ch);14.以下有 4 组用户标识符,其中合法的组是_。(分数:1.00)A.FOR-subCaseB.4dDOSizeC.f2_G3IFabcD.WORDvoiddefine15.以下选项中合法的常量是_。(分数:1.00)A.999B.2.7eC.OXabD.123E 0.216.下列定义变量的语句中错
8、误的是_。(分数:2.50)A.double int_;B.float US$;C.char For;D.int_int;17.若二维数组 a 有 m 列,则在 aij前的元素个数为 _ 。(分数:1.00)A.i*m+j-1B.i*m+jC.j*m+1D.i*m+j+118.有以下程序 #include stdio.h main() int x; scanf(“%d“, if(x=3);else if(x!=10) printf(“%d/n“,x); 程序运行时,输入的值在哪个范围才会有输出结果_。(分数:1.00)A.大于 3 且不等于 10 的整数B.不等于 10 的整数C.大于 3 或
9、等于 10 的整数D.小于 3 的整数19.有以下程序: #includestdio.h main() char s1=“programe“,s2=“Language“; char*p1=s1,*p2=s2; int k; for(k=0;k8;k+) if(*(p1+k)=*(p2+k) printf(“%s/n“,*(p1+k); 程序的运行结果是_。(分数:1.00)A.grame ame eB.g a eC.programeD.无输出字符20.假定已建立以下链表结构,且指针 P 和 q 已指向如下图所示的结点: (分数:2.00)A.(*p).next=(*q).next;free(p
10、);B.p=q-next;free(q);C.p=q;free(q);D.p-next=q-next;free(q);21.若有定义 int x,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x+):(y+)中的条件表达式(x-y)等价的是_。(分数:1.00)A.(x-y0|x-y0)B.(x-y0)C.(x-y0)D.(x-y=0)22.有以下程序: #includestdio.h void fun(char*p) +p; printf(“%s“, “p); main() char*a=“Morning“, “Afternoon“, “Evening“, “Night“; fu
11、n(a); 程序的运行结果是_。(分数:2.50)A.AfternoonB.fternoonC.MorningD.orning23.在 16 位 IBM-PC 上使用 C 语言,若有如下定义: struct data int i; char ch; double f; b; 则结构变量 b 占用内存的字节数是 _ 。(分数:2.00)A.1B.2C.7D.1124.以下叙述中正确的是_。(分数:1.00)A.用 C 语言实现的算法必须要有输入和输出操作B.用 C 语言实现的算法可以没有输出,但必须要有输入C.用 C 程序实现的算法可以没有输入,但必须要有输出D.用 C 程序实现的算法可以既没有
12、输入,也没有输出25.有以下程序段: char str412=“aaa“,“bbb“,“ccc“,“ddd“,*p4; int i; for(i=0;i4;i+)pi=stri; 以下选项中不能正确引用字符串的是_。(分数:1.00)A.*p3B.p3C.str2D.*p26.以下定义语句中,编译时会出现编译错误的是 _ 。(分数:1.00)A.char a=“a“;B.char a=“/n“C.char a=“aa“;D.char a=“/xgd“;27.已知大写字母 A 的 ASCII 码值是 65,小写字母 a 的 ASCII 码值是 97。以下不能将变量 c 中的大写字母转换为对应小写
13、字母的语句是_。(分数:1.00)A.c=(“A“+c)%26-“a“B.c=c+32C.c=c-“A“+“a“D.c=(c-“A“)%26+“a“28.有以下程序 #includestdio.h char fun(char*c) if(*c=“Z“*c=“A“) *c-=“A“-“a“; return*c; main() char s81,*p=s; gets(s); while(*p) *p=fun(p); putchar(*p); p+; printf(“/n“); 若运行时从键盘上输入 OPEN THE DOOR回车,程序的输出结果是_。(分数:2.00)A.open the door
14、B.oPEN tHE dOORC.OPEN THE DOORD.Open The Door29.若有说明“int a34;”,则 a 数组元素的非法引用是_。(分数:2.50)A.a02*1B.a13C.a4-20D.a0430.以下程序的输出结果是_。 main() int i,a10; for(i=9;i=0;i-)ai=10-i; print(“%d%d%d,a2,a5,a8); (分数:2.00)A.258B.741C.852D.36931.有以下程序: #includestdio.h main() struct nodeint n; struct node*next; *p; str
15、uct node x3=2, x+1, 4, x+2, 6, NULL; p=x; printf(“%d, “, p-n); printf(“%d/n“, p-next-n ); 程序运行后的输出结果是_。(分数:1.00)A.2,3B.2,4C.3,4D.4,632.有以下程序: #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,12133.有以下程序: #inclu
16、destdio.h main() char s=“012xy“; int 1,n=0; for(i=0;si!=0;i+) if(si=“a“ printf(“%d/n“,n); 程序的运行结果是_。(分数:2.00)A.0B.2C.3D.534.以下叙述中正确的是_。(分数:1.00)A.每个后缀为.C 的 C 语言源程序都可以单独进行编译B.每个后缀为.C 的 C 语言源程序都应该包含一个 main 函数C.在 C 语言程序中,main 函数必须放在其他函数的最前面D.在 C 语言程序中,只有 main 函数才可单独进行编译35.有以下程序: #include stdio.h main()
17、 FILE *fp; int i,a6=1,2,3,4,5,6,k; fp = fopen(“data.dat“,“w+“); fprintf(fp, “%d/n“, a0); for (i=1; i6; i+) fseek(fp, 0L, 0); fscanf(fp, “%d“, fseek(fp, 0L, 0); fprintf(fp, “%din“, ai+k); rewind(fp); fseanf(fp, “%d“, fclose(fp); printf(“%d/n“, k); 程序的运行结果是_。(分数:1.00)A.21B.6C.123456D.1136.关于字符常量,以下叙述正
18、确的是_。(分数:2.00)A.空格不是一个字符常量B.字符常量能包含大于一个的字符C.单引号中的大写字母和小写字母代表的是相同的字符常量D.所有的字符常量都可以作为整型量来处理37.下列描述错误的是_。(分数:2.50)A.继承分为多重继承和单继承B.对象之间的通信靠传递消息来实现C.在外面看不到对象的内部特征是基于对象的“模块独立性好”这个特征D.类是具有共同属性、共同方法的对象的集合38.以下函数调用语句中,含有的实参个数是_。 fun(x+y, (e1, e2), fun(xy, d, (a, b);(分数:1.00)A.3B.4C.6D.839.有以下程序: #includestdi
19、o.h int a=5; int func(int a) int b=1; static int c=5; a+; b+; +c; return(a*b*c); main() int k,a=4; for(k=0;k3;k+) printf(“%d,“,func(a); 程序执行后的输出结果是_。(分数:1.00)A.72,147,256,B.60,60,60,C.72,98,128,D.60,70,80,40.有以下程序 main(int argc,char *argv) int n,i=0; while(argv1i!=“/0“) n=fun(); i+; printf(“%d/n“,n*
20、argc); int fun() static int s=0; s+=1; return s; 假设程序编译、连接后生成可执行文件 exam.exe,若键入以下命令 exam 123回车 则运行结果为(分数:1.00)A.6B.8C.3D.4二级 C 语言分类模拟题 537 答案解析(总分:56.50,做题时间:90 分钟)一、选择题(总题数:40,分数:56.50)1.有以下程序: #include stdio.h struct S int a;int b; main( ) struct S a, *p= a.a=99; printf(“%d/n“,_); 程序要求输出结构体中成员 a 的
21、数据,以下不能填入横线处的内容是_。(分数:1.00)A.aB.*p.a C.p-aD.(*p).a解析:解析 本题考查结构体变量的引用。题目中要求输出结构体中成员 a 的数据,p 为指针,* p 为结构体变量,那么* p.a 可以表示为结构体中成员 a 的数据。2.下列叙述中正确的是_。(分数:1.00)A.空字符串不占用内存,其内存空间大小是 0B.两个连续的单引号(“)是合法的字符常量C.可以对字符串进行关系运算D.两个连续的双引号(“ “)是合法的字符串常量 解析:解析 字符串常量(包括空字符串)所占内存字节数等于字符串中字节数加 1,A 选项错误。字符常量是用单引号括起来的一个字符,
22、B 选项错误。C 语言中,字符串比较不能直接用关系运算符进行正确比较,可以用字符串比较函数 strcmp 来实现,C 选项错误。字符串常量是由一对双引号括起的字符序列,D选项正确。3.以下选项中可用作 C 程序合法实数的是_。(分数:1.00)A.3.0e0.2B1e0 CE9D.9.12E解析:解析 e 前 e 后有数字,e 后数值为整数,所以 A、C、D 错误。4.有如下程序: #include stdio.h struct person char name10; int age; ; main( ) struct person room2 = “Wang“,19,“Li“,20; pri
23、ntf(“%s:%d/n“,(room+1)-name,room-age); 程序运行后的输出结果是_。(分数:1.00)A.Li:19 B.Wang:19C.Li:20D.Wang:17解析:解析 声明结构类型 person 后,在 main 函数中定义了一个结构数组 room,其中有 2 个元素,每个元素都是 person 类型数据。在输出中,因为 room 表示数组首地址,首地址+1,指向 room 数组中第二个元素,并将该元素的 name 信息进行输出,同理,对第一个元素中的 age 信息输出,因此,答案为 A 选项。5.有以下程序(字母 A 的 ASCII 代码为 65): #inc
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 分类 模拟 537 答案 解析 DOC
