- 相關推薦
C語言自測試題
引導語:C語言的難度,是相對于個人而言的,以下是小編整理的C語言自測試題,歡迎參考閱讀!
一、選擇題:(20分,每題2分)
1.以下不正確的C語言標識符是 。
A. ABC
B. abc
C. a_bc
D. ab.c
2.C程序是由 構成的。
A. 主程序與子程序
B. 主函數與若干子函數
C. 一個主函數與一個其它函數
D. 主函數與子函數
3.以下說法中正確的是:。
A. 在C語言中,實參與其對應的形參各占獨立的存儲單元;
B.在C語言中,實參與其對應的形參共占同一個存儲單元;
C.在C語言中,只有當實參與其對應的形參同名時,才共占同一個存儲單元;
D. 在C語言中,形參是虛擬的,不占存儲單元。
4.設n=3;則n++的結果是 。
A. 2 B. 3 C. 4 D. 5
5.設整型變量n=10,i=4,則賦值運算n%=i+1執行后,n的值是 。
A. 0B. 1 C. 2 D. 3
6.凡是函數中未指定存儲類別的局部變量其隱含的存儲類別是 。
A. 自動(auto)
B. 靜態(static)
C. 外部(extern)
D. 寄存器(register)
7.在while(x)語句中的x與下面條件表達式等價的是: 。
A. x= =0B. x= =1
C. x!=1D. x!=0
8.若有以下說明和語句:
struct worker
{
int no;
char *name;
} work, *p=&work;
則以下引用方法不正確的是 。
A. work.no
B. (*p).no
C. p->no
D. work->no
9.以下對二維數組進行正確初始化的是 。
A. int a[2][3]={{1,2},{3,4},{5,6}};
B. int a[][3]={1,2,3,4,5,6};
C.int a[2][]={1,2,3,4,5,6};
D.int a[2][]={{1,2},{3,4}};
10.二維數組a有m列,則在a[i][j]之前的元素個數為: 。
A. j*m+i
B. i*m+j
C. i*m+j-1
D. i*m+j+1
二、給出下列程序的運行結果:(20分,前四題每題3分,后兩題每題4分)
1.
#include
main()
{
int i=16,j,x=6;
j=i+++1;
x*=i=j;
printf(“%d,%d ”,j,x);
}
運行結果是:
2.
#include
#include
main()
{
int a=1,b=4,c=2;
float x=10.5,y=4.0,z;
z=(a+b)/c+sqrt((double)y)*1.2/c+x;
printf(“%f ”,z);
}
運行結果是:
3.
#include
main()
{
int a,b,c,d;
a=c=0;
b=1;
d=20;
if(a) d=d-10;
else if(!b)
if(!c) d=25;
else d=15;
printf(“d=%d ”,d);
}
運行結果是:
4.
main()
{
int i=10;
switch(i){
case 9: i+=1;
case 10: i+=1;
case 11: i+=1;
default : i+=1;
}
printf(“%d”,i);
}
運行結果是:
5.
#include
main()
{
int a[]={1,2,3,4},i,j,s=0;
j=1;
for(i=3;i>=0;i--)
{
s=s+a[i]*j;
j=j*10;
}
printf("s=%d ",s);
}
運行結果是:
6.
func(int x)
{x=20; }
main( )
{
int x=10;
func(x);
printf(“%d”,x);
}
運行結果是:
三、閱讀程序,在標有下劃線的空白處填入適當的表達式或語句,使程序完整并符合題目要求。(20分,每空2分)
1.已知能被4整除而不能被100整除的或者能被400整除的年份是潤年,則判斷某一年是否是潤年的程序如下:
main( )
{
int year,leap;
scanf("%d",&year);
if()
leap=1;
else leap=0;
if() printf("是潤年");
else printf("不是潤年");
}
2.將100至200間不能被3整除的數輸出:
main( )
{
int n;
for(n=100;n<=200;n++)
{
if(n%3==0) ;
printf("%d ",n);
}
}
3.判斷m是否是素數
#include
main()
{
int m,i,k;
scanf("%d",&m); k=sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0) ;
if(i>=k+1) printf("%d is a primenumber ",m);
else printf("%d is not a prime number ",m);
}
4.給定一3*4的矩陣,求出其中值最大的元素的值,及所在的行列號。
main()
{
int i,j,row=0,colum=0,max;
static int a[3][4]={{1,2,3,4}{9,8,7,6}{10,-10,-4,4}};
;
for(i=0;i<=2;i++)
for(j=0;j<=3;j++)
if(a[i][j]>max)
{
max=a[i][j];
;
;
}
printf("max=%d,row=%d,colum=%d ",max,row,colum);
}
5.下面函數的功能是將兩個字符串s和t連接起來。
char *conj(char *s, char *t)
{
char*p=s;
while(*s);
while(*t)
{
*s=;
s++;
t++;
}
*s=’ 主站蜘蛛池模板: 天气| 那曲县| 称多县| 桃园县| 开阳县| 汪清县| 饶平县| 黑山县| 黎平县| 北京市| 铁岭县| 金门县| 新野县| 台江县| 镇原县| 山东| 竹北市| 黄骅市| 苏州市| 安溪县| 东至县| 沂水县| 许昌市| 桃源县| 忻城县| 雷山县| 蓬莱市| 沙湾县| 枣强县| 聂荣县| 桐柏县| 天台县| 安达市| 台安县| 和顺县| 太谷县| 精河县| 资阳市| 荆门市| 瓦房店市| 广河县|