2022年8月东北大学 《高级语言程序设计基础X》在线平时作业3
完整答案在最底下附件,请核对试题后再下载,如有问题请联系客服
《高级语言程序设计基础X》在线平时作业3
一、单选题(共25道试题共100分)
1.若有说明:inta[][3]={1234567};则数组a第一维的大小是()。
A.2
B.3
C.4
D.无确定值
2.以下程序执行后a的值为()。main(){inta,m=2k=1*p=&k;a=p!=&m;printf("%dn"a);}
A.-1
B.0
C.1
D.2
3.执行以下程序后,m的值是()。#defineMIN(xy)(x)<(y)?(x):(y)main(){inti=12j=8m;m=10*MIN(ij);printf("%dn"m);}
A.120
B.80
C.12
D.8
4.以下能正确读入字符串的程序段是()。
A.char*p;scanf("%s"p);
B.charstr[10];scanf("%s"&str);
C.charstr[10]*p;p=str;scanf("%s"p);
D.charstr[10]*p=str;scanf("%s"p[1]);"
5.以下运算正确的程序段是()。
A.charstr1[]="ABCDE"str2[]="abcdef";strcpy(str1str2);
B.charstr[10]*st="abcde";strcat(strst);
C.char*st1="ABCDS"*st2="abcde";strcat(st1st2);
D.charstr[10]=""*st="abcde";strcat(strst);"
6.若有说明:inta[3][4];则数组a中各元素()。
A.可在程序的运行阶段得到初值0
B.可在程序的编译阶段得到初值0
C.不能得到确定的初值
D.可在程序的编译或运行阶段得到初值0
7.对以下说明语句的正确理解是()。inta[10]={678910};
A.将5个初值依次赋给a[1]至a[5]
B.将5个初值依次赋给a[0]至a[4]
C.将5个初值依次赋给a[6]至a[10]
D.因为数组与初值的个数不相同,所以此语句不正确
8.下面程序的输出结果为()。main(){inta=1b=0;switch(a){case1:switch(b){case0:printf("**0**");break;case1:printf("**1**");break;}case2:printf("**2**");break;}}
A.**0**
B.**0****2**
C.**0****1****2**
D.有语法错误
9.C语言的编译系统对宏命令的处理是()。
A.在对源程序中其它成分正式编译之前进行的
B.和C程序中的其它语句同时进行的
C.在程序连接时进行的
D.在程序运行时进行的
10.若k为整型变量,则以下for循环的执行次数是()。for(k=2;k==0;)printf("%d"k--);
A.无限次
B.0次
C.1次
D.2次
11.若有定义:intix[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)
12.以下能正确定义整型变量x、y和z并为其赋初值5的语句是()。
A.intx=y=z=5;
B.intxyz=5;
C.intx=5y=5z=5;
D.x=5y=5z=5;"
13.以下对指针变量的操作中,不正确的是()。
A.intp*q;q=&p;
B.int*p*q;q=p=NULL;
C.inta=5*p;*p=a;
D.inta=5*p=&a*q=&a;*p=*q;"
14.当说明一个共用体变量时系统分配给它的内存是()。
A.共用体中第一个成员所需内存量
B.共用体中最后一个成员所需内存量
C.共用体成员中占内存量最大者所需的容量
D.共用体中各成员所需内存量的总和
15.下面程序段的运行结果是()。chara[7]="abcdef";charb[4]="ABC";strcpy(ab);printf("%c"a[5]);
A.空格
B.
C.e
D.f
16.若执行fopen函数时发生错误,则函数的返回值是()。
A.随机值
B.1
C.NULL
D.EOF
17.若有说明:inta[][4]={00};则下面不正确的叙述是()。
A.数组a中的每个元素都可得到初值0
B.二维数组a的第1维大小为1
C.因为二维数组a中第二维大小的值除以初值个数的商为1,故数组a的行数为1
D.只有数组元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0
18.以下正确的描述是()。
A.函数的定义可以嵌套,但函数的调用不可以嵌套
B.函数的定义不可以嵌套,但函数的调用可以嵌套
C.函数的定义和函数的调用均不可以嵌套
D.函数的定义和函数的调用均可以嵌套
19.语句while(!y)中的表达式!y等价于()。
A.y==0
B.y!=1
C.y!=0
D.y==1
20.以下在任何情况下计算两数积时都不会引起二义性的宏定义是()。
A.#defineMUL(xy)x*y
B.#defineMUL(xy)(x)*(y)
C.#defineMUL(xy)(x*y)
D.#defineMUL(xy)((x)*(y))"
21.以下能对一维数组a进行正确初始化的语句是()。
A.inta[10]=(00000);
B.inta[10]={};
C.inta[]={0};
D.inta[10]=(10*1);
22.若有说明:inta[10];则对数组元素的正确引用是()。
A.a[10]
B.a[35]
C.a(5)
D.a[10-10]
23.设c1、c2均是char类型变量,则以下不正确的函数调用是()。
A.scanf("c1=%cc2=%c"&c1&c2);
B.getchar()
C.putchar(c2);
D.putchar(c1c2)"
24.若二维数组a有m列,则在a[i][j]前的元素个数为()。
A.j*m+i
B.i*m+j
C.i*m+j-1
D.i*m+j+1
25.若有定义:intx[10]*p=x;,则*(p+5)表示()。
A.数组元素x[5]的地址
B.数组元素x[5]的值
C.数组元素x[6]的地址
D.数组元素x[6]的值
E.选项内容11
F.选项内容11
G.选项内容11
举报
一、单选题(共25道试题共100分)
1.若有说明:inta[][3]={1234567};则数组a第一维的大小是()。
A.2
B.3
C.4
D.无确定值
2.以下程序执行后a的值为()。main(){inta,m=2k=1*p=&k;a=p!=&m;printf("%dn"a);}
A.-1
B.0
C.1
D.2
3.执行以下程序后,m的值是()。#defineMIN(xy)(x)<(y)?(x):(y)main(){inti=12j=8m;m=10*MIN(ij);printf("%dn"m);}
A.120
B.80
C.12
D.8
4.以下能正确读入字符串的程序段是()。
A.char*p;scanf("%s"p);
B.charstr[10];scanf("%s"&str);
C.charstr[10]*p;p=str;scanf("%s"p);
D.charstr[10]*p=str;scanf("%s"p[1]);"
5.以下运算正确的程序段是()。
A.charstr1[]="ABCDE"str2[]="abcdef";strcpy(str1str2);
B.charstr[10]*st="abcde";strcat(strst);
C.char*st1="ABCDS"*st2="abcde";strcat(st1st2);
D.charstr[10]=""*st="abcde";strcat(strst);"
6.若有说明:inta[3][4];则数组a中各元素()。
A.可在程序的运行阶段得到初值0
B.可在程序的编译阶段得到初值0
C.不能得到确定的初值
D.可在程序的编译或运行阶段得到初值0
7.对以下说明语句的正确理解是()。inta[10]={678910};
A.将5个初值依次赋给a[1]至a[5]
B.将5个初值依次赋给a[0]至a[4]
C.将5个初值依次赋给a[6]至a[10]
D.因为数组与初值的个数不相同,所以此语句不正确
8.下面程序的输出结果为()。main(){inta=1b=0;switch(a){case1:switch(b){case0:printf("**0**");break;case1:printf("**1**");break;}case2:printf("**2**");break;}}
A.**0**
B.**0****2**
C.**0****1****2**
D.有语法错误
9.C语言的编译系统对宏命令的处理是()。
A.在对源程序中其它成分正式编译之前进行的
B.和C程序中的其它语句同时进行的
C.在程序连接时进行的
D.在程序运行时进行的
10.若k为整型变量,则以下for循环的执行次数是()。for(k=2;k==0;)printf("%d"k--);
A.无限次
B.0次
C.1次
D.2次
11.若有定义:intix[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)
12.以下能正确定义整型变量x、y和z并为其赋初值5的语句是()。
A.intx=y=z=5;
B.intxyz=5;
C.intx=5y=5z=5;
D.x=5y=5z=5;"
13.以下对指针变量的操作中,不正确的是()。
A.intp*q;q=&p;
B.int*p*q;q=p=NULL;
C.inta=5*p;*p=a;
D.inta=5*p=&a*q=&a;*p=*q;"
14.当说明一个共用体变量时系统分配给它的内存是()。
A.共用体中第一个成员所需内存量
B.共用体中最后一个成员所需内存量
C.共用体成员中占内存量最大者所需的容量
D.共用体中各成员所需内存量的总和
15.下面程序段的运行结果是()。chara[7]="abcdef";charb[4]="ABC";strcpy(ab);printf("%c"a[5]);
A.空格
B.
C.e
D.f
16.若执行fopen函数时发生错误,则函数的返回值是()。
A.随机值
B.1
C.NULL
D.EOF
17.若有说明:inta[][4]={00};则下面不正确的叙述是()。
A.数组a中的每个元素都可得到初值0
B.二维数组a的第1维大小为1
C.因为二维数组a中第二维大小的值除以初值个数的商为1,故数组a的行数为1
D.只有数组元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0
18.以下正确的描述是()。
A.函数的定义可以嵌套,但函数的调用不可以嵌套
B.函数的定义不可以嵌套,但函数的调用可以嵌套
C.函数的定义和函数的调用均不可以嵌套
D.函数的定义和函数的调用均可以嵌套
19.语句while(!y)中的表达式!y等价于()。
A.y==0
B.y!=1
C.y!=0
D.y==1
20.以下在任何情况下计算两数积时都不会引起二义性的宏定义是()。
A.#defineMUL(xy)x*y
B.#defineMUL(xy)(x)*(y)
C.#defineMUL(xy)(x*y)
D.#defineMUL(xy)((x)*(y))"
21.以下能对一维数组a进行正确初始化的语句是()。
A.inta[10]=(00000);
B.inta[10]={};
C.inta[]={0};
D.inta[10]=(10*1);
22.若有说明:inta[10];则对数组元素的正确引用是()。
A.a[10]
B.a[35]
C.a(5)
D.a[10-10]
23.设c1、c2均是char类型变量,则以下不正确的函数调用是()。
A.scanf("c1=%cc2=%c"&c1&c2);
B.getchar()
C.putchar(c2);
D.putchar(c1c2)"
24.若二维数组a有m列,则在a[i][j]前的元素个数为()。
A.j*m+i
B.i*m+j
C.i*m+j-1
D.i*m+j+1
25.若有定义:intx[10]*p=x;,则*(p+5)表示()。
A.数组元素x[5]的地址
B.数组元素x[5]的值
C.数组元素x[6]的地址
D.数组元素x[6]的值
E.选项内容11
F.选项内容11
G.选项内容11
答案附件,售价 2.00 奥币,点击购买
有任何问题,请联系客服,客服微信:aokai59
0 个回复