壹、單項選擇題
1.正確的自定義標識符是 ( )
A.a=2 B.a+b C.name D.default
2.錯誤的轉義字符是 ( )
A.'\091' B.'\\' C.'\0' D.'\''
3.設int a,b,c;執行表達式a=b=1,a++,b+1,c=a+b--
後,a,b和c的值分別是 ( )
A.2,1,2 B.2,0,3 C.2,2,3 D.2,1,3
4.在C語言中,錯誤的常數是 ( )
A. 1E+0.0 B. 5. C. 0xaf D. 0L
5.下面運算符優先級最高的是 ( )
A.'\0';j+=2)
s=10*s+p[j][k]-'0';
printf(”%d\n”,s);
}
運行結果:
3.main( )
{ int j;
for(j=1;j=2;j--)
switch(j)
{case 0: printf("%4s","ABC");
case 1: printf("%4s","DEF");
case 2: printf("%4s","GHI");break
case 3: printf("%4s","JKL");
default: printf("%4s","MNO");
}
printf("\n");
}
運行結果:
7.main()
{int j,a[6]={1,2}};
for(j=3;jc&&b+c>a&&a+c>b)
{
if(________________________________)printf("DY");
if(________________________________)printf("DB");
a2=a*a;b2=b*b;c2=c*c;
if(________________________________)printf("ZJ");
printf("\n");
}
else printf("NO\n");
}
2.輸出下列圖形。
1 2 3 4 5 6 7 8 9 main()
2 3 4 5 6 7 8 9 { int I,J;
3 4 5 6 7 8 9 for(I=1;I<=_________;I++)
4 5 6 7 8 9 for(J=_________;J<=9;J++)
5 6 7 8 9 printf("%2d",J);
6 7 8 9 printf("\n");}
7 8 9
8 9
9
五、程序設計題
1.判斷輸入整數x的正負性和奇偶性。
2.從鍵盤輸入10個整數,求出其中的最大值。
3.輸入壹行字符,統計其中的數字、字母、空格
和其它字符出現的次數。
4.輸入十個整數,計算出平均值(aver),找出其中最
大者(max)和最小者(min)並將三者輸出。
5.將十個實型數輸入數組(float n[10];)逆序存放後再
輸出。
數組題目:
c語言習題--數組
1. 給出以下定義:
char x[]="abcdefg";
char y[]={'a','b','c','d','e','f','g'};
則正確的敘述為
A)數組X和數組Y等價 B)數組x和數組Y的長度相同
C)數組X的長度大於數組Y的長度 D)數組X的長度小於數組Y的長度
2. 若有下面的程序片段:
int a[12]={0}, *p[3], **pp, i;
for(i=0; i<3; i++)
p[i]=&a[i*4];
pp=p;
則對數組元素的錯誤引用是
A) pp[0][1] B) a[10] C) p[3][1] D) *(*(p+2)+2)
3. 設有以下定義:
int a[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)+2 D) *(*(a+1)+2)
4. 不能把字符串:Hello!賦給數組b的語句是
A) char b[10]={'H','e','l','l','o','!'};
B) char b[10];b="Hello!";
C) char b[10];strcpy(b,"Hello!");
D) char b[10]="Hello!";
5. 若有以下說明:
int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};
char c='a',d,g;
則數值為4的表達式是
A)a[g-c] B)a[4]
C)a['d'-'c'] D)a['d'-c]
6. 若有以下說明:
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
則數值為6的表達式是
A) *p+6 B) *(p+6) C) *p+=5 D) p+5
7. 若有以下說明:
int w[3][4]o={{0,1},{2,4},{5,8}};
int(*p)[4]=w;
則數值為4的表達式是
A) *w[1]+1 B) p++,*(p+1)
C) w[2][2] D) p[1][1]
8. 若有以下的說明和語句:
main()
{int t[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]
9. 以下程序的輸出結果是
main( )
{ int i,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) 5 2 B) 5 1 C) 5 3 D) 9 7
10. 若有以下的說明和語句,則在執行for語句後,*(*(pt+l)+2)表示的數組元素是
int t[3][3], *pt([3], k;
for (k=0;k<3;k++) pt[k]=&t[k][0];
A) 5 2 B) 5 1 C) 5 3 D) 9 7
11. 執行下面的程序段後,變量k中的值為
int k=3, s[2];
s[0]=k; k=s[1]*10;
A) 不定值 B) 33 C) 30 D) 10
12. 若已定義:
int a[ ]={0,1,2,3,4,5,6,7,8,9], *p=a,i;
其中 0≤i≤9, 則對a數組元素不正確的引用上
A) a[p-a] B) *(&a[i]) C) p[i] D) a[10]
13. 設有數組定義: char array [ ]="China"; 則數組 array所占的空間為
A) 4個字節 B) 5個字節 C) 6個字節 D) 7個字節
/news/newsshow.asp?id=837
/print.asp?id=2610
/ShowPost.asp?id=2610
/s?ie=gb2312&bs=C%D3%EF%D1%D4%CF%B0%CC%E2&sr=&z=&cl=3&f=8&wd=C%D3%EF%D1%D4%CF%B0%CC%E2%2B%CA%FD%D7%E9&ct=0