一、填空題
1、C語言中普通整型變量的類型說明符為______,在內(nèi)存中占______字節(jié),有符號普通整型的數(shù)據(jù)范圍是______.
2、C語言中基本的數(shù)據(jù)類型有:______、______ 、______ .
3、設整型變量n的值為2,執(zhí)行語句“n+=n-=n*n”后,n的值是______.
4、共用體和結(jié)構(gòu)體的定義格式類似,不同點是______.
5、有如下輸入語句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);為使變量a的值為1,b的值為3,c的值為2,從鍵盤輸入數(shù)據(jù)的正確形式應是______.
6、有語句:char A[ ]={“I am a student”};該字符串的長度是______,A[3]= ______.
7、符號“a”和‘a(chǎn)’的區(qū)別______.
8、下列程序的輸出結(jié)果是______.
int ast(int x,int y,int * cp,int * dp)
{ *cp=x+y; *dp=x-y; }
main()
{ int a=4,b=3,c,d;
ast(a,b,&c,&d);
printf(“%d,%d/n”,c,d);}
二、選擇題
1、以下選項中屬于C語言的數(shù)據(jù)類型是( )。
A. 復合型 B. 雙精度型 C. 邏輯型 D. 集合型
2、以下說法中正確的是( )。
A. C語言程序總是從第一個的函數(shù)開始執(zhí)行
B. 在C語言程序中,要調(diào)用的函數(shù)必須在main()函數(shù)中定義
C. C語言程序總是從main()函數(shù)開始執(zhí)行
D. C語言程序中的main()函數(shù)必須放在程序的開始部分
3、選出下列標識符中不是合法的標識符的是( )。
A. hot_do B. cat1 C. _pri D. 2ab
4、下列描述中不正確的是( )。
A、字符型數(shù)組中可能存放字符串。
B、可以對字符型數(shù)組進行整體輸入、輸出。
C、可以對整型數(shù)組進行整體輸入、輸出。
D、不能在賦值語句中通過賦值運算符“=”對字符型數(shù)組進行整體賦值。
5、若已定義:int a[9], *p=a;并在以后的語句中未改變p的值,不能表示a[1]地址的表達式為( )。
A. p+1 B. a+1 C. a++ D. ++p
6、設有如下定義: int x=10,y=3,z;
則語句printf(“%d\n”,z=(x%y,x/y)); 的輸出結(jié)果是( )。
A. 1 B. 0 C. 4 D. 3
7、定義如下變量和數(shù)組: int i, x[3][3]={1,2,3,4,5,6,7,8,9};則下面語句
for(i=0;i<3;i++) printf(“%d”,x[i][2-i]); 的輸出結(jié)果是( )
A. 1 5 9 B. 1 4 7 C. 3 5 7 D. 3 6 9
8、讀出以下語句的輸出結(jié)果是( )。
int x=10,y=10;
printf(“%d %d\n”,x——,——y);
A. 10 10 B. 9 9 C. 9 10 D. 10 9
9、兩次運行下面的程序,如果從鍵盤上分別輸入6和3,則輸出結(jié)果是( )。
if(x++>5)printf(“%d”,x);
else printf(“%d\n”,x - -);
A. 7和5 B. 6和3 C. 7和4 D. 6和4
10、設有如下定義:char *aa[2]={“abcd”,“ABCD”};則以下說法中正確的是( )。
A)aa數(shù)組成元素的值分別是“abcd”和ABCD“
B)aa是指針變量,它指向含有兩個數(shù)組元素的字符型一維數(shù)組
C)aa數(shù)組的兩個元素分別存放的是含有4個字符的一維字符數(shù)組的首地址
D)aa數(shù)組的兩個元素中各自存放了字符‘a(chǎn)’和‘A’的地址
11、以下語句的輸出結(jié)果是( )。
int a=-1,b=4,k;
k=(+ +a<0)&&?。╞ - -<=0);
printf(“%d,%d,%d\n”,k,a,b);
A. 1,0,4 B. 1,0,3 C. 0,0,3 D. 0,0,4
12、下列程序的輸出結(jié)果是( )。
char *p1=“abcd”, *p2=“ABCD”, str[50]=“xyz”;
strcpy(str+2,strcat(p1+2,p2+1));
printf(“%s”,str);
A. xyabcAB B. abcABz C. ABabcz D. xycdBCD
13、執(zhí)行下面的程序后,a的值是( )。
#define SQR(X) X*X
main( )
{ int a=10,k=2,m=1;
a/=SQR(k+m)/SQR(k+m);
printf(“%d\n”,a);}
A. 10 B. 1 C. 9 D. 0
14、14、設A為存放(短)整型的一維數(shù)組,如果A的首地址為P,那么A中第i 個元素的地址為( )。
A.P+i*2 B.P+(i-1)*2 C.P+(i-1) D.P+i
15、下列程序執(zhí)行后輸出的結(jié)果是( )。
int d=1;
fun (int p)
{ int d=5;
d + =p + +;
printf(“%d,”,d); }
main( )
{ int a=3;
fun(a);
d + = a + +;
printf(“%d\n”,d); }
A.8,4 B. 9,6 C. 9,4 D. 8,5
16、表達式:10!=9的值是( )。
A.true B.非零值 C.0 D.1
17、若有說明:int i,j=7,*p=&i;則與i=j;等價的語句是( )。
A. i= *p; B. *p=*&j; C. i=&j; D. i=* *p;
18、不能把字符串:Hello!賦給數(shù)組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!”;
19、在C程序中有如下語句:char *func(int x,int y); 它是( )。
A. 對函數(shù)func的定義 B. 對函數(shù)func的調(diào)用。
C.對函數(shù)func的原型說明 D. 不合法的。
20、以下程序的輸出結(jié)果是( )。
char str[15]=“hello!”;
printf(“%d\n”,strlen(str));
A. 15 B. 14 C. 7 D. 6
三、閱讀程序題
1、int x=6,y=7;
printf(“%d,”,x++);printf(“%d\n”,++y);
程序的輸出結(jié)果是______.
2、float f=3.1415927;
printf(“%f,%5.4f,%3.3f”,f,f,f);
則程序的輸出結(jié)果是______.
3、a=3;
a+=(a<1)a:1; printf(“%d”,a);
結(jié)果是______.
4、main( )
{ int a[5]={2,4,6,8,10},*P,* *k;
p=a; k=&p;
printf(“%d,”,*(p++));
printf(“%d\n”,* *k);
程序的輸出結(jié)果是______.
5、main()
{int a,b;
for (a=1,b=1;a<=100;a++)
{ if(b>=20) break;
if(b%3==1)
{b+=3;continue;}
b-=5;} }
程序的輸出結(jié)果a的值為______.
四、程序填空題
1、求主次對角線之和。
main()
{static int a[ ][3]={9,7,5,1,2,4,6,8};
int I,j,s1=0,s2=0;
for(I=0;I<3;I++)
for(j=0;j<3;j++)
{if( )
s1=s1+a[I][j];
if( )
s2=s2+a[I][j];
}
printf(“%d\n%d\n”,s1,s2);
}
2、從鍵盤上輸入10個數(shù),求其平均值。
main()
{int i;
float f,sum;
for(i=1,sum=0.0;i<11;i++)
{ ;
;
}
printf(“average=%f\n”,sum/10);
}
3、以下程序是建立一個名為myfile的文件,并把從鍵盤輸入的字符存入該文件,當鍵盤上輸入結(jié)束時關(guān)閉該文件。
#include
main()
{
FILE *fp;
char c;
fp= ;
do
{
c=getchar();
fputs(c,fp);
}while(c!=EOF);
; ;
}
五、編程題
1、三個整數(shù)a、b、c,由鍵盤輸入,輸出其中大的數(shù)。
2、從鍵盤輸入的10個整數(shù)中,找出第一個能被7整除的數(shù)。若找到,打印此數(shù)后退出循環(huán);若未找到,打印“not exist”。
3、有一個一維數(shù)組,內(nèi)放10個學生成績,寫一個函數(shù),求出平均分。
4、有N個學生,每個學生的信息包括學號、性別、姓名、四門課的成績,從鍵盤上輸入N個學生的信息,要求輸出總平均成績高的學生信息,包括學號、性別、姓名和平均成績。
1、C語言中普通整型變量的類型說明符為______,在內(nèi)存中占______字節(jié),有符號普通整型的數(shù)據(jù)范圍是______.
2、C語言中基本的數(shù)據(jù)類型有:______、______ 、______ .
3、設整型變量n的值為2,執(zhí)行語句“n+=n-=n*n”后,n的值是______.
4、共用體和結(jié)構(gòu)體的定義格式類似,不同點是______.
5、有如下輸入語句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);為使變量a的值為1,b的值為3,c的值為2,從鍵盤輸入數(shù)據(jù)的正確形式應是______.
6、有語句:char A[ ]={“I am a student”};該字符串的長度是______,A[3]= ______.
7、符號“a”和‘a(chǎn)’的區(qū)別______.
8、下列程序的輸出結(jié)果是______.
int ast(int x,int y,int * cp,int * dp)
{ *cp=x+y; *dp=x-y; }
main()
{ int a=4,b=3,c,d;
ast(a,b,&c,&d);
printf(“%d,%d/n”,c,d);}
二、選擇題
1、以下選項中屬于C語言的數(shù)據(jù)類型是( )。
A. 復合型 B. 雙精度型 C. 邏輯型 D. 集合型
2、以下說法中正確的是( )。
A. C語言程序總是從第一個的函數(shù)開始執(zhí)行
B. 在C語言程序中,要調(diào)用的函數(shù)必須在main()函數(shù)中定義
C. C語言程序總是從main()函數(shù)開始執(zhí)行
D. C語言程序中的main()函數(shù)必須放在程序的開始部分
3、選出下列標識符中不是合法的標識符的是( )。
A. hot_do B. cat1 C. _pri D. 2ab
4、下列描述中不正確的是( )。
A、字符型數(shù)組中可能存放字符串。
B、可以對字符型數(shù)組進行整體輸入、輸出。
C、可以對整型數(shù)組進行整體輸入、輸出。
D、不能在賦值語句中通過賦值運算符“=”對字符型數(shù)組進行整體賦值。
5、若已定義:int a[9], *p=a;并在以后的語句中未改變p的值,不能表示a[1]地址的表達式為( )。
A. p+1 B. a+1 C. a++ D. ++p
6、設有如下定義: int x=10,y=3,z;
則語句printf(“%d\n”,z=(x%y,x/y)); 的輸出結(jié)果是( )。
A. 1 B. 0 C. 4 D. 3
7、定義如下變量和數(shù)組: int i, x[3][3]={1,2,3,4,5,6,7,8,9};則下面語句
for(i=0;i<3;i++) printf(“%d”,x[i][2-i]); 的輸出結(jié)果是( )
A. 1 5 9 B. 1 4 7 C. 3 5 7 D. 3 6 9
8、讀出以下語句的輸出結(jié)果是( )。
int x=10,y=10;
printf(“%d %d\n”,x——,——y);
A. 10 10 B. 9 9 C. 9 10 D. 10 9
9、兩次運行下面的程序,如果從鍵盤上分別輸入6和3,則輸出結(jié)果是( )。
if(x++>5)printf(“%d”,x);
else printf(“%d\n”,x - -);
A. 7和5 B. 6和3 C. 7和4 D. 6和4
10、設有如下定義:char *aa[2]={“abcd”,“ABCD”};則以下說法中正確的是( )。
A)aa數(shù)組成元素的值分別是“abcd”和ABCD“
B)aa是指針變量,它指向含有兩個數(shù)組元素的字符型一維數(shù)組
C)aa數(shù)組的兩個元素分別存放的是含有4個字符的一維字符數(shù)組的首地址
D)aa數(shù)組的兩個元素中各自存放了字符‘a(chǎn)’和‘A’的地址
11、以下語句的輸出結(jié)果是( )。
int a=-1,b=4,k;
k=(+ +a<0)&&?。╞ - -<=0);
printf(“%d,%d,%d\n”,k,a,b);
A. 1,0,4 B. 1,0,3 C. 0,0,3 D. 0,0,4
12、下列程序的輸出結(jié)果是( )。
char *p1=“abcd”, *p2=“ABCD”, str[50]=“xyz”;
strcpy(str+2,strcat(p1+2,p2+1));
printf(“%s”,str);
A. xyabcAB B. abcABz C. ABabcz D. xycdBCD
13、執(zhí)行下面的程序后,a的值是( )。
#define SQR(X) X*X
main( )
{ int a=10,k=2,m=1;
a/=SQR(k+m)/SQR(k+m);
printf(“%d\n”,a);}
A. 10 B. 1 C. 9 D. 0
14、14、設A為存放(短)整型的一維數(shù)組,如果A的首地址為P,那么A中第i 個元素的地址為( )。
A.P+i*2 B.P+(i-1)*2 C.P+(i-1) D.P+i
15、下列程序執(zhí)行后輸出的結(jié)果是( )。
int d=1;
fun (int p)
{ int d=5;
d + =p + +;
printf(“%d,”,d); }
main( )
{ int a=3;
fun(a);
d + = a + +;
printf(“%d\n”,d); }
A.8,4 B. 9,6 C. 9,4 D. 8,5
16、表達式:10!=9的值是( )。
A.true B.非零值 C.0 D.1
17、若有說明:int i,j=7,*p=&i;則與i=j;等價的語句是( )。
A. i= *p; B. *p=*&j; C. i=&j; D. i=* *p;
18、不能把字符串:Hello!賦給數(shù)組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!”;
19、在C程序中有如下語句:char *func(int x,int y); 它是( )。
A. 對函數(shù)func的定義 B. 對函數(shù)func的調(diào)用。
C.對函數(shù)func的原型說明 D. 不合法的。
20、以下程序的輸出結(jié)果是( )。
char str[15]=“hello!”;
printf(“%d\n”,strlen(str));
A. 15 B. 14 C. 7 D. 6
三、閱讀程序題
1、int x=6,y=7;
printf(“%d,”,x++);printf(“%d\n”,++y);
程序的輸出結(jié)果是______.
2、float f=3.1415927;
printf(“%f,%5.4f,%3.3f”,f,f,f);
則程序的輸出結(jié)果是______.
3、a=3;
a+=(a<1)a:1; printf(“%d”,a);
結(jié)果是______.
4、main( )
{ int a[5]={2,4,6,8,10},*P,* *k;
p=a; k=&p;
printf(“%d,”,*(p++));
printf(“%d\n”,* *k);
程序的輸出結(jié)果是______.
5、main()
{int a,b;
for (a=1,b=1;a<=100;a++)
{ if(b>=20) break;
if(b%3==1)
{b+=3;continue;}
b-=5;} }
程序的輸出結(jié)果a的值為______.
四、程序填空題
1、求主次對角線之和。
main()
{static int a[ ][3]={9,7,5,1,2,4,6,8};
int I,j,s1=0,s2=0;
for(I=0;I<3;I++)
for(j=0;j<3;j++)
{if( )
s1=s1+a[I][j];
if( )
s2=s2+a[I][j];
}
printf(“%d\n%d\n”,s1,s2);
}
2、從鍵盤上輸入10個數(shù),求其平均值。
main()
{int i;
float f,sum;
for(i=1,sum=0.0;i<11;i++)
{ ;
;
}
printf(“average=%f\n”,sum/10);
}
3、以下程序是建立一個名為myfile的文件,并把從鍵盤輸入的字符存入該文件,當鍵盤上輸入結(jié)束時關(guān)閉該文件。
#include
main()
{
FILE *fp;
char c;
fp= ;
do
{
c=getchar();
fputs(c,fp);
}while(c!=EOF);
; ;
}
五、編程題
1、三個整數(shù)a、b、c,由鍵盤輸入,輸出其中大的數(shù)。
2、從鍵盤輸入的10個整數(shù)中,找出第一個能被7整除的數(shù)。若找到,打印此數(shù)后退出循環(huán);若未找到,打印“not exist”。
3、有一個一維數(shù)組,內(nèi)放10個學生成績,寫一個函數(shù),求出平均分。
4、有N個學生,每個學生的信息包括學號、性別、姓名、四門課的成績,從鍵盤上輸入N個學生的信息,要求輸出總平均成績高的學生信息,包括學號、性別、姓名和平均成績。