好文档 - 专业文书写作范文服务资料分享网站

C语言笔试题带答案

天下 分享 时间: 加入收藏 我要投稿 点赞

(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 答案:A

评析:本题程序的功能是求1到_99之问(包括1和99)所有奇数之和。程序中的while循环的终止条件为++i=100,在while循环体内,如果i是偶数,则执行continue,跳过这一次循环,执行下一次循环,否则求和。最后输出的值是1到99之间(包括l和99)所有奇数之和(1+99)*50/2=2500。

(20)下列程序的输出结果是_________。 main() { int I=3; switch(i) { case 1:

case 2:printf(”%d”,i); case 3: case 4:break;

default:printf(”OK”);

} }

A)0 B)3 C)OK D)没有任何输出 答案:D

评析:在题中,i的值为3,由于“case 3:”后面没有break语句,所以继续向下执行“case 4:”后面的语句,由于“case 4:”后面的语句为break强行退出switch语句,所以,本题没有任何输出。

(21)下列程序执行后的输出结果是________。 main()

{ int m[][3]={1,4,7,2,5,8,3,6,9}; int i,k=2: for(I=0;i<3;i++)

{printf(”%d”,m[k][i]);} }

A)456 B)258 C)369 D)789 答案:C

评析:根据二维数组的定义得出:m[O][O]=1,m[O][1]=4,m[O][2]=7,m[1][0]=2,rail][1]=5,m[1][2]=8,m[2][0]=3,m[2][l]=6,m[2][2]=9,所以本题的输出是第3行的值m[2][0],m[2][1],m[2][2],即369。

(22)设已定义洱口k为int类型变量,则以下for循环语句_________。 for(i=0;k=-1,k=1;i++,k++) printf(”****\n”);

A)判断循环结束的条件不合法 B)是无限循环

C)循环一次也不执行 D)循环只执行一次 答案:B

评析:本题定义了一个for循环,循环变量是i,但由于本题并没有设置循环条件,所以循环的条件永远默认为真,即无限次执行循环。

(23)下面程序的输出结果是___________。 unsigned fun(unsigned num) { unsigned k=1; do{

k*=num%lO; num/=lO; }while(num); return(k); } main()

{ unsigned n。26; printf(”%d\n”,fun(n)); }

A)0 B)4 C)12 D)无限次循环 答案:C

评析:本题定义了一个fun函数,用于num求和,具体执行过程如下: num=26:k=k*(num%10)=1*(26%10),所以k=6,num=num/10=2; num=2:k=k*(num%10)=6*(2%10),所以k=12,num=num/lO=O; num=O:while条件不成立,所以返回k的值12.

C语言笔试题带答案

(15)main((){floatx=123A56;printf(“%-5.2f\\n”,x);}以上程序输出的结果是________。A)123.4B)123.5C)123.45D)123.46答案:D评析:f格式符,用来输出实数,以小数形式输出。“%-
推荐度:
点击下载文档文档为doc格式
2ey9025wdf1ujtp7zqyg25ui718xfz018ys
领取福利

微信扫码领取福利

微信扫码分享