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

作者:奥鹏作业答案 字体:[增加 减小] 来源:东大在线 时间:2021-11-29 07:45

《高级语言程序设计基础》在线平时作业3 试卷总分:100 得分:100 一、单选题 (共 20 道试题,共 100 分) 1.有下面的程序段 char a[3],b[]=China; a=b; printf(%s,a); 则( )。 A.运行后将输出China B.运行后将输出

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

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

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

试卷总分:100  得分:100

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

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

A.运行后将输出China

B.运行后将输出Ch

C.运行后将输出Chi

D.编译时出错

正确答案:-----

 

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

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

正确答案:-----

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

正确答案:-----

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

正确答案:-----

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

正确答案:-----

 

3.若有定义: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

 

4.若有以下程序段:   for (m=1; m<=100; m++)    { scanf("%d", &y);    if (y<0)    continue;    printf("%3d", m);    }正确的描述是( )。

正确答案:-----

A.当y<0时整个循环结束

B.y>=0时什么也不输出

C.printf函数永远也不执行

D.最多允许输出100个非负整数

正确答案:-----

 

5.有字符数组a[80]和b[80],则正确的输出语句是( )。

A.puts(a.b);

B.printf("%s,%s",a[],b[]);

C.pitchar(a,b);

D.puts(a); puts(b);

正确答案:-----

 

6.若有说明:int a[][4]={0,0};则下面不正确的叙述是( )。

A.数组a中的每个元素都可得到初值0

B.二维数组a的第1维大小为1

C.因为二维数组a中第二维大小的值除以初值个数的商为1,故数组a的行数为1

D.只有数组元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0

正确答案:-----

 

7.下面程序( )。(每行程序前的数字为行号) 1 main{} 2 { 3 float a[10]={0.0}; 4 int i; 5 for(i=0;i<3;i++) scanf(%d",&a[i]); 6 for(i=1;i<10;i++) a[0]=a[0]+a[i]; 7 printf("%f ",a[0]); 8 }

正确答案:-----

A.没有错误

B.第3行有错误

C.第5行有错误

D.第7行有错误

正确答案:-----

 

8.当定义一个结构体变量时系统分配给它的内存是( )。

A.结构中第一个成员所需的内存量

B.结构中最后一个成员所需的内存量

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

D.结构体中各成员所需内存量的总和

正确答案:-----

 

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

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))"

正确答案:-----

 

10.下面对typedef的叙述中不正确的是( )。

正确答案:-----

A.用typedef不能定义变量名

正确答案:-----

B.用typedef可以定义ABC数据类型

正确答案:-----

C.用typedef只是将已存在的类型用一个ABC标识符来代表

正确答案:-----

D.使用typedef有利于程序的通用和移植

正确答案:-----

 

11.若有以下程序段: …… int a[]={4,0,2,3,1},i,j,t; for(i=1;i=0 && t>a[j]) { a[j+1]=a[j];j--;} a[j+1]=t; } …… 则该程序段的功能是( )。

A.对数组a进行插入排序(升序)

B.对数组a进行插入排序(降序)

C.对数组a进行选择排序(升序)

D.对数组a进行选择排序(降序)

正确答案:-----

 

12.定义如下变量和数组:int k; int a[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是( )。for(k=0;k<3;k++) printf("%d",a[k][2-k]);

正确答案:-----

A.3 5 7

B.3 6 9

C.1 5 9

D.1 4 7

正确答案:-----

 

13.若执行fopen函数时发生错误,则函数的返回值是( )。

A.随机值

B.1

C.NULL

D.EOF

正确答案:-----

正确答案:-----

 

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

正确答案:-----

A.23

B.17

C.21

D.24

正确答案:-----

 

15.下面程序的输出结果为( )。 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.有语法错误

正确答案:-----

 

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

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;"

正确答案:-----

 

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

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"};"

正确答案:-----

 

21.下面程序的运行结果是( )。 main() { struct cmplx { int x; int y; } cm[2]={1,2,3,4}; printf("%d ", 2*cm[0].x+ cm[1].y/cm[0].y);}

正确答案:-----

A.5

B.2

C.3

D.4

正确答案:-----

 

19.若调用fputc函数输出字符成功,则函数的返回值是( )。

A.输出的字符

B.-1

C.0

D.EOF

 

20.C语言中字符型(char)数据在内存中的存储形式是( )。

A.原码

B.补码

C.反码

D.ASCII码

正确答案:-----

 

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




21春学期《高级语言程序设计基础X》在线平时作业3

试卷总分:100  得分:100

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

1.若有定义: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)

 

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

A.空格

B.\0

C.e

D.f

 

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

A.程序文件的开始

B.程序文件的最后

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

D.程序文件的任何位置

 

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

A.无限次

B.0次

C.1次

D.2次

 

5.以下程序段中的do-while循环( )。     m=-1;     do      { m=m*m;     }while(!m);

A.是死循环

B.执行二次

C.执行一次

D.有语法错误

 

6.若执行下述程序时从键盘输入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

 

7.设ch是char类型变量,其值是A,则表达式ch=(ch>='A'&&ch<='Z')?(ch+32):ch的值是( )。

A.Z

B.A

C.a

D.z

 

8.对两个数组a和b进行如下初始化 char a[]="ABCDEF"; char b[]={'A','B','C','D','E','F'}; 则以下叙述正确的是( )。

A.a与b数组完全相同

B.a与b长度相同

C.a和b中都存放字符串

D.a数组比b数组长

 

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

A.s=8

B.s=9

C.s=6

D.s=18

 

10.C语言允许函数值类型的缺省定义,此时该函数值隐含的类型是( )。

A.float

B.int

C.long

D.double

 

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

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

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

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

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

E.选项内容11

F.选项内容11

 

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

A.a, p, &*a

B.*&a, &a, *p

C.&a, p, &*p

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

 

13.设a、b、c、d均是int类型变量,为了使以下程序段的输出为:1234+123+12+1,正确的输入形式应当是( )。 scanf("%4d+%3d+%2d+%1d",&a,&b,&c,&d);printf("%4d+%3d+%2d+%1d",a, b, c, d);

A.1234123121

B.1234123412341234

C.1234+1234+1234+1234

D.1234+123+12+1

 

14.以下对C语言中共用体类型数据的叙述正确的是( )。

A.可以对共用体变量名直接赋值

B.一个共用体变量中可以同时存放其所有成员

C.一个共用体变量中不能同时存放其所有成员

D.共用体类型定义中不能出现结构体类型的成员

 

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

A.地址传递

B.单向值传递

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

D.由用户指定传递方式

 

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

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

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

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

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

 

17.若有说明:int a[3][4];则数组a中各元素( )。

A.可在程序的运行阶段得到初值0

B.可在程序的编译阶段得到初值0

C.不能得到确定的初值

D.可在程序的编译或运行阶段得到初值0

 

18.当定义一个结构体变量时系统分配给它的内存是( )。

A.结构中第一个成员所需的内存量

B.结构中最后一个成员所需的内存量

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

D.结构体中各成员所需内存量的总和

 

19.在C语言中,错误的int类型的常数是( )。

A.32768

B.0

C.37

D.0xAF

 

20.当正常执行了文件关闭操作时,fclose函数的返回值是( )。

A.-1

B.随机值

C.0

D.1

 

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

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

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

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

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

 

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

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;"

 

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

A.y==0

B.y!=1

C.y!=0

D.y==1

 

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

A.char

B.char *

C.(*char)

D.(char *)

 

25.已知ch是字符型变量,则不正确的赋值语句是( )。

A.ch=5+9;

B.ch='\0';

C.ch='7'+'9';

D.ch='a+b';

 

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

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

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

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