东大22秋《高级语言程序设计基础》在线平时作业3[答案]
时间:2022-09-25 09:28 来源:奥鹏教育 作者:奥鹏作业答案 点击:次
正确答案: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
(责任编辑:admin) |
![东大22秋《高级语言程序设计基础》在线平时作业3[答案]](/uploads/allimg/240109/97154e437e878c836e61e16d75d8c666.jpg)