东师C程序设计18春在线作业1答案满分答案
C程序设计18春在线作业1-0003
试卷总分:100 得分:0
一、 单选题 (共 20 道试题,共 60 分)
1.定义如下变量和数组: int i, x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句 for(i=0;i<3;i++) printf("%d",x[i][2-i]); 的输出结果是()
专业答案:----
A.1 ?5 ?9
B.1 ?4 ?7
C.3 ?5 ?7
D.3 ?6 ?9
正确答案:----
2.若k为整型,则下列while循环 k=2; while(k==0) printf(“%d”,k); k--; printf(“ ”); 执行多少次?()
正确答案:----
A.2
B.9
C.0
D.1
专业答案:----
3.以下程序: #define ADD(x) x*x main( ) { int a=4,b=6,c=7,d=ADD(a+b)*c; printf("d=%d",d); } 的输出结果为()
专业答案:----
A.d=70
专业答案:----
B.d=80
专业答案:----
C.d=140
正确选项:----
D.d=700
正确选项:----
4.下面能正确进行字符串赋值操作的语句是()
A.char s[5]={"ABCDE"};
正确答案:----
B.char s[5]={'A','B','C','D','E'};
正确答案:----
C.char *s;s="ABCDEF";
正确答案:----
D.char *s; scanf("%s",s);
正确选项:----
5.下列函数: int fun1(chat* x) {char*y=x; while(*y++); return(y-x-1);} 的功能是 ()
A.求字符串的长度
B.比较两个字符串的大小
C.将字符串x复制到字符串y
D.将字符串X连接到字符串Y后面
正确答案:----
6.设a=12,b=12345,执行语句printf(“%4d,%4d”,a,b);的输出结果是()
正确答案:----
A.12,123
B.12,12345
C.12,1234
D.12,123456
正确选项:----
7.若有以下说明: int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}; char c='a',d,g; 则数值为4的表达式是()
专业答案:----
A.a[g-c]
B.a[4]
C.a['d'-'c']
专业答案:----
D.a['d'-c]
正确答案:----
8.以下对二维数组a进行正确初始化的是()
A.int a[2][3]={{1,2},{3,4},{5,6}};
B.int a[ ][3]={1,2,3,4,5,6};
C.int a[2][ ]={1,2,3,4,5,6};
D.int a[2][ ]={{1,2},{3,4}};
专业答案:----
9.若程序中定义了以下函数 double myadd(double a,double B) { return (a+B) ;} 并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是()
正确答案:----
A.double myadd(double a,B) ;
正确答案:----
B.double myadd(double,double);
专业答案:----
C.double myadd(double b,double A) ;
专业答案:----
D.double myadd(double x,double y);
专业答案:----
10.指出下面正确的输入语句()
A.scanf(“a=b=%d”,&a,&b);
正确选项:----
B.scanf(“%d,%d”,&a,&b) ;
专业答案:----
C.scanf(“%c”,c) ;
正确答案:----
D.scanf(“% f%d ”,&f) ;
专业答案:----
11.以下程序: fun(int x, int y, int z) { z=x*x+y*y; } main() { int a=31; fun(5,2,a); printf(“%d”,a); } 程序的输出结果是()
正确答案:----
A.0
B.29
C.31
D.无定值
正确答案:----
12.以下4个选项中,不能看作一条语句的是()
A.{;}
B.a=0,b=0,c=0;
C.if(a>0);
D.if(b==0) m=1;n=2;
专业答案:----
13.设有如下定义: char *aa[2]={"abcd","ABCD"}; 则以下说法中正确的是()
正确选项:----
A.aa数组成元素的值分别是"abcd"和ABCD"
正确选项:----
B.aa是指针变量,它指向含有两个数组元素的字符型一维数组
C.aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址
D.aa数组的两个元素中各自存放了字符'a'和'A'的地址
正确答案:----
14.若已包含头文件<stdio.h>且有说明char s1[5],s2[7];要给s1,s2赋值,下列语句中正确的是()
正确答案:----
A.s1=getchar(); s2=getchar();
B.scanf(“%s%s”,s1,s2);
正确答案:----
C.scanf(“%c%c”,s1,s2);
正确选项:----
D.gets(s1);s2=s1;
专业答案:----
15.设a为整型变量,初值为12,执行完语句 a+=a-=a*a后,a的值是()
A.552
B.144
C.264
D.-264
正确答案:----
16.以下能正确定义一维数组的选项是()
A.int num [];
B.#define N 100 int num [N];
正确答案:----
C.int num[0..100];
D.int N=100; int num[N];
正确答案:----
17.设A为存放整型的一维数组,如果A的首地址为P,那么A中下标为i的元素地址为()
A.P+i*2
B.P+(i-1)*2
C.P+(i-1)
D.P+i
正确选项:----
18.以下选项中属于C语言的数据类型是()
A.复合型
B.双精度型
C.逻辑型
D.集合型
正确答案:----
19.若要用下面的程序片段使指针变量p指向一个存储整型变量的动态存储单元: int *p; p=__________ malloc( sizeof(int)); 则应填入()
A.int
B.*int
C.(*int)
D.(int *)
专业答案:----
20.设a=-3;执行(a>0)?a:-a;后,a的值为()
A.3
B.1
C.0
D.-3
专业答案:----
东师C程序设计18春在线作业1答案多选题答案
二、 判断题 (共 20 道试题,共 40 分)
1.‘a’和“a”是一样的。
专业答案:----
A.错误
B.正确
2.a-=7等价于a=a-7。
A.错误
B.正确
3.在Turbo C中,整型数据在内存中占2个字节。
A.错误
B.正确
4.C 语言源程序文件通过了编译、连接之后 , 生成一个后缀为 .EXE 的文件。
A.错误
B.正确
5.for(i=0; ;i++);是死循环结构。
A.错误
B.正确
6.C语言的数组下标从1开始。
A.错误
B.正确
7.一个C程序可以包含多个函数,但只能有一个main()函数。
A.错误
B.正确
8.用C语言编写的源程序需要编译、链接以后才可以运行。
A.错误
B.正确
9.循环可以并列,但不可以嵌套。
A.错误
B.正确
10.通过return语句,函数可以带回一个或一个以上的返回值。
A.错误
B.正确
11.数组名可以作为参数进行传递。
A.错误
B.正确
12.语言中,预处理总是以?@符号开头。
A.错误
B.正确
13.int i=20; switch(i/10) {case 2:printf("A"); case 1:printf("B"); } 的输出结果为A。
A.错误
B.正确
14.a==b;的功能是将b的值赋给a。
A.错误
B.正确
15.有数组定义int a[2][2]={{1},{2,3}};则a[0][1]的值为0。
A.错误
B.正确
16.宏定义的宏名一定要大写,否则无效。
A.错误
B.正确
17.在定义二维数组时,可以将该数组的两个维数全部省略。
A.错误
B.正确
18.C语言的常量在程序运行过程中不可以重新赋值。
A.错误
B.正确
19.实型数据包括float和long两种类型。
A.错误
B.正确
20.C语言中有逻辑类型但没有集合类型。
A.错误
B.正确
东师C程序设计18春在线作业1答案历年参考题目如下: