西交《程序设计基础》在线作业
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 40 分)
1.可将C源程序存在磁盘上,还可将数据按数据类型分别以()的形式存在磁盘上。
A.内存
B.缓冲区
C.文件
D.寄存器
2.若有说明int a[3][4];则a数组元素的非法引用是()。
A.a[0][2*1]
B.a[1][3]
C.a[4-2][0]
D.a[0][4]
3.对以下说明语句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.因为数组长度与初值的个数不相同,所以此语句不正确
4.若二维数组a有m列,则在a[i][j]前的元素个数为()。
A.j*m+I
B.i*m+j
C.i*m+j-1
D.i*m+j+1
5.函数 rewind 的作用是( )
A.使文件位置指针重新返回文件的开始位置
B.将文件位置指针指向文件中所要求的特定位置
C.使文件位置指针指向文件的末尾
D.使文件位置指针自动移至下一个字符位置
6.以下程序有语法错误,有关错误原因的正确说法是( )
main()
{ int G=5,k;
void prt_char();
…
k=prt_char(G);
…
}
A.语句 void prt_char();有错,它是函数调用语句,不能用void说明
B.变量名不能使用大写字母
C.函数说明和函数调用语句之间有矛盾
D.函数名不能使用下划线
7.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]
8.double x;scanf(“%lf”,&x);不可以赋值给x变量的常量是()。
A.123
B.100000
C.A’
D.”abc”
9.以下能正确定义数组并正确赋初值的语句是( )。
A.int N=5,b[N][N];
B.int a[1][2]={{1},{3}};
C.int c[2][]={{1,2},{3,4}};
D.int d[3][2]={{1,2},{34}};
10.变量的指针,其含义是指该变量的()。
A.值
B.地址
C.名
D.一个标志
11.有如下定义
struct person{char name[9]; int age;};
strict person class[10]={“Johu”, 17,
“Paul”, 19,
“Mary”, 18,
“Adam” 16,};
根据上述定义,能输出字母M的语句是( )
A.prinft(“%c\n”,class[3].mane);
B.pfintf(“%c\n”,class[3].name[1]);
C.prinft(“%c\n”,class[2].name[1]);
D.printf(“%^c\n”,class[2].name[0]);
12.以下对C语言函数的描述中,正确的是()。
A.C程序必须由一个或一个以上的函数组成
B.C函数既可以嵌套定义又可以递归调用
C.函数必须有返回值,否则不能使用函数
D.C程序中有调用关系的所有函数必须放在同一个程序文件中
13.执行下列两个语句后,输出的结果为( )char c1=66,c2=98;printf(“%c,%d”,c1,c2);
A.66,98
B.66,b
C.B ,97
D.B,98
14.有如下程序, 该程序的输出的结果是( )int addc(int a,int b,int c) { c=a+b;return(c); } main() { int x=4,y=2,z,r; z=x+y;r=addc(addc(x,y,z),addc(y,z,x),z);printf(“%d\n”,r); }
A.36
B.12
C.14
D.6
15.凡是函数中未指定存储类别的局部变量,其隐含的存储类别为()。
A.自动(auto)
B.静态(static)
C.外部(extern)
D.寄存器(register)
16.应用缓冲文件系统对文件进行读写操作,关闭文件的函数名为()。
A.fclose()
B.close()
C.fread()
D.fwrite
17.若int i=10;执行下列程序后,变量i的正确结果是( )switch ( i ) {case 0: i+=1;case 10: i+=1;case 11: i+=1;default: i+=1;}
A.10
B.11
C.12
D.13
18.下面程序#include “stdio.h”void main(){ int k=2,m=4,n=6; int *pk=&k,*pm=&m,*p; *(p=&n)=*pk*(*pm); printf(“%d\n”,n); getch();}的运行结果是( )
A.7
B.8
C.9
D.10
19.以下运算符中,优先级最高的运算符是()。
A.||
B.%
C.!
D.==
20.若用数组名作为函数的实参,传递给形参的是()。
A.数组的首地址
B.数组第一个元素的值
C.数组中全部元素的值
D.数组元素的个数
二、多选题 (共 20 道试题,共 40 分)
21.有定义语句:int x,y;若要通过scanf(“%d,%d”,&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,正确的有()。
A.1112<回车>
B.11,<空格>12<回车>
C.11,12<回车>
D.11,<回车>12<回车>
22.正确的if语句形式是()。
A.if(x>y&&x!=y);
B.if(x==y)x+=y;
C.if(x!=y)scanf(“%d”,&x)elsescanf(“%d”,&y);
D.if(x<y){x++;y++;}
23.定义语句:int x,y;若要通过scanf(“%d,%d”,&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,正确的有()。
A.1112<回车>
B.11,<空格>12<回车>
C.11,12<回车>
D.11,<回车>12<回车>
24.能正确表示逻辑关系:”a≥10″的C语言表达式是()。
A.a≥10
B.!(a<10)
C.a>=10
D.x4=1+2=3;
25.以下不符合C语言语法的实型常量是()。
A.1.2E0.5
B.3.14.159E
C..5E-3
D.E15
26.以下合法的十六进制数是()。
A.oxff
B.0Xabc
C.0x01
D.0X9X
27.计算机算法可以分为两大类( )
A.数值运算算法
B.非数值运算算法
C.符号运算算法
D.非符号运算算法
28.以下选项中合法的表达式是()
A.0<=x<100
B.i=j==0
C.(char)(65+3)
D.x+1=x+1
29.下列选项中是C语言合法标志符的有()。
A.good_morning
B.main
C.stdio.h
D.8abc
30.数据结构中,与所使用的计算机有关的是数据的哪几项()
A.存储结构
B.物理结构
C.逻辑结构
D.物理和存储结构
31.以下选项中不合法的字符常量是()。
A.”B”
B.’\010′
C.68
D.D
32.关于for(表达式1,表达式2,表达式3)循环,以下正确的是()。
A.三个表达式都不可省略
B.表达式1可以省略
C.表达式2可以省略
D.表达式3可以省略
33.以下选项中,合法的字符常量是()。
A.’\t’
B.’\17′
C.”n”
D.’\xaa’
34.以下说法正确的是()。
A.C语言里有字符串变量
B.C语言里没有字符串变量
C.C语言里有字符变量
D.C语言里没字符变量
35.以下4个选项中,可以看作是一条语句的有()。
A.{;}
B.a=0,b=0,c=0;
C.if(a>0);
D.if(b==0)m=1;n=2;
36.能正确表示逻辑关系:”a≥10″的C语言表达式是()。
A.a≥10
B.!(a<10)
C.a>=10
D.a<10
37.下列为c语言的关键字是()
A.if
B.struct
C.union
D.Int
38.结构体如下所示:
struct employees
{ char name[30];
int age;
float wage;
}
下面说法正确的有哪几项( )
A.上述形式的定义在程序运行时不会为该结构体类型分配内存空间
B.结构体变量在内存中存放时,占用连续的一段存储空间
C.上述结构体必须有关键字struct
D.上述结构体成员的类型不可以是已经定义过的结构体类型
39.以下函数,哪些属于动态申请空间的标准库函数
A.malloc()
B.calloc()
C.free()
D.strcmp()
40.以下用户标识符,其中合法的是()。
A.return
B.f2_G3
C.A3-3
D.abc
三、判断题 (共 10 道试题,共 20 分)
41.结构类型变量所占内存长度等于成员的长度;而共享体类型变量所占用的内存长度是各成员的内存长度之和,每个成员分别占用其自己的内存单元。()
42.C语言的文件存取方式只能是顺序存取,不能随机存取。( )
43.C语言中,函数的隐含存储类别是extern()
44.C语言中的任何类型数据都可进行四则运算。( )
45.若有static int a[10];则a数组的10个元素的值都是0。()
46.若定义char *str;则str=”BOOK”;是正确的。( )
47.return后面括号里的表达式的值即是此函数的值。( )
48.C语言中rewind函数使位置指针回到文件的开头位置,而fseek函数使位置指针移到指定的位置。()
49.外部变量是全部变量。( )
50.若定义char *str;则str=”BOOK”;是正确的。()