1、二级 C语言笔试-348 及答案解析(总分:106.00,做题时间:90 分钟)一、选择题(总题数:50,分数:66.00)1.在 ASCII代码表中每一个大写字母比它相应的小写字母的 ASCII码( )A) 小 32 B) 小 64 C) 大 32 D) 大 1(分数:2.00)A.B.C.D.2.需求分析阶段的任务是( )。A) 软件开发方法 B) 软件开发工具C) 软件开发费用 D) 软件系统功能(分数:1.00)A.B.C.D.3.若有如下程序段,其中 s、a、b、c 均已定义为整型变量,且 a、c 均已赋值(c 大于 0)s=a;for(b=1;b=c;b+)s=s+1;则与上述程序
2、段功能等价的赋值语句是( )。A) s=a+b; B) s=a+c; C) s=s+c; D) s=b+c;(分数:1.00)A.B.C.D.4.对两个数组 a和 b进行如下初始化:char a=“ABCDEF“;char b=A,B,C,D,E,F,;则以下叙述正确的是A) 数组 a与数组 b完全相同 B) 数组 a与数组 b长度相同C) 数组 a与数组 b中都存放字符串 D) 数组 a比数组 b长度长(分数:1.00)A.B.C.D.5.为了使模块尽可能独立,要求_。A) 模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B) 模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C) 模
3、块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D) 模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强(分数:2.00)A.B.C.D.6.有如下程序:#include stdio.hmain ( )FILE* fpl;fp1 = fopen(“f1. txt“ ,“w“);fpfinff( fp1 ,“ abc“ );fclose ( fp1 );若文本文件 f1.txt中原有内容为:good,则运行以上程序后文件 f1.txt中的内容为( )。A) goodabc B) abcd C) abc D) abegood(分数:1.00)A.B.C.D.7.有以下说明和定义语句struct
4、 studentint age;char num 8;struct student stu3=20,“200401”,21,“200402”),19,“200403”;struct student *p=stu;以下选项中引用结构体变量成员的表达式错误的是A) (p+)-num B) p-num C) (*p).num D) stu3.age(分数:1.00)A.B.C.D.8.面向对象程序设计中程序运行的最基本实体是( )。A) 对象 B) 类 C) 方法 D) 函数(分数:1.00)A.B.C.D.9.有以下程序:#include stdio.hint f(int x) inty; if(
5、x=0 | x=1) return(3); y=x*x-f(x-2); return y; main() int z; z=f(3); printf(“%d/n“, z); 程序的运行结果是( )。A) 0 B) 9 C) 6 D) 8(分数:1.00)A.B.C.D.10.当把以下 4个表达式用作 if语句的控制表达式时,有一个选项与其他 3个选项含义不同,这个选项是A) k%2 B) k%2=1 C) (k%2)!=0 D) !k%2=1(分数:1.00)A.B.C.D.11.有以下定义语句:double a,b; int w; long c;若各变量已正确赋值,则下列选项中正确的表达式是
6、 _。A) a=a+b=b+ B) w%(int)a+b)C) (c+w)%(int)a D) w=a=b;(分数:1.00)A.B.C.D.12.下列叙述中正确的是_。A) 为了建立一个关系,首先要构造数据的逻辑关系B) 表示关系的二维表中各元组的每一个分量还可以分成若干数据项C) 一个关系的属性名表称为关系模式D) 一个关系可以包括多个二维表(分数:2.00)A.B.C.D.13.有如下程序:long fib(int n)if(n2) return(fib(n-1)+fib(n-2);else return(2);main()printf(“%ld/n“,fib(3);该程序的输出结果是_
7、。A) 2 B) 4 C) 6 D) 8(分数:1.00)A.B.C.D.14.设 R是一个二元关系,S 是一个三元关系,则下列运算中正确的是( )。A) R-S B) RS C) RS D) RS(分数:2.00)A.B.C.D.15.有定义语句:char s10;,若要从终端给 s输入 5个字符,错误的输入语句是( )。A) gets(s0); B) scanf(“%s“,s+1); C) gets(s); D) scanf(“%s“,s1);(分数:2.00)A.B.C.D.16.下列关于标识符的说法中错误的是A) 合法的标识符是由字母、数字和下划线组成B) C语言的标识符中,大写字母和
8、小写字母被认为是两个不同的字符C) C语言的标识符可以分为三类,即关键字、预定义标识符和用户标识符D) 用户标识符与关键字不同时,程序在执行时将给出出错信息(分数:1.00)A.B.C.D.17.下列程序的运行结果是( )。int y=5, x=14;y=(x=3* y,x+1),x-1);printf(“x=%d,y=%d“,x,y);A) x=27,y=27 B) x=12,y=13C) x=15,y=14 D) x=y=27(分数:1.00)A.B.C.D.18.以下程序的输出是_。struct stint x;int*y;*p;int dt4=10,20,30,40;struct st
9、 aa4=50,main()p=aa;printf(“%d/n“,+(p-X);A) 51 B) 11 C) 50 D) 60(分数:1.00)A.B.C.D.19.以理对枚举类型名的定义中正确的是 _。A) enum a=one, two, three); B) enum a one=9, two=1three;C) enum a=“one“, “two“, “three“; D) enum a “one“, “two“. “three“;(分数:2.00)A.B.C.D.20.下列程序执行后的输出结果是( )。void func1(int i);void func2(int i);char
10、 st=“hello, friend!“;void func1(int i)printf(“%c“,sti);if(i3)(i+=2;func2(i);void func2(int i)printf(“%c“,sti);if(i3m+=2;func1(i);main()int i=0;func1(i);printf(“/n“);A) hllo B) heel C) hlo D)hlm(分数:2.00)A.B.C.D.21.执行下面的程序后,a 的值为main()int a,b;for(a=1,b=1;a=10;a+)if(b%3=1)b+=3;continue;b-=5;A) 7 B) 8 C
11、) 9 D) 10(分数:2.00)A.B.C.D.22.以下程序的输出结果是chsr cchar(char ch)if(ch=A A) 0 B) 1 C) 2 D) 3(分数:1.00)A.B.C.D.25.以下不能定义为用户标识符的是_。A) scanf B) Void C) _3com D) int(分数:1.00)A.B.C.D.26.以下能正确定义一维数组的选项是_。A) int a5=0,1,2,3,4,5; B) char a=0,1,2,3,4,5;C) char a=A,B,C; D) int a5=“0123“;(分数:1.00)A.B.C.D.27.下列程序的输出结果是m
12、ain()double d=3.2;int x,y;x=1.2;y=(x+3.8)/5.0;printf(“%d/n“,d*y);A) 3 B) 3.2 C) 0 D) 3.07(分数:1.00)A.B.C.D.28.以下程序的输出结果是 _ 。fun(int x,int y,int z)z=x * x + y * y;main()int a=31;fun(5,2,A) ;printf(“%d“,A) ;A) 0 B) 29 C) 31 D) 无定值(分数:1.00)A.B.C.D.29.fscanf函数的正确调用形式是 ( )A) fscanf(fp,格式字符串,输出表列); B) fsca
13、nf(格式字符串,输出表列,fp);C) fscanf(格式字符串,文件指针,输出表列), D) fscanf(文件指针,格式字符串,输入表列);(分数:1.00)A.B.C.D.30.有定义语句:“int x,y;”,若要通过“scanf(“%d,%d,printf ( “%o/n“ ,x1);A) 100 B) 80 C) 64 D) 32(分数:1.00)A.B.C.D.34.在面向对象的程序设计中,下列叙述中错误的是( )。A) 对象是面向对象软件的基本模块B) 对象不是独立存在的实体,各个对象之间有关联,彼此依赖C) 下一层次的对象可以继承上层次对象的某些属性D) 同样的消息被不同对
14、象接受时,可导致完全不同的行动(分数:2.00)A.B.C.D.35.十进制数 1385转换成十六进制数为 ( )A 568B569CD85DD55(分数:1.00)A.B.C.D.36.对存储器按字节进行编址,若某存储器芯片共有 10根地址线,则该存储器芯片的存储容量为A)1KBB)2KBC)4KBD)8KB(分数:1.00)A.B.C.D.37.下列程序的输出结果是_。#include stringhmain()char*str1=“abcde“,*str2=“abcd“;strl+;str2+;printf(“%d/n“,strcmp(str1,str2);A) 正数 B) 负数C) 零
15、 D) 不确定的值(分数:1.00)A.B.C.D.38.下面程序的输出结果 ( )main( )unsigned a32768;printf(“a%d/n“,a);Aa32768Ba32767Ca-32768Da-1(分数:1.00)A.B.C.D.39.下列叙述中正确的是_。A) 一个逻辑数据结构只能有一种存储结构B) 数据的逻辑结构属于线性结构,存储结构属于非线性结构C) 一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理效率D) 一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理效率(分数:2.00)A.B.C.D.40.有以下程序:struct STUcha
16、r num10; float score3;);main()struct stu s3=“20021“,90,95,85,“20022“,95,80,75,“20023“,100,95,90,*p=s;int i; float sum=0;for(i=0;i3,i+)sum=sum+p-scorei;printf(“%6.2f/n“,sum);程序运行后的输出结果是( )。A) 260.00 B) 270.00 C) 280.00 D) 285.00(分数:1.00)A.B.C.D.41.表达式8-2的值是( )。A) 整数 6 B) 字符 6 C) 表达式不合法 D) 字符 8(分数:2.0
17、0)A.B.C.D.42.下面程序的输出结果是( )。char s()=“ABCD“,*p;main()for(p=s;ps+4;p+)printf(“%s/n“,p); )A) ABCD BCD CD D B) A B C DC) D C B A D) ABCD ABC AB A(分数:1.00)A.B.C.D.43.有以下程序main()char a,b,c,d;seanf(“%c,%c,%d,%d“,printf(“%c,%c,%c,%c/n“,a,b,c,d) ;若运行时从键盘上输入:6,5,65,66回车。则输出结果是A) 6,5,A,B B) 6,5,65,66 C) 6,5,6,
18、5 D) 6,5,6,6(分数:1.00)A.B.C.D.44.以下叙述中正确的是( )。A程序设计的任务就是编写程序代码并上机调试 B程序设计的任务就是确定所用数据结构C程序设计的任务就是确定所用算法 D以上三种说法都不完整(分数:1.00)A.B.C.D.45.c语言的基本单位是( )。A) 函数 B) 过程 C) 子程序 D) 子函数(分数:2.00)A.B.C.D.46.s12和 s2已正确定义并分别指向两个字符串。若要求:当 s1所指串大于 s2所指串时,执行语句 S;则以下选项中正确的是 A)if(s1s2)S;B)if(strcmp(s1,s2)S;C)if(strcmp(s2,
19、s1)0)S;D)if(strcmp(s1,s2)0)S; (分数:1.00)A.B.C.D.47.下列关于软件测试的目的和准则的叙述中,正确的是( )。A) 软件测试是证明软件没有错误B) 主要目的是发现程序中的错误C) 主要目的是确定程序中错误的位置D) 测试最好由程序员自己来检查自己的程序(分数:2.00)A.B.C.D.48.检查软件产品是否符合需求定义的过程称为A) 确认测试 B) 集成测试 C) 验证测试 D) 验收测试(分数:1.00)A.B.C.D.49.从 Windows环境进入 MSDOS 方式后,返回 Windows环境的 DOS命令为A)EXITB)QUITC)RETD
20、)MSDOS(分数:1.00)A.B.C.D.50.下列语句的输出结果是_。 (说明:/b是退格符)printf(“a/bre/hi/y/bou/n“);Aa/bre/hi/y/bou Ba/bre/hi/y/bouCrehiyou Dabrehiy/bou(分数:2.00)A.B.C.D.二、填空题(总题数:20,分数:40.00)51.有以下程序,若运行时从键盘输入:18,11回车,则程序的输出结果是_。main ()int a, b;printf(“Enter a, b:“); scanf(“%d, %d“,while(a!=b)while(ab)a-b;while(ba)b-a;pri
21、ntf(“%3d%3d/n“,a,b);(分数:2.00)填空项 1:_52.问题处理方案的正确而完整的描述称为 1。(分数:2.00)填空项 1:_53.汉字系统中,字库中的汉字是以 1 码存在。(分数:1.00)填空项 1:_54.在关系数据模型中,二维表的行称为元组,二维表的列称为 1。(分数:4.00)填空项 1:_55.当运行以下程序时,输入 abcd,程序的输出结果是:_。insert(char str)int i;i=strlen(str);while(i0)str2*i=stri; str2*i-1:*; i-;printf(“%s/n“,str);main()char str
22、40;scanf(“%s/n“,str); insert(str);(分数:1.00)填空项 1:_56.在关系数据库中,用来表示实体之间联系的是 1。(分数:2.00)填空项 1:_57.下面程序的运行结果是_。#define N 10#define s(x) x*x#define f(x) (x*x)main()int i1,i2;i1=1000/s(N); i2=1000/f(N);printf(“%d %d/n“,i1,i2);(分数:1.00)填空项 1:_58.以下程序运行后的输出结果是_。main()int a,b,c;a=25; b=025; c=ox25;pfintf(“%d
23、 %d %d/n“,a,b,c);(分数:1.00)填空项 1:_59.下列程序的运行结果是_。#includestdio.hmain()int a=10,b=3;printf(“%d,“,a%B) ;printf(“%d,“,(a-b,a+B) );printf(“%dLn“,a-b?a-b:a+B) ;(分数:2.00)填空项 1:_60.常见的软件开发方法有结构化方法和面向对象方法。对某应用系统经过需求分析建立数据流图(DFD),则应采用 1 方法。(分数:2.00)填空项 1:_61.若想通过以下输入语句使 a=5.0,b=4,c=3,则输入数据的形式应该是_。int b,c;floa
24、t a;scanf(“%f,%d,c=%d“,(分数:2.00)填空项 1:_67.Jackson方法是一种面向 1 的结构化方法。(分数:2.00)填空项 1:_68.下面 invert函数的功能是将一个字符串 str的内容颠倒过来,请填空。#includestring.hvoid invert(char str)int i,j,_;for(i=0,j=strlen(str)_;ij;i+,j-)k=stri;stri=strj;strj=k;(分数:2.00)填空项 1:_69.有以下程序:#includestdio.hmain()int a=1,b=2,c=3,d=0;if(a=1)if
25、(b1=2)if(c=3) d=1;else d=2;else if(c!=3) d=3;else d=4;else d=5;printf(“%d/n“,d);程序运行后的输出结果是_。(分数:4.00)填空项 1:_70.下面程序是计算 100以内能被 4整除且个位数为 4的所有整数,请填空。main()int m,n;for(m=0;_;m+)n=m*10+4;if(_)Continue;printf(“%d/n“,n);(分数:1.00)填空项 1:_二级 C语言笔试-348 答案解析(总分:106.00,做题时间:90 分钟)一、选择题(总题数:50,分数:66.00)1.在 ASCI
26、I代码表中每一个大写字母比它相应的小写字母的 ASCII码( )A) 小 32 B) 小 64 C) 大 32 D) 大 1(分数:2.00)A. B.C.D.解析:解析 本题考查大小写字母的 ASCII码值的关系。大写字母比它相应的小写字母的 ASCII码小32。2.需求分析阶段的任务是( )。A) 软件开发方法 B) 软件开发工具C) 软件开发费用 D) 软件系统功能(分数:1.00)A.B.C.D. 解析:解析 需求分析是软件定义时期的最后一个阶段,它的基本任务就是详细调查现实世界要处理的对象,充分了解原系统的工作概况,明确用户的各种需求,然后在这些基础上确定新系统的功能。3.若有如下程
27、序段,其中 s、a、b、c 均已定义为整型变量,且 a、c 均已赋值(c 大于 0)s=a;for(b=1;b=c;b+)s=s+1;则与上述程序段功能等价的赋值语句是( )。A) s=a+b; B) s=a+c; C) s=s+c; D) s=b+c;(分数:1.00)A.B. C.D.解析:解析 本程序中 for循环的次数为 c-1+1共循环了 c次,而每循环一次 s的值加 1,所以 s的值为 s+c。而最开始 s的值为 a,故 4个选项中选项 B符合题意。4.对两个数组 a和 b进行如下初始化:char a=“ABCDEF“;char b=A,B,C,D,E,F,;则以下叙述正确的是A)
28、 数组 a与数组 b完全相同 B) 数组 a与数组 b长度相同C) 数组 a与数组 b中都存放字符串 D) 数组 a比数组 b长度长(分数:1.00)A.B.C.D. 解析:解析 考查字符数组的定义和初始化。解题要点 数组 a中最后一个元素是字符串结束标识/0,所以 a数组长度为 7,而 b数组长度为 6,所以答案为 D)。考点链接 通过赋初值的方式给一维字符数组赋字符串。5.为了使模块尽可能独立,要求_。A) 模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B) 模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C) 模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D) 模块的内聚
29、程度要尽量低,且各模块间的耦合程度要尽量强(分数:2.00)A.B. C.D.解析:解析 在结构化程序设计中,模块划分的原则是:模块内具有高内聚度,模块间具有低耦合度。6.有如下程序:#include stdio.hmain ( )FILE* fpl;fp1 = fopen(“f1. txt“ ,“w“);fpfinff( fp1 ,“ abc“ );fclose ( fp1 );若文本文件 f1.txt中原有内容为:good,则运行以上程序后文件 f1.txt中的内容为( )。A) goodabc B) abcd C) abc D) abegood(分数:1.00)A.B.C. D.解析:解
30、析 执行语句 fp1=fopen(“f1.txt“,“w“);以“只写”方式打开了一个名为 f1.txt的文件,执行语句 fPrintf(fp1,“abc“,);向该文件写数据时,如果文件 f1.txt不存在,则新建一个 f1.txt文件;如果 f1.txt已存在,则在打开该文件时重写文件内容。所以执行 fprintf(fp1,“abc“);时, f1.txt中原有内容 good被删除,而字符中”abc”被输出到 fpl指向的文件 f1.txt中。7.有以下说明和定义语句struct studentint age;char num 8;struct student stu3=20,“20040
31、1”,21,“200402”),19,“200403”;struct student *p=stu;以下选项中引用结构体变量成员的表达式错误的是A) (p+)-num B) p-num C) (*p).num D) stu3.age(分数:1.00)A.B.C.D. 解析:解析 本题考核的知识点是结构体数组元素成员的引用。结构体变量也有地址,因此可以把它的地址赋值给一个指针变量,然后通过该指针变量来引用结构体的成员,选项 A和选项 B 就是通过指针变量来引用结构体的成员,故选项 A和选项 B都正确,也可以通过结构体数组元素的成员引用,选项 C和选项 D属于这种情况,而在选项 D 中 stu3.
32、age不正确,因为结构体数组 stu共有三个元素,其下标应该为 0,1,2所以,4 个选项中选项 D符合题意。8.面向对象程序设计中程序运行的最基本实体是( )。A) 对象 B) 类 C) 方法 D) 函数(分数:1.00)A. B.C.D.解析:解析 面向对象程序由若干个对象构成;结构化程序由数据和相应算法构成。9.有以下程序:#include stdio.hint f(int x) inty; if(x=0 | x=1) return(3); y=x*x-f(x-2); return y; main() int z; z=f(3); printf(“%d/n“, z); 程序的运行结果是(
33、 )。A) 0 B) 9 C) 6 D) 8(分数:1.00)A.B.C. D.解析:解析 函数 int f(int x)是一个递归函数调用,当 x的值等于 0或 1时,函数值等于 3,其他情况下 y=xsup2/sup-f(x-2),所以在主函数中执行语句 z=f(3)时,y=3*3-(3-2)=9-f(1)=9-3=6。10.当把以下 4个表达式用作 if语句的控制表达式时,有一个选项与其他 3个选项含义不同,这个选项是A) k%2 B) k%2=1 C) (k%2)!=0 D) !k%2=1(分数:1.00)A.B.C.D. 解析:解析 非常明显,选项 A)与选项 C)含义相同,表示 k
34、除以 2的余数非零,但要注意的是,任何整数除以 2的余数只有两个结果,0 和 1。选项 A)与选项 C)的含义表示 k除以 2的余数为 1,也与选项 B)的含义相同,所以答案为选项 D)。11.有以下定义语句:double a,b; int w; long c;若各变量已正确赋值,则下列选项中正确的表达式是 _。A) a=a+b=b+ B) w%(int)a+b)C) (c+w)%(int)a D) w=a=b;(分数:1.00)A.B.C. D.解析:解析 取模运算的操作数必须是整型或长整数类型,因此 C正确。12.下列叙述中正确的是_。A) 为了建立一个关系,首先要构造数据的逻辑关系B)
35、表示关系的二维表中各元组的每一个分量还可以分成若干数据项C) 一个关系的属性名表称为关系模式D) 一个关系可以包括多个二维表(分数:2.00)A. B.C.D.解析:解析 关系中的每一个属性都是不可分解的,所以表示关系的二维表中各元组的每一个分量不能分成若干数据项。关系模式是命名的属性集合。一个关系就是一张二维表。为了建立一个关系,首先需要构造数据的逻辑关系。13.有如下程序:long fib(int n)if(n2) return(fib(n-1)+fib(n-2);else return(2);main()printf(“%ld/n“,fib(3);该程序的输出结果是_。A) 2 B) 4
36、 C) 6 D) 8(分数:1.00)A.B. C.D.解析:解析 函数 fib内部有两个递归调用,当 n=3时,fib(n-1)返回 2,fib(n-2)也返回 2,所以fib(n-1)+fib(n-2)的值为 4。14.设 R是一个二元关系,S 是一个三元关系,则下列运算中正确的是( )。A) R-S B) RS C) RS D) RS(分数:2.00)A.B. C.D.解析:解析 关系的交()、并()和差(-)运算要求两个关系是同元的,显然作为二元的 R和三元 S只能做笛卡尔积运算。15.有定义语句:char s10;,若要从终端给 s输入 5个字符,错误的输入语句是( )。A) get
37、s(s0); B) scanf(“%s“,s+1); C) gets(s); D) scanf(“%s“,s1);(分数:2.00)A.B.C.D. 解析:解析 在格式输入中,要求给出的是变量的地址,而 D)答案中给出的 s1是一个值的表达式。16.下列关于标识符的说法中错误的是A) 合法的标识符是由字母、数字和下划线组成B) C语言的标识符中,大写字母和小写字母被认为是两个不同的字符C) C语言的标识符可以分为三类,即关键字、预定义标识符和用户标识符D) 用户标识符与关键字不同时,程序在执行时将给出出错信息(分数:1.00)A.B.C.D. 解析:解析 考查对于标识符的掌握情况。解题要点 用
38、户标识符与关键字相同时,程序在编译过程中将给出出错信息。错解分析 选项 D)应该改为用户标识符与关键字相同,程序在编译时将给出出错信息。考点链接 合法的标识符中,第一个字符必须为字母或下划线。17.下列程序的运行结果是( )。int y=5, x=14;y=(x=3* y,x+1),x-1);printf(“x=%d,y=%d“,x,y);A) x=27,y=27 B) x=12,y=13C) x=15,y=14 D) x=y=27(分数:1.00)A.B.C. D.解析:解析 逗号表达式的求解步骤是先求解表达式 1,然后依次求解表达式 2,直到表达式 N的值。整个逗号表达式的值就是最后一个表
39、达式 N的值。表达式(x=3*y,x+1)中,第一个表达式 x=3*y=3*5=15:第二个表达式 x+1=16,但没有给 x或 y赋值,所以 x还是等于 15;第 3个表达式 x-1=15-1=14,所以 y的值为 14。18.以下程序的输出是_。struct stint x;int*y;*p;int dt4=10,20,30,40;struct st aa4=50,main()p=aa;printf(“%d/n“,+(p-X);A) 51 B) 11 C) 50 D) 60(分数:1.00)A. B.C.D.解析:解析 p 是指向结构 aa的结构指针,+(p-x)是对 p的 x成员的值进行
40、加 1。p=aa 使得 p指向aa的首地址,p-x 的值为 50,那么+(p-X)就等于 51。19.以理对枚举类型名的定义中正确的是 _。A) enum a=one, two, three); B) enum a one=9, two=1three;C) enum a=“one“, “two“, “three“; D) enum a “one“, “two“. “three“;(分数:2.00)A.B. C.D.解析:解析 声明枚举类型用 enum开头。例如:enum weekday(sun,mon,tue,wed,thu,fri,sat);说明:1、在 C编译中,对枚举元素按常量处理,同时
41、可以改变他们的值。2、枚举值可以用来做判断比较。3、一个整数不能直接赋给一个枚举变量。20.下列程序执行后的输出结果是( )。void func1(int i);void func2(int i);char st=“hello, friend!“;void func1(int i)printf(“%c“,sti);if(i3)(i+=2;func2(i);void func2(int i)printf(“%c“,sti);if(i3m+=2;func1(i);main()int i=0;func1(i);printf(“/n“);A) hllo B) heel C) hlo D)hlm(分数:
42、2.00)A.B.C. D.解析:解析 考查函数的调用。函数调用的一股形式为:函数名(实参列表)。首先调用函数 func1(0),输出 st0=h。i 值变为 2,并调用函数 func2(2),输出 st2=i值此时变为 4,又调用函数 func1(4),输出 st4=0。此时 i值大于等于 3,执行完毕,因此,输出结果为 hlo。21.执行下面的程序后,a 的值为main()int a,b;for(a=1,b=1;a=10;a+)if(b%3=1)b+=3;continue;b-=5;A) 7 B) 8 C) 9 D) 10(分数:2.00)A.B.C.D. 解析:解析 考查 continu
43、e语句的使用。解题要点 continue 语句的作用是结束本次循环,直接进入下次循环。22.以下程序的输出结果是chsr cchar(char ch)if(ch=A A) 0 B) 1 C) 2 D) 3(分数:1.00)A.B. C.D.解析:解析 “printf ( “%o/n“ ,x1);A) 100 B) 80 C) 64 D) 32(分数:1.00)A. B.C.D.解析:解析 本题考核的知识点是位运算符的应用首先将八进制 040转换成二进制数 000100000, 在将此;进制数左移一位为 001000000,输出时转换成八进制数 100。所以,4 个选项中 A为所选。34.在面向
44、对象的程序设计中,下列叙述中错误的是( )。A) 对象是面向对象软件的基本模块B) 对象不是独立存在的实体,各个对象之间有关联,彼此依赖C) 下一层次的对象可以继承上层次对象的某些属性D) 同样的消息被不同对象接受时,可导致完全不同的行动(分数:2.00)A.B. C.D.解析:解析 在面向对象的程序设计中,一个对象是一个可以独立存在的实体。各个对象之间相对独立,相互依赖性小。所以,选项 B错误,应为本题的正确答案。35.十进制数 1385转换成十六进制数为 ( )A 568B569CD85DD55(分数:1.00)A.B. C.D.解析:36.对存储器按字节进行编址,若某存储器芯片共有 10
45、根地址线,则该存储器芯片的存储容量为A)1KBB)2KBC)4KBD)8KB(分数:1.00)A. B.C.D.解析:解析 存储器芯片的存储容量=存储单元个数*每存储单元的位数,所以该存储器芯片的存储容量为 210=1KB。37.下列程序的输出结果是_。#include stringhmain()char*str1=“abcde“,*str2=“abcd“;strl+;str2+;printf(“%d/n“,strcmp(str1,str2);A) 正数 B) 负数C) 零 D) 不确定的值(分数:1.00)A. B.C.D.解析:解析 当两个字符串比较到第 5个字符时,str1 指向的字符是
46、e,str2 指向的字符是/0,字符串比较函数 strcmp的返回值是这两个字符 ASCII码值的差(101),是正数。38.下面程序的输出结果 ( )main( )unsigned a32768;printf(“a%d/n“,a);Aa32768Ba32767Ca-32768Da-1(分数:1.00)A.B.C. D.解析:39.下列叙述中正确的是_。A) 一个逻辑数据结构只能有一种存储结构B) 数据的逻辑结构属于线性结构,存储结构属于非线性结构C) 一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理效率D) 一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理效率(
47、分数:2.00)A.B.C.D. 解析:解析 逻辑结构是反映了元素之间的逻辑关系的数据结构,存储结构是逻辑结构在计算机中的存放形式,它们都具有线性结构和非线性结构。逻辑结构有顺序、链接、索引等存储结构,采用不同的存储结构,数据处理的效率不同。40.有以下程序:struct STUchar num10; float score3;);main()struct stu s3=“20021“,90,95,85,“20022“,95,80,75,“20023“,100,95,90,*p=s;int i; float sum=0;for(i=0;i3,i+)sum=sum+p-scorei;printf(“%6.2f/n“,sum);程序运行后的输出结果是( )。A) 260.00 B) 270.00 C) 280.00 D)