19秋《C语言(专科)》在线作业2题目
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 100 分)
1.C语言中,要求运算数必须都是整数的运算符是()。
A.-
B.+
C.*
D.%
2.对于for(表达式1;表达式2;表达式3)语句的正确描述()
A.表达式3省略,可在循环体中修改循环控制变量,以保证正常退出
B.表达式2省略,循环不执行
C.三个表达式均不能省略。但分号可以省略
D.三个表达式均不能省略
3.凡是函数中未指定存储类别的局部变量,隐含的存储类别为()。
A.static
B.register
C.extern
D.auto
4.对函数的正确描述()
A.自定义函数和调用函数可以不在一个源文件中
B.在C语言中可以嵌套定义函数
C.函数定义都是平行的,独立的
D.不能嵌套调用函数
5.若有程序段:doublex=-5.9;inty;y=(int)x;执行该段程序后
A.x=-6,y=-6
B.x=-5,y=-5
C.x=-5.9,y=-6
D.x=-5.9,y=-5
6.在C语言中,函数返回值的类型最终取决于()。
A.调用函数时主调函数所传递的实参类型
B.函数定义时形参的类型
C.函数定义时在函数首部所说明的函数类型
D.return语句中表达式值的类型
7.已知intb;则对指针变量正确的说明和初始化是
A.intp=b;
B.intp=&b;
C.int*p=b;
D.int*p=&b
8.当数组作函数参数时,选出不正确的描述。()
A.数组元素做函数实参时,同变量做实参一样是参数传值
B.形参数组可以不定义数组大小
C.实参数组与形参数组类型应一致
D.实参数组与形参数组大小必须一致,否则C编译会检查出错
9.对局部变量不正确描述()
A.用auto说明的变量为局部变量
B.局部变量的初值每调用一次赋一次
C.局部变量在任何一个函数内有效
D.在不同块内可以使用相同的变量名而不会混淆
10.若fp已正确定义为一个文件指针,d1.dat为二进制文件,为“读”而打开此文件的语句是()。
A.fp=fopen(“d1.dat”,”w”);
B.fp=fopen(“d1.dat”,”rb”);
C.fp=fopen(“d1.dat”,”r+”);
D..fp=fopen(“d1.dat”,”r”);
11.设fp为指向某二进制文件的指针,且已经读到此文件末尾,则函数feof(fp)的返回值为()。
A.非0值
B.NULL
C.EOF
D.0
12.局部变量的作用域()
A.在本文件内有效
B.在所有文件内有效
C.在定义的块内有效
D.在函数外也有效
13.以下与函数fseek(fp,0L,SEEK_SET)有相同作用的是()。
A.rewind(fp)
B.ftell(fp)
C.fgetc(fp)
D.feof(fp)
14.有下面的程序段: chara[3],b[]=”student”; a=b; printf(“%s”,a); 则()
A.运行后将输出student;
B.运行后将输出b;
C.运行后将输出a
D.编译出错
15.在说明语句:int*f();中,标识符f代表的是()
A.一个返回值为指针型的函数名
B.一个用于指向整型数据的指针变量
C.一个用于指向函数的指针变量
D.一个用于指向一维数组的行指针
16.对于int*p;inta[];p=a;的合法运算()
A.若p中的地址为100则p++;运算后,则其值为100
B.++p;相当于a[1];
C.p=a;p++;相当于a++;
D.a++;
17.执行以下语句后的结果为()enumweekday{sun,mon=3,tue,wed,thu}; enumweekdayworkday; workday=wed; printf(“%d\n”,workday);
A.编译出错
B.5
C.4
D.3
18.若有语句: taticcharx[]=”12345″; staticchary[]={‘1′,’2′,’3′,’4′,’5’}; 则下面那一个是正确的描述。()
A.x数组长度小于y数组长度
B.x数组长度大于y数组长度
C.x数组等价于y数组
D.x数组和y数组的长度相同
19.C语言对嵌套if语句的规定是:else总是与()配对。
A.缩进位置相同的if
B.第一个if
C.其之前最近的if
D.其之前最近且不带else的if
20.typedef()
A.和#define作用相同
B.可以定义各种类型名和变量名
C.可以创造新的数据类型
D.只是对已存在的类型增加一个类型名,不能创造新类型