东大23春《高级语言程序设计基础》在线平时作业3【标准答案】 作者:奥鹏周老师 分类: 东北大学 发布时间: 2023-03-02 18:58 作业答案 联系QQ:3326650399 微信:cs80188 微信二维码 《高级语言程序设计基础》在线平常作业3-00001 试卷总分:100 得分:100 一、单选题 (共 20 道试题,共 100 分) 1.若履行下述程序时从键盘输入3 4,则输出成果是( )。 #include main( ) { int a,b,s; scanf("%d%d",&a,&b); s=a; if (a A.186 B.256 C.324 D.400 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.有语法错误 3.当阐明一个共用体变量时系统分配给它的内存是( )。 A.共用体中榜首个成员所需内存量 B.共用体中最终一个成员所需内存量 C.共用体成员中占内存量最大者所需的容量 D.共用体中各成员所需内存量的总和 4.以下程序运转后,输出成果是( )。 #define ADD(x) x+x main( ) { int m=1, n=2, s=3; s*=ADD(m+n); printf("s=%d\n", s); } A.s=8 B.s=9 C.s=6 D.s=18 5.C语言程序从main()函数开端履行,所以这个函数要写在( )。 A.程序文件的开端 B.程序文件的最终 C.它所调用的函数的前面 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) 7.设x、y均是int类型变量,且x值为100,则关于以下for循环的正确判别是( )。 for (y=100; x!=y; ++x,y++) printf("****\n"); A.循环体只履行一次 B.是无限循环 C.循环体一次都不履行 D.for句子中存在语法错误 8.设c1、c2均是char类型变量,则以下不正确的函数调用是( )。 A.scanf("c1=%cc2=%c",&c1,&c2); B.getchar( ) C.putchar(c2); D.putchar(c1,c2)" 9.若a和b均为int型变量,则履行以下程序断后x的输出是( )。 x=15;y=15;printf("%d\n",x%=(y%=2)); A.0 B.1 C.6 D.12 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.由于数组与初值的个数不一样,所以此句子不正确 11.若有阐明:char *pc[ ]={"aaa", "bbb", "ccc", "ddd"};,则以下叙说正确的是( )。 A.*pc[0]代表的是字符串"aaa B.*pc[0]代表的是字符\'a\' C.pc[0]代表的是字符串"aaa" D.pc[0]代表的是字符\'a\' 12.下面程序的运转成果是( )。 char a[7]="abcdef"; char b[4]="ABC"; strcpy(a,b); printf("%c",a[5]); A.输出空格 B.\0 C.e D.f 13.设x,y是float型变量,则不正确的赋值句子是( )。 A.++x; B.y=int(5); C.x*=y+1; D.x=y=0; 14.已知学生记载描绘如下,下面临结构体成员"computer"的赋值方法正确的是( )。 struct student { int num; char name[8]; struct { float math; float engl; float computer; } mark;} std; A.student.computer=84; B.mark.computer=84; C.std.mark.computer=84; D.std.computer=84; 15.若要使指针变量p指向一个动态拓荒的字符型存储单元,则空中应挑选填入的是( )。 char *p;p= malloc(sizeof(char)); A.char B.char * C.(*char) D.(char *) 16.履行下面程序段后,x的值是( )。 int x;printf("%d\n",(x=3*5,x+5)); A.10 B.15 C.20 D.5 17.C语言规则:简略变量做实参时,它和对应形参之间的数据传递方法是( )。 A.地址传递 B.单向值传递 C.由实参传给形参,再由形参传回实参 D.由用户指定传递方法 18.以下在任何状况下计算两数积时都不会导致二义性的宏界说是( )。 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))" 19.以下运算正确的程序段是( )。 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);" 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;" 作业答案 联系QQ:3326650399 微信:cs80188 微信二维码
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 100 分)
1.若履行下述程序时从键盘输入3 4,则输出成果是( )。
#include main( ) { int a,b,s;
scanf("%d%d",&a,&b);
s=a; if (a
A.186
B.256
C.324
D.400
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.有语法错误
3.当阐明一个共用体变量时系统分配给它的内存是( )。
A.共用体中榜首个成员所需内存量
B.共用体中最终一个成员所需内存量
C.共用体成员中占内存量最大者所需的容量
D.共用体中各成员所需内存量的总和
4.以下程序运转后,输出成果是( )。 #define ADD(x) x+x main( ) { int m=1, n=2, s=3; s*=ADD(m+n); printf("s=%d\n", s); }
A.s=8
B.s=9
C.s=6
D.s=18
5.C语言程序从main()函数开端履行,所以这个函数要写在( )。
A.程序文件的开端
B.程序文件的最终
C.它所调用的函数的前面
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)
7.设x、y均是int类型变量,且x值为100,则关于以下for循环的正确判别是( )。 for (y=100; x!=y; ++x,y++) printf("****\n");
A.循环体只履行一次
B.是无限循环
C.循环体一次都不履行
D.for句子中存在语法错误
8.设c1、c2均是char类型变量,则以下不正确的函数调用是( )。
A.scanf("c1=%cc2=%c",&c1,&c2);
B.getchar( )
C.putchar(c2);
D.putchar(c1,c2)"
9.若a和b均为int型变量,则履行以下程序断后x的输出是( )。 x=15;y=15;printf("%d\n",x%=(y%=2));
A.0
B.1
C.6
D.12
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.由于数组与初值的个数不一样,所以此句子不正确
11.若有阐明:char *pc[ ]={"aaa", "bbb", "ccc", "ddd"};,则以下叙说正确的是( )。
A.*pc[0]代表的是字符串"aaa
B.*pc[0]代表的是字符\'a\'
C.pc[0]代表的是字符串"aaa"
D.pc[0]代表的是字符\'a\'
12.下面程序的运转成果是( )。 char a[7]="abcdef"; char b[4]="ABC"; strcpy(a,b); printf("%c",a[5]);
A.输出空格
B.\0
C.e
D.f
13.设x,y是float型变量,则不正确的赋值句子是( )。
A.++x;
B.y=int(5);
C.x*=y+1;
D.x=y=0;
14.已知学生记载描绘如下,下面临结构体成员"computer"的赋值方法正确的是( )。 struct student { int num; char name[8]; struct { float math; float engl; float computer; } mark;} std;
A.student.computer=84;
B.mark.computer=84;
C.std.mark.computer=84;
D.std.computer=84;
15.若要使指针变量p指向一个动态拓荒的字符型存储单元,则空中应挑选填入的是( )。 char *p;p= malloc(sizeof(char));
A.char
B.char *
C.(*char)
D.(char *)
16.履行下面程序段后,x的值是( )。 int x;printf("%d\n",(x=3*5,x+5));
A.10
B.15
C.20
D.5
17.C语言规则:简略变量做实参时,它和对应形参之间的数据传递方法是( )。
A.地址传递
B.单向值传递
C.由实参传给形参,再由形参传回实参
D.由用户指定传递方法
18.以下在任何状况下计算两数积时都不会导致二义性的宏界说是( )。
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))"
19.以下运算正确的程序段是( )。
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);"
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;"
作业答案 联系QQ:3326650399 微信:cs80188