东师C程序设计19春在线作业1[答案]满分答案
C程序设计19春在线作业1-0005
试卷总分:100 得分:0
一、 单选题 (共 20 道试题,共 60 分)
1.设有如下定义:int a=1,b=2,c=3,d=4,m=2,n=2;则执行表达式:(m=a>b)&&(n=c>d)后,n的值为()
A.1
B.2
C.3
D.0
2.下列函数: int fun1(chat* x) {char*y=x; while(*y++); return(y-x-1);} 的功能是 ()
A.求字符串的长度
B.比较两个字符串的大小
C.将字符串x复制到字符串y
D.将字符串X连接到字符串Y后面
3.当说明一个结构体变量时,系统分配它的内存是()
A.各成员所需内存容量的总和
B.结构体中第一个成员所需内存
C.各成员所需内存容量的最大值
D.结构体中最后一个成员所需内存
4.以下对二维数组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}};
5.一个main(int a,char *argv[])函数带参数,可执行文件名为prog.exe,若命令行输入: prog abcd efg 123 则printf(“%d,%s\n”,a,argv[1]); 的结果是()
A.3,prog
B.4,prog
C.3,abcd
D.4,abcd
6.设A为存放整型的一维数组,如果A的首地址为P,那么A中下标为i的元素地址为()
A.P+i*2
B.P+(i-1)*2
C.P+(i-1)
D.P+i
7.下面选项中正确的赋值语句是(设 char a[5],*p=a;) ()
A.p="abcd";
B.a="abcd";
C.*p="abcd";
D.*a="abcd";
8.数组名作为实参数传递给函数时,数组名被处理为()
A.该数组的长度
B.该数组的元素个数
C.该数组的首地址
D.该数组中各元素的值
9.以下程序: #define N 2 #define M N+2 #define CUBE(x) (x*x*x) #include "stdio.h" main( ) { int i=M; i=CUBE(i); printf("%d\n",i); } 的输出结果为()
A.17
B.64
C.125
D.53
10.已知职工记录描述如下, struct worker { int no; char name[20]; char sex; struct { int day; int month; int year;}birth; }; struct worker w; 设变量w中的“生日”是“1993年10月25日”,下列对“生日”的正确赋值方式是()
A.day=25; month=10; year=1993;
B.w.birth.day=25; w.birth.month=10; w.birth.year=1993;
C.w.day=25; w.month=10; w.year=1993;
D.birth.day=25; birth.month=10; birth.year=1993;
11.若已包含头文件<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;
12.下列程序:main( ) { int a=7,b=5; printf("%d\n",b=b/a); } 的输出结果是()
A.5
B.1
C.0
D.不确定值
13.若程序中定义了以下函数 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);
14.C语言源程序的基本单位是()
A.过程
B.函数
C.子程序
D.标识符
15.设函数fun的定义形式为 void fun(char ch, float x ) { … } 则以下对函数fun的调用语句中,正确的是 ()
A.fun("abc",3.0);
B.t=fun(’D’,16.5);
C.fun(’65’,2.8);
D.fun(32,32);
16.已知char a; int b; float c; double d; 执行语句c=a+b+c+d;后,变量c的数据类型是()
A.int
B.char
C.float
D.double
17.当说明一个共用体变量时,系统分配它的内存是()
A.各成员所需内存容量的总和
B.共用体中第一个成员所需内存
C.各成员所需内存容量的最大值
D.共用体中最后一个成员所需内存
18.在以下一组运算符中,优先级最高的运算符是()
A.<=
B.=
C.%
D.&&
19.有以下程序段 : int m=0,n=0; char c=‘a’; scanf("%d%c%d",&m,&c,&n); printf("%d,%c,%d\n",m,c,n); 若从键盘上输入:10A10<回车>,则输出结果是()
A.10,A,10
B.10,a,10
C.10,a,0
D.10,A,0