东大21秋学期《高级语言程序设计基础X》在线平时作业2【答案】

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

试卷总分:100  得分:100

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

1.以下程序段的运行结果是( )。 char a[ ]="program", *p; p=a; while (*p!='g')   { printf("%c", *p-32); p++; }

A.PROgram

B.PROGRAM

C.PRO

D.proGRAM

2.已知intx=10,y=20,z=30;以下语句执行后x,y,z的值是( )。if(x>y)z=x;x=y;y=z;

A.x=10,y=20,z=30

B.x=20,y=30,z=30

C.x=20,y=30,z=10

D.x=20,y=30,z=20"

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

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

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

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

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

4.以下对二维数组a的正确说明是( )。

A.int a[3][];

B.float a(3,4);

C.double a[1][4]

D.float a(3)(4);

 

5.若有说明:int a[][3]={1,2,3,4,5,6,7};则数组a第一维的大小是( )。

A.2

B.3

C.4

D.无确定值

6.以下能正确定义整型变量x、y和z并为其赋初值5的语句是( )。

A.int x=y=z=5;

B.int x,y,z=5;

C.int x=5,y=5,z=5;

D.x=5,y=5,z=5;"

7.以下程序段的执行结果是( )。     int x=-3;     do      { printf("%d\n", x++);     }while(!x);

A.-3

B.-2

C.-1

D.陷入死循环

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

A.运行后将输出China

B.运行后将输出Ch

C.运行后将输出Chi

D.编译时出错

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

A.23

B.17

C.18

D.24

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

A.[常量表达式]

B.[整型表达式]

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

D.[整型常量]

11.若有以下程序段:   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个非负整数

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

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

B.getchar( )

C.putchar(c2);

D.putchar(c1,c2)"

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

A.2

B.1

C.40

D.3

14.如果在一个函数中的复合语句中定义了一个变量,则以下正确的说法是( )。

A.该变量只在该复合语句中有效

B.该变量在该函数中有效

C.该变量在本程序范围内有效

D.该变量为非法变量

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

16.设有定义:int a=1, *p=&a; float b=2.0; char c='A'; ,以下不合法的运算是( )。

A.p++;

B.a--;

C.b++;

D.c--;

17.若二维数组a有m列,则在a[i][j]前的元素个数为( )。

A.j*m+i

B.i*m+j

C.i*m+j-1

D.i*m+j+1

18.C语言结构体类型变量在程序执行期间( )。

A.所有成员一直驻留在内存中

B.只有一个成员驻留在内存中

C.部分成员驻留在内存中

D.没有成员驻留在内存中

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

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

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

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

A.186

B.256

C.324

D.400

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

A.输出:* * * *

B.输出:# # #

C.#存在语法错误

D.无输出结果

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

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

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

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

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

E.选项内容11

F.选项内容11

22.执行以下程序后,m的值是( )。   #define MIN(x, y) (x)<(y) ? (x) : (y)   main( )   { int i=12, j=8, m;    m=10*MIN(i, j);    printf("%d\n", m);  }

A.120

B.80

C.12

D.8

23.若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为( )。(假设a[0][0]位于数组的第一个位置上。)

A.i*m+j

B.j*m+i

C.i*m+j-1

D.i*m+j+1

24.以下能正确读入字符串的程序段是( )。

A.char *p; scanf("%s", p);

B.char str[10]; scanf("%s", &str);

C.char str[10], *p; p=str; scanf("%s", p);

D.char str[10], *p=str; scanf("%s", p[1]);"

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

VX__dddda98

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值