文章教程

全国计算机等级考试二级C语言3.5综合自测

8/22/2020 10:24:52 PM 人评论 次浏览

3.5 综合自测

一、选择题

1.以下叙述中,不正确的是(  )。

A.在C程序中,%是只能用于整数运算的运算符

B.在C程序中,无论是整数还是实数,都能准确无误地表示

C.若a是实型变量,C程序中a=20是正确的,因此实型变量允许被整型数赋值

D.前缀和后缀运算符,作为表达式来说有不同的作用

2.若变量xyz均为double类型且已正确赋值,不能正确表示x/y×z的C语言表达式是(  )。

A.x/y*z    B.x*(1/(y*z))    C.x/y*1/z    D.x/y/z

3.设abcdmn均为int型变量,且a=5,b=6,c=7,d=8,m=2,n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为( )。

A.0    B.1    C.2    D.3

4.设wxyzm均为int型变量,有以下程序段:

w=1;x=2;y=3;z=4;

m=(w<x)?w:x; m=(m<y)?m:y; m=(m<z)?m:z;

则该程序运行后,m的值是(  )。

A.4    B.3    C.2    D.1

5.以下程序的输出结果是(  )。

#include <stdio.h>

main()

{ int a=5,b=4,c=6,d;

printf("% d\n",d=a>b?(a>c?a:c):(b));

A.5    B.4    C.6    D.不确定

6.在C语言中,如果下面的变量都是int类型,则输出的结果是(  )。

sum=pad=5;pad=sum++,pad++,++pad;

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

A.7    B.6    C.5    D.4

7.以下程序的输出结果是(  )。

#include <stdio.h>

main()

{ int i=010,j=10;

printf("% d,% d\n",++i,j--);

A.11,10    B.9,10    C.010,9    D.10,9

8.已知inti;floatf;,以下选项中正确的语句是(  )。

A.(intf)%i;    B.int(f)%i;    C.int(f%i);    D.(int)f%i;

9.若有定义:intx=3 ,y=2;floata=2.5 ,b=3.5;则下面表达式的值为(  )。

(x+y)% 2+(int)a/(int)b

A.1.0    B.1    C.2.0    D.2

10.假设所有变量均为整型,则表达式 (a=2,b=5,a++,b++,a+b)的值为(  )。

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

11.若有定义"intx=1,y=1;",表达式(!x||y--)的值是(  )。

A.0    B.1    C.2    D.-1

12.有以下程序:

main()

{ unsigned char a,b,c;

a=0x3;

b=a |0x8;

c=b< <1;

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

程序运行后的输出结果是(  )。

A.-11 12    B.-6 -13    C.12 24    D.11 22

13.若已定义xy为double类型,则表达式x=1,y=x+3/2 的值是(  )。

A.1    B.2    C.2.0    D.2.5

14.执行以下程序段后,c3的值为(  )。

int c1=1,c2=2,c3;

c3=1.0/c2*c1;

A.0    B.0.5    C.1    D.2

15.以下程序的输出结果是(  )。

#include <stdio.h>

main()

{ int y=3,x=3,z=1;

printf("% d % d\n",(++x,y++),z+2);

A.34    B.42    C.43    D.33

二、操作题

下列给定程序中,函数fun()的功能是:将形参n中各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新数,作为函数值返回。

例如,输入一个整数27638496,函数返回值为64862。

请在标号处填入正确的内容,使程序得出正确的结果。

注意:部分源程序给出如下。不得增行或删行,也不得更改程序的结构。

试题程序

#include <stdio.h>

unsigned long fun(unsigned long n)

{ unsigned long x=0;int t;

while(n){

t=n% 10;

/*****found*****/

if(t% 2==【1】)

/*****found*****/

x=【2】 +t;

/*****found*****/

n=【3】;

return x;

main()

{ unsigned long n= -1;

while(n>99999999||n<0){

printf("Please input(0 < n <100000000):");

scanf("% ld",&n);

printf("\nThe result is:% ld\n", fun(n));

教程类别