西交《程序设计基础(高起专)》在线作业
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 40 分)
1.若x=2,y=3则x&y的结果是()。
A.0
B.2
C.3
D.5
2.应用缓冲文件系统对文件进行读写操作,关闭文件的函数名为()。
A.fclose()
B.close()
C.fread()
D.fwrite
3.设:int a=4,b=5; 则表达式 8>4-!0||2&&5>4的结果为( )
A.0
B.1
C.-1
D.无法计算
4.以下错误的描述是:函数调用可以()。
A.出现在执行语句中
B.出现在一个表达式中
C.做为一个函数的实参
D.做为一个函数的形参
5.若指针p已正确定义,要使p指向两个连续的整型动态存储单元,不正确的语句是( )
A.p=2*(int*)malloc(sizeof(int));
B.p=(int*)malloc(2*sizeof(int));
C.p=(int*)malloc(2*2);
D.p=(int*)calloc(2,sizeof(int));
6.以下不能定义为用户标识符的是( )
A.scanf
B.Void
C._3com_
D.int
7.关于函数调用,下面说法错误的是( )
A.被调用函数必须是已经存在的函数、库函数或用户已定义过的函数
B.没有头文件也可以对库函数进行调用
C.如果使用用户自定义的函数,还要在主调用函数中说明用户函数的返回值类型。
D.在主函数main()中可以调用其他函数,其他函数也可以相互调用
8.double x;scanf(“%lf”,&x);不可以赋值给x变量的常量是()。
A.123
B.100000
C.A’
D.”abc”
9.结构体类型的定义允许嵌套是指()
A.成员是已经或正在定义的结构体型
B.成员可以重名
C.结构体型可以派生
D.定义多个结构体型
10.关于switch语句说法不正确的是( )
A.case的次序不影响执行结果
B.每个case语句后面的常量可以不同
C.在执行完一个case语句后转到下一个case语句执行
D.每个case语句后面表达式只能是常量
11.以下只有在使用时才为该类型变量分配内存的存储类说明是()。
A.auto和static
B.auto和register
C.register和static
D.extern和register
12.static struct {int a1;float a2;char a3;}a[10]={1,3.5,’A’};说明数组a是地址常量,它有10个结构体型的下标变量,采用静态存储方式,其中被初始化的下标变量是()。
A.a[1]
B.a[-1]
C.a[0]
D.a[10]
13.以下叙述中错误的是()。
A.二进制文件打开后可以先读文件的末尾,而顺序文件不可以
B.在程序结束时,应当用fclose函数关闭已打开的文件
C.在利用fread函数从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据
D.不可以用FILE定义指向二进制文件的文件指针
14.C语言中要求对变量作强制定义的主要理由是()。
A.便于移植
B.便于写文件
C.便于编辑预处理程序的处理
D.便于确定类型和分配空间
15.若有说明int a[3][4];则a数组元素的非法引用是()。
A.a[0][2*1]
B.a[1][3]
C.a[4-2][0]
D.a[0][4]
16.以下程序的运行结果是()。main(){int i=1,sum=0;while(i<10)sum=sum+1;i++;printf(“i=%d,sum=%d”,i,sum);}
A.i=10,sum=9
B.i=9,sum=9
C.i=2,sum=1
D.运行出现错误
17.以下的选择中,正确的赋值语句是()。
A.a=1,b=2
B.j++
C.a=b=5;
D.y=int(x)
18.设int x=1,y=1;表达式(!x||y–)的值是()。
A.0
B.1
C.2
D.-1
19.以下程序的输出结果是( )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.不确定
20.对以下说明语句int a[10]={6,7,8,9,10};的正确理解是()。
A.将5个初值依次赋给a[1]至a[5]
B.将5个初值依次赋给a[0]至a[4]
C.将5个初值依次赋给a[6]至a[10]
D.因为数组长度与初值的个数不相同,所以此语句不正确
二、多选题 (共 20 道试题,共 40 分)
21.能正确表示逻辑关系:”a≥10″的C语言表达式是()。
A.a≥10
B.!(a<10)
C.a>=10
D.x4=1+2=3;
22.以下合法的十六进制数是()。
A.oxff
B.0Xabc
C.0x01
D.0X9X
23.若以下选项中的变量已正确定义,则不正确的赋值语句是()
A.x1=26.8%3
B.x=3*x+x
C.x3=0x12
D.x4=1+2=3;
24.以下可以定义为用户标识符的有()。
A.scanf
B.short
C._3com_
D.int
25.下面那些为合法整型常量()
A.190
B.0xf
C.0765
D.0xk
26.以下叙述正确的是()
A.预处理命令行都必须以”#”开始
B.在程序中凡是以”#”开始的语句行都是预处理命令行
C.C程序在执行过程中对预处理命令行进行处理
D.#define ABCD是正确的宏定义
27.以下关于typedef的叙述正确的是()。
A.用typedef可以定义各种类型名,但不能用来定义变量
B.用typedef可以增加新类型
C.用typedef只是将已存在的类型用一个新的名字来代表
D.使用typedef便于程序的通用
28.以下选项中合法的表达式是()。
A.0<=x<100
B.i=j==0
C.(char)(65+3)
D.x+1=x+1
29.设有以下定义int a=0;double b=1.25;cha rc=’A’;#defined2则下面语句中正确的是()。
A.a++;
B.b++;
C.c++;
D.d++;
30.以下不正确的叙述是
A.在C程序中,每行只能写一条语句
B.若a是实型变量,C程序中允许赋值A=10,因此实型变量中允许存放整型
C.在C程序中,无论是整数还是实数,都能被准确无误地表示
D.在C程序中,%是只能用于整数运算的运算符
31.下列对逻辑运算符两侧的运算对象的数据类型描述不正确的是()。
A.只能是0或1
B.只能是0或非0正数
C.可以是整型或字符型数据
D.可以是任何类型的数据
32.以下表达式中正确的是()
A.c=c+1
B.a+=1
C.x>y?x.y
D.a-+=3
33.以下关于数组描述错误的是()。
A.数组的大小是固定的,但可以有不同的类型的数组元素
B.数组的大小是可变的,但所有数组元素的类型必须相同
C.数组的大小是固定的,所有数组元素的类型必须相同
D.数组的大小是可变的,可以有不同的类型的数组元素
34.以下选项中,合法的字符常量是()。
A.’\t’
B.’\17′
C.”n”
D.’\xaa’
35.设有以下定义 int a=0; double b=1.25; char c=’A’; #define d 2 则下面语句中正确的是()
A.a++;
B.b++;
C.c++;
D.d++;
36.以下4个选项中,可以看作是一条语句的有()
A.{;}
B.a=0,b=0,c=0;
C.if(a>0);
D.if(b==0) m=1;n=2;
37.能正确表示逻辑关系:”a≥10″的C语言表达式是()。
A.a≥10
B.!(a<10)
C.a>=10
D.a<10
38.定义语句:int x,y;若要通过scanf(“%d,%d”,&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,正确的有()。
A.1112<回车>
B.11,<空格>12<回车>
C.11,12<回车>
D.11,<回车>12<回车>
39.以下用户标识符,其中合法的是()。
A.return
B.f2_G3
C.A3-3
D.abc
40.下列选项中是C语言合法标志符的有()
A.good_morning
B.main
C.stdio.h
D.8abc
三、判断题 (共 10 道试题,共 20 分)
41.min和id-s都是合法的标识符。()
42.表达式 ’a’ 和 “a” 是不同的,前者长度为1,后者长度为2。()
43.在C中变量不定义也可以使用。()
44.自增运算符和自减运算符的结合方向也是“自左向右”。()
45.可以用typedef声明各种类型名,但不能用它来定义变量。()
46.在某种意义上,char和int通用。()
47.用户标识符中可以出现下划线和中划线(减号)。()
48.若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是p=n;。()
49.C语言的文件存取方式只能是顺序存取,不能随机存取。()
50.若有static int a[10];则a数组的10个元素的值都是0。()
转载请注明:奥鹏作业之家 » 20年秋西交《程序设计基础(高起专)》在线作业