?? 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 + -