📄 answer3.txt
字号:
1. 请改正下面这个远程序的错误:
#include <stdio.h>
main()
{
int i,j,list(10);
for(i=0,i<10,i++)
{
list[i] = 2*i+3;
for(j=9,j>=0,j--)
printf("%d\n",list[j]);
}
}
答案: int i,j,list(10); 改为 int i,j,list[10];
for(i=0,i<10,i++) 改为 for(i=0;i<10;i++)
for(j=9,j>=0,j--) 改为 for(j=9;j>=0;j--)
2. 指出下面各说明语句中哪些是合法的:(多选)
A. int abcd[0x80]; B. char 9ab[10];
C. char chi[-200]; D. int aaa[5]={3,4,5};
E. float key[]={3.0,4.0,1,0}; F. char disk[];
G. int n,floppy[n]; H. int cash[4]={1,2,3,4,5,6};
答案: ADE
3.根据以下说明,写出正确的说明语句。
(1)men是一个有10个整型元素的数组。
___
(2)step是一个有4个实型元素的数组,元素值分别为1.9, -2.33, 0, 20.6。
___
(3)grid是一个二维数组,共有4行,10列整型元素。
___
答案: int mesh[10];
float step[4] = {1.9, -2.33, 0, 20.6};
int grid[4][10];
4. 请回答下列问题。
(1)array是一个一维整形数组,有10个元素,前6个元素的初值是9,4,7,49,32,-5,请写出正确的说明语句。
___
(2)该数组下标的取值范围是从___到___(从小到大)。
(3)如何用scanf函数输入数组的第二个元素。
___
(4)如何用赋值语句把39存入第一个元素。
___
(5)如何表示把第六个和第四个元素之和存入第一个元素。
___
答案: int array[10] = {9,4,7,49,32,-5};
0 9
scanf("%d",&array[1]);
array[0] = 39;
array[0] = array[5] + array[3];
5. 写出以下初始化数组的长度。
(1)int chn[3];
数组chn的长度为___。
(2)float isa[]={1.0,2.0,3.0,4.0,5.0};
数组isa的长度为___。
(3)int doom[8];
数组doom的长度为___。
(4)float pci[4][2];
数组pci的长度为___。
(5)int ast[3][3];
数组ast的长度为___。
(6)int att[3][4];
数组att的长度为___。
(7)float dell[][3]={{1,4,7},{2,5},{3,6,9}};
数组dell的长度为___。
答案: 6
20
16
32
18
24
36
6. 这个程序输入了20个数存放在一个数组中,并且输出其中最大者与最小者、,20个数的和及它们的平均值。请填空。
void main()
{
char array___;
int max,min,average,sum;
int i;
for(i=0;i<___;i++)
{
printf("请输入第%d个数:",i+1);
scanf("%d",___);
}
max=array[0];
min=array[0];
for(i=0;i<=___;i++)
{
if(max<array[i])
___
if(min>array[i])
___
sum=___;
}
average = ___;
printf("20个数中最大值是%d,",max);
printf("最小值是%d,",min);
printf("和是%d,",sum);
printf("平均值是%d.\n",average);
}
答案: [20]
20
&array[i]
19
max=array[i];
min=array[i];
sum+array[i]
sum/20
7. 该程序的运行结果是: min=___,m=___,n=___。
void main()
{
float array[3][4]={
{3.4,-5.6,56.7},
{56.8,999.,-.0123},
{0.45,-5.77,123.5},
{43.4,0,111.2}
};
int i,j;
int min;
int m,n;
min = array[0][0];
m=0;n=0;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
if(min > array[i][j])
{
min = array[i][j];
m=i;n=j;
}
printf("min=%d,m=%d,n=%d\n",min,m,n);
}
答案: -5.77 1 2
8. 下面的程序中哪一行有错误?(单选)
#include <stdio.h>
main()
{
float array[5]={0.0}; //第A行
int i;
for(i=0;i<5;i++)
scanf("%f",&array[i]);
for(i=1;i<5;i++)
array[0]=array[0]+array[i];//第B行
printf("%f\n",array[0]); //第C行
}
A. 第A行 B. 第B行
B. 第C行 D. 没有
答案: D
9. 若有以下整型的a数组,数组元素和它们得值如下所示:
数组元素: a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9]
元素的值: 9 4 12 8 2 10 7 5 1 3
(1)请写出对该数组的说明,并赋以上初值。
___
(2)该数组的最小下标值为___,最大下标值为___。
(3)写出下面各式的值:
a[a[9]]的值为___
a[a[4]+a[8]]的值为___
答案: int a[10]={9,4,12,8,2,10,7,5,1,3};
0 9
8
8
10. 写出下面这个程序的输出结果:
void main()
{
char str[]="ABCDEFGHIJKL";
printf("%s\n",str); 屏幕上显示___
printf("%s\n",&str[4]); 屏幕上显示___
str[2]=str[5];
printf("%s\n",str); 屏幕上显示___
str[9]='\0';
printf("%s\n",str); 屏幕上显示___
}
答案: ABCDEFGHIJKL
EFGHIJKL
AFCDEFGHIJKL
AFCDEFGHI
11. 字符串"ab\n\\012/\\\""的长度为___。
答案: 10
12. 下面哪一项是不正确的字符串赋值或赋初值的方式。(单选)
A. char *str; str="string";
B. char str[7]={'s','t','r','i','n','g'};
C. char str1[10];str1="string";
D. char str1[]="string",str2[]="12345678";
答案: C
13. 若有以下说明和语句,则输出结果是哪一项?(单选)
(strlen(s)为求字符串s的长度的函数)
char s[12]="a book!";
printf("%d",strlen(s));
A. 12 B. 8 C. 7 D. 11
答案: C
14. 若有以下说明和语句,则输出结果是___。(单选)
(strlen(s)为求字符串s的长度的函数)
char sp[]="\t\v\\\0will\n";
printf("%d",strlen(sp));
A. 14 B. 3 C. 9 D. 字符串中有非法字符
答案: B
15. 若有以下说明和语句,则输出结果是___。(单选)
char str[]="\"c:\\abc.dat\"";
printf("%s",str);
A. 字符串中有非法字符 B. \"c:\\abc.dat\"
C. "c:\abc.dat" D. "c:\\abc.dat"
答案: C
16. 读懂下面的程序并填空。
void main()
{
char str[80];
int i=0;
gets(str);
while(str[i]!=0)
{
if(str[i]>='a'&&str<='z')
str[i]-=32;
i++;
}
puts(str);
}
程序运行时如果输入 upcase, 屏幕显示___
程序运行时如果输入 Aa1Bb2Cc3, 屏幕显示___
答案: UPCASE
AA1BB2CC3
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -