一、单项选择题(每题2分,共30分)
1.以下描述正确的是(    C    )
Agoto语句只能用于退缩出多层循环。
Bswitch语句中不能出现continue语句。
C.只能用continue语句中来终止本次循环。
D.在循环语句中break语句不独立出现。
2.一个C程序的执行是从(  A  )
A.C程序的main函数开始,到main函数结束。
B.本程序的第一个函数开始,到本程序最后一个函数结束。
C.本程序的main函数开始,到本程序文件的最后一个函数结束。
`D.本程序的第一个函数开始,到本程序main函数结束。
3.C语言中,要求运算数必须都是整数的运算符是()。
A.*          B.-        C.%        D.+
4.假定 int i=3,j=4; 执行语句: printf("%d,%d,%d\n",i+++j,i,j); 之后,其输出结果为:( C
  A.7,4,4      B. 8,4,4      C. 7,3,4      D.7,3,5
5.break语句的正确描述。(   A   
    Abreak语句在while语句中,立即终止执行while语句。
    Bbreak语句不能用于循环语句之外的语句。
Cbreak语句与continue语句功能相同。
Dbreak语句可以带参数,也可以不带。
6.在C语言中,下面那一个不是正确的概念(  A    )
A. 所有循环语句都要求至少要执行一次循环体。
B. goto和if语句能构成循环语句。
C.循环过程只能包含,不能交叉。
D.循环体可以是一条语句。
7.以下对二维数组a的正确说明是(  C  )
. int a[ 3 ] [  ];          B. float a( 3, 4);   
C. int a[ 3 ] [ 4 ]            D.float a( 3, )( 4 );
8.对函数的正确描述(    C   
    A.在C语言中可以嵌套定义函数。
    B.自定义函数和调用函数可以不在一个源文件中。
    C 函数定义都是平行的,独立的。
    D 不能嵌套调用函数。
9.若用数组名作为函数调用的实参,传给形参的是(    A   
A.数组的首地址                B.数组的第一个元素值
C.数组的全部元素值            D数组中元素的个数
10.对于 int *p; int a[]; p=a; 的合法运算(    C      )
    A a++;
    B p=a; p++; 相当于 a++;
    C ++p; 相当于 a[1];
    D p中的地址为100p++; 运算后,则其值为100
11.假设 int x[] = {1,3,5,7,9,11}, *ptr; ptr = x; 以下那些是对数组元素的正确引用 (    D    )
A *(ptr--)        B x[6]        C *(--ptr)        D *(ptr++)
12.执行以下语句后的结果为(  A  )
    enum weekday {sun,mon=3,tue,wed,thu};
    enum weekday workday;
    workday = wed;
    printf("%d\n",workday);
A5            B. 3          C.4          D.编译出错
13.要定义一个结构体类型拟包含两个成员,其中成员变量info用来存放整型数据,成员变量link是指向自身结构体的指针。则下面的定义正确的是(  D  )。
A.struct node{int info;struct node link;};
B.struct node{int info;node *link;};
C.struct node{int info;struct *link;}; 
D.struct node{int info;struct node *link;};
14.以下与函数fseek(fp,0L,SEEK_SET)有相同作用的是(  D    )。
A.feof(fp)          B.ftell(fp)          C.fgetc(fp)          D.rewind(fp)
15.局部变量的作用域(        A        )
    A.在定义的块内有效。        B.在函数外也有效。
    C.在本文件内有效。          D.在所有文件内有效。
一、单项选择题(每题2分,共30分)
1.下面的四个选项中,均不是合法的用户标识符的选项是( B    )
A.  B            B. b-a      C.  float        D.  _123
        M_0            goto          2ab            temp
while            int            _A            INT
2.有输入语句:scanf(“a=%d, b=%d, c=%d”, &a, &b, &c);为使变量a,b,c的值分别为1,3,2,从键盘上输入数据的正确形式应当是(  B      )
A.132 〈回车〉                  B.a=1,b=3,c=2〈回车〉
C.a=1 b=3 c=a  <回车>            D.1,3,2 〈回车〉
3.如果输入信息为:1234567  则执行语句:scanf("%2d%2d",&x,&y);    之后,x,y的值为(  A      )
    A. x为12,y为34                B. x为2,y为3
    C. x为12,y为67                D.x为1234567,y为0
4.对于 for(表达式1;表达式2 ;表达式3) 语句的正确描述(    B  )
    A.表达式2省略,循环不执行。
    B.表达式3省略,可在循环体中修改循环控制变量,以保证正常退出。
C.三个表达式均不能省略。
D.三个表达式均不能省略。但分号可以省略。
5.以下叙述中正确的是()。
A.循环语句嵌套必须是同类型的语句
B.循环语句嵌套可以是同类型的语句,也可以不同类型
C.do_while循环语句和 while循环语句的程序执行方式都是相同的。
D.循环体中不能再有循环语句
6.有下面的程序段:
char  a[ 3 ], b[  ] =”student”;
a=b;
printf (“ %s”,a);
则(    D  )
A.运行后将输出student ;          C.运行后将输出b;
B.运行后将输出a                D.编译出错 
7.当数组作函数参数时,选出不正确的描述。(    D    )
  A.实参数组与形参数组类型应一致。
  B.数组元素做函数实参时,同变量做实参一样是参数传值。
  C.形参数组可以不定义数组大小。
  D.实参数组与形参数组大小必须一致,否则C编译会检查出错。
8.在C语言中,函数返回值的类型最终取决于(    A      )。
A.函数定义时在函数首部所说明的函数类型
B.return语句中表达式值的类型
C.调用函数时主调函数所传递的实参类型
D.函数定义时形参的类型
9.若有说明 int (*p)[3]; 则以下正确的描述( B    )
    A. p是一个指针数组。
    B. p 是一个指针,它只能指向一个包含3个int类型元素的数组。
    C. p是一个指针,它可以指向一个一维数组中的任意元素。
D. (*p)[3]与*p[3]等价。
10. 已知int b; 则对指针变量p正确的说明和初始化是(  4    )
A. int *p=b;    B. int p=b;    C. int p=&b;    D. int *p=&b;
11.若已定义了如下的共用体类型变量x,则x所占用的内存字节数为(    C  )
(设在16位pc机的环境下)
    union data
    {    int i;
        char ch;
        double f;    }x;
    A. 7            B. 11      C. 8            D. 10
12.设fp为指向某二进制文件的指针,且已经读到此文件末尾,则函数feof(fp)的返回值为(continue语句执行过程  B    )。
A.EOF      B.非0值        C.0        D.NULL
13. C语言程序中,main函数的位置  D    )。
A.在开头        B.在结尾        C.在中间        D.可以任意
14. int x=3; if(1<=2)if(0)x=4;else x=5;else x=6; 执行上述语句后x的值是(  C    ).
A.3        B.4        C.          D.6
15. 以下叙述正确的是(  C  )
A.goto语句只能用于退出多层循环。
B.可以用continue语句来终止switch语句的执行。
C.break语句只能用在循环体内和switch语句体中。
D.在循环内使用break语句和continue语句的作用相同。
一、单项选择题(每题2分,共30分)
1.请问:下面这个程序段的输出是什么?(    D  )
    int a=7,b=8,c=9;
    if(a<b)  {  a=b;    b=c;    c=a;    }
    printf("a=%d b=%d c=%d\n",a,b,c);
      A . a=7 b=8 c=7        B. a=7 b=9 c=7   
C. a=8 b=9 c=7        D. a=8 b=9 c=8
2.C语言对嵌套 if 语句的规定是:else总是与( D )配对。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。