电子科技大学15春《C语言》在线作业3满分答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

15春《C语言》在线作业3
一,单选题
1. 以下正确的函数定义形式是( )
A. double fun(int x,int y)
B. double fun(int x; int y)
C. double fun(int x, int y);
D. double fun(int x,y);
?
正确答案:A
2. 若有以下说明和语句,则在scanf函数调用语句中对结构体变量成员的不正确引用方式是( ) struct pupil {char name[20];int age; int sex;}pup[5],* p;p= pup;
A. scanf ("%s",pup[0].name);
B. scanf("%d",&pup[0].age);
C. scanf("%d",&(p-> sex));
D. scanf("%d" ,&p-> age);
?
正确答案:D
3. 下面程序的输出是( ) typedef union {long x; int y; char z; }MYTYPE; MYTYPE them; main() {printf("% d\n",sizeof(them));}
A. 32
B. 16
C. 8
D. 4
?
正确答案:D
4. 下列四组选项中,均不是C语言关键字的选项是( )
A. define IF type
B. geto char printf
C. include scanf case
D. while go pow
?
正确答案:A
5. enum color{red,green,yellow=5,white,black}定义了一枚举类型。

编译程序为值表中各标识符分配的枚举值依次为( )
A. 1、2、3、4、5
B. 0、1、5、2、3
C. 0、1、5、6、7
D. 3、4、5、6、7
正确答案:C
6. 下面程序的功能是用递归法将一个整数存放到一个字符数组中。

存放时按逆序存放。

如483存放成"384",请选择填空( ) #include<stdio.h> void convert(char *a,int n) {int i; if((i=n/10)!=0) convert(a+1,i); *a=【2】; } main() {int number; char str[10]=" "; scanf("%d",&number); convert(str,number);
A. n/10
B. n%10
C
正确答案:D
7. 请读程序: #include<stdio.h> #define MUL(x,y) (x)*y main() {int a=3,b=4,c; c=MUL(a++,b++); printf("%d\n",c); } 上面程序的输出结果是( )
A. 12
B. 15
C. 20
D. 16
?
正确答案:A
8. C语言结构体类型变量在程序执行期间( )
A. 所有成员一直驻留在内存中
B. 只有一个成员驻留在内存中
C. 部分成员驻留在内存中
D. 没有成员驻留在内存中
?
正确答案:A
9. 若有以下程序段:int a[]={4,0,2,3,1},i,j,t; for(i=1;i<5;i++) {t=a[i];j=i-1; while(j>=0&&t>a[j]) {a[j+1]=a[j];j- -;} a[j+1]=t;} ...... 则该程序段的功能是( )
A. 对数组a进行插入排序(升序)
B. 对数组a进行插入排序(降序)
C. 对数组a进行选择排序(升序)
D. 对数组a进行选择排序(降序)
?
正确答案:B
10. 下述程序的输出结果是()#include<stdio.h> void main() {enum team {jone,adam,smith=10,bob=smith+2,liang}; printf("%d,%d",adam,liang); }
A. 1,13
B. 2,13
C. p->data.a
D. p.data.a
正确答案:B
11. 若使用一维数组名作函数实参,则以下正确的说法是( )
A. 必须在主调函数中说明此数组的大小
B. 实参数组类型与形参数组类型可以不匹配
C. 在被调函数中,不需要考虑形参数组的大小
D. 实参数组名与形参数组名必须一致
?
正确答案:A
12. 以下不正确的if语句形式是( )
A. if(x>y && x!=y);
B. if(x= =y) x+=y;
C. if(x != y) scanf("%d",&x ) else scanf("%d",&y);
D. if(x<y) {x++;y++;}
?
正确答案:C
13. 以下正确的描述是( )
A. 函数的定义可以嵌套,但函数的调用不可以嵌套
B. 函数的定义不可以嵌套,但函数的调用可以嵌套
C. 函数的定义和函数的调用均不可以嵌套
D. 函数的定义和函数的调用均可以嵌套
?
正确答案:B
14. 以下正确的说法是( )
A. 实参和与其对应的形参各占用独立的存储单元
B. 实参和与其对应的形参共占用一个存储单元
C. 只有当实参和与其对应的形参同名时才共占用存储单元
D. 形参是虚拟的,不占用存储单元
?
正确答案:A
15. 以下程序的运行结果是( ) main() {int m=5; if(m++> 5) printf(" %d\n",m); e1se printf("%d\n",m-- );}
A. 4
B. 5
C. 6
D. 7
?
正确答案:C
16. 下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除。

请选择填空( ) #include <stdio.h> main() {int i=0,j,k; do{ i++;k=316-13*i;} while(【1】);j=k/11; printf(" 316=13* %d+11*%d",i,j);}
A. k/11
B. k%11
C. k/11==0
D. k/11== 0
?
正确答案:B
17. 以下正确的函数形式是( )
A. double fun(int x,int y) {z=x+y; return z;}
B. fun(int x,y) {int z; return z;}
C. fun(x,y) {int x,y; double z; z=x+y; return z;}
D. double fun(int x,int y) {double z; z=x+y; return z;}
?
正确答案:D
18. #define能作简单的替代,用宏替代计算多项式4*x*x+3*x+2之值的函数f,正确的宏定义是( )
A. #define f(x) 4*x*x+3*x+2
B. #define f 4*x*x+3*x+2
C. #define f(a) (4*a*a+3*a+2)
D. #define (4*a*a+3*a+2)f(a)
?
正确答案:C
19. C语言中( )存储类型的变量只在使用时分配空间
A. static 和auto
B. register和extern
C. register和static
D. auto 和register
?
正确答案:D
20. 已有变量定义和函数调用语句:int a=25;print_value(&a);下面函数的输出结果是( ) void print_value(int *x) { printf(“%d\n”,++*x); }
A. 23
B. 24
C. 25
D. 26
?
正确答案:D。

相关文档
最新文档