东师C程序设计18春在线作业2答案满分答案
C程序设计18春在线作业2-0002
试卷总分:100 得分:0
一、 单选题 (共 20 道试题,共 60 分)
1.以下程序 main() { int i, a[10]; for(i=9;i>=0;i--) a[i]=10-i; printf(“%d%d%d”,a[2],a[5],a[8]); }的输出结果是()
正确选项:----
A.258
B.741
C.852
D.369
正确答案:----
2.下面选项中正确的赋值语句是(设 char a[5],*p=a;) ()
A.p="abcd";
正确答案:----
正确答案:----
专业答案:----
B.a="abcd";
C.*p="abcd";
D.*a="abcd";
正确选项:----
3.下列程序段: char s1[10]=”12345”,s2[10]=”abc”,s3[]=”67”; strcpy(s1,s2); strcat(s1,s3); puts(s1); 的运行结果是()
专业答案:----
A.abc67
B.abc4567
C.abc 567
D.abc567
正确答案:----
4.若有定义int a[]={10,20,30},*p=a;则当执行p++后,下列说法错误的是()
A.p向高地址移了一个字节
B.p向高地址移了两个字节
C.p向高地址移了一个存贮单元
D.p与a+1等价
正确答案:----
5.以下程序: int a=5; float x=3.14; a*=x*(‘E’ - ‘A’); printf(“%f ”,(float)a); 的输出结果是()
专业答案:----
A.62.000000
B.62.800000
C.63.000000
D.62
正确选项:----
6.在一个C程序中 ()
A.main函数必须出现在所有函数之前
B.main函数可以在任何地方出现
C.main函数必须出现在所有函数之后
D.main函数必须出现在固定位置
正确答案:----
7.下列关于指针定义的描述,错误的是()
A.指针是一种变量,该变量用来存放某个变量的地址
B.指针变量的基类型与它所指向的变量类型一致
C.指针变量的命名规则与标识符相同
D.在定义指针时,标识符前的“*”表示后面的指针变量所指向的内容
正确选项:----
8.不能把字符串:Hello!赋给数组b的语句是()
A.char b[10]={'H','e','l','l','o','!'};
B.char b[10];? b="Hello!";
C.char b[10];? strcpy(b,"Hello!");
D.char b[10]="Hello!";
专业答案:----
9.设i和k都是int类型,则有关for循环语句for(i=0,k=-1;k=1;i++,k++) printf("**** ");的说明正确的是()
A.循环结束的条件不合法
B.循环体一次也不执行
C.循环体只执行一次
D.是无限循环
正确选项:----
10.已知字母A的ASCⅡ码为十进制的65,下面程序: main() { char ch1,ch2; ch1='A'+'5'-'3'; ch2='A'+'6'-'3'; printf("%d,%c ",ch1,ch2);} 的输出是()
专业答案:----
A.67,D
B.B,C
专业答案:----
C.C,D
D.不确定的值
正确选项:----
11.设整型变量a为5,使b不为2的表达式是()
A.b=a/2
B.b=6-(--a)
C.b=a%2
D.b=a>3?2:1
专业答案:----
12.下面能正确进行字符串赋值操作的语句是()
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);
专业答案:----
13.若有下面的变量定义, int i,a[10],*p;以下语句中合法的是()
A.p=a+2;
B.p=a[5];
C.p=a[2]+2;
D.p=&(i+2);
正确答案:----
14.在C语言中,要求运算数必须是整型的运算符是()
A.%
B./
C.<
D.!
正确答案:----
15.下列程序:main( ) { int a=7,b=5; printf("%d ",b=b/a); } 的输出结果是()
正确选项:----
A.5
B.1
C.0
D.不确定值
正确答案:----
16.C语言中的文件类型只有()
A.索引文件和文本文件两种
B.文本文件一种
C.二进制文件一种
D.ASCII码文件和二进制文件两种
专业答案:----
17.以下叙述中正确的是 ()
A.用C程序实现的算法必须要有输入和输出操作
B.用C程序实现的算法可以没有输出但必须要有输入
C.用C程序实现的算法可以没有输入但必须要有输出
D.用C程序实现的算法可以既没有输入也没有输出
专业答案:----
18.若程序中定义了以下函数 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);
正确答案:----
19.为求出s=10!的值,则变量s的类型应当为()
A.int
B.unsigned
C.long
正确选项:----
D.以上三种类型均可
正确选项:----
20.定义如下变量和数组: 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
正确答案:----
东师C程序设计18春在线作业2答案多选题答案
二、 判断题 (共 20 道试题,共 40 分)
1.在对某一函数进行多次调用时,系统会对相应的自动变量重新分配存储单元。
A.错误
B.正确
2.如果程序中要动态地生成或释放结点,则需要包含头文件malloc.h 。
A.错误
B.正确
3.若str1,str2是两个字符串,则if(str1==str2)可以比较两个字符串是否相等。
A.错误
B.正确
4.格式控制符%d和%D是一样的。
正确选项:----
A.错误
B.正确
5.函数中的静态变量在每次函数调用时,重新赋初值。
A.错误
B.正确
6.C语言中有逻辑类型但没有集合类型。
A.错误
B.正确
7.除法运算符“/”要求两个运算对象都必须为整型。
正确选项:----
A.错误
B.正确
8.switch(c) 语句中c可以是int ,long,char ,float ,unsigned int 类型。
专业答案:----
A.错误
B.正确
9.函数的形参可以是表达式。
A.错误
B.正确
10.有以下程序段: int m=0; while(m==1) m++; while循环体执行的次数是无限次。
A.错误
B.正确
11.在一个函数内的复合语句中定义的变量在本函数范围内有效。
A.错误
B.正确
12.执行printf("%x",12345);, 输出 12345 。
A.错误
B.正确
13.参加位运算的数据可以是任何类型的数据。
A.错误
B.正确
14.int *p=10;的含义是定义了一个指向整型的指针变量,且将变量p的值赋为10。
A.错误
B.正确
15.strcpy函数的作用是连接两个字符串。
A.错误
B.正确
16.链表是一种动态数据结构,在程序运行中可动态生成或释放存贮空间。
A.错误
B.正确
17.宏定义不是C语言的语句,所以句尾没有分号。
A.错误
B.正确
18.共用体变量的各个成员所占内存单元的地址相同。
A.错误
B.正确
19.表达式1/4+2.75的值是3。
A.错误
B.正确
20.实型数据包括float和long两种类型。
A.错误
B.正确
东师C程序设计18春在线作业2答案历年参考题目如下: