C20001

一、单项选择题

1.___A____是构成C语言程序的基本单位。

A.函数

B. 过程

C.子程序

D.子例程

2.以下叙述中正确的是___C_____。

A. 可以在一个函数中定义另一个函数

B. main()函数必须放在其它函数之前

C. 一定是先从main()函数开始执行

D. 所有被调用的函数一定要在调用之前进行定义

3. 下述正确的C语言常量是____C____。

A. E2

B. 1.5E2.3

C. 5.OE

D. 3e-3

4.设int x=1,y=1; 表达式(!x||y--)的值 ____B_____。

A. 0

B. 1

C.2

D. -1

5.____C_____是C语言提供的合法的数据类型关键字。

A. Float

B. sprintf

C. int

D. Char

6.以下选项中合法的用户标识符是___B___。

A. long

B. _2Test

C. 3Dmax

D. A.dat

7.已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,则用八进制表示的字符常量'\101'是___A___。

A. 字符A

B. 字符a

C. 字符e

D. 非法的常量

8. 下述程序的输出结果是 D 。

#include<stdio.h>
void main( )
{
    int a=2;
    a%=4;
    printf("%d,",a);
    a+=a*=3;
    printf("%d",a);
}

A. 2,O

B. 1,O

C. -1,12

D. 2,12

9.下述程序的输出结果是? B

int y=30; 
printf("%d",y++);

A.31

B.30

C.29

D.3

10. 设整型变量a为5,使b不为2的表达式是_____C______

A. b=a/2

B. b=6-(--a)

C. b=a%2

D.b=a>3 ? 2 : 1

11.分析下面的代码:

if(a<0 .7)
    printf("提示1");
else if(a<1 )
    printf("提示2");
else
    printf("提示3");

如果a=0.8,那么输出结果为( B )。

A.提示1

B. 提示2

C. 提示3

D. 0.8

12. 分析下面的代码:

#include<stdio.h>
void main()
{
    int a;
    scanf("%d",&a);
    switch(a)
    {
        case 1:printf("星期一 ");
        case 2:printf("星期二 ");
        case 3:printf("星期三 ");
        case 4:printf("星期四 ");
        case 5:printf("星期五 ");
        case 6:printf("星期六 ");
        case 7:printf("星期日 ");
        default:printf("输入错误\n");
    }
}

若a=6,则输出结果是( C )。

A. 星期六

B. 星期六 星期日

C. 星期六 星期日 输入错误

D. 输入错误

13. 分析下面的代码,如果输入85,那么将输出( B )。

#include<stdio.h>
void main()
{
    int mks;
    printf("请输入分数:");
    scanf("%d",&mks);
    mks>90?printf("优秀"):printf("一般");
}

A. 优秀

B. 一般

C. 代码将不会显示任何结果

D. 语法错误

14. 分析下面的C语言代码:

int a=1,b=10;
do{
    b-=a; a++;
}while(b--<0 );

则执行循环语句后b的值为( D )。

A. 9

B. -2

C. -1

D. 8

15. 有以下程序:

#include<stdio.h>
void main()
{
    int a=3,b=2,c=1;
    int x=10,y=20;
    if(a<b)
        if(b!=0)
            if(!x)
                y=1;
            else if(x)
                y=0;
    y=-1;
    printf("%d",y);
}

上面的C程序的输出结果是( D )。

A. 20

B. 1

C. 0

D. -1

16. C语言中,while和do…while循环的主要区别是( B )。

A. while的循环控制条件比do…while的循环控制条件严格

B. do…while的循环体至少无条件执行一次

C. do…while允许从外部转到循环体内

D. do…while的循环体不能是复合语句

17. 执行下面的C程序段后,输出结果是( C )。

int a=5;
while(a--);
printf( "%d",a) ;

A. 54321

B. 4321

C. 0

D. -1

18.分析下面的C程序:

#include<stdio.h>
void main()
{
    int num=0;
    while(num<=2){
        num++;
        printf("%d ",num);
    }
}

输出结果是( A )。

A. 1 2 3

B. 0 1 2

C. 2 3

D. 1 2

19.现有语句for (x=0; x<5 ; x++).请问此语句循环多少次? a

A.5

B.4

C.6

D.0

20.在C语言中,每个语句和数据定义是用什么结束? B

A.句号

B.分号

C.逗号

D.括号

21.C语言中while和do_while循环的主要区别是 A 。

A、do_while的循环至少无条件执行一次

B、while的循环控制条件比do_while的控制条件严格

C、do_while允许从外部转到循环体内

D、do_while的循环体不能是复合语句

22.下面for 循环的正确描述是 D 。

A、for循环只能用于循环次数已经确定的情况

B、for循环是先执行循环体语句后判断表达式

C、在for循环中,不能用break语句结束循环

D、for循环体语句中,可以包含多条语句,但必须用花括号括起来

23.以下正确的描述是 B 。

A、continue语句的作用是结束整个循环的执行

B、只能在循环体内和swtich语句体内使用break语句

C、在循环体内使用break或continue语句的作用相同

D、从多层嵌套中退出时,只能使用goto语句

24.以下描述正确的是 C 。

A、goto语句只能用于退出多层循环

B、swtich语句中不能使用continue语句

C、只能用continue语句来终止本次循环

D、在循环中break语句不能独立出现

25.在C语言中,引用数组元素时,其数组下标的数据类型允许是 C 。

A、整型常量

B、整型表达式

C、整型常量或整型表达式

D、任何类型表达式

26.以下对一维数组a的正确说明是 D 。

A、int(a);            B、n=10,a[n];
C、int n;             D、#define SIZE
   scanf("%d",&n);     int a[SIZE];
   int a[n];

27.若有说明:int a[10];则对a数组元素的正确引用是 D 。

A、a[10]

B、a[3,5]

C、a(5)

D、a[10-10]

28.以下对一维数组正确初始化的语句是 C 。

A、int a[10]=(0,0,0,0,0); B、int a[10]={};
C、int a[]={0};           D、int a[10]={10*1};

29.若有说明int a[3][4]={0};则下面正确的叙述是 D 。

A、只有元素a[0][0]可得到初值0

B、此说明语不句正确

C、数组a 中各元素都可得到初值,但其初值不一定是0

D、数组a 中各元素都可得到初值0

30.若有二维数组a有m列,则在a[i][j]前的元素个数为 B 。

A、j*m+i

B、i*m+j

C、i*m+j-1

D、i*m+j+1

31.下面对s的初始化,其中不正确的是 D 。

A、char s[5]={"abc"};   B、char s[5]={'a','b','c'};
C、char s[5]="";            D、char s[5]="abcdef";

32.判断字符串s1是否大于字符串s2,应当使用 D 。

A、if(s1>s2)           B、if(a==b)
C、if(strcpy(s2,s1)>0) D、if(stcmp(s1>s2)>0)

函数

33.以下有关建立函数的目的说法中正确性的是 B 。

A、提高程序的执行效率

B、提高程序的可读性

C、减少程序的篇幅

D、减少程序文件所占用的内存

34.以下正确的函数定义是 A 。

A、double fun(int x,int y)  B、double fun(int x;int y)
C、double fun(int x,int y); D、double fun(int x,y);

35.以下有关函数的形参和实参的说法中正确的是 A 。

A、实参和与其对应的形参各占用独立的存储单元

B、实参和与其对应的形参各占用一个的存储单元

C、只有当实参和与其对应的形参同名时才占用一个的存储单元

D、形参是虚拟的,不占用存储单元

36.以下说法正确的是 C 。

A、定义函数时,形参的类型说明可以放在函数内部

B、return语句后的值不能为表达式

C、如果函数值的类型与返回值的类型不一致,以函数类型为准

D、如果形参与实参的类型不一致,以实参的类型为准

37.C语言中,简单变量做实参时,它和对应的形参之间的数据传递方式是 B 。

A、地址传递

B、单向值传递

C、由实参传给形参,再由形参传递给实参

D、同用户指定传递方式

38.C语言中,函数返回值的类型是由 D 。

A、return语句中的表达式类型所决定

B、调用该函数时的主调函数类型所决定

C、调用该函数时系统临时决定

D、在定义该函数时所指的函数类型所决定

39.若用数组名作为函数调用的实参,传递给形参的是 A 。

A、数组的首地址

B、数给的第一个元数

C、数组中全部元素的值

D、数组元素的个数

40.以下有关宏替换的叙述不正确的是 D 。

A、宏替换不占用运行时间

B、宏名无类型

C、宏替换只是字符替换

D、宏名必须用大写字母表示

41.C语言的编译系统对宏的处理是 D 。

A、在程序运行时

B、在程序连接时

C、和C程序中的其他语句同时进行编译

D、在对源程序中其它成份正式编译之前进行的

42.用C语言编写的源文件经过编译,若没有产生编译错误,则系统将 B 。

A、生成可执行目标文件

B、生成目标文件

C、输出运行结果

D、自动保存源文件

43.在C集成环境执行菜单命令"运行",若运行结束且没有系统提示信息,说明 D 。

A、源程序有语法错误

B、源程序正确无误

C、源程序有运行错误

D、源程序无编译、运行错误,但仅此无法确定其正确性

44.可在C语言中用作用户标识符的一组标识符是_____A_____。

A) and _2007

B) Void y-m-d

C) Hi Dr.Tom

D) int Big1

45.以下不合法的用户标识符是_____C_____。

A) j2_KEY

B) Double

C) 4d

D) _8

46.以下选项中可作为C语言合法整数的是_____C____。

A) 10110B

B) 0386

C) 0Xffa

D) x2a2

47.以下选项中不属于C语言类型的是____D_____。

A) signed short int

B) unsigned long int

C) unsigned int

D) long short

48.以下选项中合法的一组C语言数值常量是 B 。

A) 028 .5e-3 -0xf

B) 12. 0Xa23 4.5e0

C) .177 4e1.5 0abc

D) ox8A 10.000 3.e5

49.以下选项中,不能作为合法的常量的是 B 。

A)1.234e04

B)1.234e0.4

C)1.234e+4

D)1.234e0

50.表达式( int )(3.857*100+0.5)/100.0的值是 D 。

A)3

B)3.862

C)3.36

D)3.86

51.有以下程序

main( )
{
    int m=12,n=34;
    printf("%d%d",m++,++n);
    printf("%d%d", n++,++m);
}

程序运行后的处处结果是 A 。

A)12353514

B)12353513

C)12343514

D)12343513

52.有以下程序

main( )
{
    int a1=3,a2=9;
    printf("%d\n",(a1,a2));
}

以下叙述正确的是 B 。

A) 格式输出3

B) 程序输出9

C) 格式说明符不足,编译出错

D) 程序运行时产生出错信息

53.有以下程序

main( )
{
    int x,y,z;
    x=y=1;
    z=x++,y++,++y;
    printf("%d,%d,%d \n",x,y,z);
}

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

A)2,3,3

B)2,3,2

C)2,3,1

D)2,2,1

54.有以下程序

main( )
{
    int a=666,b=888;
    printf("%d\n",a,b);
}

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

A) 错误信息

B)666

C)888

D)666,888

55.若有以下程序段

int m=0xabc,n=0xabc;
n-=n;
printf("%X\n",m);

执行后输出的结果是 C 。

A) 0X0

B) 0x0

C) 0

D) 0xabc

56.设有定义:int a=2,b=3,c=4;,则以下选项中值为0的表达式是 A 。

A) (!a==1 )&&(!b= =0)

B) (a

C) a&&b

D) a||(b+b)&&(c-a)

57.有定义语句:int a=1,b=2,c=3,x;则以下选项中个程序段执行后,x的值不为3的是:C

A.if(c<a)x=1;  else if (b<a) x=2; else x=3;
B.if(a<3)x=3; else if (a<2) x=2; else x=1;
C.if(a<3) x=3; if (a<2) x=2; if (a<1) x=1;
D.if(a<b)x=b; if (b<c) x=c; if (c<a) x=a;

58.有以下程序

main( )
{
    int i,sum=1;
    i=1;
    while(i<=5)
    {
        sum=sum*i;
        i++;
    }
    printf("%d",sum);
}

程序执行后的输出结果是( B )

A)15

B)120

C)5

D)720

59.有以下程序

main( )
{
    int i;
    for(i=0;i<3 ;i++)
        switch(i)
        {
            case 0: printf("%d",i);
            case 2: printf("%d",i);
            default:printf("%d",i);
        }
}

程序运行后的输出结果是 C

A)022111

B)021021

C)000122

D)012

60.以下不合法的字符常量是 A

A '\018'

B '\" '

C '\\'

D '\xcc'

61.若要求定义具有10个int型元素的一维数组a ,则以下定义语句中错误的是__D___。

A) #define N 10 int a[N];

B) #define n 5 int a[2*n];

C) int a[5+5];

D) int n=10,a[n];

62.有以下程序:

main( )
{
    int i,t[ ][3]={9,8,7,6,5,4,3,2,1};
    for(i=0;i<3; i++ )
        printf( "%d ",t[2-i][i] );
}

程序执行后的输出结果是_______B____。

A) 753

B) 357

C) 369

D) 751

63.C语言中最简单的数据类型包括( B ) )

A) 整型、实型、逻辑型

B) 整型、实型、字符型

C) 整型、字符型、逻辑型

D) 字符型、实型、逻辑型

64.以下说法正确的是( C ) )

A) C语言程序总是从第一个的函数开始执行

B) 在C语言程序中,要调用函数必须在main()函数中定义

C) C语言程序总是从main()函数开始执行

D) C语言程序中的main()函数必须放在程序的开始部分

65.在C语言中,退格符是( D )

A) \n

B) \t

C) \f

D) \b

66.在C程序中,判逻辑值时,用( )表示逻辑值"真", 又用( )表示逻辑值"假"。A

A) 非0 0

B)0 1

C)0 非0

D)1 0

67.在C程序中,求逻辑值时,用( )表示逻辑表达式值为"真", 又用( )表示逻辑表达式值为"假"。 A

A)1 0

B)0 1

C) 非0 非0

D)1 1

68.以下程序段的描述,正确的是( C ) )

x=-1;
do{
    x=x*x;
}while( !x );

A) 是死循环

B) 循环执行两次

C) 循环执行一次

D) 有语法错误

69.在下列字符序列中,合法的标识符是( B )。

A P12.a

B stud_100

C $water.1

D 88sum

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

A、7

B、8

C、6

D、2

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

main()
{
    int a=1,b=0;
    switch( a )
    {
        case 1: switch ( b )
        {
            case 0:printf( "**0**" );break;
            case 1:printf( "**1**" );break;
        }
        case 2:printf( "**2**" );break;
    }
}

A、**0**

B、**0****2**

C、**0****1****2**

D、有语法错误

72.执行下面一段程序后x的值为( D )。

int a=2,b=3,c=4,d=5,x;
    if(a>b)
        if(c<d)x=1 ;
        else if(a<c)
                if(b>d)x=2 ;
                else x=3 ;
         else x=4 ;
    else x=5 ;
    printf("%d\n",x);

A、2

B、3

C、4

D、5

73. C语言程序的基本单位是( C )

A.程序行

B.语句

C.函数

D.字符

74 设有int x=11;则表达式( x++*1/3 )的值是( A )。

A.3

B.4

C.11

D.12

75.若有以下定义:

char a; int b;
float c; double d;

则表达式a*b+d―c值的类型为( C )。

A.int

B.char

C.double

D.float

76.putchar函数可以向终端输出一个( D )。

A.整型变量或表达式值

B.实型变量值

C.字符串

D.字符或字符型变量值

77.设:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b) && (n=c>d)后n的值为( B )。

A. 1

B. 2

C. 3

D. 4

78.关于下面程序段描述正确的是( C )。

int k=2;
while(k=0)
{
    printf("%d",k);
    k--;
}

A. while循环执行10次

B. 循环是无限循环

C. 循环体语句一次也不执行

D. 循环体语句执行一次

79.设有如下定义,则正确的叙述为(C)。

char s1[]="abcdefg";
char s2[]={'a','b','c','d','e','f','g'};

A.数组s1和数组s2等价

B.数组s1和数组s2的长度相同

C.数组s1的长度大于数组s2的长度

D.数组s1的长度小于数组s2的长度

80.下面程序的输出结果是( B)。

main( )
{
    char a[10]="student";
    char b[10]="boy";
    int m;
    m=strlen(a)+strlen(b);
    printf("%d\n", m);
}

A.7

B.10

C.12

D.20

81.在内存中,存储字符′x′要占用1个字节,存储字符串″X″要占用( B )个字节。

A.1

B.2

C.3

D.4

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

main()
{
    int a=1,b=0;
    switch( a )
    {
        case 1: switch ( b )
        {
            case 0:printf( "**0**" );break;
            case 1:printf( "**1**" );break;
        }
        case 2:printf( "**2**" );break;
    }
}

A、**0**

B、**0****2**

C、**0****1****2**

D、有语法错误

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

main()
{
    int a=0,j;
    for( j=0;j<4 ;j++ )
    {
        switch( j )
        {
            case 0:
            case 3:a+=2;
            case 1:
            case 2:a+=3;
            default:a+=5;
        }
    }
    printf( "%d\n",a );
}

A、20

B、13

C、10

D、36

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

main()
{
    int i,j,x=0;
    for ( i=0;i<2 ;i++ )
    {
        x++;
        for( j=0;j<3 ;j++ )
        {
            if ( j%2 )continue;
        x++;}
    x++; }
    printf( "x=%d\n",x ); 
}

A、x=4

B、x=8

C、x=6

D、x=12

85.下列选项中属于不正确的赋值语句的是( D )。

A、t--;

B、k=i==j;

C、t1=t2=t3=3;

D、t1=1,t2=2;

86.若有定义:int a,b;char x,y;并有以下输入数据: 12 13 AaBb(回车 ) 则能给a赋整数12,给b赋整数13,给x赋字符a,给y赋字符b的正确程序段是( D )。

A、scanf( "%d",&a );scanf( "%d",&b );x=getchar( );y=getchar( );
B、scanf( "%d%d %c %c", &a, &b,&x,&y );
C、scanf( "%d %d %c %c", &a,&b,&x,&x,&y,&y );
D、scanf( "%d %d %c%c%c%c",&a,&b,&x,&x,&y,&y );

87.

88.有以下程序段:

int a=0,b;
do {
    scanf( "%d",&a );b++;
} while( a!= 10 || b<3 );

此处do-while循环的结束条件是( B )。

A、a的值等于10并且b的值大于3

B、a的值等于10并且b的值大于等于3

C、a的值不等于10或者b的值小于3

D、a的值不等于10并且b的值大于等于3

89.设有数组定义:char array[]="123456789";则数组array所占的空间为( D )。

A、7个字节

B、8个字节

C、9个字节

D、10个字节

90.C语言程序的基本单位是( C )

A.程序行

B.语句

C.函数

D.字符

91.下列对C语言程序的书写格式的描述,( C )是正确的。

A.C语言程序中,每行只能写一条语句

B.C语言程序书写时通常采用"缩排"方式

C.C语言程序的书写中要求每行都要以分号作结尾

D.注释行必须放在程序的头或程序的尾

92设有int x=11;则表达式( x++*1/3 )的值是( A )。

A.3

B.4

C.11

D.12

93.若有以下定义:

char a; int b;
float c; double d;

则表达式a*b+d―c值的类型为( C )。

A.int

B.char

C.double

D.float

94.putchar函数可以向终端输出一个( D )。

A. 整型变量或表达式值

B. 实型变量值

C. 字符串

D.字符或字符型变量值

95.有输入语句:scanf("a=%d,b=%d,c=%d", &a, &b, &c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式是( C )

A.132↙

B.1,3,2↙

C.a=1,b=3,c=2↙

D.a=1 b=3 c=2↙

96.最适合解决选择结构"x>0, 则y=1;否则y=0"的语句是( C )。

A.switch

B.嵌套的if-else

C.if-else

D.if

97. C语言对嵌套if语句的规定是:else总是与( D )。

A.其之前最近的if配对

B.第一个if配对

C.缩进位置相同的if配对

D.其之前最近的且尚未配对的if配对

98. 设:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b) && (n=c>d)后n的值为( B )。

A. 1

B. 2

C. 3

D. 4

99.以下程序片段( D )。

main ( )
{
    int x=0,y=0,z=0;
    if(x=y+z) printf(″***″);
    else printf(″###″);
}

A.有语法错误,不能通过编译

B.输出:***

C.可以编译,但不能通过连接,所以不能运行

D.输出:###

100.关于下面程序段描述正确的是( C )。

int k=2;
while(k=0)
{
    printf("%d",k);
    k--;
}

A.while循环执行10次

B. 循环是无限循环

C.循环体语句一次也不执行

D. 循环体语句执行一次

101.以下不是C语言的特点的是 ( B )

A、C语言简洁、紧凑

B、能够编制出功能复杂的程序

C、C语言可以直接对硬件进行操作

D、C语言移植性好

102.以下不正确的C语言标识符是 ( D )

A、ABC

B、abc

C、a_bc

D、ab.c

103.一个C语言程序是由 ( B )

A、一个主程序和若干子程序组成

B、函数组成

C、若干过程组成

D、若干子程序组成

104.一个算法应该具有"确定性"等5个特性,对另外4个特性的描述中错误的是 ( B )

A、有零个或多个输入

B、有零个或多个输出

C、有穷性

D、可行性

105. 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为 ( C )

A、int

B、float

C、double

D、不确定

106.在C语言中,char型数据在内存中的存储形式是 ( D )

A、补码

B、反码

C、源码

D、ASCII码

107.有如下程序,输入数据:12345M678<cR>后( 表示回车 ),x的值是 ( B )。

#include<stdio.h>
main()
{
    int x;
    float y;
    scanf("%3d%f",&x,&y);
}

A、12345

B、123

C、45

D、345

108.若有以下定义int a,b; float x,则正确的赋值语句是 ( B )

A、a=1,b=2

B、b++;

C、a=b=5

D、b=int(x);

109.以下程序的执行结果是 ( A )

#include<stdio.h>
{
    int i=10,j=10;
    printf("%d,%d\n",++i,j--);
}

A、11,10

B、9,10

C、11,9

D、10,9

110.巳知字母A的ASCII码是65,以下程序的执行结果是 ( D )

#include<stdio.h>
main()
{
    char c1='A',c2='Y';
    printf("%d,%d\n",c1,c2);
}

A、A,Y

B、65,65

C、65,90

D、65,89

111.下列运算符中优先级最高的是 ( C )

A、<

B、+

C、%

D、!=

112.设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是 ( D )。

A、'x'&&'y'

B、x<=y

C、x||y+z&&y-z

D、!((x

113.判断char型变量cl是否为小写字母的正确表达式为 ( D )

A、'a'<=c1<=f'z'

B、(c1>=a)&&(c1<=z)

C、('a'>=c1) ('z'<=c1)

D、(c1>='a')&&(c1<='z')

114.字符串"a"在内存中占据的字节个数为 ( C )

A、0

B、1

C、2

D、3

115.下面有关for循环的正确描述是( D )

A、for循环只能用于循环次数已经确定的情况

B、for循环是先执行循环体语句,后判定表达式

C、在for循环中,不能用break语句跳出循环体

D、for循环体语句中,可以包含多条语句,但要用花括号括起来

116.下面程序的运行结果是( C )

#include<stdio.h>
main()
{
    int num=0;
    while(num<=2)
    {
        num++;
        printf("%d ,num);
    }
}

A、1

B、1 2

C、1 2 3

D、1 2 3 4

117.以下描述正确的是 ( C )

A、由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。

B、do-while循环由do开始,用while结束,在while( 表达式 )后面不能写分号。

C、在do-while循环体中,一定要有能使while后面表达式的值变成零( "假" )的操作。

D、do-while循环中,根据情况可以省略while。

118.以下对二维数组a的正确说明是 ( C )

A、int a[3][]; 
B、float a(3,4);
C、double a[1][4]; 
D、float a(3)(4);

119.若二维数组a有m列,则在a[i][j]前面的元素个数为 ( B )

A、j*m+i

B、i*m+j

C、i*m+j-1

D、i*m+j+1

120.int a[10];合法的数组元素的最小下标值为( D )。

A、10

B、9

C、1

D、0

121. 以下运算符中优先级最低的是( C )。

A、&&

B、&

C、||

D、|

122.C 语言中要求对变量作强制定义的主要理由是( D )。

A、便于移植

B、便于写文件

C、便于编辑预处理程序的处理

D、便于确定类型和分配空间

123.以下对二维数组a的正确说明是( C )。

A、int a[3][]

B、float a(3,4)

C、double a[1][4]

D、float a(3)(4)

124. 在C语言中,要求运算数必须是整型的运算符是( B )。

A、^

B、%

C、!

D、>

125.以下不能正确定义二维数组的选项是( D )。

A、int a[2][2]={{1},{2}};

B、int a[][2]={1,2,3,4};

C、int a[2][2]={{1},2,3};

D、int a[2][]={{1,2},{3,4}};

126. 设变量 a 是整型,f 是实型,i 是双精度型, 则表达式 10+'a'+i*f 值的数据类型为( C )。

A、int

B、float

C、double

D、不确定

127.设C语言中,int类型数据占2个字节,则short类型数据占( B )。

A、1个字节

B、2个字节

C、4个字节

D、8个字节

128. 若有说明 int a[3][4];则a数组元素的非法引用是( D )。

A、a[0][2*1]

B、a[1][3]

C、a[4-2][0]

D、a[0][4]

129. 若使用一维数组名作函数实参,则以下正确的说法是( A )。

A、必须在主调函数中说明此数组的大小

B、实参数组类型与形参数组类型可以不匹配

C、在被调用函数中,不需要考虑形参数组的大小

D、实参数组名与形参数组名必须一致

130. 在 C 语言中, char 型数据在内存中的存储形式是( D )。

A、补码

B、反码

C、原码

D、ASCII 码

131. 经下列语句定义后,sizeof(x),sizeof(y),sizeof(a),sizeof(b)在微机上的值分别为( C )

char x=65;
float y=7.3;
int a=100;
double b=4.5;

A、2,2,2,4

B、1,2,2,4

C、1,4,2,8

D、2,4,2,8

132. 以下叙述中不正确的是( B )。

A、一个好的程序应该有详尽的注释

B、在C程序中,赋值运算符的优先级最低

C、在C程序中,j++;是一条赋值语句

D、C程序中的#include和#define均不是C语句

133.设 int x=1, y=1; 表达式(!x||y--)的值是( B )。

A、0

B、1

C、2

D、-1

134. 以下叙述中正确的是( B )。

A、C 语言的源程序不必通过编译就可以直接运行

B、C 语言中的每条可执行语句最终都将被转换成二进制的机器指令

C、C 源程序经编译形成的二进制代码可以直接运行

D、C 语言中的函数不可以单独进行编译

135.语句while(!E);中的表达式!E等价于( A )。

A、E==0

B、E!=1

C、E!=0

D、E==1

136. 以下标识符中,不能作为合法的C用户定义标识符的是( A )。

A、putchar

B、_double

C、_123

D、INT

137. 以下说明语句 int a[10]={6,7,8,9,10}; 的正确理解是( B )。

A、将5个初值依次赋给a[1]至a[5]

B、将5个初值依次赋给a[0]至a[4]

C、将5个初值依次赋给a[6]至a[10]

D、因为数组长度与初值的个数不相同,所以此语句不正确

138.一个C程序的执行是从( A )

A) 本程序的main函数开始,到本程序的main函数结束。

B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。

C) 本程序的main函数开始,到本程序文件的最后一个函数结束。

D) 本程序文件的第一个函数开始,到本程序main函数结束。

139.以下叙述正确的是( C )

A) 在C程序中,main函数必须位于程序的最前面。

B) C程序的每一行中只能写一条语句。

C) C语言本身没有输入输出语句。

D) 在对一个C程序进行编译的过程中,可发现在注释中的拼写错误。

140.给出以下定义:

char x[]="abcdefg";
char y[]={'a','b','c','d','e','f','g'};

则正确的叙述为( C )

A)数组X和数组Y属于空数组

B)数组X和数组Y的长度相同.

C)数组X的长度大于数组Y的长度.

D)数组X的长度小于数组Y的长度.

141. 设有程序段

int k=10;
while(k=0)
    k=k-1;

则下面描述中正确的是( C )

A) while循环执行10次。

B) 循环是无限循环。

C) 循环体语句一次也不执行。

D) 循环体语句只执行一次。

142.在C语言中,( B )

A) 函数定义可以嵌套,但函数调用不能嵌套

B) 函数定义不可以嵌套,但函数调用可以嵌套

C) 函数定义和调用均不能嵌套

D) 函数定义和调用均可以嵌套

143. 设变量定义为"int x, *p=&x;",则&*p相当于( A )

A) p

B) *p

C) x

D) *&x

144.以下正确的函数定义形式是( A )

A) float fun (int x,int y)
B) float fun (int x;int y)
C) float fun (int x,int y);
D) float fun (int x,y);

145.对if语句中表达式的类型,下面正确的描述是( D )

A) 必须是关系表达式

B) 必须是关系表达式或逻辑表达式

C) 必须是关系表达式或算术表达式

D) 可以是任意表达式

146.有定义:int a=12;则表达式a+=a-=a*=a的值为( C )

A) 12

B) 144

C) 0

D) 132

147. 以下不能正确进行字符串赋初值的语句是( A )

A)char str[5]= "good!";
B)char str[ ]= "good!";
C)char *str="good!";
D)char str[5]={ 'g','o','o','d'};

148.以下程序段的输出结果是( C )

int a = 1234;
printf("%2d\n",a);

A)12

B)34

C)1234

D)提示错误,无结果

149.若有以下定义:

char a;
int b;
float c;
double d;

则表达式a*b+d-c值的类型为( D )

A) float

B) int

C) char

D) double

150.以下的for循环( B )

for(x=0,y=0;(y!=123)&&(x<4 );x++)

A) 执行3次

B) 执行4次

C) 循环次数不定

D) 是无限循环

151.设有变量定义:int a,b;执行下列语句时,输入( D ),则a和b的值都是10。

scanf("a=%d, b=%d",&a, &b);

A) 10 10

B) 10, 10

C) a=10 b=10

D) a=10, b=10

152.以下叙述中正确的是( D )

A)do-while语句构成的循环不能用其他语句构成的循环来代替

B)do-while语句构成的循环只能用break语句退出

C)用do-while语句构成的循环,在while后的表达式为非零时结束循环

D)用do-while语句构成的循环,在while后的表达式为零时结束循环

153.执行语句:for(i=1;i++<4;)后,变量i的值是( B )

A)3

B)4

C)5

D) 不定

154.以下程序执行后的输出结果是( A )

#include"stdio.h"
main( )
{
    int i;
    for(i=0;i<3 ;i++)
        switch(i)
        {
            case1:printf("%d",i);
            case2:printf("%d",i);
            case3:printf("%d",i);}
}

A)011122

B)012

C)012020

D)120

155.以下所列的C语言常量中,错误的是 B

A) 0xFF

B) 1.2e0.5

C) 2L

D) '\72'

156.下列选项中,合法的C语言关键字是 D

A) VAR

B) cher

C) integer

D) default

157.以下变量x.、y、z均为double类型且已正确赋值,不能正确表示数学式子的C语言表达式是 A

A) x/y*z

B) x*(1/(y*z))

C) x/y*1/z

D) x/y/z

158.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是 C

A) -3

B) 9

C) -12

D) 6

159.设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为 C

A) 不定值

B) 4

C) 3

D) 1

160. 若变量已正确说明为float类型,要通过语句scanf("%f %f %f",&a,&b,&c);给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是: B

A) 10<回车> 22<回车> 33<回车>

B) 10.0,22.0,33.0<回车>

C)10.0<回车> 22.0<回车> 33.0<回车>

D)10 22 33<回车>

161.若执行以下程序时从键盘上输入9,则输出结果是 B

A) 11

B) 10

C) 9

D) 8

main()
{
    int n;
    scanf("%d",&n);
    if(n++<10 ) printf("%d\n",n);
    else printf("%d\n",n--);
}

162.有以下程序段

int k=0
while(k=1)
    k++;

while 循环执行的次数是 A

A) 无限次

B) 有语法错,不能执行

C) 一次也不执行

D) 执行1次

163.以下程序执行后sum的值是 C

A) 15

B) 14

C) 不确定

D)0

min()
{
    int i , sum;
    for(i=1;i<6 ;i++)
        sum+=i;
    printf("%d\n",sum);
}

164.有以下程序段

int x=3
do{
    printf("%d",x-=2);
}while(!(--x));

其输出结果是 C

A) 1

B) 3 0

C) 1 -2

D) 死循环

165.若变量c为char类型,能正确判断出c为小写字母的表达式是 D

A) 'a'< ="c<=" 'z'

B) (c>= 'a')||(c< ="'z')"

C) ('a'< ="c)and" ('z'>=c)

D) (c>= 'a')&&(c< ="'z')"

166.( A )不是C语言的运算符。

A) =>

B) ||

C) ->

D) ==

167.在C语言中,变量所分配的内存空间大小( C )

A) 均为一个字节

B) 由用户自己定义

C) 由变量的类型决定

D) 是任意的

168. 数学关系式x≤y≤z可用C语言的表达式表示为( A )

A) ( x<=y )&&( y<=z )

B) ( x<=y )and( y<=z )

C) ( x<=y<=z )

D) ( ( x<=y )&( y<=z )

169.下面程序段的运行结果是( A )

char c[]={'a','b','\0','c','\0'};
printf("%s\n",c);

A) ab

B) 'a''b'

C) abc

D) ab c

170.若x ,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是: D

A) scanf(" %d%lx,%le",&x,&y,&z);

B) scanf("%2d * %d%lf",&x,&y,&z );

C) scanf("%x %* d%o",&x,&y);

D) scanf("%x%o%6.2f",&x,&y,&z);

171.已有定义int x; f1oat y;且执行scanf("%3d%f",&x,&y);语句,若从第一列开始输入数据12345 678(回车),则x 的值为 B

A) 12345

B) 123

C) 45

D) 345

172.已有定义int x; f1oat y;且执行scanf("%3d%f",&x,&y);语句,若从第一列开始输入数据12345 678(回车),则y 的值为: B

A) 无定值

B) 45.0000

C) 678.000000

D) 123.00000

173.一个C程序的执行是从___A__。

A)本程序的main函数开始,到main函数结束

B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

C)本程序的main函数开始,到本程序文件的最后一个函数结束

D)本程序文件的第一个函数开始,到本程序main函数结束

174.已有程序段和输入数据的形式如下,程序中输入语句的正确形式应当为 D

main()
{
    int a;float f;
    printf("\nInput number:");
    //输入语句
    printf("\nf=%f,a= %d\n ,f,a);
}

Input number: 4.5 2

A )scanf("%d,%f",&a,&f);

B)scanf("%f,%d",&f,&a)

C)scanf("%d%f",&a,&f);

D)scanf("%f%d",&f,&a);

175.以下选项中合法的用户标识符是( D )。

A. int

B. a#

C. 5mem

D. _243

176. 一个C语言程序总是从( B )开始执行。

A.主过程

B. 主函数

C.子程序

D.主程序

177.C 语言规定:在一个源程序中,main()函数的位置( C )。

A.必须在最开始

B.必须在系统调用的库函数的后面

C.可以任意

D.必须在最后

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

A 1

B 2

C 2.0

D 2.5

179.如下程序的运行结果是( D )。

#include<stdio.h>
main()
{
    int y=3,x=3,z=1;
    printf( "%d%d\n",(++x,y++),z+2);
}

A. 3 4

B. 4 2

C. 4 3

D. 3 3

180.以下程序的输出是( D )。

#include<stdio.h>
main()
{
    int k=11;
    printf("%d,%o,%x\n",k,k,k);
}

A.11,12,11

B.11,13,13

C.11,013,0xb

D.11,13,b

181.读下列程序:

#include<stdio.h>
main()
{
    int x,y;
    scanf("%d",&x);
    y=0;
    if( x>=0)
    {
        if( x>0) y=1;
        else y=-1;
    }
    printf( "%d",y );
}

当从键盘输入32时,程序输出结果为( C )。

A. 0

B. -1

C. 1

D. 不确定

182.如下程序的输出结果是( A )。

#include<stdio.h>
main()
{
    int x=1,a=0,b=0;
    switch( x )
    {
        case 0: b++;
        case 1: a++;
        case 2: a++,b++;
    }
    printf( "a=%d,b=%d\n",a,b );
}

A a=2,b=1;

B a=1,b=1;

C a=1,b=0;

D a=2,b=2

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

#include<stdio.h>
main()
{
    int i ,sum;
    for( i=1;i<6 ;i++)
        sum+=sum;
    printf("%d\n",sum);
}

A. 15

B. 14

C. 不确定

D. 0

184.下列选项中,是C语言提供的合法的关键字是( C )。

A. swich

B. cher

C. default

D. Case

185.在C语言中,可以作为用户标识符的一组标识符是( B )。

A. void define WORD

B. as_b3 _224 Else

C. Switch -wer case

D. 4b DO SIG

186.以下不是正确的转义字符的是 ( C )。

A. '\\'

B. '\'

C. '020'

D. '\0'

187.以下叙述正确的是( C )。

A.在C语言中,main() 函数必须位于程序的最前面

B.C程序的每一行只能写一条语句

C.C语言本身没有输入输出语句

D.在对一个C程序进行编译的过程中,可发现注释中的错误

188.不合法的十六进制数是( C )。

A. 0Xff

B. 0X11

C. 0x1g

D. 0Xabc

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

#include<stdio.h>
main()
{
    int c1=1,c2=2,c3;
    c3=1.0/c2*c1;
}

A. 0

B. 0.5

C. 1

D. 2

190.以下不是C语言的特点的是( B )

A、C语言简洁、紧凑

B、能够编制出功能复杂的程序

C、C语言可以直接对硬件进行操作

D、C语言移植性好

191.一个C程序的执行是从( A )

A、main()函数开始,直到main()函数结束

B、第一个函数开始,直到最后一个函数结束

C、第一个语句开始,直到最后一个语句结束

D、main()函数开始,直到最后一个函数结束

192.在C程序中,main()的位置( C )

A、必须作为第一个函数

B、必须作为最后一个函数

C、可以任意

D、必须放在它所调用的函数之后

193.一个C程序是由( B )

A、一个主程序和若干个子程序组成

B、一个或多个函数组成

C、若干过程组成

D、若干子程序组成

194.C语言源程序的基本单位是( B )

A、过程

B、函数

C、子程序

D、标识符

195.编辑程序是( A )

A、建立并修改程序

B、将C源程序编译成目标程序

C、调试程序

D、命令计算机执行指定的操作

196.C编译程序是( C )

A、C程序的机器语言版本

B、一组机器语言指令

C、将C源程序编译成目标程序的程序

D、由制造厂家提供的一套应用软件

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

A、7

B、8

C、6

D、2

198.下面不正确的字符串常量是( A )

A、'abc'

B、"12'12"

C、"0"

D、""

199.下面四个选项中,均是C语言关键字的选项是( B )

A、auto include

B、switch continue

C、signed scanf

D、if type

200.下面四个选项中,均是不合法的用户标识符的选项是( C )

A、A do

B、float 1a0

C、goto int

D、一123 temp

201.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( C )

A、必须为字母

B、必须为下划线

C、必须为字母或下划线

D、可以是字母,数字和下划线中任一种字符

202.下面四个选项中,均是合法整型常量的选项是( A )

A、160 011

B、0xcdf 0xe

C、01 0668

D、0x48a 0x

203.以下不正确的叙述是( D )

A、在C程序中,逗号运算符的优先级最低

B、在C程序中,APH和aph是两个不同的变量

C、若a和b类型相同,在执行了赋值表达式a=b后b中的值将放人a中,而b中的值不变。

D、当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。

204.以下正确的叙述是( D )

A、在C程序中,每行中只能写一条语句

B、若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数

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

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

205.以下符合C语言语法的赋值表达式是( B )

A、d=9+e+f=d+9

B d=9+e,f=d+9

C、d=9+e,e++,d+9

D、d=9+e++=d+7

206.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3';后,c2中的值为( A )

A、D

B、68

C、不确定的值

D、C

207.在C语言中,要求运算数必须是整型的运算符是( D )

A、/

B、++

C、!=

D、%

208.在C语言中,int、char和short种类型数据在内存中所占用的字节数( D )

A、由用户自己定义

B、均为2个字节

C、是任意的

D、由所用机器的机器字长决定

209.以下选项中不合法的标识符是( A )。

A〕&a

B〕FOR

C〕print

D〕_00

210.以下选项中,能用作数据常量的是( A )。

A〕115L

B〕0118

C〕1.5e1.5

D〕o115

211.按照C语言规定的用户表示命名规则,不能出现在标识符中的是( D )。

A〕大写字母

B〕下划线

C〕数字字符

D〕连接符

212.设变量已正确定义并赋值,以下正确的表达式是( A )。

A〕x=y+z+5,++y

B〕int( 15.8%5 )

C〕x=y*5=x+z

D〕x=25%5.0

213.能将高级语言编写的源程序转换为目标程序的是( C )

A) 链接程序

B) 解释程序

C) 编译程序

D) 编辑程序

214.设有定义:int x=2;,以下表达式中,值不为6的是( D )。

A) x*=x+1

B) x++,2*x

C) x*=( 1+x )

D)2*x,x+=2

215.设有如下程序段:

int x=2004,y=2008;
printf("%d\n",(x,y));

则以下叙述中正确的是( B )。

A)输出值为2004

B)输出值为2008

C)运行时产生出错信息

D) 输出语句中格式说明符的个数少于输出项的个数,不能正确输出

216.数字字符0的ASCII值为48,运行以下程序的输出结果是( C )。

main()
{
    char a='1',b='2';
    printf("%c,",b++);
    printf("%d\n",b-a);
}

A) 3,2

B) 50,2

C) 2,2

D) 2,50

217.以下4个选项中,不能看作一条语句的是( D )

A) {;}

B) a=0,b=0,c=0;

C) if (a>0 );

D) if (b==0) m=1;n=2;

218.有以下程序:

main()
{
    int x=102, y=012;
    printf("%2d,%2d\n",x,y);
}

执行后输出结果是( C )。

A)10,01

B)002,12

C)102,10

D)02,10

219.以下是 if 语句的基本形式:if( 表达式 )语句,其中"表达式"( D)。

A) 必须是逻辑表达式

B) 必须是关系表达式

C) 必须是逻辑表达式或关系表达式

D) 可以是任意合法的表达式

220.设有定义:int a=2,b=3,c=4,则以下选项中值为0的表达式是( A )。

A) (!a==1 )&&(b==0)

B) (a

C) a&&b

D) a||( b+b )&&( c-a )

221.若x和y代表整型数,以下表达式中不正确表示数学关系|x-y|<10 的是( c )。

A) abs( x-y )<10

B) x-y>-10 && x-y<10

C) !(x-y)< -10 || !(y-x)>10

D) (x-y)*(x-y)<100

222.若整型变量a、b、c、d中的值依次为:1、4、3、2。则条件表达式a<b?A:c<d?C:d的值是 a

A)1

B)2

C)3

D)4

223.以下程序中的变量已正确定义

#include<stdio.h>
main()
{
    int i,k;
    for(i=0;i<4 ;i++)
        for(k=1;k<3 ;k++)
            printf("*");
}

程序段的输出结果是( A )

A) ********

B) ****

C) **

D) *

224.一个C程序的执行是从 A 。

A、本程序的main函数开始,到main函数结柬

B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

C、本程序的main函数开始,到本程序文件的最后一个函数结束

D、本程序文件的第一个函数开始,到本程序main函数结束

225.以下叙述正确的是 C 。

A、在C程序中main函数必须位于程序的最前面

B、C程序的每行中只能写一条语句

C、C语言本身没有输入输出语句

D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误

226.以下叙述不正确的是 D 。

A、一个C源程序可由一个或多个函数组成

B、一个C源程序必须包含一个main函数

C、C程序的基本组成单位是函数

D、在C程序中,注释说明只能位于一条语句的后面

227.C语言规定:在一个源程序中,main函数的位置 C 。

A、必须在最开始

B、必须在系统调用的库函数的后面

C、可以任意

D、必须在最后

228.一个C程序是由 B 。

A、一个主程序和若干子程序组成

B、函数组成

C、若干过程组成

D、若干子程序组成

229.在C语言中( 以16位PC机为例 ),5种基本数据类型的存储空间长度的排列顺序为 A 。

A、char<int<=long int<=float

B、char=int<long int<float<double

C、char

D、char

230.若x、i、j和k都是int型变量,则计算下面表达式后,x的值为 C 。

x=(i=4,j=16,k=32)

A、4

B、16

C、32

D、52

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

A、7

B、8

C、6

D、2

232.在C语言中,char型数据在内存中的存储形式是 D 。

A、补码

B、反码

C、原码

D、ASCll码

233.设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是 B 。

A、n=(n*100+0.5)/100.0

B、m=n*100+0.5, n=m/100.0

C、n=n*100+0.5/100.0

D、n=(n/100+0.5)/100.0

234.表达式 18/4*sqrt( 4.0 )/8值的数据类型为 C 。

A)、int

B)、float

C)、double

D)、不确定

235.设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为 C 。

A、0~255

B、0~32767

C、0~65535

D、0~2147483647

236.设有说明;char w;int x;float y;double z;则表达式w-x+z-y值的数据类型为 D 。

A、float

B、char

C、int

D、double.

237.若有以下定义,则能使值为3的表达式是 D 。

int k=7,X=12;

A、X%=( k%=5 )

B、X%=( k-k%5 )

C、X%=k-k%5

D、( X%=k )-( k%=5 )

238.putchar函数可以向终端输出一个 D 。

A、整型变量表达式值

B、实型变量值

C、字符串

D、字符或字符型变量值

239.逻辑运算符两侧的的运算对象的数据类型 D 。

A、只能是0或1

B、只能是0或非0正数

C、只能是整型或是字符型数据

D、可以是任意类型数据

240.下列运算符中优先级最高的是 B 。

A、<

b、+

c、&&

d、!=

241.能正确表示"当x取值在[1,10]和[200,210]范围内为真,否则为假"的表达式是B。

A、(x>=1)&&(x< ="10)&&(x">=200)&&(x< ="210)

B、(x>=1)&&(x< ="10)||(x">=200)&&(x< ="210)

C、(x>=1)||(x< ="10)||(x">=200)||(x< ="210)

D、(x>=1)&&(x< ="10)||(x">=200)||(x< ="210)

242.判断char型变量CH是否为大写字母的正确表达式 C 。

A、'A'< ="CH<='Z'"

B、(ch>='A')&(CH< ="'Z')

C、(CH>='A')&&(CH< ="'Z')"

D、('a'<="CH)AND('Z'">=CH)

243.设x,y和z是int变量,且x=3,y=4,z=5,则下面表达式中值为0的是 D 。

A、'x'&&'y'

B、x< ="y

C、x||y+z&&y-z

D、!((x

244.已知x=43,ch='A',y=0;则表达式(x>=y&&ch< 'b'&&!y)的值是 C 。

A、0

B、语法错

C、1 `

D、"假"

245.执行以下语句后a,b的值分别为 C 。

int a,b,c;
a=b=c=1;
++a||++b&&++c;

A、2,2

B、1,1

C、2,1

D、1,2

246.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值分别是 B 。

if(x>y)
z=x;x=y;y=z;

A、x=10,y=20,z=30

B、x=20,y=30,z=30

C、x=20,y=30,z=10

D、x=20,y=30,z=20

247.当a=1,b=3,c=5,d=4时。执行完下面一段程序后x的值是 B 。

if(a<b)
    if(c<d) x=1;
    else
       if(a<c)
           if(b<d) x=2;
           else x=3;
       else x=6;
else x=7;

A、1

B、2

C、3

D、6

248.以下程序的运行结果是 D 。

main()
{
    int k=4,a=3,b=2,c=1;
    printf("\n%d\n",k<a?k:c<b?C、a);
}

A、4

B、3

C、2

D、1

249.执行以下程序后,变量a,b,c的值分别为 B 。

int x=10,y=9;
int a,b,c;
a=(--x==y++)?--x:++y;
b=x++;
c=y;

A、a=9,b=9,c=9

B、a=8,b=8,c=10

C、a=9,b=10,c=9

D、a =1,b=11,c=10

250.设有程序段

int k=10;
while(k=0) 
    k=k-1;

则下面描述中正确的是 C 。

A、while循环10次

B、循环是无限循环

C、循环体一次也不执行

D、循环体只执行一次

251.语句while(!E);中的表达式!E等价于 A 。

A、E==0

B、E!1

C、E!=0

D、E==1

252.下面程序段的运行结果是 C 。

int n=0;
while(n++<=2);
printf("%d",n);

A、2

B、3

C、4

D、有语法错误

253.下面程序段的运行结果是 D 。

x=y=0;
while(x<15 ) 
    y++,x+=++y;
printf("%d,%d",y,x);

A、20,7

B、6,12

C、20,8

D、8,20

254.以下叙述不正确的是( D )

A、一个C源程序可由一个或多个函数组成

B、一个C源程序必须包含一个main函数

C、C程序的基本组成单位是函数

D、在C程序中,注释说明只能位于一条语句的后面

255.C语言中的简单数据类型有( C )

A、整型、实型、逻辑型

B、整型、字符型、逻辑型

C、整型、实型、字符型

D、整型、实型、字符型、逻辑型

256.设有语句int a=4;则执行了语句a+=a-=a*a;后,变量a的值是( A )

A、-24

B、0

C、4

D、16

257.x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是( B )

A、INPUT x、y、z;

B、scanf("%d%d%d",&x,&y,&z);

C、scanf("%d%d%d",x,y,z);

D、read("%d%d%d",&x,&y,&z);

258.假定从键盘输入23456<回车>,下面程序的输出结果是:( C )

void main ( )
{
    int m,n;
    scanf("%2d%3d",&m,&n);
    printf("m=%d n=%d\n",m,n);
}

A、m=23 n=45

B、m=234 n=56

C、m=23 n=456

D、语句有错误

259.若运行时,给变量x输入12,则以下程序的运行结果是( A )

main()
{
    int x,y;
    scanf("%d",&x);
    y=x>12?x+10:x-12;
    printf("%d\n",y);
}

A、0

B、22

C、12

D、10

260.C语言中while和do-while循环的主要区别( A )

A、do-while的循环体至少执行一次

B、while的循环控制条件比do-while的循环控制条件严格

C、do-while允许从外部转到循环体内

D、do-while的循环体不能是复合语句

261.以下对二维数组的正确说明的语句是( C )

A、int a[3][] 
B、float a(3,4) 
C、double a[3][4] 
D、float a(3)(4)

262.以下程序的输出结果是( C )

main()
{
    int i,x[3][3]={1,2,3,4,5,6,7,8,9};
    for(i=0;i<3 ;i++)
        printf("%d",x[i][2-i]);
}

A、1,5,9

B、1,4,7

C、3,5,7

D、3,6,9

263.以下能对一维数组a进行正确初始化的语句是( C )

A、int a[10]=(0,0,0,0,0); 
B、int a(10)={};
C、int a[10]={0}; 
D、int a[10]={10 *1};

264.以下程序执行后的输出结果是:( A )

int fun( int a,int b,int c)
{
    a=456;b=567;c=678;
}
void main( )
{
    int x=10,y=20,z=30;
    z=fun(x,y,z);
    printf("%d,%d,%d\n",z,y,x);
}

A、30,20,10

B、10,20,30

C、10,30,50

D、10,30,40

265.以下说法正确的是( A )

如果在一个函数中的复合语句中定义了一个变量,则该变量

A、只在该复合语句中有效

B、在该函数中有效

C、在本程序范围内有效

D、为非法变量

266.以下函数调用语句中含有的实参个数为( B )

func((exp1,exp2,exp3),(exp4,exp5));

A、1

B、2

C、4

D、5

267.在C语言程序中,以下说法正确的是( B )。

A、函数的定义可以嵌套,但函数的调用不可以嵌套

B、函数的定义不可以嵌套,但函数的调用可以嵌套

C、函数的定义和函数的调用都不可以嵌套

D、函数的定义和函数的调用都可以嵌套

268.请读程序

long fun5(int n)
{
    long s;
    if((n==1)||(n==2))
        s=2;
    else
        s=n+fun5(n-1);
    return (s);
}
main( )
{
    long x;
    x=fun5(4);
    printf("%ld\n",x);
}

上面的程序的运行结果是( A )

A、9

B、10

C、12

D、18

269.若有下面的变量定义,以下语句中合法的是( A )。

int i, a[10], *p;

A、p=a+2;

B、p=a[5];

C、p=a[2]+2;

D、p=&(i+2);

二、判断题

1. C语言程序中变量名不能用大写。 ( х )

2. C语言程序一定要有main()函数。 ( √ )

3. C语言程序不区分大小写。 ( х)

4. 程序设计的三种基本结构是顺序结构、选择结构、循环结构。( √ )

5. 执行语句++i; i=3;后变量i的值为4。( х )

6. 将C程序编译成目标文件,其扩展名为.obj。( √ )

7. if(表达式)语句1; else 语句2; 结构中,如表达式为a>10,则else的条件隐含为a<10。( х )

8. switch…case结构中case后的表达式必须为常量表达式。( √ )

9. 逻辑运算符的运算优先级低于算术运算符的运算优先级。( х )// !

10. do…while语句的循环体至少执行1次,while和for循环的循环体可能一次也执行不到。(√)

11. C语言中,do-while语句构成的循环只能用break语句退出。( х )// return, false

12. C 语言标准输入操作中 ,gets() 函数一次只可读取一个字符( х )

13. 从语法角度看,for( 表达式1;表达式2;表达式3 )语句中的3个表达式均可省略。(√)

14. C 语言标准输出操作中 ,putchar() 函数可以输出显示一个字符串。( √ )

15. double 型变量在内存中占的字节数比 int 型变量在内存中占的字节数多。( √ )

16. C语言的三种循环不可以互相嵌套。( х )

17. 函数的实参传递到形参有两种方式值传递和地址传递( √ )

18. 表达式语句和表达式没有什么区别。( х )// ;

19. 函数可以嵌套定义,也可以嵌套调用。( х )

20. 实参向形参进行数值传递时,数值传递的方向时单向的,即形参变量值的改变不影响实参变量的值。( √ )

21.在if语句中,else前一个语句可不加";"。( х )

22.在标准C中,逻辑表达式中只允许出现逻辑型数据。( х )// 任意表达式

23.在if……else……语句中,配对规则是else总是与最近的未配对的if配对。( √ )

24.在标准C中,所有的if……else……语句都可以用条件语句替换。( х )

25.在switch语句中,case后可不加"{}"。( √ )

26.在标准C中,while和do_while的功能完全相同。( х )

27.在标准C中,while后表达式只能是逻辑或关系表达式。( х )

28.在标准C中,for语句后的三个表达式必须都出现。( х )

29.在标准C中,for语句后的三个表达式是按其先后次序执行的。( х )

30.在标准C中,for语句后的三个表达式可以是任意类型的表达式。( х )

31.在C语言中操作系统是以文件为单位对数据进行管理的。( √ )

32.二进制文件与ASCII文件相比要占用较多的存储空间。( х )

33.在C语言中,以"r"方式不能打开并不存在的文件。( √ )

34.在使用函数fgetc时,文件可以"w"的方式打开。( х )

35.在C语言中处理文件时文本文件和二进制文件都可采用EOF作为判断文件是否读写结束。( х )

36.表达式"3&5"的值为1。( √ )

37.表达式"a^00001111"的作用是将a的低四位取反,高四位不变。( √ )

38.在C语言中,在交换两个数必须使用中间变量。( х )

39.在C语言中使用位段时,一个位段可以在不同的存储单元中。( х )

40.在C语言中,数组中元素的类型只要相同就可以,也就是说数组元素的类型可以是结构体、共用体和位段。( х )

41.在C语言中,定义结构体变量时可以省略关健字struct。( х )

42.结构体变量在内存中所占的字节数是由其各个成员所占字节的总和。( √ )

43.在C语言中,可以直接引用整个结构体变量,而不需要引用其各成员。( х )

44.在标准C语言中,以结构体变量作实参是将变量的首地址传递给形参。( х )

45.在标准C语言中,链表和数组一样是一种静态数据类型。( х )

46.在标准C语言中,共用体变量中的各成员是共同占用一块存储空间。( √ )

47.在标准C语言中,共用体变量中的各成员的首地址是不一样的。( х )

48.在标准C语言中,函数的参数可以是任意类型的数据包括结构体和共用体。( х )

49.在标准C语言中,枚举元素作为常量,它们是有确定的值的,它们的值按顺序从0开始依次增加且不可以改变。( х )

50.在标准C语言中,可以用typedef定义类型,所以用typedef可以增加C语言的数据类型。( х )

51.预处理命令的前面必须加一个"#"号。( √ )

52.标准格式输入函数scanf()可以从键盘上接收不同数据类型的数据项。( √ )

53.continue 不是结束本次循环,而是终止整个循环的执行。( × )

54.在对数组全部元素赋初值时,不可以省略行数,但能省略列数。( × )

55.浮点型常量的指数表示中 ,e 是可以省略的。( × )

56.在switch语句中,每一个的case常量表达式的值可以相同。( × )

57.case语句后如没有break,顺序向下执行。( √ )

58.do-while循环至少要执行一次循环语句。( √ )

59.条件运算符?和:是一对运算符,不能分开单独使用。( √ )

60.break 则是结束整个循环过程,不再判断执行循环的条件是否成立。( √ )

61.if(a=5) 是允许的。( √ )

62.do-while语句先执行循环中的语句,然后再判断表达式是否为真, 如果为真则继续循环;如果为假, 则终止循环。( √ )

63.for循环的三个表达式可以任意省略,while,do-while也是如此。( × )

64.C 语言标准输入操作中 ,gets() 函数一次只可读取一个字符。( × )

65.C语言中,字符数据用格式说明"%c"来输出,字符串数据用格式说明"%s"来输出。( √ )

66.由i=-1;while(i<10){i+=2;i++;}可知此while循环的循环体执行次数为6次。( √ )

67.在C语言中,字母的大小写不被区分。( × )

68.C语言规定,else总是与它上面、最近的、尚未配对的if配对。( √ )

69.仅仅对存放字符串的数组才可以一次引用整个数组,其余均不能一次引用整个数组。( √ )

70.若有定义:int a[2]={1,3};要输出数组中全部元素可用语句printf("%d ",a); 。(×)

71.C语言本身没有输入输出语句,输入输出操作是由函数来实现的。 (√)

72.在C语言中,"="用作赋值运算符。 (√)

73.在C语言中,"=="用作关系运算符"等于"。 (√)

74.若有变量定义:int a;可有scanf("%d",a);语句。 (×)

75.在C语言中,数组名是一个地址常量,不能对其进行赋值操作。 (√)

76.do-while语句构成的循环结构的循环体最少执行次数为1次。 (√)

77.一个C源程序中至少应包括一个主函数。 (√)

78.结构化程序设计所规定的三种基本控制结构是顺序结构、循环结构和分支结构。 (√)

79.C语言中,double型变量得长度为4个字节。 (×)

80.在C语言中,二维数组元素在内存中的存放顺序是按列顺序存放。(×)

81.整型变量m的值为27,语句printf("%x\n", m);的输出为1b。 (√)

82.C语言编写的每个函数都可以进行独立的编译并执行。 (×)

83.C语言编写的函数源程序,其文件名后缀可以是.C。 (√)

84.所谓常量,是指在程序运行过程中,其值不能被改变的量。 (√)

85.putchar函数可以向终端输出一个字符串。 (×)

86.在C语言中,引用数组元素时,其数组下标的数据类型允许是整型常量或整型表达式。 (√)

87.C语言中的标识符只能由字母、数字、下划线三种字符组成。 (√)

88.在循环结构的几种形式中,至少执行一次的结构是while语句。 (×)

89.C语言源程序的基本单位是语句。 (×) // 函数

90. C程序中有调用关系的所有函数必须放在同一个源程序文件中。( × )

91.转义字符只能表示字符不能表示数字。( × )

92.在命名标识符中,大小写字母是不加以区分的。( × )

93.在文件包含的预处理命令中,文件名用双引号""或尖括号<>括起来,作用相同。( × )

94.for循环是只有可以确定的循环次数时才可使用,否则不能用for循环。( × )。

95.C语言中,字符数据用格式说明"%c"来输出,字符串数据用格式说明"%s"来输出( ∨ )

96.C语言中,不能在变量名、函数名、关键字中插入空格和空行。( ∨ )

97.C语言中,格式说明"%10.4f"中10表示数据输出的最小宽度,4表示小数位数。( ∨ )

98.C语言的书写格式比较自由,一行内可写一个语句,也可以写多个语句。( ∨ )

99.switch…case结构中case后的表达式必须为常量表达式。( ∨ )

100.表达式6/2的值为3.0。(× )

101.若定义:int a[2]={1,3};输出数组中全部元素可用语句printf("%d%d",a);( × )

102.contiue语句只结束本次循环而break语句则是结束整个循环过程。 (∨ )

103.C语言本身没有输入输出语句,输入输出操作是由函数来实现的。 (∨ )

104.在C语言中,"="用作赋值运算符。 (∨ )

105.在C语言中,"=="用作关系运算符"等于"。 (∨ )

106.可以用switch结构实现的程序都可以用iF语句来实现( ∨ )

107.若有字符数组定义:char str[10];可有str="Hel";赋值语句。 ( × )

108.若有字符数组定义:char str[10];可有scanf("%s",&str);语句。 (× )

109.若有变量定义:int a;可有scanf("%d",a);语句。 (× )

110.在C语言中,将语句if(x==5);写成if(x=5);将导致编译错误。( × )

111.C的double类型数据可以表示任何实数。( × )

112.若表达式sizeof(int)的值为4,则int类型数据可以表示的最大数为2^31-1( × )

113.在所有关系运算符中,其优先级最低的是"==和!="。( √ )

114.在标准C中,"="是判断两个数是否相等。( × )

115.执行"for(i=1;i<10 ;i+=2) s+=i;后,i的当前值为11。( × )

116.在if……else……语句中,配对规则是else总是与最近的未配对的if配对。( √ )

117.在标准C中,在使用函数scanf输入数据时必须同函数中输入格式一致。( √ )

118.在标准C中,所有关系运算符的优先级都相同。( × )

119.C语言程序的三种基本结构是顺序结构、选择结构和循环结构。( √ )

120."%"运算两侧的数据可以是任意类型的数据。( × )

121.表达式"3.6%2"符合C语言语法。( × )

122.在C程序中,用整数0表示逻辑"假"。( √ )

123.08是正确的整型常量。( × )

124.设有变量定义char s[]="hello",则数组中有6个元素。( × )

125.若x是单精度实型变量,表达式( x=10/4 )的值是2.5。( × )

126.若有正确变量定义,表达式x=y=1符合c语言语法。( √ )

127.表达式!(x>0||y>0 )等价于!(x>0)&&!(y>0) .( √)

128.表达式(0x19<<1)&0x7 )的值是3。( × )

129.一个C语句可以从其中的任意位置分行书写 ×

130.不同C编译系统中同一类型的变量可表达的值范围相同 ×

131.二元运算符均可以和赋值运算符构成复合的赋值运算符 √

132.逗号表达式的值是第一个表达式的值 ×

133.执行语句++i ; i=3;后变量i的值为4 ×

134.使用(int)a;将float型变量a强制转换成int型,以后a的数据类型为float型 ×

135.Vasual c++6.0中可以使用"//"和"/* */"注释程序,注释部分不编译 √

136.所有关系运算符的运算优先级相同 ×

137.逻辑运算符的运算优先级低于算术运算符的运算优先级 ×

138.语句int a=2;if(a=3) b=1;执行后b的值是1 √

139.由float x=3e-6,y=3e-6;可得x==y的逻辑值为真 √

140.执行a=0;if(0);a=3;后a的值为3 √

141.if(表达式)语句1; else 语句2; 结构中,如表达式为a>10,则else的条件隐含为a<10 ×

142.switch…case结构中case后的表达式必须为常量表达式 √

143.switch…case结构中条件表达式和常量表达式值可以为float类型 ×

144.switch语句的结束发生在break;语句的执行或者switch语句的"}" √

145.可以用swicth结构实现的程序都可以使用if语句来实现 √

146.从语法角度看,for(表达式1;表达式2;表达式3)语句中的3个表达式均可省略 √

147. for、while和do while循环结构的循环体均为紧接其后的第一个语句( 含复合语句 )√

148.由i=-1;while(i<10){i+=2;i++;}" 可知此while循环的循环体执行次数为6次 √

149.若有定义:char a[]="china";则Turbo C为数组s开辟6个字节的内存单元。 ( √ )

150.表达式6/2的值为3.0 。 ( ×)

若定义:char str[10],*cp;

151.str="Hello! "; (× )

152.cp="Hello! "; ( √ )

若定义:

struct student
{
    int num;
    char name[20];
}stu1;

153.stu1=10; ( × )

154.student.num=10; ( × )

155.通过retrun语句,函数可以带回一个或一个以上的返回值。 (× )

156.若定义:int (*p)[5]; p为指向含5个元素的一维数组的指针变量。 (√ )

157.contiue语句只结束本次循环而break语句则是结束整个循环过程。 (√ )

158.若有宏定义:#define S(a,b) t=a;a=b;b=t;由于变量t未定义,所以此宏定义是错误的。(×)

159.C语言中,字符数据用格式说明"%c"来输出,字符串数据用格式说明"%s"来输出。√

160.C语言中,关键字及编译预处理命令用小写字母书写。√

161.二元运算符均可以和赋值运算符构成复合的赋值运算符。√

162.C语言中,不能在变量名、函数名、关键字中插入空格和空行。√

163.C语言中,格式说明"%10.4f"中10表示数据输出的最小宽度,4表示小数位数。√

164.if(表达式)语句1; else 语句2; 结构中,如表达式为a>10,则else的条件隐含为a<10 。×

165.C语言规定,else总是与它上面、最近的、尚未配对的if配对。√

166.switch…case结构中case后的表达式必须为常量表达式。√

167.可以用swicth结构实现的程序都可以使用if语句来实现。√

168.switch…case结构中条件表达式和常量表达式值可以为float类型。×

169.由i=-1;while( i<10){i+=2;i++;}可知此while循环的循环体执行次数为6次。√

170.在循环外的语句不受循环的控制,在循环内的语句也不受循环的控制。×

171.do…while语句的循环体至少执行1次,while和for循环的循环体可能一次也执行不到。√

172.C语言中, gets()函数的返回值是用于存放输入字符串的字符数组首地址 。 ×

173.for循环、while循环和do while循环结构之间可以相互转化。√

174.仅仅对存放字符串的数组才可以一次引用整个数组,其余均不能一次引用整个数组。 √

175.使用字符串处理函数strcmp需要包含头文件string.h。 √

176.C语言中,字符串以'\0'为结束标志。√

177.数组名代表该数组的首地址。 √

178.C语言中,用格式符"%s"输入字符数组时,数组名前不能加&。 √

179.在程序中语句之间必须用";"隔开。( √ )

180.在程序中所有的变量必须先定义后使用。( √ )

181.若a和b是同类型变量,在执行了赋值语句a=b;后b中的值将放入a中,b的值将丢失。( × )

182.执行语句++i,i=3后,i的值变为4 。( × )

183.C程序中的"="是赋值符号,和数学中的等号作用相同。( × )

184.C语言中,字符数据用格式说明"%c"来输出,字符串数据用格式说明"%s"来输出。( √ )

185.C程序的书写格式比较自由,一行内可写一个语句,也可以写多个语句( √ )

186.if(表达式)语句1; else 语句2; 结构中,如表达式为a>10,则else的条件隐含为a<10。( × )

187.switch…case结构中case后的表达式必须为常量表达式。( √ )

188.do…while语句的循环体至少执行1次,while和for循环的循环体可能一次也执行不到。( √ )

189.Vasual c++6.0中可以使用"//"和 "/* */"注释程序,注释部分不编译。( √ )

190.C语言中,强制类型转换后,原变量的值和数据类型不变。( √ )

191.C语言规定,else总是与它上面、最近的、尚未配对的if配对。( √ )

192.函数的实参传递到形参有两种方式值传递和地址传递( √ )

193.在一个函数内部调用另一个函数的调用方式称为嵌套调用( √ )

194.double 型变量在内存中占的字节数比int 型变量在内存中占的字节数多。( √ )

195.C 语言具有简洁明了的特点。 √

196.预处理命令的前面必须加一个"#"号。 √

197.标准格式输入函数scanf()可以从键盘上接收不同数据类型的数据项。 √

198.在if语句的三种形式中,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{}括起来组成一个复合语句。√

199.continue 不是结束本次循环,而是终止整个循环的执行。×

200.在对数组全部元素赋初值时,不可以省略行数,但能省略列数。×

201.do-while循环至少要执行一次循环语句。√

202.直接访问就是直接利用变量的地址进行存取直接访问。√

203.C 语言标准输入操作中 ,gets() 函数一次只可读取一个字符。×

204.在C语言中,逗号既可以作为运算符,也可以作为分隔符。√

205.C 语言标准格式输入函数 scanf() 的参数表中要使用变量的地址值。√

206.浮点型常量的指数表示中 ,e 是可以省略的。×

207.任何表达式语句都是表达式加分号组成的。√

208.在switch语句中,每一个的case常量表达式的值可以相同。×

209.do-while循环的while后的分号可以省略。×

210.用字符串方式赋值比用字符逐个赋值要多占一个字节,用于存放字符串结束标志'\0'。√

211.C语言的书写格式不会影响程序的可读性。×

212.条件表达式不能取代一般if的语句。×

213.break 则是结束整个循环过程,不再判断执行循环的条件是否成立。√

214.C 语言是一种具有某些低级语言特征的高级语言。√

215.C语言源程序经编译后生成后缀为"obj"的目标程序。( √ )

216.C语言中的每条可执行语句和非执行语句最终都将被转化成二进制的机器指令。( √ )

217.C语言的源程序不必经过编译就可以直接运行。( × )

218.用C语言编写的程序可以没有输入,但必须要有输出。( √ )

219.C语言必须以分号结束。( √ )

220.复合语句在语法上被看作一条语句。( √ )

221.在C语言中,整数可以以十二进制、八进制或十六进制的形式输出。( × )

222.调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码。( × )

223.结构化程序由顺序、分支、循环三种基本结构组成。( √ )

224.在switch语句中必须使用default。( × )

225.break语句只能用于switch语句。( × )

226.用户所定义的标识符允许使用关键字。( × )

227.用户所定义的标识符中,大小写字母代表不同标识。( √ )

228.C语言规定必须用main作为主函数名,程序从此开始执行,在此结束。( √ )

229.条件运算符的运算优先级低于关系运算符和算术运算符,但高于赋值符。( √ )

230.赋值表达式末尾加分号就构成赋值语句。( √ )

231.空语句出现在任何位置都不会影响程序运行。( × )

232.字符常量只能是单个字符,字符串常量则可以含一个或多个字符。( √ )

233.break和continue语句的功能是改变程序结构,使程序从其所在位置转向另一处。( √ )

234.在C语言中,循环结构可以嵌套。 (√)

235.C语言是一种结构化程序设计语言。( √ )

236.C语言允许直接访问物理地址。( √ )

237.一个算法应该具备有穷性、确定性、输入、输出和有效性。( √ )

238.常量是在整个程序运行过程中不能改变的量。( √ )

239."A"是一个字符常量。( × )

240.标准C中并没有提供定义常量的方法。( √ )

241.在程序运行过程中其值可以改变的量称为变量。( √ )

242.在标准C中并不区分英文字符的大小写。( × )

243.在标准C中,数据在内存中是以二进制形式表示的。( √ )

244.在标准C中,变量可以先使用再定义。( × )

245.在标准C中,整型变量与字符变量是可以通用的。( √ )

246."%"运算两侧的数据可以是任意类型的数据。( × )

247.在求C语言的表达式时,只需考虑运算符的优先级。( × )// 结合性、求值顺序

248.在标准C中,参与运算的数据类型必须完全一致。( × )

249."++"运算符的优先级比"+"运算符的优先低。( × )

250.逗号运算符的求值顺序是从左到右的,逗号表达式的值为第一个表达式的值。( × )

251.在标准C中,语句是用来完成一定的操作的,故声明部份不是语句。( √ )

252.一个C程序可以有若干个C源程序组成,而C源程序可以由若干个函数和预处理组成。( √ )

253.在标准C中,语句必须以";"结束。( √ )

254.在标准C中,变量定义一定要出现在函数开始部分。( × )

255.在标准C中,"="是判断两个数是否相等。( × )

256.在标准C中,赋值表达式可以出现在表达式的任何位置。( √ )

257.C语言本身并不提供输入输出语句。但可以通过输入输出函数来实现数据的输入输出。( √ )

258.在标准C中,使用所有输入输出函数必须包含"stdio.h"文件。( × )// string.h gets()

259.在标准C中,在函数printf格式说明部分的字符都是以转义字符处理。( × )

260.在标准C中,以"%f"形式输出的所有数字都是有效数字。( × )

261.在C语言中输入数据时可以指定数据的精度。( × )

262.在标准C中,在使用函数scanf输入数据时必须同函数中输入格式一致。( √ )

263.在标准C中,没有逻辑型数据,故不能使用逻辑表达式。( × )

264.在标准C中,所有关系运算符的优先级都相同。( × )

265.在一个源程序中,main()函数的位置可以任意。√

266.C语言中定义了一个变量,该变量代表内存中的一个单元。×

267.当输入数值时,对于整型变量只能输入整型值,对于实型变量只能输入实型值。×

268.若有定义:char C='\010';则C中包含的字符个数为3。×

269.C语言运算符可分为:单目运算符、双目运算符、三目运算符。√

270.变量和表达式都可以使用自增运算符( ++ )和自减运算符(--)。×

271.在用"%C"格式输入字符时,空格字符和转移字符都作为有效字符输入。√

272.复合语句在语法上被认为一条语句。√

273.已知char a;int b;float c;double d;,则表达式a*b+c-d结果为float型。×

274.语句printf("%d",(a=2)&&(b=-2));的输出结果是0。×

275.表示关系X<Y<Z的C语言表达式为( X<=Y<=Z )。×

276.break语句只能用于switch语句中。×

277.为了避免在嵌套的条件语句if …else中产生二义性,C语言规定:else子句总是与其之前最近的if匹配。√

278.运算符优先顺序:赋值运算符<逻辑与运算符<关系运算符<算术运算符。√

279.do是C语言的关键字,必须和while联合使用,不能独立出现。√

280.在C语言中,调用函数时,只能把实参的值传送给形参,形参的值不能传给实参。√

281.C语言规定:外部变量说明与外部变量定义是一回事。×

282.数组元素可以作为函数的实参,按照单向值传递的方式进行传递。√

283.指针变量中只能存放地址,将一个整型变量赋值给一个指针变量。×

ref http://jsjx.llu.edu.cn/info/1538/2829.htm

本页共2351段,71627个字符,107405 Byte(字节)