二级C语言教程章节测试Word下载.docx
- 文档编号:18067778
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:44
- 大小:32.87KB
二级C语言教程章节测试Word下载.docx
《二级C语言教程章节测试Word下载.docx》由会员分享,可在线阅读,更多相关《二级C语言教程章节测试Word下载.docx(44页珍藏版)》请在冰豆网上搜索。
A)scanf("
%d%s"
&
b,&
c);
B)scanf("
b,c);
C)scanf("
b,c);
D)scanf("
b,&
(5)以下能正确定义一维数组的选项是_____
A)inta[5]={0,1,2,3,4,5};
B)chara[]={0,1,2,3,4,5};
C)chara={'
A'
'
B'
C'
D)inta[5]="
0123"
;
(6)已有定义:
chara[]="
xyz"
b[]={'
x'
y'
z'
以下叙述中正确的是_____
A)数组a和b的长度相同
B)a数组长度小于b数组长度
C)a数组长度大于b数组长度
D)上述说法都不对
(7)以下语句或语句组中,能正确进行字符串赋值的是
A)char*sp;
*sp="
right!
"
B)chars[10];
s="
C)chars[10];
*s="
D)char*sp="
(8)有以下程序
{
chars[]="
159"
*p;
p=s;
%c"
*p++);
程序运行后的输出结果是
A)15
B)16
C)12
D)59
(9)有以下函数
fun(char*a,char*b)
while((*a!
='
\0'
)&
&
(*b!
(*a==*b))
{a++;
b++;
return(*a-*b);
该函数的功能是
A)计算a和b所指字符串的长度之差
B)将b所指字符串复制到a所指字符串中
C)将b所指字符串连接到a所指字符串后面
D)比较a和b所指字符串的大小
(10)有以下程序
point(char*p)
p+=3;
{charb[4]={'
d'
},*p=b;
point(p);
printf("
%c\n"
*p);
A)a
B)b
C)c
D)d
(11)s12和s2已正确定义并分别指向两个字符串。
若要求:
当s1所指串大于s2所指串时,执行语句S;
则以下选项中正确的是_____
A)if(s1>
s2)S;
B)if(strcmp(s1,s2))S;
C)if(strcmp(s2,s1)>
0)S;
D)if(strcmp(s1,s2)>
0)S;
(12)有以下程序
{charstr[][10]={"
China"
Beijing"
},*p=str;
%s\n"
p+10);
A)ChinaB)BejingC)ngD)ing
(13)有以下程序
{chars[]="
ABCD"
for(p=s+1;
p}
A)ABCDB)AC)BD)BCD
BCDBCCD
CDCDD
DD
(14)有以下程序
{chars[]"
Yes\n/No"
*ps=s;
puts(ps+4);
*(ps+4)=0;
puts(s);
程序运行后的输出结果是(选项D中的第一行是空行)
A)n/NoB)/NoC)n/NOD)
YesYesYes/No
/No/NoYes
(15)有以下定义
chara[10],*b=a;
不能给数组a输入字符串的语句是
A)gets(A)B)gets(a[0])C)gets(&
a[0]);
D)gets(B);
(16)有以下程序
main()
{char*p[10]={“abc”,”aabdfg”,”dcdbe”,”abbd”,”cd”};
printf(“%d\n”,strlen(p[4]));
执行后输出结果是
A)2B)3C)4D)5
(17)以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是
A)chars[10]=”abcdefg”;
B)chart[]=”abcdefg”,*s=t;
C)chars[10];
s=”abcdefg”;
D)chars[10];
strcpy(s,”abcdefg”);
(18)下列选项中正确的语句组是
A)chars[8];
s={"
B)char*s;
C)chars[8];
D)char*s;
(19)以下程序中函数scmp的功能是返回形参指针s1和s2所指字符串中较小字符串的首地址
char*scmp(char*s1,char*s2)
{if(strcmp(s1,s2<
0)
return(s1);
elsereturn(s2);
main()
{intI;
charstring[20],str[3][20];
i<
3;
i++)gets(str[i]);
strcpy(string,scmp(str[0],str[1]));
/*库函数strcpy对字符串进行复制*/
strcpy(string,scmp(string,str[2]));
string);
运行时依次输入:
abcd、abba和abc三个字符串,则输出结果为
A)abcdB)abbaC)abcD)abca
(20)有以下程序
{charstr[][20]={"
Hello"
},*p=str;
strlin(p+20));
A)0B)5C)7D)20
(21)已定义以下函数
fun(char*p2,char*p1)
{while((*p2=*p1)!
=‘\0’){p1++;
p2++;
}}
函数的功能是
A)将p1所指字符串复制到p2所指内存空间
B)将p1所指字符串的地址赋给指针p2
C)对p1和p2两个指针所指字符串进行比较
D)检查p1和p2两个指针所指字符串中是否有‘\0’
(22)有以下程序
{char*s[]={"
one"
two"
three"
},*p;
p=s[1];
%c,%s\n"
*(p+1),s[0]);
A)n,twoB)t,oneC)w,oneD)o,two
(23)阅读以下函数
fun(char*s1,char*s2)
{inti=0;
while(s1[i]==s2[i]&
s2[i]!
=‘\0’)i++;
return(s1[i]==&
s2{i}!
==‘\0’);
此函数的功能是
A)将s2所指字符串赋给s1
B)比较s1和s2所指字符串的大小,若s1比s2的大,函数值为1,否则函数值为0
C)比较s1和s2所指字符串是否相等,若相等,函数值为1,否则函数值为0
D)比较s1和s2所指字符串的长度,若s1比s2的长,函数值为1,否则函数值为0
(24)有以下程序
{charstr[]="
*ps=str;
while(*ps)ps++;
for(ps--;
ps-str>
=0;
ps--)puts(ps);
执行后的输出结果是
A)yzB)zC)zD)x
xyzyzyzxy
xyzxyz
(25)有以下程序
{char*p=“abcde\Ofghjik\0”;
printf(“%d\n”,strlen(p));
A)12B)15C)6D)5
(26)有以下程序
voidss(char*s,chart)
{while(*s)
{if(*s==t)*s=t-‘a’+’A’;
s++;
{charstr1[100]=“abcddfefdbd”,c=’d’;
ss(str1,c);
printf(“%s\n”,str1);
A)ABCDDEFEDBDB)abcDDfefDbD
C)abcAAfefAbAD)Abcddfefdbd
(27)以下程序的输出结果是
charcchar(charch)
if(ch>
=‘A’&
ch<
=‘Z'
)ch=ch-‘A'
+‘a'
returnch;
{chars[]="
ABC+abc=defDEF"
*p=s;
while(*p)
{*p=cchar(*p);
p++;
s);
A)abc+ABC=DEFdefB)abc+abc=defdef
C)abcaABCDEFdefD)abcabcdefdef
(28)以下程序段的输出结果是
\\141\141abc\t"
printf("
strlen(s));
A)9B)12C)13D)14
(29)以下程序的输出结果是
{charcf[3][5]={"
AAAA"
BBB"
CC"
\"
%s\"
\n"
ch[1]);
A)"
B)"
C)"
BBBCC"
D)"
(30)以下程序的输出结果是
main()
{charb1[8]="
abcdefg"
b2[8],*pb=b1+3;
while(--pb>
=b1)strcpy(b2,pb);
strlen(b2));
A)8B)3C)1D)7
(31)以下定义语句中,错误的是
A)inta[]={1,2};
B)char*a[3];
C)chars[10]=”test”;
D)intn=5,a[n];
(32)以下选项中,不能正确赋值的是
A)chars1[10];
s1=“Ctest”;
B)cha
rs2[]={‘C’,‘t’,‘e’,‘s’,‘t’};
C)chars3[20]=“Ctest”;
D)char*s4=“Ctest\n”
(33)以下程序的输出结果是
A)ABCDB)ABCDC)EFGD)EFGH
FGHEFGJKIJKL
KLIJO
M
{charw[][10]={“ABCD”,”EFGH”,”IJKL”,”MNOP”},k;
for(k=1;
k<
k++)printf(“%s\n”,w[k]);
(34)当执行下面的程序时,如果输入ABC,则输出结果是
A)ABC6789B)ABC67C)12345ABC6D)ABC456789
#include“stdio.h”
#include“string.h”
{charss[10]=“1,2,3,4,5”;
gets(ss);
strcat(ss,“6789”);
printf(“%s\n”,ss);
(35)有如下程序
{chars[]=”ABCD”,*P;
for(p=s+l;
p}
该程序的输出结果是
(36)有如下程序
{charch[2][5]={“6937”,”8254”},*p[2];
inti,j,s=0;
2;
i++)p[i]=ch[i];
i++)
for(j=0;
p[i][j]>
’\0’;
j+=2)
s=10*s+p[i][j]-‘0’;
printf(“%d\n”,s);
A)69825B)63825C)6385D)693825
(37)设有数组定义:
chararray[]="
则数组array所占的空间为
A)4个字节B)5个字节C)6个字节D)7个字节
(38)设已有定义:
char*st="
howareyou"
下列程序段中正确的是
A)chara[11],*p;
strcpy(p=a+1,&
st[4]);
B)chara[11];
strcpy(++a,st);
C)chara[11];
strcpy(a,st);
D)chara[],*p;
strcpy(p=&
a[1],st+2);
(39)下列程序执行后的输出结果是
A)you&
neB)youC)meD)err
mai()
{chararr[2][4];
strcpy(arr,"
you"
);
strcpy(arr[1],"
me"
arr[0][3]='
'
%s\n"
arr);
(40)执行下列程序时输入:
123<
空格>
456<
789<
回车>
输出结果是
A)123,456,789B)1,456,789
C)1,23,456,789D)1,23,456
{chars[100];
intc,i;
scanf("
scanf("
%d"
i);
%s"
%c,%d,%s\n"
c,i,s);
(41)下列描述中不正确的是
A)字符型数组中可以存放字符串
B)可以对字符型数组进行整体输入、输出
C)可以对整型数组进行整体输入、输出
D)不能在赋值语句中通过赋值运算符"
="
对字符型数组进行整体赋值
(42)以下程序的输出结果是
A)123456780B)123456780C)12345678D)147
{charch[3][4]={"
123"
,"
456"
78"
},*p[3];
inti;
for(i=0;
3;
i++)p[i]=ch[i];
i++)printf("
,p[i]);
(43)以下程序的输出结果是
A)4211B)0008C)4678D)8888
{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;
3'
i=2;
4'
i=3;
v[i]++;
4;
k++)printf("
%d"
,v[k]);
(44)以下程序的输出结果是
A)AfghdEFGB)AbfhdC)AfghdD)Afgd
{char*p1,*p2,str[50]="
ABCDEFG"
p1="
abcd"
p2="
efgh"
strcpy(str+1,p2+1);
strcpy(str+3,p1+3);
,str);
(45)以下程序运行后,输出结果是
A)cdeB)字符c的ASCII码值C)字符c的地址D)出错
abcde"
s+=2;
%ld\n"
(46)下面能正确进行字符串赋值操作的语句是
A)chars[5]={"
ABCDE"
B)chars[5]={'
D'
E'
C)char*s;
s="
ABCDEF"
(47)以下程序运行后,如果从键盘上输入ABCDE<
则输出结果为
A)8B)7C)6D)5
#include
func{intnum=0;
while(*(str+num)!
)num++;
return(num);
{charstr[10],*p=str;
gets(p);
func(p));
(48)下面程序运行的结果是
A)2ba56B)6521C)6D)62
{charch[7]={65ab21"
inti,s=0
ch[i]>
0'
&
ch[i]<
9'
i+=2)
s=10*s+ch[i]-'
(49)运行下面的程序,如果从键盘上输入:
ab<
c<
def<
则输出结果为
A)aB)aC)abD)abcdef
bbc
ccd
dd
e
f
#defineN6
{charc[N];
inti=0;
for(;
ifor(i=0;
i}
(50)以下程序运行后,输出结果是
ss(char*s)
{char*p=s;
while(*p)p++;
return(p-s);
{char*a="
abded"
inti;
i=ss(a);
i);
(51)以下程序运行后,输出结果是
A)6385B)22C)33D)693825
{charch[2][5]={'
693"
825"
},*p[2];
p[i][j]='
p[i][j]<
s=10*s+p[i][j]-'
(52)以下程序运行后,输出结果是
A)1234567B)7654321C)1711717D)7177171
#inchude
fun(char*w,intn)
{chart,*s1,*s2;
s1=w:
s2=w+n-1;
while(s1{t=*s1++;
*s1=*s2--;
*s2=t;
{char*p;
p="
1234567"
fun(p,strlen(p));
puts(p);
(53)以下程序运行后,如果从键盘上输入:
book<
<
则输出的结果是
A)*8B)#9C)#6D)*9
{chara1[80],a2[80],*s1=a1,*s2=a2;
gets(s1);
gets(s2);
if(!
strcmp(s1,s2))printf("
*"
esleprintf("
#"
%d/n"
strlen(strcat(s1,s2)));
(54)给出以下定义:
charx[]="
chary[]={'
e'
f'
g'
则正确的叙述为
A)数组X和数组Y等价B)数组x和数组Y的长度相同
C)数组X的长度大于数组Y的长度D)数组X的长度小于数组Y的长度
(55)有以下程序
{chara[]="
programming"
b[]="
language"
char*p1,*p2;
p1=a;
p2=b;
7;
if(*(p1+i)==*(p2+i))printf("
%c"
*(p1+i));
输出结果是
A)gmB)rgC)or
D)ga
(56)若有以下定义:
chars[20]="
则不能代表字符o的表达式是
A)ps+2B)s[2]C)ps[2]D)ps+=2,*ps
(57)若有以下定
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 语言 教程 章节 测试