A. 2017年计算机二级c语言命题特点及应对策略
一、命题原则
全国计算机等级考试大纲明确规定:二级C语言考试由“二级公共基础知识”和“二级C语言程序设计”两大部分组成,考试内容严格按照“宽口径、厚基础”的原则设计,主要考核我们对该学科的基础理论、基本知识和基本技能的掌握程度,以及运用所学理论和知识解决实际问题的能力。
二、考试要求
根据命题原则,大纲对我们如何复习应试也提出了相应的要求。主要强调了两个方面:
一是 强调我们对基本概念、基本理论和和拿基本知识点的掌握;
二是 强调我们综合运用所学知识进行实际应用到程序编写中的能力。
也就是说,我们要想通过二级C语言考试,不仅要熟练地掌握该学科的基本理论知识和操作技能,还要具有较强的分析与解决实际问题的能力,真正做到学以致用。应做到以下两点:
1.学好基础知识
这里所说的基础知识是指C语言中基本概念、基本原理和规定关键字、基本结构等基本知识点。二级C语言考试中,概念性的知识点比较多。我们对这些基础知识要用心理解、记忆。这一类型题目一般都是考察教材中的概念,如果这样简单的题目都丢分,那就实在可惜。
2.掌握操作技能和综合运用能力
二级C语言考试注重对程序设计实际操作能力的考察,要求我们运用所学理论知识和操作技能解决实际问题。二级C语言考试考核的主要内容就是程序设计的基本操作和把所学理论知识和操作技能综合起来,并能在实际应用中加强对这些知识的熟练掌握。
三、应试对策
我们在备考时,要针对考试大纲和考试要求进行复习,主要应注意以下几个方面:
1.牢固、清晰地掌握基本知识
二级C语言考试的重点是基本知识的掌握情况和实际编程应用,但其前提条件是对基本知识点的掌握。因此,我们正确地理解、熟记基本概念和原理是通过考试的前提条件。那么我们要如何才能做到这一点呢?我们可以通过以下3方面来实现:
① 在考前冲刺阶段要注意“比较总结”学习成果,特别是对一些关系复杂的知识点,通过比较、总结更容易理解、牢记。“比较总结”是一烂衡个好的学习方法,同时也是一个好的增强记忆方法,在C语言中有些问题只有通过综合比较、总结才容易在脑海中留下牢固的印烙;
② 理解概念要准确,尤其是一些容易混淆、重要的概念,一定要在考前冲刺阶段准确地掌握它们之间在操作步骤和实现功能上的细微区别,一定不能忽视;
③ 通过联想记忆各考点,在C语言中有一部分考点不是孤立的,而是相互联系的,我们要能通过一个考点联想到与他相关的考点、这样就能扩大记忆了。
2.选择的习题要有针对性,切不可进行“题海战术”
现在关于二级C语言考试的习题很多,搞题海战术肯定是不行的。我们应根据考试大纲,在考前冲刺阶段适当地做一些与二级C语言考试题型相同饥棚做的题,我们可以做些试卷和历年试题(最近2~3年即可)。研究历年考试题型、分析现在考试形式是通过考试的一个重要法宝,这做可使我们较快地掌握考试题型,从而在最短的时间内达到的学习效果。
注意:根据分析这些年来考试的情况,每年都会有少数新的考点出现,所以在研究历年考题时,不要忽视了一些以往没有考过的知识点,应适当理解记忆。
3.上机实践笔试中程序设计类题目
学习笔试中程序设计类的题目方法是上机操作,验证自己的解题思路和做题结果。通过在计算机上验证这类题,可以发现错误和纠正解题思路,加深我们的记忆。
B. 2014年计算机等级二级C语言预测试题
为大家收集整理了《2014年计算机等级二级C语言预测试题》供大家参考,希望对大家有所帮助!!!
一、选择题(每题2分,共计70分)
1.数据结构作为计算机的一门学科,肆戚主要研究数据的逻辑结构、对各种数据结构进行的运算,以及
A)数据的存储结构
B)计算方法
C)数据映象
D)逻辑存储
2.串的长度是
A)串中不同字符的个数
B)串中不同字母的个数
C)串中所含字符的个数且字符个数大于零
D)串中所含字符的个数
3.在计算机中,算法是指
A)加工方法
B)解题方案的准确而完整的描述
C)排序方法
D)查询方法
4.以下不属于对象的基本特点的是
A)分类性
B)多态性
C)继承性
D)封装性
5.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作
A)软件投机
B)软件危机
C)软件工程
D)软件产生
6.下面不属于软件设计原则的是
A)抽象
B)模块化
C)自底向上
D)信息隐蔽
7.开发大型软件时,产生困难的根本原因是
A)大系统的复杂性
B)人员知识不足
C)客观世界千变万化
D)时间紧、任务重
8.下列SQL语句中,用于修改表结构的是
A)ALTER
B)CREATE
C)UPDATE
D)INSERT
9.数据库、数据库洞洞系统和数据库管理系统之间的关系是
A)数据库包括数据库系统和数据库管理系统
B)数据库系统包括数据库和数据库管理系统
C)数据库管理系统包括数据库和数据库系统
D)3者没有明显的包含关系
10.关系模型允许定义3类数据约束,下列不属于数据约束的是
A)实体完整性约束
B)参照完整性约束
C)域完整性裂颤陵约束
D)用户自定义的完整性约束
11.下列用于printf函数的控制字符常量中,代表"竖向跳格"的转义字符常量是
A)\b
B)\t
C)\v
D)\f
12.以下程序的输出结果是
main()
{ int a=21,b=11;
printf("%d\n",--a+b,--b+a);
}
A)30
B)31
C)32
D)33
13.设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是
A)n=(n*100+0.5)/100.0
B)m=n*100+0.5,n=m/100.0
C)n=n*100+0.5/100.0
D)n=(n/100+0.5)*100.0
14.设x,y和z都是int型变量,且x=3,y=4,z=5,则下面表达式中,值为0的表达式是
A)x&&y
B)x<=y
C)x||++y&&y-z
D)!(x
15.若变量已正确说明为int类型,要通过语句scanf("%d %d %d ",&a,&b,&c);给a赋值3,b赋值5,c赋值8,不正确的输入形式是
A)3回车>
5回车>
8回车>
B)3,5,8回车>
C)3回车>
58回车>
D)35回车>
8回车>
49 != return j
16.设有程序段
int k=10;
while(k=0)k=k-1;
则下面描述中正确的是
A)while循环执行10次
B)循环是无限循环
C)循环体语句一次也不执行
D)循环体语句执行一次
17.对表达式for(表达式1; ;表达式3)可理解为
A)for(表达式1;0;表达式3)
B)for(表达式1;1;表达式3)
C)for(表达式1;表达式1;表达式3)
D)for(表达式1;表达式3;表达式3)
18.以下程序的输出结果是
main()
{ int a,i;a=0;
for(i=1;i<5;i++)
{ switch(i)
{ case 0:
case 3:a+=2;
case 1:
case 2:a+=3;
default:a+=5;
}
} printf("%d\n",a);
}
A)31
B)13
C)10
D)20
19.若有如下语句
int x=3;
do{ printf("%d\n",x-=2);}
while(!(--x));
则上面程序段
A)输出的是1
B)输出的是1和-2
C)输出的是3和0
D)是死循环
20.下面程序的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对相等数时结束循环,在划线处应填入的语句是
#include
main()
{ int a,b,t;
scanf("%d%d",&a,&b);
while()
{ f(a>b)
{ =a;a=b;b=t;}
printf("%d,%d\n",a,b);
scanf("%d%d",&a,&b);
}
}
A)!a=b
B)a!=b
C)a==b
D)a=b
21.有以下程序
void fun(int a,int b,int c)
{a=456,b=567,c=678;}
main()
{ int x=10,y=20,z=30;
fun(x,y,z);
printf("%d,%d,%d\n",x,y,z);
}
输出结果是
A)30,20,10
B)10,20,30
C)456,567,678
D)678,567,456
22.若有说明:int a[][4]={0,0};则下面不正确的叙述是
A)数组a的每个元素都可得到初值0
B)二维数组a的第一维大小为1
C)当初值的个数能被第二维的常量表达式的值除尽时,所得商数就是第一维的大小
D)只有元素a[0][0]和a[0][1]可得到初值,其余元素均得不到确定的初值
23.有以下程序
main()
{ char a[]={ ′a′,′b′,′c′,′d′, ′e′, ′f′, ′g′,′h′,′\0′}; int i,j;
i=sizeof(a); j=strlen(a);
printf("%d,%d\b",i,j);
}
程序运行后的输出结果是
A)9,9
B)8,9
C)1,8
D)9,8
24.已知学生记录描述为
struct student
{ int no;
char name[20],sex;
struct
{ int year,month,day;
} birth;
};
struct student s;
设变量s中的“生日”是“1984年11月12日”,对“birth”正确赋值的程序段是
A)year=1984;month=11;day=12;
B)s.year=1984;s.month=11;s.day=12;
C)birth.year=1984;birth.month=11;birth.day=12;
D)s.birth.year=1984;s.birth.month=11;s.birth.day=12;
25.以下程序的运行结果是
#define MIN(x,y)(x)<(y)?(x):(y)
main()
{ int i=10,j=15,k;
k=10*MIN(i,j);
printf("%d\n",k);
}
A)10
B)15
C)100
D)150
49 != return j
26.有如下程序
int func(int a,int b)
{ return(a+b);}
main()
{ int x=2,y=5,z=8,r;
r=func(func(x,y),z);
printf("%d\n",r);
}
该程序的输出的结果是
A)12
B)13
C)14
D)15
27.设有以下说明语句
typedef struct
{ int n;
char ch[8];
} PER;
则下面叙述中正确的是
A)PER 是结构体变量名
B)PER是结构体类型名
C)typedef struct 是结构体类型
D)struct 是结构体类型名
28.有如下定义
struct person{char name[9];int age;};
struct person class[10]={"John",17,"paul",19,"Mary",18,"Adam",16,};
根据上述定义,能输出字母M的语句是
A)printf("%c\n",class[3].name);
B)printf("%c\n",class[3].name[1]);
C)printf("%c\n",class[2].name[1]);
D)printf("%c\n",class[2].name[0]);
29.以下程序执行后a的值是
main()
{ int x,y=252,i=386,*m=&y,*z=&i;
x=(z==y);
printf("%d",x);
}
A)252
B)1
C)0
D)运行时出错,x无定值
30.阅读下列程序,当运行函数时,输入asd af aa z67,则输出为
#include
#include
#include
int fun (char *str)
{ int i,j=0;
for(i=0;str[i]!=′\0′;i++)
if(str[i]!=′ ′)str[j++]=str[i];
str[j]= ′\0′;
}
main()
{
char str[81];
int n;
clrscr();
printf("Input a string : ");
gets(str);
puts(str);
fun(str);
printf("%s\n",str);
}
A)asdafaaz67
B)asd af aa z67
C)asd
D)z67
31.下列程序的输出结果是
struct abc
{ int a, b, c, s;};
main()
{ struct abc s[2]={{1,2,3},{4,5,6}}; int t;
t=s[0].a+s[1].b;
printf("%d\n",t);
}
A)5
B)6
C)7
D)8
32.若有定义: char *st= "how are you "; 下列程序段中正确的是
A)char a[11], *p; strcpy(p=a+1,&st[4]);
B)char a[11]; strcpy(++a, st);
C)char a[11]; strcpy(a, st);
D)char a[], *p; strcpy(p=&a[1],st+2);
33.下列程序的运行结果是
void fun(int *a, int *b)
{ int *k;
k=a; a=b; b=k;
}
A)6 3
B)3 6
C)编译出错
D)0 0
34.请选出正确的程序段
A)int *p;
scanf("%d",p);
…
B)int *s, k;
*s=100;
…
C)int *s, k;
char *p, c;
s=&k;
p=&c;
*p=′a′;
…
D)int *s, k;
char *p, e;
s=&k;
p=&c;
s=p;
*s=1;
…
35.若有下面的说明和定义,则sizeof(struct aa)的值是
struct aa
{ int r1; double r2; float r3;
union uu{char u1[5];long u2[2];}ua;
} mya;
A)30
B)29
C)24
D)22
49 != return j
1 A2 D3 B4 C5 B6 C7 A8 A9 B10 C
11 C12 A13 B 14 D15 B16 C17 B18 A19 B20 B
21 B22 D 23 D24 D25 B26 D27 B28 D29 C30 A
31 B 32 A33 B34 C35 D
36 n/2
37 层次模型
38 实例
39 变换型
40 物理独立性
41 k=5
42 3行
43 max=(a>b)?a:b;
44 1.000000
45 k=p
46 60
47 1000 10
48 12
49 != return j
C. 全国计算机二级考试(c语言)的题型及各题分值是怎样的(笔试和上机)
全国计算机二级考试(c语言)的题型及各题分值是怎样的题型分值分布:
1、单项选择题,40题,40分(含公共基础知识部分10分)。
2、程序填空题,2~3个空,18分;上机题。
3、程序改错题,2~3处错误,18分;上机题。
4、程序设计题,1题,24分;上机题。
二级公共基础知识在各科考试选择题中体现。程序设计部分,主要考查考生对程序设计语言使用和编程调试等基本能力,在选择题和操作题中加以体现。
(3)计算机二级c语言预测扩展阅读:
二级c语言考试要求:
1、熟悉Visual C++2010 Express集成开发环境。
2、掌握结构化程序设计的方法,具有良好的程序设计风格。
3、掌握程序设计中简单的数据结构和算法并能阅读简单的程序。
4、在Visual C++2010 Express集成环境下,能够编写简单的C程序,并具有基本的纠错和调试程序的能力。
D. 计算机二级C语言考试上机考试的内容与注意事项,要怎么准备
考试分为选择题判断题和大题,大题共三个60分,它会给出部分程序,让你补充完整以实现题目要求的功能。做题时认真看题,别填错了和漏填了。特别要提醒的是大题你在做完之后必须先左上角保存,直接编译运行它是不会给你保存的,这样也就没分了。
E. 计算机二级考试《C语言》知识点归纳(3)
第六章
指针变量的本质是用来放地址,而一般的变量是放数值的。
int *p 中 *p和p的差别:
*p可以当做变量来用;*的作用是取后面地址p里面的数值
p是当作地址来使用。
*p++ 和 (*p)++的之间的差别:改错题目中很重要
*p++是 地址会变化。
(*p)++ 是数值会要变化。
三名主义:(考试的重点)
数组名:表示第一个元素的地址。数组名不可以自加,
他是地址常量名。(考了很多次)
函数名:表示该函数的入口地址。
字符串常量名:表示第一个字符的地址。
第七章
1一维数组的重要概念:
对a[10]这个数组的讨论。
1、a表示数组名,是第一个元素的地址,也就是
元素a[10]的地址。
2、a是地址常量,所以只要出现a++,或者
是a=a+2赋值的都是错误的。
3、a是一维数组名,所以它是列指针,也就是
说a+1是跳一列。
对a[3][3]的讨论。
1、a表示数组名,是第一个元素的地址,也就是
元素a[10]的地址。
2、a是地址常量,所以只要出现a++,或者
是a=a+2赋值的都是错误的。
3、a是二维数组名,所以它是行指针,也就
是说a+1是跳一行。
4、a[0]、a[1]、a[2]也都是地址常量,不可以对
它进行赋值操作,同时它们都是列指针,a[0]+1,
a[1]+1,a[2]+1都是跳一列。
5、注意a和a[0] 、a[1]、a[2]是不同的,它们的
基类型是不同的。前者是一行元素,后三者是一列元素。
二维数组做题目的技巧:
如果有a[3][3]={1,2,3,4,5,6,7,8,9}这样的题目。
步骤一:把他们写成:
第一列第二列第三列
a[0]à 1 2 3 ->第一行
a[1]à 4 5 6—>第二行
a[2]à 7 8 9->第三行
步骤二:这样作题目间很简单:
*(a[0]+1)我们就知道是第一行的第一个元素往后
面跳一列,那么这里就是a[0][1]元素,所以是1。
*(a[1]+2)我们就知道是第二行的第一个元素往后面
跳二列。那么这里就是a[1][2]元素,所以是6。
一定记住:只要是二维数组的题目,一定是写成如
上的格式,再去做题目,这样会比较简单。
数组的初始化,一维和二维的,一维可以不写,
二维第二个一定要写
int a[]={1,2} 合法。 int a[][4]={2,3,4}合法。
但int a[4][]={2,3,4}非法。
二维数组中的行指针
int a[1][2];
其中a现在就是一个行指针,a+1跳一行数组元素。
搭配(*)p[2]指针
a[0],a[1]现在就是一个列指针。a[0]+1 跳一个数组
元素。搭配*p[2]指针数组使用
还有记住脱衣服法则:
a[2] 变成 *(a+2) a[2][3]变成 *(a+2)[3]再
可以变成 *(*(a+2)+3)
F. 计算机二级C语言做题技巧
2017年计算机二级C语言做题技巧
C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。下面是我整理的关于计算机二级C语言做题技巧,欢迎大家参考!
1. 把C++当成一门新的语言学习(和C没啥关系!真的。)
2. 看《Thinking In C++》,不要看《C++变成死相》;
3. 看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看;
4. 不要被VC、BCB、BC、MC、TC等词汇所迷惑——他们都是集成开发环境,而我们要学的是一门语言;
5. 不要放过任何一个看上去很简单的我程问题——他们往往并不那么简单,或者可以引伸出很多知识点;
6. 会用Visual C++,并不说明你会C++;
7. 学class并不难,template、STL、generic programming也不过如此——难的是长期坚持实践和不遗余力的博览群书;
8. 如果不是天才的话,想学编程就不要想玩游戏——你以为你做到了,其实你的C++水平并没有和你通关的能力一起变高——其实可以时刻记住:学C++是为了编游戏的;
9. 看Visual C++的书,是学不了C++语言的;
10. 浮躁的人容易说:XX语言不行了,应该学YY;——是你自己不行了吧!?
11. 浮躁的人容易问:我到底该学什么;——别问,学就对了;
12. 浮躁的人容易问:XX有钱途吗;——建议你去抢银行;
13. 浮躁的人容易说:我要中文版!我英文不行!——不行?学呀!
14. 浮躁的人容易问:XX和YY哪个好;——告诉你吧,都好——只要你学就行;
15. 浮躁的人分两种:a)只观望而不学的.人;b)只学而不坚持的人;
16. 把时髦的技术挂在嘴边,还不如把过时的技术记在心里;
17. C++不仅仅是支持面向对象的程序设计语言;
18. 学习编程最好的方法之一就是阅读源代码;
19. 在任何时刻都不要认为自己手中的书已经足够了;
20. 请阅读《The Standard C++ Bible》(中文版:标准C++宝典),掌握C++标准;
21. 看得懂的书,请仔细看;看不懂的书,请硬着头皮看;
22. 别指望看第一遍书就能记住和掌握什么——请看第二遍、第三遍;
23. 请看《Effective C++》和《More Effective C++》以及《Exceptional C++》;
24. 不要停留在集成开发环境的摇篮上,要学会控制集成开发环境,还要学会用命令行方式处理程序;
25. 和别人一起讨论有意义的C++知识点,而不是争吵XX行不行或者YY与ZZ哪个好;
26. 请看《程序设计实践》,并严格的按照其要求去做;
27. 不要因为C和C++中有一些语法和关键字看上去相同,就认为它们的意义和作用完全一样;
28. C++绝不是所谓的C的“扩充”——如果C++一开始就起名叫Z语言,你一定不会把C和Z语言联系得那么紧密;
29. 请不要认为学过XX语言再改学C++会有什么问题——你只不过又在学一门全新的语言而已;
30. 读完了《Inside The C++ Object Model》以后再来认定自己是不是已经学会了C++;
31. 学习编程的秘诀是:编程,编程,再编程;
32. 请留意下列书籍:《C++面向对象高效编程(C++ Effective Object-Oriented Software Construction)》
《面向对象软件构造(Object-Oriented Software Construction)》《设计模式(Design Patterns)》《The Art of Computer Programming》;
33. 记住:面向对象技术不只是C++专有的;
34. 请把书上的程序例子亲手输入到电脑上实践,即使配套光盘中有源代码;
35. 把在书中看到的有意义的例子扩充;
36. 请重视C++中的异常处理技术,并将其切实的运用到自己的程序中;
37. 经常回顾自己以前写过的程序,并尝试重写,把自己学到的新知识运用进去;
38. 不要漏掉书中任何一个练习题——请全部做完并记录下解题思路;
39. C++语言和C++的集成开发环境要同时学习和掌握;
40. 既然决定了学C++,就请坚持学下去,因为学习程序设计语言的目的是掌握程序设计技术,而程序设计技术是跨语言的;
41. 就让C++语言的各种平台和开发环境去激烈的竞争吧,我们要以学习C++语言本身为主;
42. 当你写C++程序写到一半却发现自己用的方法很拙劣时,请不要马上停手;请尽快将余下的部分粗略的完成以保证这个设计的完整性,然后分析自己的错误并重新设计和编写(参见43);
43. 别心急,设计C++的class确实不容易;自己程序中的class和自己的class设计水平是在不断的编程实践中完善和发展的;
44. 决不要因为程序“很小”就不遵循某些你不熟练的规则——好习惯是培养出来的,而不是一次记住的;(勿以善小而不为)
45. 每学到一个C++难点的时候,尝试着对别人讲解这个知识点并让他理解——你能讲清楚才说明你真的理解了;
46. 记录下在和别人交流时发现的自己忽视或不理解的知识点;
47. 请不断的对自己写的程序提出更高的要求,哪怕你的程序版本号会变成Version 100.XX;
48. 保存好你写过的所有的程序——那是你最好的积累之一;
49. 请不要做浮躁的人;
50. 请热爱C++! ;
G. 有没有计算机二级c语言的考试模拟软件
计算机二级c语言的考试模拟软件
首先我们先看下软件展示图,后面是软件!
软件:
1、全国计算机颤慧等级考试超级模拟软件。
汇聚了多年开发全国计算机等级考试模拟软件的丰富经验,并综合有经验的命题专家、教授和全国各地考点一线教师的建议基础上研制而成。本套软件采用模拟考试形式,以大量的习题练习,强化考生的应考能力。
2、捷成全国计算机等级考试练习系统。
上机考试系统提供了历届考试题100套,并附有试题分析和参考答案,可以帮助考生熟悉考试模式,提高应试能力,测试实际操作和应变能力,自己评定成绩,对正式茄禅答考试时能否通过进行初步的估计。
3、未来教育2017二级msoffice模拟软件
以其模式的高专业度,题库权威度而闻名业界,它聚合历年真题袭拿加以分析从而提出权威预测,效果非常不错。
H. 计算机二级c语言应该买什么样的试卷 真题和预测卷都要买么
买本考试大纲,再买本上机试题集比如未来教育编写的,就可以了。
I. 2017年计算机二级C语言模拟题及答案(2)
大家做好准备迎接考试了吗?诚意整理“2017年计算机二级C语言模拟题及答案(2)”,欢迎广大考生前来学习。
2017年计算机二级C语言模拟题及答案(2)
1). 若变量已正确定义并赋值,以下符合C语言语法的表达式是
A.a:=b+1
B.a=b=c+2
C.int 18.5%3
D.a=a+7=c+b
正确答案:B
答案解析:选项A中包含一个不合法的运算符":=";选项C应改为(int)18.5%3;选项D可理解为两个表达式:a+7=c+b和a=a+7,其中第一个是错的,因为C语言规定赋值号的左边只能是单个变量,不能是表达式或常量等。因此,正确答案是选项B,它实际上相当于a=(b=c+2),进而可分解为两个表达式:b=c+2和a=b。
2). 结构化程序设计的基本原则不包括( )
A.多元性
B.自顶向下
C.模块化
D.逐步求精
正确答案:A
答案解析:结构化程序设计方法的主要原则可以概括为:自顶向下,逐步求精,模块化和限制使用GOTO语句,其中不包括多态性。
3). 下面选项中关于位运算的叙述正确的是( )
A.位运算符都需要两个操作数
B.左移运算的结果总是原操作数据2倍
C.右移运算时,高位总是补0
D.位运算的对象只能是整型或字符型数据
正确答案:D
答案解析:位运算则是以位(bit)一级进行的运算,位运算符中除″~″以外,均为二元运算符,即要求两侧各有一个运算量,运算量只能是整型或字符型的数据,不能为实型数据。其中右移时,右端(低位)移出的二进制数舍弃,左端(高位)移入的二进制数分两种情况:对于无符号整数和正整数,高位补0;对于负整数,高位补1。而左移运算在没有溢出的前提下每移动一位,相当于原数据的2倍。
4). 定义无符号整数类为UInt,下面可以作为类UInt实例化值的是( )
A.-369
B.369
C.0.369
D.整数集合{1,2,3,4,5}
正确答案:B
答案解析:UInt表示的是无符号整数类,所以它的每个实例都是一个无符号整数,所以排除选项A和选项C,选项D是整数集合,所以也排除。
5). 下列关于类、对象、属性和方法的叙述中,错误的是( )。
A.类是对一类具有相同的属性和方法对象的描述
B.属性用于描述对象的状态
C.方法用于表示对象的行为
D.基于同一个类产生的两个对象不可以分别设置自己的属性值
正确答案:D
答案解析:类是对一类具有相同的属性和方法对象的描述,属性用于描述对象的状态,方法用于表示对象的行为,基于同一个类产生的两个对象是可以分别设置自己的属性值。
6). 下列描述中正确的是( )
A.软件交付使用后还需要再进行维护
B.软件工具交付使用就不需要再进行维护
C.软件交付使用后其生命周期就结束
D.软件维护是指修复程序中被破坏的指令
正确答案:A
答案解析:通常将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。软件生命周期分为软件定义、软件开发及软件运行维护三个阶段。已交付的软件投入运行后,应在运行使用中不断地维护,根据新提出的需要进行必要而且可能的扩充和删改。
7). 数据库设计包括两个方面的设计内容,它们是
A.概念设计和逻辑设计
B.模式设计和内模式设计
C.内模式设计和物理设计
D.结构特性设计和行为特性设计
正确答案:A
答案解析:数据库设计包括数据库概念设计和数据库逻辑设计两个方面的内容。
8). 以下不能输出字符A的语句是(注:字符A的ASCII码值为65,字符a的ASCII码值为97)( )
A.printf (″%c ″, ′a′-32);
B.printf (″%d ″, ′A′);
C.printf (″%c ″, 65);
D.printf (″%c ″, ′B′-1);
正确答案:B
答案解析:在选项B的输出函数中,大写字符′A′以整型数据的形式输出。
9). 下列描述中正确的是( )
A.程序就是软件
B.软件开发不受计算机系统的限制
C.软件既是逻辑实体,又是物理实体
D.软件是程序、数据与相关文档的集合
正确答案:D
答案解析:计算机软件与硬件是计算机系统中相互依存的两部分。计算机软件是包括程序、数据及相关文档的完整集合。软件由两部分组成:一部分是机器可执行的程序和数据;二是机器不可执行的,与软件开发、运行、维护、使用等有关的文档。软件具有以下六个特点:①软件是一种逻辑实体,而不是物理实体,具有抽象性。②软件的生产与硬件不同,它没有明显的制作过程。③软件在运行、使用期间不存在磨损、老化问题。④软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移值的问题。⑤软件复杂性高,成本昂贵。⑥软件的开发涉及诸多社会因素。
10). 以下不合法的用户标识符是( )。
A.804zhang
B._ hh
C.yy614
D.If
正确答案:A
答案解析:C语言规定,标识符是由字母、数字或下划线组成,并且它的第一个字符必须是字母或下划线。