东师C程序设计17春在线作业答案
东师C程序设计17春在线作业2一、单选题:
1.设有如下定义: int x=10,y=3,z;则语句printf("%d\n",z=(x%y,x/y)); 的输出结果是( ) (满分:3)
A. 1
B. 0
C. 4
D. 3
2.在C语言中,字符型数据在内存中是以什么形式存放的?( ) (满分:3)
A. 原码
B. BCD码
C. 反码
D. ASCII码
3.C语言中的文件类型只有( ) (满分:3)
A. 索引文件和文本文件两种
B. 文本文件一种
C. 二进制文件一种
D. ASCII码文件和二进制文件两种
4.当说明一个结构体变量时,系统分配它的内存是( ) (满分:3)
A. 各成员所需内存容量的总和
B. 结构体中第一个成员所需内存
C. 各成员所需内存容量的最大值
D. 结构体中最后一个成员所需内存
5.以下程序#define P 3 #define F(x) P*x*x main( ) { printf("%d\n",F(3+5)); } 的输出结果是( ) (满分:3)
A. 192
B. 29
C. 25
D. 编译出错
6.设a为整型变量,初值为12,执行完语句 a+=a-=a*a后,a的值是( ) (满分:3)
A. 552
B. 144
C. 264
D. -264
7.若k为整型,则下列while循环 k=2;while(k==0) printf(“%d”,k); k--;printf(“\n”); 执行多少次?( ) (满分:3)
A. 2
B. 9
C. 0
D. 1
8.以下程序: fun(int x, int y, int z) { z=x*x+y*y; } main( ) { int a=31; fun(5,2,a); printf(“%d”,a); } 程序的输出结果是( ) (满分:3)
A. 0
B. 29
C. 31
D. 无定值
9.当说明一个共用体变量时,系统分配它的内存是( ) (满分:3)
A. 各成员所需内存容量的总和
B. 共用体中第一个成员所需内存
C. 各成员所需内存容量的最大值
D. 共用体中最后一个成员所需内存
10.以下程序:main( ) {int i=010,j=10; printf("%d,%d\n",i,j);}的输出结果为( ) (满分:3)
A. 11,9
B. 9,10
C. 8,10
D. 9,9
11.已知职工记录描述如下, struct worker{int no; char name; char sex;union { int day;int month;int year;}birth;} w; 在Turbo C中,系统为变量w分配字节的空间数目是( ) (满分:3)
A. 29
B. 20
C. 25
D. 6
12.下面可以正确表示字符型常数的是( ) (满分:3)
A. ”a”
B. ’t’
C. ”\n”
D. 297
13.若变量c为char类型,能正确判断出c为小写字母的表达式是( ) (满分:3)
A. ’a’<=c<=’z’
B.(c>=’a’)( )(c<=’z’)
C.(‘a’<=c) and(‘z’>=c)
D.(c>=’a’) &&(c<=’z’)
14.指出下面正确的输入语句( ) (满分:3)
A. scanf(“a=b=%d”,&a,&b);
B. scanf(“%d,%d”,&a,&b) ;
C. scanf(“%c”,c) ;
D. scanf(“% f%d\n”,&f) ;
15.有以下程序 main( ) { int x={8,7,6,5,0,0},*s; s=x+3; printf("%d\n",s); } 执行后输出结果是( ) (满分:3)
A. 随机值
B. 0
C. 5
D. 6
16.以下不是建立函数的目的是( ) (满分:3)
A. 提高程序的执行效率
B. 提高程序的可读性
C. 减少程序的篇幅
D. 实现模块化编程
17.若要用下面的程序片段使指针变量p指向一个存储整型变量的动态存储单元:int *p;p=( )( ) malloc( sizeof(int));则应填入( ) (满分:3)
A. int
B. *int
C.(*int)
D.(int *)
18.在C语言中,if语句后的一对圆括号中,用以决定分支流程的表达式为( ) (满分:3)
A. 只能是逻辑表达式
B. 只能是关系表达式
C. 只能是逻辑表达式或关系表达式
D. 可以是任意表达式
19.设有如下定义: char *aa={"abcd","ABCD"}; 则以下说法中正确的是( ) (满分:3)
A. aa数组成元素的值分别是"abcd"和ABCD"
B. aa是指针变量,它指向含有两个数组元素的字符型一维数组
C. aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址
D. aa数组的两个元素中各自存放了字符'a'和'A'的地址
20.以下程序: main( ){char s1="country",s2="side";int i=0,j=0; while(s1!='\0')i++; while(s2!='\0')s1=s2;s1=0; printf("%s\n",s1); }的输出结果为( ) (满分:3)
A. side
B. country
C. sidetry
D. countryside
三、判断题:
1.链表是一种动态数据结构,在程序运行中可动态生成或释放存贮空间。 (满分:2)
A. 错误
B. 正确
2.函数的函数体可以为空。 (满分:2)
A. 错误
B. 正确
3.getchar( )函数没有参数。 (满分:2)
A. 错误
B. 正确
4.main函数不能有形参。 (满分:2)
A. 错误
B. 正确
5.C语言的所有循环语句都要求至少要执行一次循环体。 (满分:2)
A. 错误
B. 正确
6.C程序中,一行上可以写多个语句。 (满分:2)
A. 错误
B. 正确
7.指针在任何情况下都可进行>,=,<=,==运算。 (满分:2)
A. 错误
B. 正确
8.数组是一种构造型数据,即是若干相同类型的数据的集合。 (满分:2)
A. 错误
B. 正确
9.C 语言源程序文件通过了编译、连接之后 , 生成一个后缀为 .EXE 的文件。 (满分:2)
A. 错误
B. 正确
10.任何两个毫无关系的指针作相减运算是没有意义的。 (满分:2)
A. 错误
B. 正确
11.break语句用在循环体中,可结束本层循环,continue语句用在循环体中,可结束本次循环。 (满分:2)
A. 错误
B. 正确
12.C语言规定数组元素的下标从0开始。 (满分:2)
A. 错误
B. 正确
13.在Turbo C中,整型数据在内存中占2个字节。 (满分:2)
A. 错误
B. 正确
14.在对某一函数进行多次调用时,系统会对相应的自动变量重新分配存储单元。 (满分:2)
A. 错误
B. 正确
15.int i=20;switch(i/10){case 2:printf("A");case 1:printf("B");}的输出结果为A。 (满分:2)
A. 错误
B. 正确
16.若有宏定义:#define PI 3.14i5926,则系统预编译时会报错。 (满分:2)
A. 错误
B. 正确
17.一个程序中可以使用多条文件包含命令,但一条文件包含命令只能包含一个文件。 (满分:2)
A. 错误
B. 正确
18.数组的元素在内存中连续存贮。 (满分:2)
A. 错误
B. 正确
19.char *p="girl";的含义是定义字符型指针变量p,p的值是字符串"girl"。 (满分:2)
A. 错误
B. 正确
20.宏定义的宏名一定要大写,否则无效。 (满分:2)
A. 错误
B. 正确
C程序设计17春在线作业1
一、单选题:
1.设有以下宏定义:#defineH30#define LEN H+20则执行赋值语句v=LEN*10;后,v的值是( ) (满分:3)
A. 60
B. 230
C. 500
D. 0
2.设有如下程序段,int k=10; while(k=0)k=k-1;下面描述中正确的是( ) (满分:3)
A. 循环执行一次
B. 循环是无限循环
C. 循环体语句一次也不执行
D. 循环体语句执行一次
3.以下程序:main( ) { int i , sum; for(i=1;i<6;i++) sum+=i; printf(“%d\n”,sum); } 执行程序后sum的值是( ) (满分:3)
A. 15
B. 14
C. 不确定
D. 0
4.不是C语言提供的合法关键字的是( ) (满分:3)
A. switch
B. true
C. case
D. default
5.选出下列标识符中不是合法的标识符的是( ) (满分:3)
A. hotdo
B. cat1
C. pri
D. 2ab
6.C语言源程序的基本单位是( ) (满分:3)
A. 过程
B. 函数
C. 子程序
D. 标识符
7.下列描述中不正确的是( ) (满分:3)
A. 字符型数组中能存放字符串。
B. 可以对字符型数组进行整体输入、输出。
C. 可以对整型数组进行整体输入、输出。
D. 不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。
8.设有说明 int(*ptr)( );其中标识符ptr是( ) (满分:3)
A. 是一个指向整型变量的指针
B. 它是一个指向函数值是int的函数指针
C. 是一个函数名
D. 定义不合法
9.下列描述中不正确的是( ) (满分:3)
A. 字符型数组中可以存放字符串。
B. 可以对字符型数组进行整体输入、输出。
C. 可以对整型数组进行整体输入、输出。
D. 不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。
10.已有定义:int i,a,*p;,则合法的赋值语句是( ) (满分:3)
A. p=100;
B. p=a;
C. p=a+2;
D. p=a+2;
11.已定义c为字符型变量,则下列语句中正确的是 ( ) (满分:3)
A. c=‘97’;
B. c="97";
C. c=97;
D.
E. c="a";
12.以下关于函数的叙述中正确的是( ) (满分:3)
A. 每个函数都可以被其它函数调用(包括main函数)
B. 每个函数都可以被单独编译
C. 每个函数都可以单独运行
D. 在一个函数内部可以定义另一个函数
13.设有如下定义 char x[]={“abcdefg”};char y[]={‘a’,’b’,’c’,’d’,’e’,’f’,’g’} ; 则正确的叙述为( ) (满分:3)
A. 数组x和y等价
B. 数组x和y的长度相同
C. 数组x的长度大于数组y的长度
D. 数组x的长度小于数组y的长度
14.C程序设计语言是( ) (满分:3)
A. 机器语言
B. 只适合编写应用软件的语言
C. 高级语言
D. 只适合编写系统软件的语言
15.以下程序: fun(int x, int y, int z) { z=x*x+y*y; } main( ) { int a=31; fun(5,2,a); printf(“%d”,a); } 程序的输出结果是( ) (满分:3)
A. 0
B. 29
C. 31
D. 无定值
16.下列标识符中不是合法的标识符的是( ) (满分:3)
A. IF
B. cat1
C. pri
D. a@b
17.若有定义int a[]={10,20,30},*p=a;则当执行p++后,下列说法错误的是( ) (满分:3)
A. p向高地址移了一个字节
B. p向高地址移了两个字节
C. p向高地址移了一个存贮单元
D. p与a+1等价
18.要定义一个数组a是一个具有3个元素的指针数组,它的定义语句格式是( ) (满分:3)
A. int(*a)
B. int *a
C. int *a
D. 以上写法都不对
19.以下程序: main( ){char s1="country",s2="side";int i=0,j=0; while(s1!='\0')i++; while(s2!='\0')s1=s2;s1=0; printf("%s\n",s1); }的输出结果为( ) (满分:3)
A. side
B. country
C. sidetry
D. countryside
20.t为int类型,进人下面的循环之前,t的值为0 while( t=l ) { …… } 则以下叙述中正确的是 ( ) (满分:3)
A. 循环控制表达式的值为0
B. 循环控制表达式的值为1
C. 循环控制表达式不合法
D. 以上说法都不对
三、判断题:
1.C语言中的文件在操作完毕以后,用feof( )来关闭。 (满分:2)
A. 错误
B. 正确
2.for循环只能用于循环次数已经确定的情况。 (满分:2)
A. 错误
B. 正确
3.逻辑运算符的优先级为&&>( )>!。 (满分:2)
A. 错误
B. 正确
4.指针是一种变量,该变量用来存放某个变量的地址值。 (满分:2)
A. 错误
B. 正确
5.C语言的所有循环语句都要求至少要执行一次循环体。 (满分:2)
A. 错误
B. 正确
6.C语言中有逻辑类型但没有集合类型。 (满分:2)
A. 错误
B. 正确
7.当函数类型与return 表达式;中表达式的类型不一致时,以函数类型为准。 (满分:2)
A. 错误
B. 正确
8.C语言中,变量名用大小写是等价的。 (满分:2)
A. 错误
B. 正确
9.已知int a,b,c=10; 则a+b=c;是合法的赋值表达式。 (满分:2)
A. 错误
B. 正确
10.switch(c) 语句中c可以是int ,long,char ,float ,unsigned int 类型。 (满分:2)
A. 错误
B. 正确
11.对整型变量可进行自加或自减运算,而对常量或表达式不可以。 (满分:2)
A. 错误
B. 正确
12.数组名可以作为参数进行传递。 (满分:2)
A. 错误
B. 正确
13.int *p=10;的含义是定义了一个指向整型的指针变量,且将变量p的值赋为10。 (满分:2)
A. 错误
B. 正确
14.当没写函数的返回类型时,系统隐含的函数类型为void. (满分:2)
A. 错误
B. 正确
15.在定义函数中指定的形参变量,在未调用函数时,并不占内存中的存储单元。 (满分:2)
A. 错误
B. 正确
16.C语言规定:在一个源程序中,main函数的位置必须在最开始。 (满分:2)
A. 错误
B. 正确
17.44.while之后的表达式必须是逻辑表达式。 (满分:2)
A. 错误
B. 正确
18.宏定义可分为带参数的宏定义和不带参数的宏定义两类。 (满分:2)
A. 错误
B. 正确
19.C语言的常量在程序运行过程中不可以重新赋值。 (满分:2)
A. 错误
B. 正确
20.若有形参定义:int a;则a++是合法的表达式。 (满分:2)
A. 错误
B. 正确
页:
[1]