精品《C语言程序设计》经典必考习题1Word文档下载推荐.docx
《精品《C语言程序设计》经典必考习题1Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《精品《C语言程序设计》经典必考习题1Word文档下载推荐.docx(20页珍藏版)》请在冰豆网上搜索。
![精品《C语言程序设计》经典必考习题1Word文档下载推荐.docx](https://file1.bdocx.com/fileroot1/2022-10/25/3812faf6-eb5a-45a3-a29f-579d369910cc/3812faf6-eb5a-45a3-a29f-579d369910cc1.gif)
i++)p[i]=a[i*(i+1)];
i++)k+=p[i]*2;
printf("
%d\n"
k);
}
A20B21C22D23
5以下对一维整型数组a初始化的语句中正确的是___。
Ainta[10]=(0,0,0,0,0);
Binta[10]=();
Cintx=2,a[10]={10*x};
Dinta[10]={0};
6若有以下说明,则数值为4的表达式是___。
inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};
charc='
a'
d,g;
Aa[g-c]Ba[4]Ca['
d'
-'
c'
]Da['
-c]
7下列程序运行后的输出结果是___。
#defineMAX10
voidmain()
{inti,sum,a[]={1,2,3,4,5,6,7,8,9,10};
sum=1;
MAX;
i++)sum-=a[i];
sum=%d\n"
sum);
Asum=55Bsum=-54Csum=-55Dsum=54
8以下程序的输出结果是___。
{inty=18,i=0,j,a[8];
do{a[i]=y%2;
i++;
y=y/2;
}while(y>
=1);
for(j=i-1;
j>
0;
j--)printf("
a[j]);
A1000B1001C1010D1100
9以下对二维数组a的正确定义(说明)的是___。
Ainta[3][];
Bfloata(3,4);
Cdoublea[1][4];
Dfloata(3)(4);
10若有定义(说明)inta[3][4];
,则对数组a的元素的引用非法的是___。
Aa[2][2*1]Ba[1][3]Ca[4-2][0]Da[0][4]
11以下不能对二维数组a进行正确初始化的语句是___。
Ainta[2][3]={0};
Binta[][3]={{1,2},{0}};
Cinta[2][3]={{1,2},{3,4},{5,6}};
Dinta[][3]={1,2,3,4,5,6};
12下列数组定义语句中,正确的是___。
Achara[][]={'
'
b'
e'
f'
};
Bchara[2][3]='
;
Cchara[][3]={'
Dchara[][]={{'
}};
13下列程序运行后的输出结果是___。
{inta[4][4],i,j,k;
4;
i++)
for(j=0;
j<
j++)a[i][j]=i-j;
for(i=1;
for(j=i+1;
j++)
{k=a[i][j];
a[i][j]=a[j][i];
a[j][i]=k;
}
{printf("
\n"
);
j++)printf("
%4d"
a[i][j]);
A0-1-2-3B0123
10-1-2-1012
210-1-2-101
3210-3-2-10
C0-1-2-3D0123
1012-10-1-2
2-101-210-2
3-2-10-3210
14以下程序的输出结果是___。
{inti,a[4][4]={{1,3,5},{2,4,6},{3,5,7}};
%d%d%d%d\n"
a[0][3],a[1][2],a[2][1],a[3][0]);
A0650B1470C5430D输出值不定
15有以下程序:
{intx[3][2]={0},i;
i++)scanf("
x[i]);
%3d%3d%3d\n"
x[0][0],x[0][1],x[1][0]);
若运行时输入:
246<
回车>
,则输出结果是___。
A200B204C240D246
16下列描述不正确的是___。
A字符型数组中可以存放字符串
B可以对字符型数组进行整体输入和输出
C可以对整型数组进行整体输入和输出
D不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值
17对于以下定义,叙述正确的是___。
charx[]="
abcdef"
charx[]={'
'
A数组x和数组y等价B数组x和数组y的长度相等
C数组x的长度大于数组y的长度D数组x的长度小于数组y的长度
18以下选项中,不能正确赋值的是___。
Achars1[10];
s1="
Ctest"
Bchars2[]={'
C'
t'
s'
Cchars3[20]="
Dchars4[30];
strcpy(s4,"
19若有定义和语句:
chars=[10];
s="
abcd"
%s\n"
s);
(以下□表示空格)
AabcdBaCabcd□□□□□D编译不通过
20当执行下面程序时,如果输入ABC,则输出结果是___。
#include<
stdio.h>
string.h>
{charss[10]="
12345"
gets(ss);
strcat(ss,"
6789"
ss);
AABC6789BABC67C12345ABC6DABC45678
二填空题(每空3分,共24分)
1若int类型变量占两个字节,定义intx[10]={0,2,4};
,则数组x在内存中所占的字节数是___。
2若有定义chara[]="
\\141\141abc\t"
,则数组a在内存中所占的字节数是___。
3下列程序的输出结果是___。
{inti,a[10];
for(i=9;
i>
=0;
i--)a[i]=10-i;
printf("
%d%d%d\n"
a[2],a[5],a[8]);
4下列程序运行的结果是___。
{charch[7]="
65ab21"
inti,s=0;
ch[i]>
='
0'
&
&
ch[i]<
9'
i+=2)s=10*s+ch[i]-'
5有定义语句:
chars[100],d[100];
intj=0,i=0;
且s中已赋字符串,请填空以实现字符串复制。
(注意:
不得使用逗号表达式)
while(s[i])
{d[j]=___;
j++;
d[j]=0;
6下面程序运行的结果是___。
{chars[]="
s[3]='
\0'
7以下程序的输出结果是___。
{charch[3][5]={"
AAAA"
"
BBB"
CC"
\"
%s\"
ch[1]);
{charch[]="
abc"
x[3][4];
inti;
i++)strcpy(x[i],ch);
i++)printf("
%s"
x[i][i]);
三程序填空题(每空3分,共36分)
1以下程序的功能是:
从键盘上输入若干个学生的成绩(用输入负数结束输入),统计出平均成绩,并输出低于平均分的学生成绩。
请填空。
#include"
stdio.h"
{intn=0,i;
floatx[1000],sum=0.0,ave,a;
Entermark:
scanf("
%f"
a);
while(a>
=0.0&
n<
1000)
{sum+=【1】;
x[n]=【2】;
n++;
ave=【3】;
print("
Output:
ave=%f\n"
ave);
n;
i++)if(【4】)printf("
%f\n"
2以下程序的功能是求出矩阵x的上三角元素之积。
其中矩阵x的行列数和元素的值均由键盘输入。
#defineM10
{intx[M][M];
intn,i,j;
longs=1;
Enterainteger(<
=10):
Enter%ddataoneachlineforthearrayx\n"
n);
for(【1】)
j++)scanf("
x[i][j]);
for(【2】)【3】;
%ld"
3以下程序,数组a中存放一个递增数列。
输入一个整数,并将它插入到数组a中,使之仍为一个递增数列。
{inta[【1】]={1,10,20,30,40,50,60,70,80,90},x,i,p;
x);
for(i=0,p=10;
if(x<
a[i]){p=i;
【2】;
=p;
i--)a[i+1]=a[i];
【3】;
=10;
%5d\n"
a[i]);
4以下程序的功能是:
将t数组的内容连接到s数组内容的后面,使s数组保存连接后的新字符串。
ma