一、选择题
1.结构化程序设计的3种结构是(D)
A)顺序结构、选择结构、转移结构
B)分支结构、等价结构、循环结构
C)多分支结构、赋值结构、等价结构
D)顺序结构、选择结构、循环结构
2.以下叙述中正确的是(C)
A)C语言比其他语言高级
B)C语言可以不用编译就能被计算机识别执行
C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式
D)C语言出现的最晚,具有其他语言的一切优点
3.C语言中用于结构化程序设计的3种基本结构是(A)
A)顺序结构、选择结构、循环结构
B)if,switch,break
C)for,while,do-while
D)if,for,continue
4.C语言中最简单的数据类型包括(B)
A)整型、实型、逻辑型
B)整型、实型、字符型
C)整型、字符型、逻辑型
D)字符型、实型、逻辑型
5.若变量已正确定义并赋值,以下符合C语言语法的表达式是(B)
A)a:=b+1
B)a=b=c+2
C)int 18.5%3
D)a=a+7=c+b
6.下列可用于C语言用户标识符的一组是(B)
A)void, define, WORD
B)a3_b3, _123,Car
C)For, -abc, IF Case
D)2a, DO, sizeof
7.C语言中运算对象必须是整型的运算符是(A)
A)%=
B)/
C)=
D)<=
8.若变量a,i已正确定义,且i已正确赋值,合法的语句是(B)
A)a= =1
B)++i;
C)a=a++=5;
D)a=int(i);
9.已知
int t=0;
while (t=1)
{...}
则以下叙述正确的是(B)
A)循环控制表达式的值为0
B)循环控制表达式的值为1
C)循环控制表达式不合法
D)以上说法都不对
10.若变量已正确说明为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<回车>
11.有如下程序:
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)a=2,b=1
B)a=1,b=1
C)a=1,b=0
D)a=2,b=2
12.有以下程序
main()
{
    int i=1,j=1,k=2;
    if((j++||k++)&&i++)
        printf("%d,%d,%d\n",i,j,k);
}
执行后输出结果是(C)
A)1,1,2
B)2,2,1
C)2,2,2
D)2,2,3
13.
有如下程序
main()
{
    float x=2.0,y;
    if(x<0.0)y=0.0;
    else if(x<10.0)y=1.0/x;
    else y=1.0;
    printf("%f\n",y);
}
该程序的输出结果是(C)
A)0.000000
B)0.250000
C)0.500000
D)1.000000
14.有如下程序:
main()
{
    int n=9;
    while(n>6)
    {
        n--;
        printf("%d",n);
    }
}
该程序的输出结果是(B)
A)987
B)876
C)8765
D)9876
15.在下列选项中,没有构成死循环的是(D)
A)    int i=100;
    while(1)
    {
        i=i 0+1;
        if(i>100)break;
    }
B)    for(;;);
C)    int k=10000;
    do{
        k++;
    }while(k>10000);
D)    int s=36;
    while(s)--s;
16.设int x=1,y=1;表达式(!x||y--)的值是(B)
A)0
B)1
C)2
D)-1
17.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是(D)
A)函数调用可以作为独立的语句存在
B)函数调用可以作为一个函数的实参
C)函数调用可以出现在表达式中
D)函数调用可以作为一个函数的形参
18.有以下程序
float fun(int x,int y)
{
    return(x+y);
}
main()
{
    int a=2,b=5,c=8;
    printf("%3.0f\n",fun((int)fun(a+c,b),a-c));
}
程序运行后的输出结果是(B)
A)编译出错
B)9
C)21
D)9.0
19.若有以下调用语句,则不正确的fun函数的首部是(D)
main()
{
    int a[50],n;
    …
    fun(n,&a[9]);
    …
}
A)void fun(int m,int x[])
B)void fun(int s,int h[41])
C)void fun(int p,int *s)
D)void fun(int n,int a)
20.fseek函数的正确调用形式是(B)
A)fseek(文件指针,起始点,位移量)
B)fseek(文件指针,位移量,起始点)
C)fseek(位移量,起始点,文件指针)
D)fseek(起始点,位移量,文件指针)float型
21.若fp是指向某文件的指针,且已读到文件末尾,则函数feof(fp)的返回值是(C)
A)EOF
B)-1
C)1
D)NULL
22.若有说明语句:char c='\72';则变量c (A)
A)包含1个字符
B)包含2个字符
C)包含3个字符
D)说明不合法,c的值不确定
23.若有说明 int a[3][4];则a数组元素的非法引用是(D)
A)a[0][2*1]
B)a[1][3]
C)a[4-2][0]
D)a[0][4]
24.设有以下说明语句
struct stu
{
    int a;
    float b;
}stutype;
则下面的叙述不正确的是(C)
A)struct是结构体类型的关键字
B)struct stu是用户定义的结构体类型
C)stutype是用户定义的结构体类型名