东大22秋《高级语言程序设计基础》在线平时作业3[答案]

作者:奥鹏作业答案 字体:[增加 减小] 来源:东大在线 时间:2022-09-25 09:28

《高级语言程序设计基础》在线平时作业3-00001 试卷总分:100 得分:100 一、单选题 (共 20 道试题,共 100 分) 1.若执行下述程序时从键盘输入3 4,则输出结果是( )。 #include main( ) { int a,b,s; scanf(%d%d

东大22秋《高级语言程序设计基础》在线平时作业3[答案]

东大22秋《高级语言程序设计基础在线平时作业3[答案]

正确答案:C

高级语言程序设计基础在线平时作业3-00001

正确答案:D

试卷总分:100  得分:100

一、单选题 (共 20 道试题,共 100 分)

1.若执行下述程序时从键盘输入3 4,则输出结果是( )。

#include main( ) { int a,b,s;  

正确答案:D

scanf("%d%d",&a,&b);

正确答案:D

 s=a;  if (a<b)  printf("%d ",s*s); s=b;  }

正确答案:A

A.216

B.256

C.324

D.400

正确答案:A

 

2.下面程序的输出结果为( )。 main( ) { int a=1,b=0; switch(a) { case 1: switch (b) { case 0: printf("**0**"); break; case 1: printf("**1**"); break; } case 2: printf("**2**"); break; }}

A.**0**

B.**0****2**

C.**0****1****2**

D.有语法错误

正确答案:D

 

3.当说明一个共用体变量时系统分配给它的内存是( )。

A.共用体中第一个成员所需内存量

B.共用体中最后一个成员所需内存量

C.共用体成员中占内存量最大者所需的容量

D.共用体中各成员所需内存量的总和

正确答案:C

 

4.以下程序运行后,输出结果是( )。   #define ADD(x) x+x   main( )   { int m=1, n=2, s=3;    s*=ADD(m+n);    printf("s=%d ", s);  }

正确答案:B

A.s=8

B.s=9

C.s=6

D.s=21

正确答案:B

 

5.C语言程序从main()函数开始执行,所以这个函数要写在( )。

A.程序文件的开始

B.程序文件的最后

C.它所调用的函数的前面

D.程序文件的任何位置

正确答案:D

 

6.若有定义:int i, x[3][4];,则不能将x[1][1]的值赋给变量i的语句是( )。

A.i=x[1][1]

B.i=*(*(x+1))

C.i=*(*(x+1)+1)

D.i=*(x[1]+1)

正确答案:A

 

7.设x、y均是int类型变量,且x值为100,则关于以下for循环的正确判断是( )。     for (y=100; x!=y; ++x,y++)      printf("**** ");

A.循环体只执行一次

B.是无限循环

C.循环体一次都不执行

D.for语句中存在语法错误

正确答案:A

 

8.设c1、c2均是char类型变量,则以下不正确的函数调用是( )。

A.scanf("c1=%cc2=%c",&c1,&c2);

B.getchar( )

C.putchar(c2);

D.putchar(c1,c2)"

正确答案:D

 

9.若a和b均为int型变量,则执行以下程序断后x的输出是( )。 x=15;y=15;printf("%d ",x%=(y%=2));

正确答案:C

A.0

B.1

C.6

D.12

正确答案:C

 

10.对以下说明语句的正确理解是( )。 int a[10]={6,7,8,9,10};

A.将5个初值依次赋给a[1]至a[5]

B.将5个初值依次赋给a[0]至a[4]

C.将5个初值依次赋给a[6]至a[10]

D.因为数组与初值的个数不相同,所以此语句不正确

正确答案:D

 

11.若有说明:char *pc[ ]={"aaa", "bbb", "ccc", "ddd"};,则以下叙述正确的是( )。

正确答案:D

A.*pc[0]代表的是字符串"aaa

B.*pc[0]代表的是字符'a'

C.pc[0]代表的是字符串"aaa"

D.pc[0]代表的是字符'a'

正确答案:D

 

12.下面程序的运行结果是( )。 char a[7]="abcdef"; char b[4]="ABC"; strcpy(a,b); printf("%c",a[5]);

正确答案:D

A.输出空格

B.\0

C.e

D.f

正确答案:D

 

13.设x,y是float型变量,则不正确的赋值语句是( )。

A.++x;

B.y=int(5);

C.x*=y+1;

D.x=y=0;

正确答案:A

 

14.已知学生记录描述如下,下面对结构体成员"computer"的赋值方式正确的是( )。 struct student { int num; char name[8]; struct { float math; float engl; float computer; } mark;} std;

正确答案:D

A.student.computer=84;

正确答案:D

B.mark.computer=84;

C.std.mark.computer=84;

正确答案:A

D.std.computer=84;

正确答案:A

 

15.若要使指针变量p指向一个动态开辟的字符型存储单元,则空中应选择填入的是( )。 char *p;p= malloc(sizeof(char));

A.char

B.char *

C.(*char)

D.(char *)

正确答案:B

 

16.执行下面程序段后,x的值是( )。 int x;printf("%d ",(x=3*5,x+5));

正确答案:B

A.10

B.15

C.20

D.5

正确答案:A

 

17.C语言规定:简单变量做实参时,它和对应形参之间的数据传递方式是( )。

A.地址传递

B.单向值传递

C.由实参传给形参,再由形参传回实参

D.由用户指定传递方式

正确答案:A

 

21.以下在任何情况下计算两数积时都不会引起二义性的宏定义是( )。

A.#define MUL(x,y) x*y

正确答案:B

B.#define MUL(x,y) (x)*(y)

正确答案:C

C.#define MUL(x,y) (x*y)

正确答案:D

D.#define MUL(x,y) ((x)*(y))"

正确答案:B

 

19.以下运算正确的程序段是( )。

A.char str1[]="ABCDE", str2[]="abcdef"; strcpy(str1, str2);

正确答案:B

B.char str[10], *st="abcde"; strcat(str, st);

正确答案:D

C.char *st1="ABCDS", *st2="abcde"; strcat(st1,st2);

正确答案:A

D.char str[10]="", *st="abcde"; strcat(str, st);"

正确答案:B

 

20.以下对指针变量的操作中,不正确的是( )。

A.int p, *q; q=&p;

B.int *p, *q; q=p=NULL;

C.int a=5, *p; *p=a;

D.int a=5, *p=&a, *q=&a; *p=*q;"

正确答案:D

东大22秋《高级语言程序设计基础》在线平时作业3[答案]历年参考题目如下:




18秋学期《高级语言程序设计基础》在线作业2-0001

试卷总分:100    得分:0

一、 单选题 (共 20 道试题,共 100 分)

1.有两个字符数组a、b,则以下正确的输入语句是( )。

A.gets(a,b);

B.scanf("%s%s",a,b);

C.scanf("%s%s",&a,&b);

D.gets("a"); gets("b");"

 

 

2.设x、y均是int类型变量,且x值为100,则关于以下for循环的正确判断是( )。     for (y=100; x!=y; ++x,y++)      printf("**** ");

A.循环体只执行一次

B.是无限循环

C.循环体一次都不执行

D.for语句中存在语法错误

 

 

3.有下面的程序段 char a[3],b[]="China"; a=b; printf("%s",a); 则( )。

A.运行后将输出China

B.运行后将输出Ch

C.运行后将输出Chi

D.编译时出错

 

 

4.下面程序段的输出结果是( )。 int a=023;printf("%d ",--a);

A.23

B.17

C.18

D.24

 

 

5.语句while (!y)中的表达式 !y 等价于( )。

A.y==0

B.y!=1

C.y!=0

D.y==1

 

 

6.以下判断正确的是( )。

A.char *s="string"; 等价于char *s; *s="string";

B.char str[10]={"string"}; 等价于char str[10]; str={"string"};

C.char *s="string"; 等价于char *s; s="string";

D.char str[10]={"string"}; 等价于char str[10]; *str={"strint"};"

 

 

7.若执行下述程序时从键盘输入3 4,则输出结果是( )。

#include main( ) { int a,b,s;  

scanf("%d%d",&a,&b);

 s=a;  if (a<b)  printf("%d ",s*s); s=b;  }               

A.186

B.256

C.324

D.400

 

 

8.若有语句:int a=4, *p=&a;,下面均代表地址的一组选项是( )。

A.a, p, &*a

B.*&a, &a, *p

C.&a, p, &*p

D.*&p, *p, &a"

 

 

9.以下能正确进行字符串赋值操作的是( )。

A.char s[5]={"12345"};

B.char s[5]={'1', '2', '3', '4', '5'};

C.char *s; *s="12345";

D.char *s="12345"; "

 

 

10.以下对指针变量的操作中,不正确的是( )。

A.int p, *q; q=&p;

B.int *p, *q; q=p=NULL;

C.int a=5, *p; *p=a;

D.int a=5, *p=&a, *q=&a; *p=*q;"

 

 

11.以下正确的说法是( )。

A.实参和与其对应的形参各占用独立的存储单元

B.实参和与其对应的形参共占用一个存储单元

C.只有当实参和与其对应的形参同名时才共用存储单元

D.形参是虚拟的,不占用存储单元

 

 

12.若k为整型变量,则以下for循环的执行次数是( )。     for (k=2; k==0; )      printf("%d",k--);

A.无限次

B.0次

C.1次

D.2次

 

 

13.在C语言中,一维数组的定义方式为:类型说明符 数组名( )。

A.[常量表达式]

B.[整型表达式]

C.[整型常量或整型表达式]

D.[整型常量]

 

 

14.下面程序的输出结果为( )。 main( ) { int a=1,b=0; switch(a) { case 1: switch (b) { case 0: printf("**0**"); break; case 1: printf("**1**"); break; } case 2: printf("**2**"); break; }}

A.**0**

B.**0****2**

C.**0****1****2**

D.有语法错误

 

 

15.若a为int类型变量,则执行以下程序段后a的值为( )。 a=5;a*=a/=a++;

A.2

B.1

C.40

D.3

 

 

16.以下在任何情况下计算两数积时都不会引起二义性的宏定义是( )。

A.#define MUL(x,y) x*y

B.#define MUL(x,y) (x)*(y)

C.#define MUL(x,y) (x*y)

D.#define MUL(x,y) ((x)*(y))"

 

 

17.下程序( )。     main( )    { int x1=3, x2=0, x3=0;       if (x1=x2+x3) printf("* * * *"); else printf("# # # #");    }

A.输出:* * * *

B.输出:# # #

C.#存在语法错误

D.无输出结果

 

 

18.若希望当num的值为奇数时,表达式的值为“真”,num的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是( )。

A.num%2==1

B.!(num%2==0)

C.!(num%2)

D.num%2

 

 

19.若有定义:int x[10], *p=x;,则*(p+5)表示( )。

A.数组元素x[5]的地址

B.数组元素x[5]的值

C.数组元素x[6]的地址

D.数组元素x[6]的值

E.选项内容11

F.选项内容11

G.选项内容11

 

 

作业咨询:
点击这里给我发消息

论文咨询:
点击这里给我发消息

合作加盟:
点击这里给我发消息

服务时间:
8:30-24:00(工作日)