文档库 最新最全的文档下载
当前位置:文档库 › C语言综合练习

C语言综合练习

C语言综合练习
C语言综合练习

C语言单元练习题

第一单元数据类型、表达式及顺序结

构练习题

一、选择题:

1、不合法的C语言整型常量是。

A. –012

B. 0x35

C. 123L

D. 8E2

2、不合法的C语言实型常量是。

A. E3

B. .123

C. –6.2E4

D. 5.0

3、不合法的C字符常量是。

A. ′2′

B. ′\101′

C. ′AB′

D. ′

\n′

4、下列四组选项中,均是不合法的用户标识符

的选项是。

A. W P_0 do

B. b-a

goto int

C. float la0 _A

D. -123 abc

TEMP

5、定义三个变量a、b、c,并分别赋初值为5。能实现该功能的语句是。

A. int a=b=c=5;

B. int a,b,c=5;

C. int

a=5,b=5,c=5; D. int a=5;b=5;c=5;

6、设有说明:char w;int x; float y;double z;则表达式w*x+z-y值的数据类型为。

A. float

B. char

C. int

D. double

7、以下选项中不能用作C程序合法常量的是()。

A. 1.234

B. '123'

C.123

D."\x7G"

8、以下选项中可用作C程序合法实数的是()

A. .1e0

B.3.0e0.2

C.E9

D.9.12E

9、下列标识符中,不合法的用户标识符为()。

A. Pad

B. CHAR

C. a_10

D. a≠b

10、以下选项中能表示合法常量的是()。

A.整数:1,200

B.实数:1.5E2.0

C.字

符斜杠:‘\’ D.字符串:"\007"

11、以下选项中,能用作数据常量的是()。

A.o115

B. 0118

C.1.5e1.5

D. 115L

12、若a是数值类型,则逻辑表达式

(a==1)||(a!=1)的值是()。

A.1

B.0

C.2

D.3

13、若有定义语句:int x=10;,则表达式x-=x+x 的值为()

A.-20

B.-10

C.0

D.10

14、表达式:(int)((double)9/2)-(9)%2的值是()。

A.0

B.3

C.4

D.5

15.int x=5, y=14;则表达式x+7/y+0.6 值为()。

A.7.1

B.5.6

C.6.6

D.6.1

16、有以下程序执行后的输出结果是()。main( )

{ int i,s=0;

for(i=1;i<10;i+=2) s+=i+1;

printf("%d\n",s);}

A.自然数1~9的累加和 B.自然数1~10的累加和

C.自然数1~9中的奇数之和 D.自然数1~10中的偶数之和

17、C语言中运算对象必需是整型的运算符是()。A./ B. % C.* D.+

18、表达式3.6-5/2+1.2+5%2的值是()。A.4.3 B. 4.8 C. 3.3 D.3.8 19、能正确表示逻辑关系:"a≥8或a≤5"的C 语言表达式是()。

A.a>=8 or a<=5 B.a>=5 | a<=8 C.a>=8 && a<=5 D.a>=8 || a<=5

20、C语言中,数字029 是一个()。

A.不合法数字 B.十进制数 C.八进制数 D.十六进制数

21、设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是()。

A.k++

B.k+=1

C.++k

D.k+1

22、以下选项中,合法的C语言数值常量是()。

A.028

B.'\12A'

C.'\177’

D. N

23、C语言中运算符优先级最低的是()。

A.++

B. =

C.-

D.&&

24、有以下程序运行时,输入的值在哪个范围才会有输出结果()。

main(){

int x; scanf("%d",&x);

if(x<=3) ;

else if(x!=10) printf("%d\n",x); }

A.不等于10的整数 B.大于3且不等于10的整数

C.大于3或等于10的整数 D.小于3的整数

25.以下选项中可用作C程序合法实数的是( )

A.1e0 B3.0e0.2 C.E9 D..12E

26.若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是( )

A.a=(b=4)=3;

B.a=b=c+1;

C.a=(b=4)+c;

D.a=1+(b=c=4);

二、填空题:

1、若有定义int m=5,y=2;,则计算表达式

y+=y-=m*=y后的y值是。

2、若s是int型变量,且s=6,则表达式

s%2+(s+1)%2的值为。

3、若a是int型变量,则表达式(a=4*5,a*2),a+6的值为。

4、若a是int型变量,则计算表达式a=25/3%3后a的值为。

5、若x和n均是int型变量,且x和n的初值均为5,则计算表达式x+=n++后x的值

为,n的值为。

6、若有定义:char c=‘\010’;则变量c中包含的字符个数为。

7、若有定义:int x=3,y=2;float a=2.5,b=3.5;则表达式(x+y)%2+(int)a/(int)b的值为

三、程序阅读题:(写出程序运行结果)

1、以下程序的输出结果是。

#include

main()

{ int x=97; char y=’b’;

printf(“%c,%d”, x, y);

}

2、以下程序的输出结果是。

#include

main()

{ int x=6;

x+=x-=x*x;

printf(“x=%d\n”, x);

}

3、以下程序的输出结果是。

#include

main()

{ int i=1,j;

j= -i++;

printf(“%d\n”, j) ;

}

4、有以下程序,运行后的输出结果是。

main( )

{ char a='a',b;

printf("%c,",++a);

printf("%c\n",b=a++);}

5、以下程序的输出结果是。

main( )

{ int i=0,j=0,a=6;

if((++i>0)||(++j>0))

a++;

printf("%d,%d,%d",i,j,a); }

四、编程题:(顺序结构编程)

1、输入华氏温度,输出摄氏温度。C=5/9*(F-32)

/*由华氏温度转化为摄氏温度*/

2、输入底面半径r和高度h,计算并输出圆柱体

的体积v。

v=πr2h(π取3.14,v计算结果保留到小数

点后两位)

3、从键盘输入学生的三门考试成绩,计算并输

出平均成绩。

第二单元选择结构练习题

一、选择题:

1、若a是数值类型,则逻辑表达式(a==1)||(a!=1)

的值是()。

A.1

B.0

C.2

D.3

2、有以下程序运行时,输入的值在哪个范围才

会有输出结果()。

main(){

int x;

scanf("%d",&x);

if(x<=3) ;

else if(x!=10)

printf("%d\n",x);

}

A.不等于10的整数 B.大于3且不等于

10的整数

C.大于3或等于10的整数 D.小于3

的整数

3、在嵌套使用if语句时,C语言规定else总是()。

A.和之前与其具有相同缩进位置的if配对B.和之前与其最近的if配对

C.和之前与其最近的且不带else的if配对D.和之前的第一个if配对

4、希望当num的值为奇数时,表达式的值为“真”,num的值为偶数时,表达式的值为“假”,则以

下不能满足的表达式是()。

A. num%2==1

B. !(num%2==0)

C. !(num%2)

D. num%2

5、若有定义:int a=3,b=2,c=1;并有表达式:

①a%b,②a>b>c,③b&&c+1,④c+=1,则表达式值

相等的是( )。

A)①和②B)②和③C)①和③D)

③和④

6.若有说明语句int i=5,j=4,k=6;int f;则执行

f=(i

A)4 B)5 C)6 D)7

7.以下程序片段。

int x=2,y=3;

printf(“%d,%d”,x+2,y);

A)输出为:2,3 B)输出为:4,3

C)输出为:2 3 D)输出为:4 3

8.能正确表示“当x的取值在[1,10]或[200,210]范围内为真,否则为假”的表达式是。

A)(x>=1) && (x<=10) && (x>=200) && (x<=210) B)(x>=1) | | (x<=10) | | (x>=200) | | (x<=210) C)(x>=1) && (x<=10) | | (x>=200) && (x<=210) D)(x>=1) | | (x<=10) && (x>=200) | | (x<=210) 9.C语言对嵌套if语句的规定是:else总是与()。

A)其之前最近的if配对 B)第一个if配对

C)缩进位置相同的if配对 D)其之前最近的且尚未配对的if配对

10.设:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b) && (n=c>d)后n的值为。

A)1 B)2 C)3 D)4

11.下面是错误的if语句(设int x,a,b;)A)if (a=b) x++; B)if (a=

12.以下程序片段。

main ( )

{ int x=1,y=2;

if (x>y) printf(“***”);

else printf(“###”); }

A)有语法错误,不能通过编译

B)输出:***

C)可以编译,但不能通过连接,所以不能运行D)输出:###

13.对下述程序,是正确的判断。

main ( )

{ int x,y;

scanf(“%d,%d”,&x,&y);

if (x>y)

x=y;

y=x;

else

x++;

y++;

printf(“%d,%d”,x,y); }

A)有语法错误,不能通过编译 B)若输入3和4,则输出4和5

C)若输入4和3,则输出3和4 D)若输入4和3,则输出4和5

14.若w=1,x=2,y=3,z=4,则条件表达式w

15.下述表达式中,

()可以正确表示x≤0或x≥1

的关系。

A)(x>=1) | | (x<=0) B)x>=1 | x<=0

C)x>=1 && x<=0 D)(x>=1) && (x<=0)

16.以下程序输出结果是。

main ( )

{ int x=1,y=0,a=0,b=0;

switch(x) {

case 1:switch (y) {

case 0 : a++ ; break ;

case 1 : b++ ; break ;

}

case 2:a++; b++; break;

case 3:a++; b++;

}

printf(“a=%d,b=%d”,a,b);

}

A)a=1,b=0 B)a=2,b=1 C)a=1,b=1 D)a=2,b=2

17.当a=1,b=3,c=5,d=4时,执行完下面一段程

序后x的值是。

if (a

if (c

else

if (a

else x=3;

else x=6;

else x=7;

A)1 B)2 C)3 D)4

18.在下面的条件语句中(其中S1和S2表示C

语言语句),只有一个在功能上与其他三个语

句不等价。()

A)if (a) S1; else S2; B)if (a==0)

S2; else S1;

C)if (a!=0) S1; else S2; D)if (a==0)

S1; else S2;

19.若int i=10;执行下列程序后,变量i的正确

结果是。

switch (i) {

case 9: i+=1 ;

case 10: i+=1 ;

case 11: i+=1 ;

default : i+=1 ;

}

A)10 B)11 C)12 D)13

填空题:

1.C语言提供6种关系运算符,按优先级高低它

们分别是________,________,________,________,________,________等。

2.C语言提供三种逻辑运算符,按优先级高低它们分别是________,________,________。

3.将条件“y能被4整除但不能被100整除,或y 能被400整除”写成逻辑表达式________。

4.设x,y,z均为int型变量;写出描述“x,y和z中有两个为负数”的C语言表达式:________。

5.已知A=7.5,B=2,C=3.6,表达式A>B && C>A || AB的值是________。

6.有int x=3,y=-4,z=5;则表达式(x&&y)==(x||z)的值为________。

7.若有x=1,y=2,z=3,则表达式(x

{int a=1,b=0;

if(!a) b++;

else if(a==0)if(a)b+=2;

else b+=3;

printf(”%d\n”,b);

2. 写出以下程序的运行结果。

main ( )

{ int a=2,b=7,c=5;

switch (a>0) {

case 1: switch (b<0) {

case 1: printf(“@”); break ;

case 2: printf(“!”); break ;

}

case 0: switch (c==5) {

case 1: pritnf(“*”) ; break ;

case 2: printf(“#”) ; break ;

default : printf(“#”) ; break ;

}

default : printf(“&”);

}

printf(“\n”);}

3. 以下程序的输出结果是。

main( )

{ int a=100;

if(a>100) printf("%d\n",a<=100);

else printf("%d\n",a<=100);

}

4、以下程序的输出结果是。

main()

{ int i;

for(i=0;i<3;i++) {switch(i)

{ case 1: printf("%d",i);

case 2: printf("%d",i);

{ int i=0,j=0,a=6;

if((++i>0)||(++j>0)) a++;

printf("%d,%d,%d",i,j,a); }

6.若运行时输入100↙,写出以下程序的运行结果。

main ( )

{ int a ;

scanf(“%d”,&a);

printf(“%s”,(a%2!=0)?”No”:”Y es”);

}

编程题:

1.有三个整数a,b,c,由键盘输入,输出其中最大的数。

2.编程输入整数a和b,若大于100,则输出百位以上的数字,否则输出两数之和。

3.给出一百分制成绩,要求输出成绩等级’A’,’B’,’C’,’D’,’E’。90分以上为’A’,80-89分为’B’,70-79分为’C’,60-69分为’D’,60分以下为’E’。

4.提高题:给一个不多于5位的正整数,要求:

①求出它是几位数;②分别打印出每一位数字;

③按逆序打印出各位数字,例如原数是321,应输出123。

第三单元循环结构练习题

选择题:

1、有以下程序执行后的输出结果是()。main( )

{ int i,s=0;

for(i=1;i<10;i+=2) s+=i+1;

printf("%d\n",s);}

A.自然数1~9的累加和 B.自然数1~10的累加和

C.自然数1~9中的奇数之和 D.自然数1~10中的偶数之和

2、以下关于for语句的说法不正确的是()。

A. for循环只能用于循环次数已经确定的情况

B. for循环是先判断表达式,后执行循环体语句

C. for循环中,可以用break跳出循环体

D. for循环体语句中,可以保含多条语句,但要用花括号括起来

3、若i和k都是int类型变量,有以下for语

句 for(i=0,k=-1;k=1;k++) printf("*****\n"); 下面关于语句执行情况的叙述中正确的是( )。 A.循环体执行两次 B.循环体执行一次 C.循环体一次也不执行 D.构成无限循环 4、已知 int t=0; while (t=1){...} 则以下叙述正确的是( )。 A )循环控制表达式的值为0 B )循环控制表达式的值为1 C )循环控制表达式不合法 D )以上说法都不对 5、设有以下程序段 int x=0,s=0; while (!x!=0)s+=++x; printf ("%d",s ); 则 A )运行程序段后输出0 B )运行程序段后输出1 C )程序段中的控制表达式是非法的 D )程序段执行无限次 6、设i ,j ,k 均为int 型变量,则执行完下面的for 语句后,k 的值为( )。 for (i=0, j=10; i<=j; i++, j- -) k=i+j; A.6 B.9 C.10 D.11 7、C 语言中,break; 语句可以用于循环语句和( )语句中。 A.if B.switch C.for D.while 8、for(i=0; i<=15; i++) printf("%d", i ); 循环结束后,i 的值为( )。 A.14 B.15 C.16 D.17 9、与语句“while(!x)”等价的语句是( )。 A. while(x==0) B. while(x!=0) C. while(x==1) D. while(x!=1) 10、下述程序段中,while 循环执行次数是( )。 int k=0; while(k=1) k++; A.无限次 B. 有语法错误,不能执行 C.一次也不执行 D. 执行一次 11、以下程序中,while 循环的次数是( )。 #include void main( ) {int i=0; while(i<10) { if(i<1) continue; if(i= =5)break; i++;}} A. 1 B. 死循环,不能确定次数 C. 6 D. 10 12.下面程序段 int k=2; while (k=0) {printf(“%d”,k);k --;} 则下面描述中正确的是 。 A )while 循环执行10次 B )循环是无限循环 C )循环题语句一次也不执行 D )循环体语句执行一次 13.以下程序段的循环次数是 。 for (i=2; i==0; ) printf(“%d” , i--) ; A )无限次 B )0次 C )1次 D )2次 14. int i=100;以下不是死循环的程序段是 。 A )while (1) {i=i%100+1 ;if (i>100) break ;} B )for ( ; ; ) ; C ) int k=0; do { ++k; } while (k>=0); D )int s=36;while(s) ;--s ; 15.下述程序段的运行结果是 。 int a=1,b=2, c=3, t; while (a=’A’ && c<=’Z’) m++;

if (c>=’a’ && c<=’z’) n++; } } A )c=getchar( ) B )getchar( ) C )c==getchar( ) D )scan f(“%c”,&c) 17.下述语句执行后,变量k 的值是 。 int k=1;

while (k++<10); A )10 B )11 C )9 D )无限循环,值不定 18.下面for 循环语句 。 int i,k; for (i=0, k=-1; k=1; i++, k++) printf(“***”); A )判断循环结束的条件非法 B )是无限循环

C )只循环一次

D )一次也不循环 19. 以下for 循环的执行次数是 。 for (x=0,y=0; (y=123) && (x<4) ; x++) ; A )无限循环 B )循环次数不定 C )4次 D )3次 20.以下是死循环的程序段是 。 A ) for (i=1; ; ) { if (i++%2==0) continue ; if (i++%3==0) break ; } B ) i=32767; do { if (i<0) break ; } while (++i) ; C ) for (i=1 ; ;) if (++I<10) continue ; D. i=1 ; while (i--); 21.以下程序段 。 x=-1; do { x=x*x; } while (!x); A )是死循环 B )循环执行2次 C )循环执行1次 D )有语法错误 22.下面程序的功能是在输入的一批正数中求最大者,输入0结束循环,选择填空。

main ( )

{ int a,max=0;

scanf(“%d”,&a); while (【 】) { if (max

(“%d”,&a); }

printf(“%d”,max);}

A )a==0

B )a

C )!a==1

D )!a 23.以下不是死循环的语句是 。 A )for (y=9,x=1;x>++y;x=i++) i=x ; B )for ( ; ; x++=i ) ; C )while (1) { x++ ; } D )for (i=10 ; ; i--) sum+=i ;

读程题:

1.以下程序的输出结果是 。 main()

{ int i, a[6]={2,3,4,5,6,7}; for(i=1; i<6; i+=2) printf("%d ", a[i]); }

2.写出下面程序运行的结果。 main ( ) { int i=5 ;

for (; i<5 ;)

{ i++; if (i%4==0) printf(“%-2d ”,i); else continue; } } 3.写出下面程序运行的结果。 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; } printf(“%d \n”,a);} 4.写出下面程序运行的结果。 main ( ) { int k=1,n=263 ; do { k*= n%10 ; n/=10 ; } while (n) ; printf(“%d \n”,k);} 5.若执行以下程序时从键盘上输入3和4,则输出结果是 。 main( ) { int a,b,s;

scanf("%d%d",&a,&b); s=a; if(a

s*=s; printf("%d\n",s); } 6.写出下面程序运行的结果。 main ( ) { int i ; for(i=1;i<10;i++) {

if(i%3) i++; ++i ;

printf(“%d ”,i) ; } }

编程题:

1.编写程序输出如下图形。

* ** *** ****

*****

2.鸡兔问题:假设鸡兔共有30只,脚数共有90只,利用循环编写一个程序求出鸡和兔各有多少只。

3.判断从键盘输入的数m 是否为素数(素数:只能被1和本身整除的数)。

4.利用循环从键盘输入100个数,找出其中的最小值。

5.编程求1-2

1+31-41+……+

991-100

1的值。

6.编程求s=1+(1+2)+(1+2+3)+……+(1+2+3+……+n)的值。

7.输出100-999之间的所有水仙花数,每行输出5个(水仙花数:三位数的各位数字的立方之和等于

153=1*1*1+5*5*5+3*3*3)。

8.编程打印一下图形(行n 的值由键盘输入)。 ******* ****** ***** ****

*** ** *

第四部分 数组练习题

1、下列选项中,能正确定义数组的语句是( )。 A.int num[0..2008]; B.int num[];

C.int N=2008;

D.#define N 2008 int num[N]; int num[N]; 2、以下数组定义中错误的是( )。 A. int x[][3]={0}; B. int x[2][3]={{1,2},{3,4},{5,6}};

C. int x[][3]={{1,2,3},{4,5,6}};

D.int x[2][3]={1,2,3,4,5,6};

3、若有说明数组“int a[3][4]”,则以下对数组a 的正确引用是( )。

A. a[2][4]

B. a[1,3]

C. a[1+1][0]

D. a(2)(1)

4、若有定义语句:char s[10]="1234567\0\0";,则strlen(s)的值是( )。

A.7

B.8

C.9

D.10

5、以下程序程序的执行后的输出结果是( )。 main()

{int i,t[][3]={9,8,7,6,5,4,3,2,1};

for(i=0;i<3;i++) printf(“%d”,t[2-i][i]);} A.7 5 3 B. 3 5 7 C.3 6 9 D.7 5 1

6、有以下语句:int b;char c[10];,则正确的输入语句是( )。

A. scanf("%d%s",&b,&c);

B. scanf("%d%s",&b,c);

C. sscanf("%d%s",b,c);

D. scanf("%d%s",b,&c); 7、有以下程序段

char name[20]; int num;

scanf("name=%s num=%d",name;&num);

当执行上述程序段,并从键盘输入:name=Lili num=1001<回车>后,name 的值为()

A.Lili

https://www.wendangku.net/doc/987523623.html,=Lili

C.Lili num=

https://www.wendangku.net/doc/987523623.html,=Lili num=1001 8、有以下程序 #include main()

{ char a[30],b[30]; scanf("%s",a); gets(b);

printf("%s\n %s\n",a,b); }

程序运行时若输入:

how are you? I am fine<回车> 则输出结果是()

A.how are you?

B.how

C.how

D.how

I am fine I am fine are you? are you? I am fine

9、以下对二维数组a 的正确说明是________.

A.int a[3][];

B.float a(3,4);

C.double a[1][4];

D.float a(3)(4);

10、若有说明:int x[][3]={1,3,5,7,9,11};,则x 数组的行数为_______。

A.2

B.3

C.4

D.无确定值

11、若有定义:int a[3][4]={{1,2,3},{0,5},{4,6,8,10}};则初始化后,a[1][2]的初值是( )。 A.2 B.3 C.0 D.没有确定的值 12、以下程序程序的运行结果是( )。 #include main(){ char a[10]=

"abcd";printf("%d,%d\n",strlen(a),sizeof(a);} A.7,4 B.4,10 C.8,8 D.10,10 13、以下程序程序运行后的输出结果是( )。 #include

main(){ char s[]={"012xy"};int i,n=0;

for(i=0;s[i]!=0;i++)

if(s[i]>= 'a'&&s[i]<= 'z') n++; printf("%d\n",n);}

A.0

B.2

C.3

D.5

14、若有定义语句:int m[]={5,4,3,2,1},i=4;,则下面对m 数组元素的引用中错误的是()。

A.m[--i]

B.m[2*2]

C.m[m[0]]

D.m[m[i]]

15、main()

{ int a[2]={0},i,j,k=2;

for(i=0;i

for(j=0;j

printf("%d\n",a[k]);

}

以上程序的输出结果是( ).

A) 1 B) 3 C) 2 D) 不确定的值

16、以下定义语句中,错误的是( ).

A) int a[ ] = {6,7,8}; B) int n=5, a[n]; ) char a[ ]= "string"; D) char a[5 ]={'0','1','2','3','4'};

17、以下描述中正确的是( ).

A) 数组名后面的常量表达式用一对圆括弧括起来B) 数组下标从1开始

C) 数组下标的数据类型可以是整型或实型

D) 数组名的规定与变量名相同

18、若定义数组并初始化char a[10]={'0','1

','2','3','4','5','6','7','8','9'};指出以下错误语句( ).

A)scanf("%c",a[0]); B) scanf("%s",&a); C) printf("%c",a[3]); D) printf("%s",a);

19、若定义数组int a[10] ,其最后一个数组元素为( ).

A)a[0] B) a[1] C) a[9] D) a[10]

20、若定义数组并初始化int a[10]={ 1,2,3,4},以下语句哪一个不成立( )?

A) a[8]的值为0 B) a[1] 的值为1 C) a[3] 的值为4 D) a[9] 的值为0

21、指出以下错误语句( ).

A)int n=10,a[n]; B)int n,a[10]; C)int

a[10]={1,2,3}; D) int

a[10]={1,2,3,4,5,6,7,8,9,10};

22、已定义:int x[2][4]={1,2,3,4,5,6,7,8}; 则元素x[1][1]的正确初值是( ).

A) 6 B) 5 C) 7 D) 1

23、设有定义:int a[][3]={{1,2,3},{4,5,6},{7,8,9}}; 则a[1][2]的初值为( ).

A) 2 B) 4 C) 6 D) 8

24、判断字符串s1是否大于字符串s2,应当使用()。A) if(s1>s2) B)if(strcmp(s1,s2))

C)if(strcmp(s1,s2)>0) D) if(strcmp(s2,s1)>0) { int a[10]={10,2,-13,21,11,67,-78,8,90,-53};

int i,x=0, y=0;

for(i=0;i<10;i++)

if(a[i] >0) x++;

else y++;

printf(“%d,%d\n”, x, y );

{ 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]);

{ int i, a[6]={2,3,4,5,6,7};

for(i=1; i<6; i+=2)

printf("%d ", a[i]);

{ int i, j, a[3][4]={{0,1,2},{3,4,5,6},{7,8}};

for(i=0;i<3;i++)

{ for(j=i;j<4;j++)

printf("%5d", a[2-i][j]);

printf("\n"); }

}

5、若运行时输入abc↙,以下程序的输出结果是。

#include

main ( )

{ char str_a[12]="xyzuvw " , str_b[8];

gets(str_b);

strcpy(str_a, str_b);

printf(“%s, %s”, str_a, str_b );

}

6、以下程序的输出结果是

#include

main()

{ int a[3][3]={1,2,3,4,5,6,7,8,9}, i,s=0;

for(i=0;i<=2;i++)

s=s+a[i][i];

printf(“s=%d\n”,s);

}

7、以下程序的输出结果是

#include

main()

{ int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};

printf(“%d%d%d%d\n”,a[0][3],a[1][2],a[2][1],a[3][ 0]);

}

8、以下程序的输出结果是

#include

main()

{ char s[]=”abcdef”;

s[3]=’\0’;

printf(“%s\n”,s);

}

第五部分函数练习题

1、C语言程序的基本单位是( ).

A.程序 B.语句 C.字符

D.函数

2、以下叙述中正确的是( ).

A.在C语言中总从第一个开始定义的函数开始执行

B.在C语言中所有调用别的函数必须在main函数中定义

C.C语言总是从main函数开始执行

D.在C语言中,main函数必须放在最前面

3、以下正确的函数定义是( ).

A.double fun(int x,int y);

{int z;

z=x+y; return z;}

B.fun(int x,y)

{int z; return z;}

C.double fun(int x,int y);

{double z;

z=x+y; return z;}

D.double fun( x, y)

int x,y;

{double z; z=x+y; return z;}

4、C语言中,函数返回值的类型是由( )决定的。

A.调用函数时临时

B.return语句中的表达式类型

C.调用该函数的主调函数类型

D.定义函数时,所指定的函数类型

5、C语言中,调用一个函数时,当形参是变量名时,实参和形参之间的数据传递是( ) 。

A.单纯值传递

B.单纯地址传递

C.值传递和地址传递都有可能

D.由实参传给形参,然后由形参传回给实参,既是双向传递

6、C语言中关于“函数声明”的说法正确的是()。

A.必须对所有所调用的函数进行声明。

B.都没必要声明,声明只是为了加快编译的速度。

C.返回值为void 类型的函数任何时候都可以不用声明。

D.并不是任何情况下都需要进行声明。

7、若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是()。

A. 在函数调用时函数的实参和其对应的形参共占同一存储单元。

B. 在函数调用时函数的形参和实参分别占用不同的存储单元。

C.在函数调用时同名的实参和形参占同一存储单元。

D.形参只是形式上的存在,即使在函数调用时也不占用具体存储单元。

8、若有说明“static int a[3][4];”,则数组a中各元素()。

A. 可在程序的运行阶段得到初值0。

B. 可在程序的编译阶段得到初值0。

C. 不能得到确定的初值。

D. 可在程序的编译或运行阶段得到初值0。

9、以下程序程序的运行结果是()。

int fun{int x,int y}{ if(x==y) return(x);else returen((x+y)/2)}

main(){ int

a=4,b=5,c=6;printf("%d\n",fun(2*a,fun(b,c)))}

A.3

B.6

C.8

D.12

10、以下程序程序运行后的输出结果是()。int f(int n){ static int a=1; n+=a++; return n;} main(){ int a=3,s;

s=f(a);s=s+f(a);printf("%d\n",s);}

A.7

B.8

C.9

D.10

11、f(int x)

{

return x;

}

main()

{

float a=3.14;

a=f(a);

printf("%.2f\n",a);}

执行结果为( ).

A) 3 B) 3.14 C) 3.00 D) 0

12、执行下列程序后, 变量a的值应为( ).

f1(float x)

{return x+1.3;}

main()

{float a;

a=f1(2.4);

}

A) 3.7 B) 3 C) 4 D) 不确定

13、下列程序的执行结果为( ).

float f1(float x)

{

int k=2;

k=k*x;

return k;

}

main()

{

float b=4.3;

printf("%.1f",f1(b));

}

A) 8.6 B) 9.0 C) 8.0 D) 8

14、执行下列语句后,程序的运行结果为( ).

int a=10;

f( )

{a=12;

}

main()

{f();

printf("%d",a);

}

A) 10 B) 12 C) 0 D) 不确定

看程序写结果

1、以下程序的运行结果是________.

int a=5;int b=7;

main()

{ int a=4,b=5,c;

c=plus(a,b);

printf("A+B=%d\n",c);

}

plus(int x,int y)

{ int z;

z=x+y;

return(x);

}

2、以下程序的输出结果是。

int fun()

{ static int x=1;

x*=2; return x;

}

main()

{ int i,s=1;

for(i=1;i<=3;i++) s*=fun();

printf("%d\n",s);

}

3、以下程序的输出结果是。

int f(int v , int w)

{ int t;

t=v*v+v/w;

return w;

}

main( )

{ int x=1,y=3,z=2;

x=f(y, z+5);

printf("%d,%d,%d\n",x,y,z);

}

4、以下程序的输出结果是

f(int i,int j)

{ int t=1;

for(;j>0;j--)

t*=i;

return(t);

}

main()

{int a=2,b=3;

printf(“f=%d\n”,f(a,b));

}

5、以下程序的输出结果是

#include

func(int x)

{ x=20;

}

main()

{ int x=10;

func(x);

printf(“%d”,x);

}

6、以下程序的输出结果是

int a=5;

void fun(int b){ int a=10; a+=b;printf("%d",a);} main(){ int c=20; fun(c);a+=c;printf("%d\n",a);}

第六部分指针练习题

1、已有变量定义和函数调用语句:int a=25; print_value(&a); 下面函数的正确输出结果

是________.

void print_value(int *x)

{ printf(“%d\n”,++*x);}

A.23

B.24

C.25

D.26

2、有以下程序

main()

{ int a=1, b=3, c=5;

int *p1=&a, *p2=&b, *p=&c;

*p =*p1*(*p2);

printf("%d\n",c);

}

执行后的输出结果是

A.1

B.2

C.3

D.4

3、有以下程序

main()

{ int a,k=4,m=4,*p1=&k,*p2=&m;

a=p1==&m;

printf("%d\n",a);

}

程序运行后的输出结果是()

A)4 B)1 C)0 D)运行时出错,无定值

4、有以下程序段

int

a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b; b=p[5];

b中的值是()

A.5

B.6

C.8

D.9

5、若有以下定义,则p+5表示_______.

int a[10],*p=a;

A.元素a[5]的地址

B.元素a[5]的值

C.元素a[6]的地址

D.元素a[6]的值

6、以下程序段中,编译时系统会提示错误的是()

A. char s[10]="abcdefg";

B. char t[]="abcdefg",*s=t;

C. cha11r s[10];s="abcdefg";

D. char s[10];strcpy(s,"abcdefg");

7、已知char s[10],*p=s,则下列语句中错误的是()。

A. p=s+5;

B. s=s+p;

C. s[2]=p[4];

D. *p=s[0]

8、以下程序程序运行后的输出结果是()。main(){ int m=1,n=2,*p=&m,*q=&n,*r;

r=p;p=q;q=r;

printf("%d,%d,%d,%d", m,n,*p,*q);} A.1,2,1, B.1,2,2,1 C.2,1,2, D.2,1,1,2

9、以下定义语句中正确的是()。

A.int a=b=0 ;

B.char A=65+1,b='b';

C.float a=1,*b=&a,*c=&b ;

D.double

a=0.0,b=1.1;

10、以下定义语句中正确的是()。

A.int a=b=0 ;

B.char A=65+1,b='b';

C.float a=1,*b=&a,*c=&b ;

D.double

a=0.0,b=1.1;

11、下列语句组中,正确的是()。

A.char *s;s="Olympic";

B.char

s[7];s="Olympic";

C.char *s;s={"Olympic"};

D.char

s[7];s={"Olympic"};

12、设有定义:double x[10],*p=x;,以下能给

数组x下标为6的元素读入数据的正确语句是

A.scanf("%f",&x[6]);

B.scanf("%lf",*(x+6));

C.scanf("%lf",p+6);

D.scanf("%lf",p[6]);

13、假设指针p1已经指向了某个整型变量,要

使指针p2也指向同一个变量,则下面各项中正

确的是()。

A. p2=**p1

B. p2=&p1

C. p2=*p1

D. p2=&*p1

14、以下正确的程序段是_________.

A.char str[20];

B.char *p;

scanf("%s",&str);

scanf("%s",p);

C.char str[20];

D.char

str[20],*p=str;

scanf("%s",&str[2]);

scanf("%s",p[2]);

15、下面程序段的运行结果是________.

char s[80],*sp="HELLO!";

sp=strcpy(s,sp);

s[0]='h';

puts(sp);

A.hello!

B.HELLO!

C.Hello!

D.hELLO!

文件、结构体、位运算

1、左移运算:int a=4,c=a>>1;变量c的值是()。

A.2

B.8

C. 9

D. 0

2、在位运算中,操作数每右移一位,其结果相

当于()。

A.操作数乘以2

B.操作数除以2

C. 操作数

乘以4 D. 操作数除以2

3、表达式“12|012”的值是()。

A.1

B.0

C. 14

D. 12

4.以下程序的输出结果是()。

main()

{

int a,b;

a=4|3;

b=4&3;

printf(“%d %d”,a,b);

}

A.7 0

B.0 7

C. 1 1

D. 43 0

5.表达式0x13|0x17的值是()。

A.0x13

B.0x17

C. 0xE8

D. 0xC8

6.表达式19&23的值是()。

A.0x7

B.0x13

C. 0xf8

D. 0xec

7、若有以下说明:

struct st

{

int a;

int b[2];

}a;

则下述正确的是(已知int型变量占两个字节)()。

A.结构体变量a与结构体成员a同名,定义非法。

B.程序只在执行到该定义是才为结构体变量a分

配存储单元。

C.程序运行时为结构体变量a分配六个自己存储

单元

D.以上说法都不对

8、若有以下定义和语句:

struct student

{

int num;

char name[12];

struct

{ int year; int month; int day; } birth;

}

struct student s;

设变量s中“生日”是“2013年1月1日”,下列对“生日”的正确赋值方式是()。

A.year=2013;month=1;day=1;

B.birth.year=2013; birth.month=1; birth.day=1;

C.s.year=2013; s.month=1; s.day=1;

D.s.birth.year=2013; s.birth.month=1; s.birth.day=1;

9、若有以下定义和语句:

struct st

{

int x;

char y;

}s;

则下列赋值正确的是()。

A.st.x=10;

B.st.s.x=10;

C. struct st={10,7};

D.struct st a={10,7};

10、以下数据类型中不是构造类型的是()。

A.数组型

B.指针型

C.结构体

D.共用体

11、若有以下定义,则能打印出字母M的语句是()。

struct person

{

char name[12];

int num;

};

struct person class[8]={“Linan”,20, “zhanghai”,18, “Maming”,23, “wanghua”,25, “chenqi”,17};

A.printf(“%c”,class[3].name);

B.printf(“%c”,class[3].name[1]);

C.printf(“%c”,class[2].name[1]);

D.printf(“%c”,class[2].name[0]);

12、下列程序段正确的是()。

A.struct data

{

long num=12001;

float cost=50.5;

};

B.struct data

{

long num;

float cost;

};

data={12001,50.5};

data.num=12001;

C. struct data

{

long num;

float cost;

}d1;

scanf(“%d %f”,&d1);

printf(“%d %f”,&d1);

D. struct data

{

long num;

float cost;

};

struct data d1={12001,50.5};

13、C语言可以处理的文件类型是()。

A.文本文件和数据文件

B.数据文件和二进制文件

C.文本文件和二进制文件

D. 文本文件、数据文件和二进制文件

14、如果要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合要求的函数调用是( ).

A.fopen(“A:\user\abc.txt”, “r”)

B.fopen(“A:\\user\\abc.txt”, “r+”)

C.fopen(“A:\user\abc.txt”, “rb”)

D. fopen(“A:\\user\\abc.txt”, “w”)

15、当顺利执行了文件关闭操作时,fclose函数的返回值是()。

A.0

B.1

C.-1

D. TRUE

16、当存在一个abc.txt文件时,执行函数fopen(“abc.txt”, “r+”)的功能是()。

A.打开abc.txt文件,覆盖原有的内容

B.打开abc.txt文件,可以读取和写入新的内容

C. 打开abc.txt文件,只能写入数据,但不能读取数据

D. 打开abc.txt文件,只能读取原有内容,但不能写数据

17、若用fopen()函数打开一个新的二进制文件,该文件可以读也可以写,则文件的打开方式是()。

A.“ab+”

B. “wb+”

C. “rb+”

D. “ab”

18、fseek()函数可以实现的操作是()。

A.改变文件位置指针的当前位置

B.文件的顺序读写

C.文件的随机读写

D.以上都不是19、若需要将文件指针fp指到文件的末尾,可调用__________函数;若需要将文件指针fp指向文件的开头,可调用__________函数。

20、EFO只可用于__________文件,用来作为__________标志。

大学C语言考试试题

C语言模拟试题 一、判断 1、关系运算符<= =与= =的优先级相同。(N ) 2、C语言的函数可以嵌套定义。(N ) 3、若有定义和语句:int a;char c;float f;scanf(“%d,%c,%f”,&a,&c,&f);若通过键盘输入:10,A,12.5, 则a=10,c=?A?,f=12.5.( Y ) 4、变量根据其作用域的范围可以分作局部变量和全局变量。( Y ) 5、#define和printf都不是C语句。( Y ) 6、Int I,*p=&I;是正确的C说明。( Y ) 7、结构体类型只有一种。( N ) 8、在Turbo C中,整形数据在内存中占2个字节。( N ) 9、一个include命令可以指定多个被包含的文件。( N ) 10、有如下说明:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是*(p+8).( Y ) 二、选择 2、C语言中,char类型数据占(A) A、1个字节 B、2个字节 C、4个字节 D、8个字节 3、已知x=43,ch=?A?,y=o;则表达式(x>=y&&ch1;i--) for(j=1;j

江苏大学大一c语言期末复习题汇总

选择题1.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.C._123_ D._ok 2.请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 3.不属于C语言关键字的是()。 A.int B.break C.while D.character 4.以下不能定义为用户标示符的是()。 A.scanf B.Void C._3com_ D.int 5.C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 6.以下说法中正确的是()。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行 D.C语言程序中的main( )函数必须放在程序的开始部分 7.以下选项中,合法的用户标识符是()。 A.long B._2abc C.3dmax D. 8.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示 的字符常量’\101’是()。 A.字符A B.字符a C.字符c D.非法的常量 9.以下选项中,正确的字符常量是()。 A.”F”B.’\\’’C.’W’D.’’ 10.下列变量定义中合法的是 A.short _a=; B.double b=1+; C.long do=0xfdaL; D.float 2_and=1-e-3; 11.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。 A.缩排位置相同的if B.在其之前未配对的if C.在其之前未配对的最近的if D.同一行上的if 12.下列运算符中优先级最高的是()。 A.< B.&& C.+ D.!= 13.判断char型变量s是否为小写字母的正确表达式是()。 A.’a’ <= s<=’z’B.(s>=’a’) & (s<=’z’) C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s)

C语言基础练习题(含答案)

C语言基础练习题(含答案)

第一章C语言基础知识 1.1 选择题 1. 以下不是C语言的特点的是()。 A、语言简洁紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件操作 D、C语言移植性好 2.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.no.1 C._123_ D.-_ok 3.正确的C语言标识符是()。 A._buy_2 B.2_buy C.?_buy D.buy? 4. 请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3C.For D.2a define _123 -abc DO WORD IF Case sizeof 5.下列符号中,不属于转义字符的是()。 A.\\ B.\0xAA C.\t D.\0 6.不属于C语言关键字的是()。 A.int B.break C.while D.character 7.是C语言提供的合法关键字的是()。 A.Float B.signed

B .一组机器语言指令 C .将C 源程序编译成目标程序 D .由制造厂家提供的一套应用软件 14.以下选项中,合法的用户标识符是( )。 A .long B ._2abc C .3dmax D .A.dat 15.以下选项中,合法的实型常数是( )。 A .5E2.0 B .E-3 C .2E0 D .1.3E 16.已知大写字母A 的ASCII 码值是65, 小写字母a 的ASCII 码是97,则用八进制表示的字符常量’\101’是( )。 A .字符A B .字符a C .字符c D .非法的 常量 17.以下选项中, 合法转义字符的选项是( )。 A .’\\’ B .’\018’ C .’xab ’ D .’\abc ’ 18.以下选项中,正确的字符常量是( )。 A .”F ” B .’\\’’ C .’W ’ D .’’ 19.以下选项中可作为C 语言合法整数的是 A .10110 B B .0386 C .0Xffa D .x2a2 20.下列变量定义中合法的是 A .short _a=1-.le-1; B .double b=1+5e2.5; C .long do=0xfdaL; D .float 2_and=1-e-3; 21.与数学式子1 29 x x n 对应的C 语言表达式是( )。 A .9*x^n/(2*x-1) B .9*x**n/(2*x-1) C .9*pow(x,n)*(1/(2*x-1)) D .9*pow(n,x)/(2*x-1) 22.若有代数式cd ab 3,则不正确的C 语言表达式是( )。

C语言期末考试题库(第一章 c语言基

一、单项选择 1.算术运算符,赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为(). A、关系运算,赋值运算,算术运算 B、算术运算,关系运算,赋值运算 C、算术运算,赋值运算,关系运算 D、关系运算,算术运算,赋值运算 答案:B 2.下述正确的C语言常量是:(). A、E2 B、3e-3 C、1.5E2.5 D、5.0E 答案:B 3.使用共用体变量,不可以(). A、进行动态管理 B、节省存储空间 C、同时访问所有成员 D、简化程序设计 答案:C 4.为表示关系x>=y>=z,应使用C语言表达式为:()

A、(x>=y)&(y>=z) B、(x>=y>=z) C、(x>=y)&&(y>=z) D、(x>=y)AND(y>=z) 答案:C 5.以下程序的输出结果是(). main() {char str[]="ABCD",*p=str;printf("%s\n",p);} A、68 B、ABCD C、不确定的值 D、字符D的地址 答案:B 6.char a[10];不能将字符串"abc"存储在数组中的是(). A、a="abc"; B、a[0]=0;strcat(a,"abc"); C、int i;for(i=0;i<3;i++)a[i]=i+97;a[i]=0; D、strcpy(a,"abc"); 答案:A 7.fscanf函数的正确调用形式是(). A、fscanf(文件指针,格式字符串,输入表列);

B、fscanf(格式字符串,文件指针,输出表列); C、fscanf(fp,格式字符串,输出表列); D、fscanf(格式字符串,输出表列,fp); 答案:A 8.下列数组说明中正确的是(). A、int array[][]={1,2,3,4,5,6,7,8,9,10}; B、int array[][][5]={1,2,3,4,5,6,7,8,9,10}; C、int array[][4]={1,2,3,4,5,6,7,8,9,10}; D、int array[3][]={1,2,3,4,5,6,7,8,9,10}; 答案:C 9.以下选项中,与k=n++完全等价的表达式是(). A、n=n+1,k=n B、k+=n+1 C、k=++n D、k=n,n=n+1 答案:D 10.针对下列程序段回答问题(). for(t=1;t<=100;t++) { scanf("%d",&x); if(x<0)continue;

大学C语言考试试题及答案

精选考试类文档,如果您需要使用本文档,请点击下载! 祝同学们考得一个好成绩,心想事成,万事如意! 大学C语言考试试题及答案 姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油! 一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’ ’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串

选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是( B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。 A)2.5 B)2 C)1 D)3 11.如果int a=3,b=4;则条件表达式"a

c语言期中考试试题及答案

《C语言程序设计》期中考试试卷 课程编号:03402513试卷类型:A卷考试形式:笔试考试日期: 注意事项:1.请将试卷最后一页的答题纸撕下,将答案填写在其中;2.交卷时请确认答题纸是否按要求写好姓名等信息并与试题一起上交;3.不准携带任何书籍、资料、纸张等。4.草稿纸用试卷的背面。 一、单项选择题(1空1分,共20分) 1、C语言程序的基本结构是(【1】) 。 【1】 A) 函数 B) 语句 C) 字符 D) 程序行 2、一个C程序的执行是(【2】) 。 【2】A) 从本程序的主函数开始,到本程序的主函数结束 B)从本程序的第一个函数开始,到本程序的最后一个函数结束 C) 从本程序的主函数开始,到本程序的最后一个函数结束 D)从本程序的第一个函数开始,到本程序的主函数结束 3、下列四个叙述中,错误的是(【3】) 。 【3】 A) 一个C源程序必须有且只能有一个主函数 B) 一个C源程序可以含一个或多个子函数 C) 在C源程序中注释说明必须位于语句之后 D) C源程序的基本结构是函数 4、下面不属于C语言保留字的是(【4】) 。 【4】 A) short B) ELSE C) extern D) for 5、下列四个叙述中,正确的是(【5】) 。 【5】 A) 库函数也是C语言本身的组成部分 B) C语言中的输入输出操作是由相应语句完成的 C) 库函数是C编译系统提供的功能函数 D) 标题文件(头文件)可以在程序的函数内部调用 6、下列四组数据类型中,C语言允许的一组是(【6】)。 【6】 A) 整型、实型、逻辑型 B) 整型、实型、字符型 C) 整型、双精度型、布尔型 D) 整型、实型、复型 7、在C语言中不同数据类型的的长度是(【7】)。 【7】 A) 固定的 B) 由用户自己定义的 C) 任意的 D) 与机器字长有关

浙江大学C语言总复习题--综合

综合练习 一、判断题 1.在Trubo_C中运行一个C程序时,实际上是运行后缀为.EXE的可执行文件。2.在C语言中整数可用十进制数、八进制数和二进制数三种数制表示。 3.在程序的运行过程中,整型常量的值是可以改变的。 4. C程序中,用/* 和 */界定的部分称之为注释,注释部分对程序的运行不起作用。5.大括弧 { } 只能用来括复合语句。 6. do_while语句构成的循环不能用其它循环语句来代替。 7.不能用scanf 函数输入字符。 8.在 C 程序中,函数的定义不可以嵌套,但函数的调用可以嵌套。 9. 一个变量的作用域取决于变量定义语句在程序中出现的位置。 10.C 语言的一个编译预处理命令用 # 开始,最后加分号。 11. C语言源程序文件经过编译、连接之后生成一个后缀为.EXE的文件。 12. C语言中以 %o开头的数是八进制整数。 13.在程序的运行过程中,符号常量的值是可以改变的。 14.在 C 程序中,APH 和 aph 代表不同的变量。 15.一个复合语句在语法上被认为是一条语句。 16. 只能用while语句构成循环。 17.不能用printf函数输出字符。 18. C程序中各函数之间既允许直接递归调用也允许间接递归调用。 19. 在函数外部定义的变量称为全局变量。 20.宏定义的命令行可以看作是一条C 语句。 21. C语言源程序是可以用来直接运行的程序。 22. C语言中以 %x 开头的数是十六进制整数。 23. C程序中定义的变量,代表内存中的一个存储单元。 24.在 C 程序中,9ab是非法的用户标识符。 25. C语句必须用一个分号作为结束。 26. do_while语句构成的循环不能用break语句退出。 27. scanf 函数是 c 语言的标准输入函数。 28. C程序的main函数不能有参数。 29. 在函数内部定义的变量称为局部变量。 30.用#include包含的头文件的后缀必须是.h。 31. C 语言程序的三种基本结构是顺序结构、选择结构和循环结构。 32.在C语言中整数只能表示为十进制数的形式。 33.在 C 程序中,无论多少大的整数还是实数,都能准确无误的表示。 34. Turbo-C 语言中,字符类型数据占1个字节。 35.空语句是合法的C语句。 36. while语句的循环体不能是复合语句。 37. printf 函数是 c 语言的标准输出函数。 38. C程序的main函数可以有参数,但参数不能是指针类型。 39.在 main函数中定义的变量称为全局变量。 40.#include 和 #define 不是 C 语句。 41. C 语言程序的三种基本结构是嵌套结构、选择结构和循环结构。 42. C语言中 018是合法的八进制整数。 43. C程序中所要用到的变量应该先定义,后使用。 44.十六进制数0x11的十进制数是17。 45.赋值语句是一种可执行语句。

C语言期末考试试题

C语言试题1 一填空题(15分) 1.设x的值为15,n的值为2,则表达式x%=(n+=3)运算后,x的值为()。 2.设int a=7,b=9,t;执行完表达式t=(a>b)?a:b后,t的值是()。 3.下面程序段的输出结果是()。 int a=1234; a=a&0377; printf(“%d %o\n”,a,a); 4.a数组定义如下,按照内存排列顺序,a数组中的所有元素是()。 char a[3]; 5.设有以下宏定义,则执行赋值语句a=PP*20;(a为int型变量)后,a的值是()。 #define PR 80 #define PP PR+403 6.在C程序中,可以通过三种运算方式为指针变量赋地址值,它们是:()、()和()。7.在C文件中,数据存在的两种代码形式是()和()。 8.C语言中调用()函数打开文件,调用()函数关闭文件,调用()函数可实现文件的随机读写。 9.若有int a[3]={10,12,30};则a+1是()的地址,*(a+2)=()。 二判断对错(5分,对的划“√”,错的划“×” 1.在Turbo C中,整型数据在内存中占2个字节。() 2.表达式1/4+2.75的值是3。() 3.结构体类型只有一种。() 4.函数若无返回值,则它一定无形参。() 5.C语言只能处理文本文件和二进制文件。() 三选择题(20分) 1.设int a=12; 表达式a+=a-=a*=a的值是()。 A 12 B 144 C 0 D 132 2.以下程序的输出结果是()。 main( ) { int a=011; printf(“%d\n”,++a); } A 12 B 11 C 10 D 9 3.以下程序的输出结果是()。 #define ADD(x) (x)+(x) main() { int a=4,b=6,c=7,d=ADD(a+b)*c; printf(“d=%d”,d); } A d=70 B d=140 C d=280 D d=80 4.下面的选项中正确的赋值语句是(char a[5],*p=a;)()。 A p=“abcd”; B a=“abcd”; C *p=“abcd”; D *a=“abcd”; 5.若k为整形,则while循环执行()次。 k=2; while(k==0) printf(“%d”,k); k--; printf(“\n”); A 10 B 9 C 0 D 1

大一C语言期末考试试题

6.以下程序的输出结果为(D)。 main( ) { char c; int i; for(i=65;i<68;i++) { c=i+32; switch(c) { case ‘a’:printf("%c,",c);break; case ‘b’:case ‘e’:printf("ok,"); default: printf("end"); } } } A a,ok,end B a,ok,endend C a,ok,end,end D a,ok,ok 9.以下程序的输出结果为(B)。 #define A 3 #define B(a) (A+1)*a main() { int x; x=3*A+B(7); printf("x=%d\n",x); } A x=93 B x=37 C x=60 D x=90 三写出下列程序的运行结果(10分,每小题2分) 1.main( ) { char c1=‘A’,c2=‘\144’,c3=‘\x44’,c=0xf5,x=13,a; int i=0122,j=0xa4; printf(“c1=%c,c4=%c\tc5=%c\n”,c1,c2,c3); printf(“%d,%d\n”,i,j); i=-34; j=20; printf(“%d,%d,%d\n”,i%j,i&j<<2,sizeof(j)); printf(“c=%d\n”,c|x); a=c^x<<2;

printf(“a=%d\n”,a); } 2.main() { int x,y=1,z=10; if(y!=0) x=5; printf(“x=%d\t”,x); x=1; if(z<0) if(y>0) x=3; else x=5; printf(“x=%d\n”,x); if(z=y<0) x=3; else if(y==0) x=5; else x=7; printf(“x=%d\t”,x); printf(“z=%d\n”,z); } 3.main( ) { char s[20]=“I like it.”,t[20]=“Are you?”,c[20]; int i=0; while(s[++i]!=‘\0’) t[i]=s[i]; t[i]=0; printf(“string s:%s\n”,s); printf(“string t:%s\n”,t); } 4.int i=5; main( ) { int i=3; { int i=10; i++; printf(“%d\n”,i);

C语言综合习题及答案

C语言练习题 一、选择题 1. 一个完整的C源程序是【B 】。 A)要由一个主函数或一个以上的非主函数构成 B)由一个且仅由一个主函数和零个以上的非主函数构成 C)要由一个主函数和一个以上的非主函数构成 D)由一个且只有一个主函数或多个非主函数构成 2. 以下关于函数的叙述中正确的是【C】。 A)C语言程序将从源程序中第一个函数开始执行 B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行 C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束 D)main可作为用户标识符,用以定义任意一个函数 3. 以下关于函数的叙述中不正确的是【B】。 A)C程序是函数的集合,包括标准库函数和用户自定义函数 B)在C语言程序中,被调用的函数必须在main函数中定义 C)在C语言程序中,函数的定义不能嵌套 D)在C语言程序中,函数的调用可以嵌套 4. 在一个C程序中,【B 】。 A)main函数必须出现在所有函数之前 B)main函数可以在任何地方出现 C)main函数必须出现在所有函数之后 D)main函数必须出现在固定位置 程序的执行是从【A 】开始的。 A)主函数 B)子函数 C)从程序第一行 D)printf()函数 6.以下选项中不合法的标识符是【C 】 A)print B)FOR C)&a D)_00 7.以下选项中可作为C语言合法常量的是【A】 A)-80 B)-080 C) D) 8.以下选项中不属于字符常量的是【B】 A)′C′ B)"C" C)′\xCC′ D) ′\072′ 9. 若在C语言中未说明函数的类型,则系统默认该函数的数据类型是【C】 A)float B)long C)int D)double 10. 以下关于函数叙述中,错误的是【D】。 A)函数未被调用时,系统将不为形参分配内存单元 B)实参与形参的个数应相等,且实参与形参的类型必须对应一致 C)当形参是变量时,实参可以是常量、变量或表达式 D)形参可以是常量、变量或表达式 11. C程序中各函数之间可以通过多种方式传递数据,下列不能用于实现数据传递的方式是

C语言期末考试题(含答案)

《C 语言程序设计》期末试卷 一、单项选择题(10x2’=20’) 1、以下叙述正确的是() A )C 语言的源程序不必通过编译就可以直接运行。 B ) C 语言中的每条可执行语句最终都将被转换成二进制的机器指令。 C )C 语言源程序经编译形成的二进制代码可以直接运行。 D )C 语言中的函数不可以单独进行编译。 2、一个C 语言的源程序中() A )必须有一个主函数 B )可能有多个主函数 C )必须有除主函数外其它函数 D )可以没有主函数 3、以下不能定义为用户标识符的是() A )scanf B )Void C )_3com D )int 4、若以下选项中的变量已正确定义,则正确的赋值语句是() A )x1=26.8%3; B )1+2=x2; C )x3=0x12; D )x4=1+2=3; 5、设有定义:floata=2,b=4,h=3;以下C 语言表达式中与代数式h b a *)(2 1 的计算结果不.相符的是() A )(a+b)*h/2 B )(1/2)*(a+b)*h C )(a+b)*h*1/2 D )h/2*(a+b) 6、C 语言中用于结构化程序设计的3种基本结构是() A )顺序结构、选择结构、循环结构 B )if 、switch 、break C )for 、while 、do-while D )if 、for 、continue 7.在while (!x )语句中的!x 与下面条件表达式等价的是() A)x!=0B)x==1C)x!=1D)x==0

8、有以下程序: #include voidmain(){ inti=1,j=1,k=2; if((j++||k++)&&i++) printf(“%d,%d,%d\n”,i,j,k);} 执行后的输出结果是() A)1,1,2 B)2,2,1 C)2,2,2 D)2,2,3 9、有以下程序: #include voidmain(){ inti,s=0; for(i=1;i<10;i+=2) s+=i+1; printf(“%d\n”,s);} 程序执行后的输出结果是() A)自然数1~9的累加和B)自然数1~10的累加和 C)自然数1~9中奇数之和D)自然数1~10中偶数之和 10、有以下函数定义: voidfun(intn,doublex){……} 若以下选项中的变量都已经正确定义并赋值,则对函数fun的正确调用语句是()A)fun(inty,doublem); B)k=fun(10,12.5); C)fun(x,n);D)voidfun(n,x); 二、填空题(10x2’=20’) 11、C语言描述“x和y都大于或等于z”的表达式是:。 12、函数定义时涉及的基本要素是:、、。

大学c语言考试题库含答案

================================================== 题号:1482 执行以下程序段后,输出结果和a的值是()。int a=10; printf("%d",a++); A、11 和10 B、11 和11 C、10 和11 D、10 和10 答案: C 题号:2100 已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是 A、65,66 B、A,B C、65,68 D、A,68 答案: A 题号:5055 相同结构体类型的变量之间,可以()。 A、比较大小 B、地址相同 C、赋值 D、相加 答案: C 题号:3217 int a[10];合法的数组元素的最小下标值为()。 A、1 B、0 C、10 D、9 答案: B

能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是 A、a>=0 | a<=10 B、a>=10 or a<=0 C、a>=10 && a<=0 D、a>=10 || a<=0 答案: D 题号:157 main() {int x=1,a=0,b=0; switch (x) { case 0: b++; case 1: a++; case 2: a++;b++;} printf("a=%d,b=%d",a,b); }该程序的输出结果是( ) A、2,2 B、2,1 C、1,1 D、1,0 答案: B 题号:4784 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的 数据类型为()。 A、不确定 B、double C、int D、float 答案: B 题号:1647 以下程序中,while循环的循环次数是______ main() { int i=0;

大学大一C语言程序设计期末考试试卷和答案

四川师范大学计算机科学学院 2012~2013学年度第二学期期末考试 C 语言程序设计试卷 试卷A 答卷说明: 1、 本试卷共6页,答题纸3页,4个大题,35个小题,满分100 分,120分钟完卷。 2、 闭卷考试,所有的答案都必须写在答题纸上,判卷以答题纸上 答案为准。 3、 本试卷适用于2011级1、2、3班。 一、 单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的 序号填在题干的括号内。每小题1分,共20分) 1、 在C 语言中,下列标识符中合法的是( ) A). -int B). in1_3 C). A_B!D D). const 2、 不属于C 语言基本数据类型的是( ) A). int B). union C). char D). unsigned 3、 下面是对宏定义的描述。不正确的是( ) A). 宏不存在类型问题,宏名无类型,它的参数也无类型 B). 宏替换不占用运行时间 C). 宏替换只是字符串的简单替代 D). 宏替换时先检查类型,类型一致时才可以替换 4、 C 语言中,″\\xfds ″在内存中占用的字节数是( ) __________________学院__________级___________班 姓名_______________ 学号_______________ ………………………………(密)………………………………(封)………………………………(线)……………………………… 密 封 线 内 答 题 无 效

A).3 B).4C).5D).6 5、设int x;则执行printf(″%x\n″,~x^x);的结果是() A). ffffffff B). ff C).0D). 1 6、对于while语句,错误的说法是() A).用条件控制循环体的执行次数B).循环体至少要执行一次 C).循环体有可能一次也不执行D).循环体中可以包含若干条语句 7、执行下列语句后输出的结果是() int a=8,b=7,c=6; if(ac){a=c;c=b;} printf("%d,%d,%d\n",a,b,c); A).6,7,7B).6,7,8C).8,7,6D).8,7,8 8、设int a=9,b=20;则printf(″%d,%d\n″,a--,--b);的输出结果是() A).9,19B).9,20C).10,19D).10,20 9、设static char x[ ]=″12345″,y[ ]={′1′,′2′,′3′,′4′,′5′,′\0′};那么() A).x数组的长度等于y数组的长度B).x数组的长度大于y数组的长度 C).x数组的长度少于y数组的长度D).x数组与y数组的存储区域相同 10、设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]); A).147B).159C).357D).369 11、执行完下列语句后,n的值是() int n; for (n=0 ; n<100 ; n=2*n+1); A).125B).126 C).127D).128 12、有以下语句:int a=6;a+=a-=a*a;printf(“%d”,a);输出结果() A).–132 B).–60 C). -24 D). 0 13、为了连接两个字符串s1与s2,应当使用() A). strcat( s1,s2 ) B). strcpy( s1, s2 ) C). strlen( s1, s2 ) D). strcmp( s1, s2 ) 14、设int a,*p;则语句p=&a;中的运算符“&”的含义是() A).位与运算B).逻辑与运算C).取指针内容D).取变量地址 15、下面输出的结果为() i nt a=13, b=64; printf(“%d\n”, !a || (b>>3) );

C语言综合练习

C语言单元练习题 第一单元数据类型、表达式及顺序结 构练习题 一、选择题: 1、不合法的C语言整型常量是 D 。 A. –012 B. 0x35 C. 123L D. 8E2 2、不合法的C语言实型常量是 B 。 A. E3 B. .123 C. –6.2E4 D. 5.0 3、不合法的C字符常量是。 A. ′2′ B. ′\101′ C. ′AB′ D. ′ \n′ 4、下列四组选项中,均是不合法的用户标识符 的选项是。 A. W P_0 do B. b-a goto int C. float la0 _A D. -123 abc TEMP 5、定义三个变量a、b、c,并分别赋初值为5。能实现该功能的语句是。 A. int a=b=c=5; B. int a,b,c=5; C. int a=5,b=5,c=5; D. int a=5;b=5;c=5; 6、设有说明:char w;int x; float y;double z;则表达式w*x+z-y值的数据类型为。 A. float B. char C. int D. double 7、以下选项中不能用作C程序合法常量的是()。 A. 1.234 B. '123' C.123 D."\x7G" 8、以下选项中可用作C程序合法实数的是() A. .1e0 B.3.0e0.2 C.E9 D.9.12E 9、下列标识符中,不合法的用户标识符为()。 A. Pad B. CHAR C. a_10 D. a≠b 10、以下选项中能表示合法常量的是()。 A.整数:1,200 B.实数:1.5E2.0 C.字 符斜杠:‘\’ D.字符串:"\007" 11、以下选项中,能用作数据常量的是()。 A.o115 B. 0118 C.1.5e1.5 D. 115L 12、若a是数值类型,则逻辑表达式 (a==1)||(a!=1)的值是()。 A.1 B.0 C.2 D.3 13、若有定义语句:int x=10;,则表达式x-=x+x 的值为() A.-20 B.-10 C.0 D.10 14、表达式:(int)((double)9/2)-(9)%2的值是()。 A.0 B.3 C.4 D.5 15.int x=5, y=14;则表达式x+7/y+0.6 值为()。 A.7.1 B.5.6 C.6.6 D.6.1 16、有以下程序执行后的输出结果是()。main( ) { int i,s=0; for(i=1;i<10;i+=2) s+=i+1; printf("%d\n",s);} A.自然数1~9的累加和 B.自然数1~10的累加和 C.自然数1~9中的奇数之和 D.自然数1~10中的偶数之和 17、C语言中运算对象必需是整型的运算符是()。A./ B. % C.* D.+ 18、表达式3.6-5/2+1.2+5%2的值是()。A.4.3 B. 4.8 C. 3.3 D.3.8 19、能正确表示逻辑关系:"a≥8或a≤5" 的C 语言表达式是()。 A.a>=8 or a<=5 B.a>=5 | a<=8 C.a>=8 && a<=5 D.a>=8 || a<=5 20、C语言中,数字029 是一个()。 A.不合法数字 B.十进制数 C.八进制数 D.十六进制数 21、设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是()。 A.k++ B.k+=1 C.++k D.k+1 22、以下选项中,合法的C语言数值常量是()。 A.028 B.'\12A' C.'\177’ D. N 23、C语言中运算符优先级最低的是()。 A.++ B. = C.- D.&& 24、有以下程序运行时,输入的值在哪个范围才会有输出结果()。 main(){ int x; scanf("%d",&x); if(x<=3) ; else if(x!=10) printf("%d\n",x); } A.不等于10的整数 B.大于3且不等于10的整数 C.大于3或等于10的整数 D.小于3的整数 25.以下选项中可用作C程序合法实数的是( ) A.1e0 B3.0e0.2 C.E9 D..12E 26.若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是( ) A.a=(b=4)=3; B.a=b=c+1; C.a=(b=4)+c; D.a=1+(b=c=4); 二、填空题:

2019年C语言期末考试题与答案

1、给定n个数据, 求最小值出现的位置(如果最小值出现多次,求出第一次出现的位置即可)。 最大值第三行i<=n五行k+1 2、编写程序求无理数e的值并输出。计算公式为: e=1+1/1!+1/2!+1/3!+......+1/n! 当1/n!<0.000001时e=2.718282。 3、求一批数中最大值和最小值的积。 4、某一正数的值保留2位小数,对第三位进行四舍 五入。 5、从键盘上输入任意实数x,求出其所对应的函数值。 z=(x-4)的二次幂(x>4) z=x的八次幂(x>-4) z=z=4/(x*(x+1))(x>-10) z=|x|+20(其他)6、求出N×M整型数组的最大元素及其所在的行坐标 及列坐标(如果最大元素不唯一,选择位置在最前面 的一个)。 例如:输入的数组为: 1 2 3 4 1 5 6 12 18 9 10 11 2 求出的最大数为18,行坐标为2,列坐标为1。 7、求一个n位自然数的各位数字的积。(n 是小于10的自然数) 8、计算n门课程的平均值,计算结果作为函数值返回。例如:若有5门课程的成绩是:92,76,69,58,88,则函数的值为76.599998。 9、求一批数中小于平均值的数的个数。

10、编写函数判断一个整数m 的各位数字之和能否被7整除, 可以被7整除则返回1,否则返回0。调用该函数找出 100~200之间满足条件的所有数。 11、请编一个函数void fun(int tt[M][N],int pp[N]), tt 指向一个M 行N 列的二维数组,求出二维数组每列 中最大元素,并依次放入pp 所指一维数组中。二维 数组中的数已在主函数中赋予。 12、编写函数fun 用比较法对主程序中用户输入的具有10 个数据的数组a 按由大到小排序,并在主程序中输出 排序结果。 13、编写main 程序调用函数fact 求解从m 个元素选n 个元 素的组合数的个数。计算公式是:组合数=m!/(n!.(m-n)!)。 要求:m 不能小于n ,否则应有容错处理。 说明:函数fact(x)的功能是求x!。 14、找出一批正整数中的最大的偶数。 15、实现两个整数的交换。 例如:给a 和b 分别输入:60和65,输入为: a=65 b=60 16、将字符串中的小写字母转换为对应的大写字母, 其它字符不变。 17、求一个四位数的各位数字的立方和。 18、求一组数中大于平均值的数的个数。 例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函 数值为3。 19、对任意输入的 x ,用下式计算并输出 y 的值。 5 x<10 y= 0 x=10 -5 x>10

大一c语言期末考试题

大一c语言期末考试题 C语言期末考试试题附答案 一选择题(7分,每小题0.5分) 1.C语言源程序的基本单位是()。 A 过程 B 函数 C 子程序 D 标识符 2.下列程序的输出结果是()。 main( ) { int a=7,b=5; printf("%d\n",b=b/a); } A 5 B 1 C 0 D不确定值 3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。 A 7 B 8 C 9 D 2 4.设a为int型变量,执行下列赋值语句后,a的取值分别是()。 a=125.534; a=(int)125.521%4; a=5<<2; A 125,31,1 B 125,1,20 C 125,31,20 D 125.534,2,20 5.设有如下程序段,下面描述中正确的是()。 int k=10; while(k=0) k=k-1; A 循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次 6.以下程序的输出结果为()。 int i; void prt( ) { for(i=5;i<8;i++) printf("%c",'*'); printf("\t"); } main( ) { for(i=5;i<=8;i++) prt( ); } A *** B *** *** *** *** C *** *** D * * * 7.在C语言程序中,以下说法正确的是()。 A函数的定义可以嵌套,但函数的调用不可以嵌套 B函数的定义不可以嵌套,但函数的调用可以嵌套 C函数的定义和函数的调用都不可以嵌套 D函数的定义和函数的调用都可以嵌套 8.以下函数调用语句中含有()个实参。 func((e1,e2),(e3,e4,e5)); A 2 B 3 C 5 D 语法错误 9.以下程序的输出结果为()。 #define ADD(x) x*x main( ) { int a=4,b=6,c=7,d=ADD(a+b)*c;

c语言综合练习题及问题详解

模拟试题一 一、选择题(本大题30分,每小题2分) 1.下列说确的是。 A)main函数必须放在C程序的开头 B)main函数必须放在C程序的最后 C)main函数可以放在C程序的中间部分,但在执行C程序时是从程序开头执行的 D)main函数可以放在C程序的中间部分,但在执行C程序时是从main函数开始的 2.在下面几组数据类型中, 全为最常用的基本数据类型的是哪一组:。 A)整型实型字符型 B)整型数组指针 C)数组结构体共用体 D)指针逻辑型空类型 3.若有说明语句:char c= ‘\64’ ; 则变量C包含:。 A)1个字符 B)2个字符 C)3个字符 D)说明不合法,C值不确定 4.设有如下定义和执行语句,其输出结果为:。 int a=3,b=3; a = -- b + 1; printf(“%d %d”,a,b); A)3 2 B)4 2 C)2 2 D)2 3 5.C语言中,运算对象必须是整型数的运算符是。 A)% B)\ C)% 和 \ D)** 6.能正确表示x的取值围在[0,100]和[-10,-5]的表达式是。 A)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100) B)(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100) C)(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100) D)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100) 7.程序段如下 int k=0; while(k++<=2); printf("last=%d\n",k); 则执行结果是last= 。 A)2 B)3 C)4 D)无结果 8.下面有关for循环的正确描述是。 A)for循环只能用于循环次数已经确定的情况 B)for循环是先执行循环体语句,后判断表达式 C)在for循环中,不能用break语句跳出循环体 D)for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 9.若二维数组a有m列,则a[I][j]元素前的数组元素个数为:。

相关文档