东师C程序设计21秋在线作业1-0001
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 60 分)
1.若变量c为char类型,能正确判断出c为小写字母的表达式是()
A.’a’<=c<=’z’
B.(c>=’a’) || (c<=’z’)
C.(‘a’<=c) and (‘z’>=c)
D.(c>=’a’) && (c<=’z’)
2.以下叙述中正确的是 ()
A.用C程序实现的算法必须要有输入和输出操作
B.用C程序实现的算法可以没有输出但必须要有输入
C.用C程序实现的算法可以没有输入但必须要有输出
D.用C程序实现的算法可以既没有输入也没有输出
3.以下说法中正确的是()
A.#define和printf都是C语句
B.printf不是C语句,而#define是
C.printf是C语句,但#define不是 D) printf和#define都不是C语句
4.指出下面正确的输入语句()
A.scanf(“a=b=%d”,&a,&b);
B.scanf(“%d,%d”,&a,&b) ;
C.scanf(“%c”,c) ;
D.scanf(“% f%d\n”,&f) ;
5.设有如下定义 char x[]={“abcdefg”}; char y[]={‘a’,’b’,’c’,’d’,’e’,’f’,’g’} ; 则正确的叙述为()
A.数组x和y等价
B.数组x和y的长度相同
C.数组x的长度大于数组y的长度
D.数组x的长度小于数组y的长度
6.以下程序:main( ) { int i=010,j=10; printf("%d,%d\n",i,j); } 的输出结果为()
A.11,9
B.9,10
C.8,10
D.9,9
7.以下哪项不属于C语言的宏命令()
A.条件编译
B.宏定义
C.变量声明
D.文件包含
8.设有如下程序段,int k=10; while(k=0) k=k-1;下面描述中正确的是()
A.循环执行一次
B.循环是无限循环
C.循环体语句一次也不执行
D.循环体语句执行一次
9.设有以下语, typedef struct S { int g; char h; }T; 描述正确的是()
A.要用S定义结构体变量
B.可用T定义结构体变量
C.S是struct类型的变量
D.T是struct S类型的变量
10.C语言中以追加方式打开一个文件应选择的参数。()
A.“r”
B.“w”
C.“rb”
D.“a”
11.在下列程序段中, enum color { red,yellow,blue=4,green,white} c1,c2; c1=yellow; c2=white; 枚举变量 c2 的值是()
A.1
B.3
C.5
D.6
12.在下列选项中,不正确的赋值语句是 ()
A.++t;
B.n1=(n2=(n3=0));
C.k=i==j;
D.a=b+c=1;
13.有如下函数调用语句: func(rec1,rec2+rec3,(rec4,rec5)); 该函数调用语句中,含有的实参个数是()
A.3
B.4
C.5
D.有语法错
14.若变量已正确定义并赋值,下面符合C语言语法的表达式是()
A.a:=b+1
B.a=b=c+2
C.int 18.5%3
D.a=a+7=c+b
15.为表示关系x≥y≥z,应使用C语言表达式()
A.(x>=z)&(y>=z)
B.(x>=y) AND (y>=z)
C.(x>=y>=z)
D.(x>=y)&&(y>=z)
16.若以下程序所生成的可执行文件名为filel.exe; main(int argc,char *argv[]) { while(argc>1) { ++argv;printf("%s ",*argv); argc--;} } 当打入以下命令执行该程序时; FILE1 CHINA BEIJING SHANGHAI 程序的输出结果是()
A.CHINA BEIJING SHANGHAI
B.FILE1 CHINA BEIJING
C.C B S
D.F C B
17.设有定义:int a=2,b=3,c=4;,则以下选项中值为0的表达式是()
A.(!a= =1)&&(!b= =0)
B.(a<b)&& c
C.a && b
D.a||(b+b)&&(c-a)
18.若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此 要求的函数调用是()
A.fopen("A:\user\abc.txt","r")
B.fopen("A:\\user\\abc.txt","r+")
C.fopen("A:\user\abc.txt","rb")
D.fopen("A:\\user\\abc.txt","w")
19.若fp是指向某文件的指针,且已读到文件末尾,则库函数feof(fp)的返回值是()
A.EOF
B.-1
C.非零值
D.NULL
20.若有定义:int *p[3];, 则以下叙述中正确的是()
A.定义了一个基类型为int的指针变量p,该变量具有三个指针
B.定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针
C.定义了一个名为*p的整型数组,该数组含有三个int类型元素
D.定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素
二、判断题 (共 20 道试题,共 40 分)
21.表示X的值大于等于50或者小于等于20的C语言表达式为:X≥50||X≤20。
22.任何两个毫无关系的指针作相减运算是没有意义的。
23.在一个函数内的复合语句中定义的变量在本函数范围内有效。
24.结构体类型的各成员可以有不同的类型。
25.数组名作为实参调用函数,实际传给形参的是数组中全部的元素值。
26.执行printf("%x",12345);, 输出 12345 。
27.C语言中整型和字符型可以通用。
28.for循环只能用于循环次数已经确定的情况。
29.C语言中,链表和数组一样是一种静态数据类型。
30.C 语言源程序文件通过了编译、连接之后 , 生成一个后缀为 .EXE 的文件。
31.C语言规定数组元素的下标从0开始。
32.参加位运算的数据可以是任何类型的数据。
33.char *p="girl";的含义是定义字符型指针变量p,p的值是字符串"girl"。
34.在使用缓冲文件系统时,与文件输入和输出相关的数据都先送到缓冲区中。
35.C语言的构造类型包括结构体、共用体和枚举类型。
36.strcpy函数的作用是连接两个字符串。
37.数组的元素在内存中连续存贮。
38.若有定义:int a;则scanf(“%d",a);可以给变量a赋值。
39.C语言中有逻辑类型但没有集合类型。
40.共用体变量的各个成员所占内存单元的地址相同。