奥鹏作业吉大20春学期《C语言程序设计》在线作业一
试卷总分:100 得分:100
一、单选题 (共 10 道试题,共 40 分)
1.有以下程序: #include union pw { int i; char ch[2];}a; main() {a.ch[0]=13;a.ch[1]=0;printf("%d\n",a.i);} 程序的输出结果是
A.13
B.14
C.208
D.209
2.假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入: PROG ABCDEFGH IJKL<回车>,则输出结果为 main( int argc, char *argv[]) { while(--argc>0) printf("%s",argv[argc]); printf("\n"); }
A.ABCDEFG
B.IJHL
C.ABCDEFGHIJKL
D.IJKLABCDEFGH
3.设有以下说明语句 struct ex { int x ; float y; char z ;} example; 则下面的叙述中不正确的是
A.struct结构体类型的关键字
B.example是结构体类型名
C.x,y,z都是结构体成员名
D.struct ex是结构体类型名
4.设有int x=11;则表达式(x++*1/3)的值是
A.3
B.4
C.11
D.12
5.请选出可用作C语言用户标识符的是
A.void,define,WORD
B.a3_b3,_123,IF
C.FOR,--abc,Case
D.2a,Do,Sizeof
6.C语言允许函数类型缺省定义,此时函数值隐含的类型是
A.float
B.int
C.long
D.double
7.设有数组定义: char array[]="China"; 则数组 array所占的空间为
A.4个字节
B.5个字节
C.6个字节
D.7个字节
8.若有以下程序 #include int a[]={2,4,6,8}; main() { int i; int *p=a; for(i=0;i<4;i++)a[i]=*p; printf("%d\n",a[2]); } 上面程序输出结果是
A.6
B.8
C.4
D.2
9.下列各数据类型不属于构造类型的是
A.枚举型
B.共用型
C.结构型
D.数组型
10.下面能正确进行字符串赋值操作的是
A.char s[5]={"ABCDE"};
B.char s[5]={ ′A′, ′B′, ′C′, ′D′, ′E′};
C.char *s;s="ABCDE";
D.char *s;char a; scanf("%s",&s);
二、多选题 (共 5 道试题,共 20 分)
11.在文件操作中,用于检测和设置文件状态的函数有______。
A.文件结束检测函数feof()
B.读写文件出错检测函数ferror()
C.文件出错和结束标志文件函数才clearerr()
D.文件关闭函数fclose()
12.以下对C语言函数的有关描述中,错误的是:______。
A.调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
B.函数既可以嵌套定义又可以递归调用
C.函数必须有返回值,否则不能使用函数
D.程序中有调用关系的所有函数必须放在同一个源程序文件中
13.设有如下定义:int (*ptr)();则以下叙述中不正确的是______。
A.ptr是指向一维数组的指针变量
B.ptr是指向int型数据的指针变量
C.ptr是指向函数的指针,该函数返回一个int型数据
D.ptr是一个函数名,该函数的返回值是指向int型数据的指针
14.以下______是正确的转义字符。( )
A.‘\\'
B.‘\’
C.‘\81'
D.‘\0'
15.在C语言中,正确的int类型的常数是:______。
A.0
B.32768
C.037
D.0xaf
三、判断题 (共 10 道试题,共 40 分)
16.语句int pt中的*pt是指针变量名。
17.switch语句中,各个case和default的出现次序不影响执行结果。( )
18.宏名必须用大写字母表示。
19.‘ a’和“a”在内存中所占字节数相同。( )
20.C语言中,整常数有三种表示形式:十进制整数,八进制整数,十六进制整数。( )
21.C语言规定标识符可由字母、数字、下划线三种字符组成,第一个字符可以为数字或字母。( )
22.puts和gets函数只能输入或输出一个字符串
23.函数必须有返回值,否则不能使用函数
24.一个int型与一个double型数据进行混合运算时,其结果是double型。
25.使用printf和scanf函数时,必须添加#include <stdio.h>命令。( )