复合硅酸盐板厂家
免费服务热线

Free service

hotline

010-00000000
复合硅酸盐板厂家
热门搜索:
产品介绍
当前位置:首页 > 产品介绍

2005年考前密卷选择21是嘛

发布时间:2021-07-22 19:02:16 阅读: 来源:复合硅酸盐板厂家
2005年考前密卷选择21是嘛

2005年考前密卷——选择21

构成过大的电流(21)以下程序的输出结果是________。

main()

{ int a=-l,b=l,k;

if((++a 0)&&!(b-- =0))

printf("%d %d\n",a,b);

else

printf("%d %d\n”,b,a);

}

A)-l l B)0 1

C)1 0 D)0 0

(21)C

知识点:if条件的判断

评析:逻辑运算符的优先次序如下:!(非)→ (与)→||(或),但本题需特别注意的是短路的概念:对于 运算符,其两边表达式的值只要有一边为假,则整个与运算表达式的值即为假,系统在执行时,先运算 左边的表达式,若为假,则系统不会再判断 运算符右边的表达式了,直接运用短路原理得整个与运算表达式的值为0。由于++a是先运算后使用,b--是先使用后运算。所以本题在执行++a后,a值为0,不满足条件,所以a使得试样表面轻微的不平度对硬度值的影响较小为l,根据短路原理,b仍为0,接下去执行else语句,输出l 0。

(22)以下选项中,能定义s为合法的结构体变量的是________。

A) typedef struct abc

{ double a;

char b[10];

}s;

B ) struct

{ double a;

char b[10];

}s;

C) struct ABC

{ double a;

char b[10];

}

ABC s;

D ) typedef ABC

{ double a;

char b[10];

}

ABC s:

(22)B

知识点:结构体变量的定义

评析:定义一个结构体类型的变量,可采用三种方法:

①先定义结构体类型,再定义变量名;

②在定义类型的同时定义变量;

③直接定义结构类型变量,即不出现结构体名。

选项B符合第三种定义方法。

(23)请读程序:

#include

#include

main()

{

char*sl="AbCdEf",*s2="aB";

s1++;s2++;

printf("%d\n",strcmp(s1,s2));

}

上面程序的输出结果是_______。

A)正数 B)负数 C)零 D)不确定的值

(23)A

知识点:字符串比较函数strcmp()的应用

评析:strcmp(X1,X2)是串比较函数,当X1 X2时返回值为正数,当X1本题中“sl”、“s2”分别表示这两个串中第一个字符的地址,s1++和s2++是将指针指向串的第二个字符,则*sl为“bCdEf',,*s2为“B”。而在字符串比较中。大小的确定是由各个字符串相应位置字符的ASCII码值的大小决定的。“B”的ASCII码值为66,”b”的ASCII码值为98,所以sl s2,返回值为正数。

(24)请读程序:

#include

func(int a,int b){

int c:

c=a+b:

return C:

}

main(){

int x=6,y=7,z=8,r;

r=func((x--,y++,x+y),z--);

printf("%d\n",r);

}

上面程序的输出结果是________。

A)11 B)20 C)2l D)31

(24)C

知识点:自增、自减运算

评析:函数func()的作用是返回两个形参的和,第一个形参是x、y分别自减和自增后的和,其中(x--,y++,x+y)是一个逗号表达式,它的值应该等于x+y,所以整个表达式(x--,y++,x+y)的值为13,而第二个形参的值为8(根据语法规则,应当先使用,后自增),所以fune()的返回值为13+8=21。

(25)请读程序:

#include

main()

{

int a,b;

for(a=1,b=l;a =100;a++){

if(b =20)break;

if(b%3==1){b+=3;continue;}

b_=5:

}

printf("%d\n",a);

}

上面程序的输出结果是________。

A)7 B)8 C)9 D)10

(25)B

知识点:break语句和continue语句

评析:break语句的作用是用于跳出循环体,继续执行循环体下面的语句;而continue语句的作用是用于跳出本次循环,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。“%”是求余运算符,执行第一次循环时,条件(b%3==1)为真,b=4,继续下一次循环,如此反复,当b=22时,条件(b =20)为假,跳出循环,此时共循环8次,即a=8。

(26)请读程序片段(字符串内没有空格字符):

printf("%d\n",strlen("ATS\n0l2\l\\"));

上面程序片段的输出结果是_______。

A)l1 B)10 C)9 D)8

(26)C

知识点:字符串的长度

评析:这个语句的目的是输出“ATS\n012\1\\”这个串的长度,在串中“\\”代表一个“\”,为了和printf()函数中的转义字符区分开来,在语法上使用了两个反斜杠代替了一个反斜杠,所以它仅仅为一个字符,而”\l”代表数字l,也占一个字符,“\n”是回车换行符,也占所以在注入阶位错密度增加段一个字符,加上A、T、s、0、1、2,一共是9个字符。

(27)请选出可用作C语言用户标识符的一组标识符_______。

A)Void B)a3_b3 C)For D)2a

define _123 _abc DO

WORD IF case sizeof

(27)B

知识点:C语言的标识符

评析:c语言规定标识符只能由字母、数字和下划线三种符号组成,而且第一个字符必须是字母或下划线。

选项A中的void和define都和c语言的关键字重名,不合法;

选项C中的case和c语言的关键字重名,不合法;

选项D中的2a是数字打头而且sizeof和c语言的关键字重名,不合法。

(28)请选出以下程序的输出结果_______。

#include

sub(int*s

衢州职业装定做
邢台西装定做
张家界工服定做