南昌大学 c答案第8章以后 函数预处理命令 结构体与共用体 文件Word下载.docx
- 文档编号:18459452
- 上传时间:2022-12-16
- 格式:DOCX
- 页数:48
- 大小:35.94KB
南昌大学 c答案第8章以后 函数预处理命令 结构体与共用体 文件Word下载.docx
《南昌大学 c答案第8章以后 函数预处理命令 结构体与共用体 文件Word下载.docx》由会员分享,可在线阅读,更多相关《南昌大学 c答案第8章以后 函数预处理命令 结构体与共用体 文件Word下载.docx(48页珍藏版)》请在冰豆网上搜索。
14、以下叙述不正确的是()。
A.一个C源程序可由一个或多个函数组成B.一个C源程序必须包含一个main函数
C.C程序的基本组成单位是函数D.在C程序中,注释说明只能位于一条语句的后面
[D]教师批改:
D
15、当调用函数时,实参是一个数组名,则向函数传送的是_____。
A)数组的长度B)数组的首地址
C)数组每一个元素的地址D)数组每个元素中的值
16、请读程序:
#include<
stdio.h>
f(inb[],intn)
{inti,r;
r=1;
for(i=0;
i<
=n;
i++)r=r*b[i];
returnr;
}
{intx,a[]={2,3,4,5,6,7,8,9};
x=f(a,3);
%dn"
x);
上面程序的输出结果是_____。
A)720B)120
C)24D)6
B
第9章预处理命令
1、程序中定义以下宏#defineS(a,b)a*b若定义intarea;
且令area=S(3+1,3+D),则变量area的值为:
A.10B.12
C.21D.28
2、以下关于宏替换的叙述不正确的是:
A.宏替换只是字符替换B.宏名无类型
C.宏替换不占用运行时间D.宏替换不占用编译时间
3、执行下列语句后,a的值为:
inta;
#defineM(x,y)(x*y)
a=M(1+2,3);
A.9B.7
C.5D.以上均不是
4、下列四组选项中,均不是C语言关键字的选项是()。
A.defineIFtypeB.getccharprintf
C.invludescanfcaseD.whilegopow
第10章指针
1、若有以下说明和语句,intc[4][5],(*p)[5];
p=c;
能正确引用c数组元素的是A)p+1B)*(p+3)
C)*(p+1)+3D)*(p[0]+2))
2、若有定义:
int*p[3];
则以下叙述中正确的是A)定义了一个基类型为int的指针变量p,该变量具有三个指针B)定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针
C)定义了一个名为*p的整型数组,该数组含有三个int类型元素D)定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素
3、有以下程序
{inta[3][3],*p,i;
p=&
a[0][0];
for(i=0;
9;
i++)p[i]=i+1;
a[1][2]);
程序运行后的输出结果是A)3B)6
C)9D)2
4、若有以下定义和语句:
ints[4][5],(*ps)[5];
ps=s;
则对s数组元素的正确引用形式是A)ps+1B)*(ps+3)
C)ps[0][2]D)*(ps+1)+3
5、若有以下的定义:
intt[3][2];
能正确表示t数组元素地址的表达式是A)&
t[3][2]B)t[3]
C)t[1]D)t[2]
6、下列程序执行后的输出结果是
{inta[3][3],*p,i;
a[0][0];
for(i=p;
9;
%dn"
}A)3B)6
C)9D)随机数
7、以下程序的输出结果是
main()
{inti,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&
x[1][1];
for(i=0;
i<
4;
i+=2)printf("
%d"
,p[i]);
}A)52B)51
C)53D)97
8、执行以下程序段后,m的值为
inta[2][3]={{1,2,3},{4,5,6}};
intm,*p;
m=(*p)*(*(p+2))*(*(p+4));
A)15B)14
C)13D)12
9、若有以下说明:
intw[3][4]o={{0,1},{2,4},{5,8}};
int(*p)[4]=w;
则数值为4的表达式是A)*w[1]+1B)p++,*(p+1)
C)w[2][2]D)p[1][1]
10、若有以下的说明和语句:
{intt[3][2],*pt[3],k;
fpr(k=o;
k<
3;
k++)pt[k]=t[k];
则以一选项中能正确表示t数组元素地址的表达式是A)&
t[3][2]B)*pt[0]
C)*(pt+1)D)&
pt[2]
11、设有以下定义:
inta[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};
int(*prt)[3]=a,*p=a[0];
则下列能够正确表示数组元素a[1][2]的表达式是A)*((*prt+1)[2])B)*(*(p+5))
C)(*prt+1)+2D)*(*(a+1)+2)
12、下面程序的输出是
intaa[3][3]={{2},{4},{6}};
{inti,*p=&
aa[0][0];
2;
i++)
{if(i==0)
aa[i][i+1]=*p+1;
else
++p;
*p);
}A)23B)26
C)33D)36
13、若有以下说明和语句,请选出哪个是对c数组元素的正确引用
intc[4][5],(*cp)[5];
cp=c;
A)cp+1B)*(cp+3)
C)*(cp+1)+3D)*(*cp+2)
14、设有说明int(*ptr)[m];
其中的标识符ptr是。
A)M个指向整型变量的指针B)指向M个整型变量的函数指针
C)一个指向具有M个整型元素的一维数组的指针D)具有M个指针元素的一维指针数组,每个元素都只能指向整型量
15、有以下程序,其中函数f的功能是将多个字符串按字典顺序排序
#include<
string.h>
voidf(char*p[],intn)
{char*t;
inti,j;
n-1;
i++)
for(j=i+1;
j<
n;
j++)
if(strcmp(p[i],p[j])>
0){t=p[i];
p[i]=p[j];
p[j]=t;
{char*p[5]={"
abc"
"
aabdfg"
abbd"
dcdbe"
cd"
};
f(p,5);
strlen(p[1]));
程序运行后的输出结果是()A)2B)3
C)6D)4
16、有以下程序
{
chars[]="
159"
*p;
p=s;
%c"
*p++);
程序运行后的输出结果是()A)15B)16
C)12D)59
17、有以下函数
fun(char*a,char*b)
while((*a!
=‘‘)&
&
(*b!
(*a==*b))
{a++;
b++;
return(*a-*b);
该函数的功能是A)计算a和b所指字符串的长度之差B)将b所指字符串复制到a所指字符串中
C)将b所指字符串连接到a所指字符串后面D)比较a和b所指字符串的大小
18、有以下程序
point(char*p)
p+=3;
{charb[4]={‘a‘,‘b‘,‘c‘,‘d‘},*p=b;
point(p);
printf("
%cn"
程序运行后的输出结果是A)aB)b
C)cD)d
19、有以下程序
{charstr[][10]={"
China"
Beijing"
},*p=str;
%sn"
p+10);
程序运行后的输出结果是A)ChinaB)Bejing
C)ngD)ing
20、有以下程序
{chars[]="
ABCD"
for(p=s+1;
p<
s+4;
p++)printf("
p);
程序运行后的输出结果是A)ABCD
BCD
CD
DB)A
C)B
DD)BCD
21、有以下程序
{char*p[10]={“abc”,”aabdfg”,”dcdbe”,”abbd”,”cd”};
printf(“%dn”,strlen(p[4]));
执行后输出结果是A)2B)3
C)4D)5
22、已定义以下函数
fun(char*p2,char*p1)
{while((*p2=*p1)!
=‘’){p1++;
p2++;
}}
函数的功能是A)将p1所指字符串复制到p2所指内存空间B)将p1所指字符串的地址赋给指针p2
C)对p1和p2两个指针所指字符串进行比较D)检查p1和p2两个指针所指字符串中是否有‘’
23、有以下程序
{char*p=“abcdeOfghjik”;
printf(“%dn”,strlen(p));
程序运行后的输出结果是A)12B)15
C)6D)5
24、以下程序的输出结果是
main()
{charb1[8]="
abcdefg"
b2[8],*pb=b1+3;
while(--pb>
=b1)strcpy(b2,pb);
strlen(b2));
}A)8B)3
C)1D)7
25、以下程序的输出结果是
{charch[3][4]={"
123"
456"
78"
},*p[3];
inti;
i++)p[i]=ch[i];
i++)printf("
%s"
p[i]);
}A)123456780B)123456780
C)12345678D)147
26、以下程序的输出结果是
{char*s="
12134211"
;
intv[4]={0,0,0,0},k,i;
for(k=0;
s[k];
k++)
{switch(s[k])
{case‘1‘:
i=0;
case‘2‘:
i=1;
case‘3‘:
i=2;
case‘4‘:
i=3;
v[i]++;
k<
k++)printf("
,v[k]);
}A)4211B)0008
C)4678D)8888
27、以下程序运行后,输出结果是
{charch[2][5]={‘693"
825"
},*p[2];
inti,j,s=0;
for(j=0;
p[i][j]=‘0‘&
p[i][j]<
=‘9‘;
j+=2)
s=10*s+p[i][j]-‘0‘;
s);
}A)6385B)22
C)33D)693825
28、以下程序运行后,输出结果是
#inchude<
stdio,h>
string,h>
fun(char*w,intn)
{chart,*s1,*s2;
s1=w:
s2=w+n-1;
while(s1<
s2)
{t=*s1++;
*s1=*s2--;
*s2=t;
{char*p;
p="
1234567"
;
fun(p,strlen(p));
puts(p);
}A)1234567B)7654321
C)1711717D)7177171
29、有以下程序
{chara[]="
programming"
b[]="
language"
char*p1,*p2;
p1=a;
p2=b;
7;
if(*(p1+i)==*(p2+i))printf("
%c"
*(p1+i));
输出结果是A)gmB)rg
C)orD)ga
30、若有以下定义:
chars[20]="
*ps=s;
则不能代表字符o的表达式是A)ps+2B)s[2]
C)ps[2]D)ps+=2,*ps
原文地址:
南昌大学计算机C语言答案8作者:
硪乜甾Wang
31、若有以下定义和语句:
char*s1="
12345"
*s2="
1234"
strlen(strcpy(s1,s2)));
则输出结果是_____A)4B)5
C)9D)10
32、下面程序的输出是
{char*a="
abcdefgh"
fun(a);
puts(a);
fun(char*s)
{intx=0,y;
charc;
for(y=strlen(s)-1;
x<
y;
x++,y--){c=s[x];
s[x]=s[y];
s[y]=c;
}}A)abcdefghB)hgfdecba
C)dcbahgfeD)hgfedcba
33、设有如下函数定义:
intf(char*s)
{char*p=s;
while(*p!
=‘‘)p++;
return(p-s);
如果在主程序中用下面的语句调用上述函数,则输出结果为
f("
goodbey!
"
));
A)3B)6
C)8D)0
34、下面函数的功能是
intfunl(char*x)
{char*y=x;
while(*y++);
return(y-x-1);
}A)求字符串的长度B)比较两个字符串的大小
C)将字符串x复制到字符串yD)将字符串x连接到字符串y后面
35、请读程序片段:
charstr[]="
*p=str;
*(p+4));
上面程序的输出结果是A)68B)0
C)字符"
D"
的地址D)不确定的值
36、设有如下的程序段:
charstr[]="
Hello"
char*ptr;
ptr=str;
执行上面的程序段后,*(ptr+5)的值为A)‘o‘B)‘‘
C)不确定的值D)‘o‘的地址
37、设有以下语句:
charstr[4][12]={"
aaa"
bbbb"
ccccc"
dddddd"
},*strp[4];
4;
i++)strp[i]=str[i];
()不是对字符串的正确引用,其中0≤k<
4。
A)strpB)str[k]
C)strp[k]D)*strp
38、假设指针p1已经指向了某个整型变量,要使指针p2也指向同一个变量,则下面各项中正确的是:
A.p2=**p1B.p2=*&
p1
C.p2=*p1D.p2=&
*p1
39、若有以下定义和语句:
则输出结果是A.4B.5
C.9D.10
40、下列程序段的输出结果是
voidfun(int*x,int*y)
{printf("
%d%d"
*x,*y);
*x=3;
*y=4;
{intx=1,y=2;
fun(&
y,&
x);
x,y);
}A.2143B.1212
C.1234D.2112
41、以下程序的输出结果是
fut(int**s,intp[2][3])
{**s=p[1][1];
{ inta[2][3]={1,3,5,7,9,11},*P;
p=(int*)malloc(sizeof(int));
fut(&
p,a);
print("
%"
A.1B.7
C.9D.11
42、假设指针p已经指向某个整型变量x,则*p相当于:
A.&
xB.&
p
C.xD.*x
43、若有定义:
inta[3][4];
不能表示数组元素a[1][1]的是A.*(a[1]+1)B.*(&
a[1][1])
C.(*(a+1))[1]D.*(a+5)
44、若有定义和语句:
int**pp,*p,a=10,b=20;
pp=&
p;
a;
b;
%d,%dn"
*p,**pp);
则输出结果是()A.10,10B.10,20
C.20,10D.20,20
45、若有以下的定义:
inta[]={1,2,3,D,5,6,7,8,9,10},*p=a则值
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 南昌大学 c答案第8章以后 函数 预处理命令 结构体与共用体 文件 答案 以后 预处理 命令 结构 共用