考前密卷可信吗_2005年考前密卷——选择81-100题
【shitiku.jxxyjl.com--等级考试】
(81)下列语句中符合C语言语法的赋值语句是_______。A)a=7+b+c=a+7 B)a=a+7
C)a=7+b,b++,a+7; D)a=7+b,c。a+7;
(81)D
知识点:C表达式类型
评析:本题的考查点是赋值语句。
c语言中,赋值语句具有其他高级语言的赋值语句的一切特点和功能。但也有不同:
①c语言中的赋值号“=”是一个运算符,在其他大多数语言中赋值号不是运算符。
②关于“赋值表达式”这一概念,其他大多数高级语言并没有,但在c语言中必须区分:例如:i=i+l是一个表达式,而不是语句;i=i+l:是一个语句。可以看到,一个表达式的最后加一个分号就成了一个语句。
由于赋值语句是由赋值表达式加分号构成,而赋值表达式是赋值运算符“=”将一个变量和一个表达式连接起来的式子,所以选项A、B均不是合法的赋值语句;选项c中,存在两种运算符:逗号运算符和赋值运算符,其中赋值运算符的优先级高,逗号表达式“a=7+b,b++,a+7”的值就是表达式“a+7”的值,即选项C也就可以表示为:a+7;。由此可见,选项C也不是一个合法的赋值语句。选项D是用逗号运算符连接的两个赋值语句。因此符合题目要求的应该是选项D。
(82)下面程序
main()
{int y=9;
for(;y>O;y--){
if(y%3==0)
{ printf("%d",--y);
continue;
}
}
}
的输出是______。
A)741 B)852 C)963 D)875421
(82)B
知识点:用if语句实现选择结构
评析:本题的考查点是if判断语句。
‘‘%’’是求余运算符,所以if判断语句中实际是指出只有当y可以被3整除时方可以继续;--y是先进行y的自减运算,再使用y值。所以,最后的打印结果应当为“852”。
(83)下面程序
main()
{
int a=-l,b=4,k;
k=(a++<=O)&&(!(b--<=0));
printf("%d%d%d\n",k,a,b);
}
的输出是_______。
A)0 0 3 B)0 1 2 C)1 0 3 D)1 1 2
(83)C
知识点:c表达式类型
评析:本题的考查点是逻辑与及自增、自减运算。
a+十是先使用a值再将a的值加1,b--是先使用b的值再将b的值减l,所以题中的逻辑运算表达式的值应当为真,即为1,而经过运算后,a和b的值已经分别变成0和3了。
(84)下面的程序片段
y=-l;
if(X!--0)
if(x>0)y=l;else y=0;
所表示的数学函数关系是_______。
-1(x<0) 1(x<0)
A) y= 0(x=0) B) y= -1(x=0)
1(x=0) 0(x>0)
0(x=0) -1(x<0)
C) y= -1(x=0) D) y= 1(x=0)
1(x>0) 0(x>0)
(84)C
知识点:用if语句实现选择结构
评析:本题的考查点是根据程序写出数学函数关系。
题中的两个判断语句实际上指出了y取值的条件,即当x大于零时y取1:当x小于零时y取0坏眡等于零时y值不变,为一l。
(85)下面的程序
rnain()
{ int x=3,y=O,z=O;
if(x=y+z)printf("* * * *");
else printf("# # # #");
}
______O
A)有语法错误不能通过编译
B)输出* * * *
C)可以通过编译,但是不能通过连接,因而不能运行
D)输出# # # #
(85)D
知识点:c运算符的种类、运算优先级和结合性
评析:本题的考查点是运算符在表达式中的处理原则。
本题中把y+z的值赋给x,由于y和z都等于0,所以x的值也为0,即表达式值为false,输出####。特别提醒:if语句中if后面的表达式一般为逻辑或关系表达式,但也可以是任意的数值类型(包括整型、实型、字符型、指针型数据)。
(86)下面函数
int fun1(char*x)
{ char*y=x;
while(*y++);
return(y-x-1);
}
的功能是_______。
A)求字符串的长度 B)比较两个字符串的大小
c)将字符串x复制到字符串y D)将字符串x连接到字符串y后面
(86)A
知识点: while和do-while循环结构
评析:本题的考查点是while()循环语句。
本题首先要注意的是对。y++的运算,由于++和*为同一优先级别,且结合方向为自右向左,因此它相当于*(y+十)。由于十+在y的右侧,是“后加”,因此先对y的原值进行。运算,然后使y的值改变。在程序中,首先将指针x和y指向同一个字符串的首地址。举个例子,假如。x=”abc”:
第一次判断while循环条件:*y=‘a’,然后使得y加l,指向了字符b;
第二次判断while循环条件:*y=‘b’,然后使得y加l,指向了字符c;
第三次判断while循环条件:*y=‘c’,然后使得y加I,指向了字符\0(字符串结束标志):
第四次判断while循环条件:*y=‘\0’,然后使得y加1,指向了字符‘\0‘后面的一个存储空间;
执行return(y-x-1);,返回值为3,所以此函数的功能是求字符串的长度,需要注意的是,在返回长度时一定要减l,否则计算出的串长度将会多l。
(87)已知字母A的ASCII码为十进制的65,下面程序
main()
{ char chl,ch2;
ch1=‘A’+‘5’-‘3’:
ch2=‘A’+‘6’-‘3’:
print削%d,%Cn",chl,ch2);
}
的输出是_______。
A)67,D B)B,C C)C,D D)不确定的值
(87)A
知识点:数据的输入与输出,输入输出函数的调用 。
评析:本题的考查点是格式输出函数printf的格式字符。
由于字符“5”和“3”的ASCII码相差为2。所以ch1经过运算后的值应为65+2=67;同理,ch2经过运算后的值应为65+3=68,即是字符“D”。
(88)以下程序的输出结果是_______。
#include<stdio.h>
main()
{
int a,b,d=241:
a=d/100%9;
b=(-1)&&(-1);
printf("%d,%d\n",a,b);
}
A)6,1 B)2,1 C)6,0 D)2,0
(88)B
知识点:c运算符的种类、运算优先级和结合性
评析:本题的考查点是运算符的应用。
第一个表达式中,运算的方向是从左至右,所以a的值为2:
第二个表达式中,等式右边是一个逻辑表达式,由于结果为真,所以表达式的值为l,即b为1。
(89)以下程序的输出结果是_______。
#include<stdio.h>
main()
{
printf("%d\n",NULL);
}
A)不确定的(因变量无定义) B)O
C)-l D)l
(89)B
知识点:“文件包含”处理
评析:本题的考查点是对“NULL"’的理解。
NULL在c编译器中是一个值为0的常量,它的定义在头文件“stdio.H“中,本题的程序在一开始就包含了这个头文件,所以,在打印的时候,将打印出0。
(90)以下程序的输出结果是_______。
main()
{ int k=4,m=l,p;
p=func(k,m);printf("%d,",p);
p=func(k,m);printf("%d\n",p);
}
func(int a,int b)
{ static int m=0,i=2;
i+=m+l:m=i+a+b;
return(m);
}
A)8,17 B)8,16 C)8,20 D)8,8
(90)A
知识点:函数的正确调用
评析:本题的考查点是函数的调用。
将k和m的值带入函数func中,第一次调用完func()后,其中m和i的值要保留,并在第二次调用时使用,这是因为两者都是局部静态变量。模块的代码开始运行后,使用static语句声明的变量会一直保持其值,直至该模块复位或重新启动。所以最后的结果是8和17。
(91)以下程序调用findmax函数求数组中值最大的元素在数组中的下标,请选择填空:
#include<stdio.h>
findmax(int*s,int t,int*k)
{ int p;
for(p=0,*k=p;p<t;p++)
if(s[p]>s[*k])________;
}
main()
{ int a[10],i,k;
for(i=0;i<l0;i++)scanf("%d",&a[i]];
fmdmax(a,10,&k);
printf("%d,%d\n",k,a[k]);
}
A)k=p B)*k=p-s C)k=p-s D)*k=p
(91)D
知识点:一维数组和多维数组的定义、初始化和引用
评析:本题的考查点是求数组中最大值的下标。
k是一个指针,它的值是一个地址,要通过它为主函数的变量改变数据,必须使用*p,这样就可以把一个下标数赋给p指针指向的那个内存单元,所以横线处应填入*k=p。
(92)以下函数调用语句中含________个实参。
func((expl,exp2),(exp3,exp4,exp5));
A)1 B)2 C)4 D)5
(92)B
知识点:形参与实参,参数值的传递
评析:本题的考查点是对实参的理解。
实参可以是常量、变量或表达式,(expl,exp2)是逗号表达式,它的值是exp2的值;(exp3,exp4,exp5)是逗号表达式,它的值是exp5的值。所以该函数调用语句含有的实参个数是2,即:(expl,exp2)和(exp3,exp4,exp5)。
(93)在c语言中,要求运算数必须是整型的运算符是________。
A)% B)/ C)< D)!
(93)A
知识点:位运算符的含义及使用
评析:本题的考查点是运算符。
题目的四个选项中,(B)(C)(D)都不要求运算数必须为整数,参与模运算(%)的运算数必须是整型数据。
(94)C语言提供的合法的数据类型关键字是________。
A)Double B)float C)integer D)Char
(94)B
知识点:c的数据类型
评析:本题的考查点是c语言中的关键字。
选项A和D中第一个字母大写,不正确;
选项c是PASCAL中的整型关键字,不是c语言中的关键字。
(95)若有以下说明:
int a[10]={l,2,3,4,5,6,7,8,9,10},。p。a;
则值为6的表达式是________。
A)串p+6 B)木(p+6) C)半p+=5 D)p+5
(95)C
知识点:指针数组
评析:本题的考查点是通过指针引用数组元素。
选项A,*p+6,其值等于1+6=7;
选项B,*(p+6),其值等于a[6]=7;
选项c,*p+=5,其值等于*p=*p+5=l+5=6;
选项D,p+5是个地址值。
(96)下面程序的输出是________。
main()
{
int m=0xa,n=2;
m+=a;
printf("%X\n",m);
}
A)C B)c C)99 D)2
(96)A
知识点:格式字符
评析:格式控制符x表示数据按十六进制形式输出(不输出前导符0x)。本题在执行语句m+=n;后,m的值变为字母c,又因为在输出a-f时,如果格式控制符用X,则以大写字母输出;如果用x,则以小写字母输出,故本题答案为A。
(97)以下程序的输出结果是________。
#include<string.h>
main()
{char*a="abcdefghi";int k;
fun(a);puts(a);
}
fun(char *s)
{ int x,y; char c;
for(x=0,y=strlen(s)-l; x<y; x++,y--)
{ c=s[y];s[y]=s[x];s[x]=c;}
}
A)ihgfedcba B)abcdefghi C)abcdedcba D)ihgfefghi
(97)A
知识点:字符串与字符数组
评析:本题的考查点是字符串的应用。
观察子函数fun()可知,它是实现一个数组首末元素位置互相依次交换。联系主函数,可以看出,是对字符串中的元素依次进行首末位置的对调。
(98)以下程序的输出结果是________。
main()
{ union{char i[2];
int k;
}r;
r.i[0]=2; r.i[l]=0;
printf("%d\n",r.k);
}
A)2 B)1 C)0 D)不确定
(98)A
知识点:结构体和共用体类型数据的定义方法和引用方法
评析;本题的考查点是共用体类型数据的特点。
根据共用体的定义可知:共用体r的成员k和成员i[2]是共用同一段内存空间,所以,当程序给r.i[0]赋值后,实际上,共用体成员k的值也确定了,为2。所以打印输出的结果应当为2。
(99)以下程序的输出结果是________。
#define f(x) x*x
main()
{ int a=6,b=2,c;
c=f(a)/f(b);
printf("%d\n",c);
}
A)9 B)6 C)36 D)18
(99)C
知识点:宏定义:不带参数的宏定义;带参数的宏定义
评析:本题的考查点是带参数的宏定义。
观察程序段可知,对带参数的宏的展开只是将语句中的宏名后面括号内的实参字符串代替#define命令行中的形参。本题中c=f(a)/f(b)用#define f(x)X*X代替得c=f(6)/f(2),即c=6*6/2*2,结果为36。
(100)以下程序的输出结果是________。
main()
{ int i;
for(i=1;i<6;i++)
{ if(i%2){printf("#");continue;}
printf("*");
}
printf("\n");
}
A)# * # * # B)# # # # # C)* * * * * D)* # * # *
(100)A
知识点:用if语句实现选择结构
评析:本题的考查点是if条件的判断。
i从l到5循环5次,i为1时,满足条件,打印输出“#”:i为2时,条件为假,打印输出“*”。也就是说,当i为奇数时,条件为真,程序打印输出“撑”,否则,输出”*”。
相关试题
- [计算机等级考试三级含金量]计算机等级考试三级PC上级题精选45-50
- [全国计算机一级windows]全国一级WINDOWS笔试试卷(三)
- [三级网络技术通过标准]三级网络技术全真标准预测试卷(二)2
- 【三级公路技术标准】三级PC技术全真标准预测试卷(二)1
- 【考前密卷可信吗】2005年考前密卷--选择题(101-120)
- 【全国计算机一级windows】全国一级WINDOWS笔试答案(二)
- 计算机等级考试三级含金量_计算机等级考试三级PC上级题精选41-45
- 三级公路技术标准_三级PC技术全真标准预测试卷(一)2
- 全国计算机一级windows|全国一级WINDOWS笔试答案(五)
- 全国计算机一级windows|全国一级WINDOWS笔试试卷(二)2
-
2005年正月17_2005年9月17二级C笔试试题答案详细阅读
选择题01-05)CACDC 06-10)DAABB11-15)ACBBA 16-20)CCDAB21-25)DCABC 26-30)DDABD31-35)BCCBA 36-40)DCCAD41-45)ADBAC 46-50)DABAD填空题1 数据库系统阶段2 空间3...
-
[计算机等级考试三级含金量]计算机等级考试三级PC上级题精选21-25详细阅读
上机题之21以下内容为程序代码:;* 请编制程序PROG1 ASM,其功能是:内存中连续存放着十个无符;* 号8位二进制数,现将此十个数转换成十个8位格雷码表示的数,结果;* 存入内存。其转换方法为格雷码的最高位g[7]与二进制数的最高位d[7];* 相同, 格雷码的其余七位g[k]...
-
2006年二级建造师网上可查询吗|2006年二级VF笔试答案(含试题)详细阅读
visual foxpro数据库程序设计(考试时间90分钟,满分100分)一、选择题((1)~(35)每小题2分,共70分)下列各题a)、b)、c)、d)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。(1)数据的存储结构是指a) 存储在外存中的数据b) 数据...
-
2005年九月三_2005年9月17三级网络技术笔试试题答案详细阅读
选择题:01-05)DCABD 06-10)BBDCA11-15)BCABD 16-20)CABAD21-26)ADBCC 26-30)BADCB31-35)CBDBD 36-40)CCBBA41-45)DDABA 46-50)BCCBD51-55)CDDCA 56-60)A...
-
全国计算机等级考试二级c语言历年真题_2005年全国计算机等级考试二级C语言真题3详细阅读
第3页 (45)有以下程序point(char *p){ p+=3;}main(){ char b[4]={a,b,c,d},*p=b; point(p); printf(%c n,*p);}程序运行后的输出结果是 AA)aB)...
-
[公共基础模拟题及答案]二级公共基础模拟题第三套试题详细阅读
(1)栈和队列的共同特点是A)都是先进先出B)都是先进后出C)只允许在端点处插入和删除元素 D)没有共同点(2)已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是A)acbedB)decabC)deabcD)cedba(3)链表不具有的特点是A)不必事先估...
-
2005年9月二十四午时|2005年9月二级VB笔试真正标准答案详细阅读
选择题【 1- 5】 CACDC 【 6-10】 DAABB 【11-15】 BCCDC 【16-20】 CABBA 【21-25】 DAADC 【26-30】 ADBAC 【31-35】 CCDAB 填空题【1】数据库系统 【2】空间...
-
全国计算机等级考试二级c语言历年真题|2005年全国计算机等级考试二级C语言真题2详细阅读
第2页 (29)有以下程序main(){ int a[3][3],*p,i; p=&a[0][0]; for(i=0;i...
-
[计算机等级考试一级考试题目]计算机等级考试一级B考试自测题详细阅读
1 现代微型机中采用的主要元件是()。 A)电子管 B)晶体管 C)中、小规模集成电路 D)大规模、超大规模集成电路 正确答案:D 2 计算机之所以能按人们的意志自动进行工作,主要是因为采用了()。 A)二进制数制 B)高速电子元件 C)存储程序控制 D)程序设计语言 正确答案:C 3 下列...
-
计算机等级考试三级含金量_计算机等级考试三级PC上级题精选11-15详细阅读
PC上机题之11以下内容为程序代码:;* 请编制程序PROG1 ASM,其功能是:内存中连续存放着二十个;* ASCII字符,如果是0~9或A~F之间的字符,请把它们转换成二进制;* 数;若为其他字符,不作转换。;* 例如:;* 内存中有;* 30H(...