C语言笔试题带答案 下载本文

答案:A

评析:c程序是由函数构成的。一个c源程序至少包含一个main函数,也可以包含一个main函数和若干个其他函数,因此,函数是c程序的基本单位。

(13)可以在C语言中用做用户标识符的是_______。

A)void B)as_b3 C)for D)2c

define _123 -abc Do

WORD If cas SIG

答案:B

评析:c语言规定,标识符只能由字母、数字和下划线三种符号组成,而且第一个字符必须是字母或下划线。另外还需要注意的是关键字不能作标识符。选项A中void,C中for都为关键字,D中2c以字母开头。

(14)若有以下类型说明语句:

char w;int x;float y,z;

则表达式w*x+z-y的结果为________类型。

A)float B)char C)int D)double

答案:A

评析:在进行运算时,不同类型的数据参加运算,需要先将其转换成同一类型的数据,然后再进行运算。转换的顺序由低到高为:char,short→int→unsigned→long→double→float,故结果为float型。

(15)main(()

{ float x=123A56;

printf(“%-5.2f\\n”,x);

}

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

A)123.4 B)123.5 C)123.45 D)123.46

答案:D

评析:f格式符,用来输出实数,以小数形式输出。“%-m.nf”的含义是:输出数据共占m列,其中n位小数,如果输出位数小于m。则右端补空格。如果总长度大于列数,则按实际情况四舍五入输出。

(16)下面语句的输出结果是________。

Printf(“%d\n”,strlen(“\t\”\065\xff\n”));

A)14 B)8

C)5 D)输出项不合法,无正常输出

答案:C

评析:在c语言中,以“\”开头的字符均为转义字符,其中“\”后可跟l~3位八进制数或在“\”后跟字母x及l~2位十六进制数,以此来代表一个特定的字符。

(17)下列程序的输出结果是________。

main()

{ int a=0,b=0,c=0;

if(++a>0lI++b>0)++c;

printf(“\na=%d,b=%d,c=%d”,a,b,C);

}

A)a=0,b=0,c=0 B)a=l,b=l,c=1

C)a=l,b=O, c=I D)a=0, b=1.c=1

答案:C

评析:

“︱︱”是或运算,它有个“短路”的特点需特别注意,当“︱︱”运算符左边的表达式的值为真时,则程序就不再对“︱︱”右边的表达式的值进行运算,而是使得整个表达式的值直接为真。

(18)下列程序的输出结果是_________。

Main()

{ int i;

for(i=1;i+l;i++)

{ if(i>4){printlf(”%d”,i++);break;}

}

printf(“%d”,i++);

}

A)55 B)56

C)程序错误,没有输出 D)循环条件永远为真,死循环

答案:B

评析:本程序中有个for循环,但注意到for循环的条件是“i+l”,也就是只要i+l的值为真(非零值均为真),就执行循环。当i=l的时,i+l的值为真,判断if条件不成立,执行i++,输出i的值为5。

(19)下列程序的输出结果是_________。

#define A 100

main()

{ int i=O,sum=O;

do{ if(I==(i/2)*2)continue;

sum+=i;

}while(++i

printf(“%d\n”,sum);

}

A)2500 B)2050 C)4 D)O