C程序练习题.docx

上传人:b****6 文档编号:4776378 上传时间:2022-12-08 格式:DOCX 页数:8 大小:17.79KB
下载 相关 举报
C程序练习题.docx_第1页
第1页 / 共8页
C程序练习题.docx_第2页
第2页 / 共8页
C程序练习题.docx_第3页
第3页 / 共8页
C程序练习题.docx_第4页
第4页 / 共8页
C程序练习题.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

C程序练习题.docx

《C程序练习题.docx》由会员分享,可在线阅读,更多相关《C程序练习题.docx(8页珍藏版)》请在冰豆网上搜索。

C程序练习题.docx

C程序练习题

C程序练习题

一、选择题

1.下列合法的标识符是

(1)。

(A)B.C.Tom(B)3a6b(C)_6a7h(D)$abc

2.以下程序的输出结果是

(2)。

main()

{inti=0,j=0,k=6;

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

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

(A)0,0,6(B)1,0,7(C)1,1,7(D)0,1,7

3.下列不正确的转义字符是(3)。

(A)‘\\’(B)‘\’’(C)‘074’(D)‘\0’

4.在C语言中,合法的字符常量是(4)。

(A)‘\086’(B)‘\x6a’(C)‘ab’(D)“\0”

5.已知字母A的ASCII码为65,以下程序段的输出结果是( 5 )。

Charc1=‘A’,c2=‘Y’;

Printf(“%d,%d”,c1,c2);

(A)65,90(B)A,Y(C)65,89(D)输出格式不合法

6.设有如下定义:

intx=10,y=3;

则语句 printf(“%d\n”,(x%y,x/y));的输出结果是( 6 )。

  (A)1(B)0(C)4(D)3

7.以下语句的输出结果是(7)。

inti=3,j=2,a;

printf(“%d”,(--i==j++)?

--i:

++j);

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

8.设a,b,c均为整型,且b=c=5,执行以下语句后,a的值为(8)。

a=2+(c+=b++,c+8,++c);

(A)13(B)14(C)20(D)21

9.若有定义:

inti=7;floatx=1.5,y=5.7;则表达式x+i%3*(int)(x+y)%4/2的值是(9)。

(A)2.500000(B)3.000000(C)3.500000(D)0.000000

10.设有语句inta=3;则执行了语句a+=a-=a*a;后,变量a的值是(10)。

A)3B)0C)9D)-12

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

#include

main()

{inta=2,c=5;

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

A)a=%2,b=%5B)a=2,b=5C)a=%%d,b=%%dD)a=%d,b=%d

12.请选出合法的C语言赋值语句(12)

A)a=b=58B)i++;C)a=58,b=58D)k=int(a+b);

13.请选出以下语句的输出结果(13)

printf("%d\n",strlen("\t\"\065\xff\n"));

A)5B)14C)8D)输出项不合法,无正常输出

14.设a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a>b)&&(n=c>b)

后n的值为(14)

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

15、C语言规定:

在一个源程序中,main函数的位置(15)。

(A)必须在最开始(B)必须在系统调用的库函数的后面

(C)可以任意(D)必须在最后

16.若有以下程序片段:

charstr[]="ab\n\082\\\"";

printf(“%d”,strlen(str));上面程序片段的输出结果是(16)

A)3B)4C)6D)12

17.若有说明:

inta[10];则对a数组的数组元素的正确引用是(17)。

(A)a[10](B)a[4.5](C)a(6)(D)a[0]

18.设a=1,b=2,c=3,d=4,则表达式:

a>b?

a:

c

a:

d的结果为(18)

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

19.标有/**/的语句的执行次数是(19)

inty,i;

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

{if(i%2==0)continue;

y+=i;/**/

}

A)20B)19C)10D)9

20.下列数组说明中正确的是(20)

A)intarray[][4]B)intarray[]C)intarray[3][]D)intarray[3][4]

二、填空题

1、对于C的源程序(*.c)要经过

(1)步骤生成目标程序(*.obj)。

2、在C语言中,一个函数由

(2)和(3)构成。

3.字符串“as\n\\\r”在内存中占的字节数为(4),此字符串的长度为(5)。

4、下面程序段中,输出结果为(6)。

inta[5]={1,2,3,4,5},*p=&a[2];

printf(“%d”,*p++);

5、为表示关系x≥y≥z,应使用C语言表达式(7)。

6、C语言规定字符串的结束标志是(8)。

7、若用数组名作为函数调用的实参,传递给形参的是(9)

8、下面程序段中的循环执行次数为(10)。

intx=10;

while(x)x=x/2;

三、判断题

1.一个C程序总是从main函数开始执行的。

2.变量在使用前无需定义。

3.在C语言中,函数的调用可以嵌套。

4."a"是字符常量。

5.在C语言中,运算符%的两侧必须都是整数。

6.若定义数组inta[5];,则数组a包含5个元素,分别是a[1],a[2],a[3],a[4],a[5]。

7.下面语句行能正确对二维数组a进行初始化。

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

8.函数的形参属于全局变量。

9.指针变量必须先赋值后使用。

10.判断两整型变量x和y是否相等的关系表达式为:

x=y

四、程序填空题

1以下程序计算数的阶乘

main()

{inti,n;longnp;

scanf(“%d”,&n);

np=1答案:

(1)i=n;

for(;2;)

(2)--i

np*=i;

printf(“n=%dn!

=%ld\n”,n,np);}

2.计算1—100整数累加和。

main()

{inti,sum=3答案:

(1)0;

i=1;

(2);i<=100;

for(4)

{sum+=i;i++;}

}

3.从输入的10个字符串中找出最长的那个串。

#include

#defineN10

main()

{charstr[N][81],*sp;

inti;

for(i=0;i

sp=str[0];答案:

(1)str[i]

for(i=1;i

(2)strcpy(sp,str[i]);

if(strlen(sp)

printf(“thelargeststringis:

%s\n”,7);

printf(“thelengthis:

%d\n”,strlen(sp));

}

4.输入一行字符,分别统计其中英文字母和数字的个数

#include

main()

{charc;

intletter=0,digit=0;

printf("请输入字符串:

\n");

while((c=getchar())!

=8)

{if(c>='a'&&c<='z'||9)

letter++;

elseif(c>='0'&&10)

digit++;

}

}

五、阅读程序写结果

1.

main()答案:

1

2

{inti,*p;3

b[6]={1,2,3,4,5,6};4

p=&b[0];5

for(i=1;i<=5;i++)

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

}

2.

main()

{inti,j,a[10];

a[0]=1;

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

for(j=i;j<5;j++)答案:

46810

a[j]=a[i]+1;

for(i=1;i<5;i++)

printf(“%4d”,a[i]);

}

3.main()

{inti=5;

do

{

if(i%2)

{i--;

continue;

i--;

}

else{i--;

break;

}

}

答案:

3

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

}while(i>0);

printf(“%d”,i);

}

4.main()

{intn=0;

while(n=0)n++;

printf(“%d”,n);

}答案:

0

 

5.#include

main()

{char*p="abcde";

inti;

for(i=1;i<4;i++)

putchar(p[i]);

}答案:

bcd

六、编写程序

1.不用字符串拷贝函数,把字符串“china”,逆序拷贝到另一数组当中并输出,用函数实现。

2.已知一矩阵,找出每一行中最大元素并求和。

61930

4376

18829

习题1//23

#include

voidmain()

{

intm,t=0;

for(m=10;m<15;m++)

{

switch(m%5)

{

default:

t++;

case0:

t++;continue;

case1:

t++;break;

case2:

t++;

}

printf("%d",t);

}

}

习题2//1357

#include

voidmain()

{

intm,t=0;

for(m=10;m<15;m++)

{

switch(m%5)

{

default:

t++;

case0:

t++;break;

case1:

t++;continue;

case2:

t++;

}

printf("%d",t);

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 高考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1