C语言练习题.docx

上传人:b****2 文档编号:1624355 上传时间:2022-10-23 格式:DOCX 页数:77 大小:65.44KB
下载 相关 举报
C语言练习题.docx_第1页
第1页 / 共77页
C语言练习题.docx_第2页
第2页 / 共77页
C语言练习题.docx_第3页
第3页 / 共77页
C语言练习题.docx_第4页
第4页 / 共77页
C语言练习题.docx_第5页
第5页 / 共77页
点击查看更多>>
下载资源
资源描述

C语言练习题.docx

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

C语言练习题.docx

C语言练习题

C语言练习题

1.单项选择题

1、与十六进制数cc等值的十进制数是    b    

a)187    b)204     c)185     d)186

2、下列代表图形′▇′是     d     

a)′\074′   b)′\365′    c)′074′   d)′\376′

3、若有以下定义:

chara;intb;floatc;则表达式a*b-c值的类型为 d  

a)float    b)int    c)char    d)double

4、表示关系x>=y>z的c语言表达式为     a    

a)(x>=y)&&(y>z) b)(x<=y)||(y<=z) c)(x<=y<=z) d)(x<=y)&(y<=z)

5、设x为int型变量,则执行以下语句x=10;x*=x/=x-9; x的值为  b  

a)10     b)100     c)40     d)30

6、下列运算符中运算优先级最高的是b

a)*b)!

c)&&d)>=

7、设x,y,z,t均为int型变量,则执行以下语句:

x=y=z=0;t=x&&++y||++z;后,t的值为b

a)不定值    b)1    c)2      d)0

8、设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值:

scanf("%d,%f",&i,&f);为了把100和765.12分别赋给i和f,则正确的输入为    a      

a)100,765.12  b)i=100,f=765.12  c)100765.12 d)x=100y=765.12

9、C语言中运算对象必须是整型的运算符是     d    

a)/b)=c)>=d)%=

10)给出以下定义:

charx[]="abcdefg";则正确的叙述为  b      

a)数组x长度为7      b)数组x的长度为8

c)数组x的长度为9  d)数组x的长度为6

1.以下符合C语言语法的实型常量是b。

A)E3B)3.14159E10C)3E1.0D)E15

2.以下不正确的C语言变量名是a。

A)caseB)CaseC)IfD)_x

3.以下优先级最高的运算符是d。

A)||B)&&C)?

D)++

4.以下叙述正确的是c。

A)可以在一个函数中定义另一个函数

B)不可以在一个函数中调用另一个函数

C)函数是构成c程序的基本单位

D)所有被调用的函数必须在被调用前定义

5.在结构化程序设计方法中,三种基本结构是c。

A)if语句、switch语句、for语句B)条件结构、多条件结构、循环结构

C)顺序结构、选择结构、循环结构D)if语句、for语句、while语句

6.定义N为一个符号常量,下列正确的是a

A)#defineN100B)defineN100

C)#includeN100D)includeN100

7.以下对一维数组b的正确声明方式是_b_。

A)intb(20);B)#defineK20inta[K];

C)intn;scanf(“%d”,&n);intb[n];D)intn=20,b[n];

8.在执行inta[][3]={1,2,3,4,5};语句后,a[2][0]的值是d。

A)1B)4C)0D)超过数组范围

9.已知大写字母A的ASCII码值是65,小写字母的ASCII码值是97,则用字符常量

‘148’是c。

A)字符gB)非法常量

C)字符hD)字符i

10.以下非法的赋值语句是a。

A)inta[10];a++;B)int*p;p++;C)x=j>0;D)n=(i=2,i++);

11.已有定义:

intx=3,y=4,z=5;,则表达!

(x+y)+z-1&&y+z/2的值是b。

A)6B)1C)0D)2

12.以下选项中,与k=n++完全等价的是b。

A)n=n+1,k=nB)k=n,n+=1C)k=++nD)k+=n+1

13.有以下程序段:

intn=0,p;

do(scanf("d",&p);n++;)while(p!

=12345&&n<3);

此处do-while循环的结束条件是c。

A)p的值不等于12345并且n的值大于等于3

B)p的值不等于12345并且n的值小于3

C)p的值等于12345或n的值大于等于3

D)p的值等于12345并且n的值小于3

14.若有说明intn=2,*p=&n,*q=p;,则以下非法的赋值语句是b。

A)p=qB)p=nC)*p=*qD)n=*q

15.有字符数组c[100],d[100],则正确的输出语句是c

A)puts(c,d);B)scanf(“%s%s”,&c,&d);

C)printf(“%s%s”,c,d);D)gets(“c”),gets(“d”);

16.若二维数组a有n列,则在a[i-1][j]之前的元素个数为_b__。

A)j*n+iB)(i-1)*n+jC)(i-1)*n+j-1D)(i-1)*n+j+1

17.以下字符数组初始化不正确的是d。

A)charc[]={"chi"}; B)charc[]="chi";

C)charc[3]={‘c’,‘h’,‘i’}; D)charc[3]={"chi"};

18.#include

voidsort(int*a,intn)

{inti,j,t;

for(i=0;i

for(j=i+1;j

if(a[i]

{t=a[i];a[i]=a[j];a[j]=t;}

}

voidmain()

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

sort(&aa[3],5);

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

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

printf("\n");

}

程序运行后的输出结果是 c。

A)1,2,3,4,5,6,7,8,9,10,

B)10,9,8,7,6,5,4,3,2,1,

C)1,2,3,8,7,6,5,4,9,10,

D)1,2,3,10,9,8,7,6,5,4,

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

#include

voidmain()

{chars[]={'a','b','\0','c','\0'};

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

}

备注:

sizeof计数,strlen碰到第一个字符串结束符'\0'为止

A)5,2B)6,2C)5,4D)5,3

20.下面不正确的语句是。

c语句中对嵌套if语句的规定是:

else总是与__b_配对。

A)缩进位置相同的ifB)其前面最近且尚未配对的在同一复合语句中的if

C)其之前最近的ifD)第一个if

1.在C语言中,组成程序的一个基本单位是【a】。

A)函数B)变量C)指针D)数组

2.以下说法正确的是【c】。

A)C语言程序总是从第一个定义的函数开始执行

B)在C语言程序中,要调用的函数必须在main()函数中定义

C)C语言程序总是从main()函数开始执行

D)C语言程序中的main()函数必须放在程序的开始部分

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

main()

{

inta=12,b=12;

printf(“%d%d\n”,--a,++b);

}

A)1010B)1212C)1110D)1113

4.以下程序的输出结果是【d】。

main()

{

inta=2,b=5;

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

}

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

5.C语言对嵌套if语句的规定是:

else总是与【d】配对。

A)最近的ifB)第一个ifC)缩进位置相同的if

D)其前面最近的尚未配对的if

6.合法的数组定义是【b】。

A)chara={‘H’‘e’‘l’‘l’‘o’};B)chara[5]={‘H’‘e’‘l’‘l’‘o’};

C)chara[5]={“Hello”};D)chara[5]=“Hello”;

7.以下不能对二维数组a进行正确的初始化的语句是【c】。

A)inta[2][3]={0};B)inta[2][3]={{1,2},{0}};

C)inta[2][3]={{1,2},{3,4},{5,6}}D)inta[2][3]={1,2,3,4,5,6};

8.决定C语言中函数返回值类型的是【d】。

A)return语句中表达式的类型

B)调用该函数的主调函数的类型

C)调用函数临时指定的类型

D)定义函数时在函数首部所指定的类型

9.以下程序运行结束后,输出结果是【d】。

main()

{

char*s=“abcde”;

s+=2;

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

}

A)cdeB)字符c的ASCII码值C)字符c的地址D)出错

10.若有下列的定义语句,则输出结果是【d】。

int**pp,*p,a=100,b=200;

pp=&p;

p=&b;

printf(“a=%d,b=%d\n”,*p,**pp);

A)100200B)100100C)200100D)200200

11.若有以下定义语句,则sizeof(a)和sizeof(b)的值分别是【】。

Struct

{intday;charmouth;intyear;}a,*b;

b=&a;

A)52B)25C)65D)56

12.设有如下定义

Structsk

{inta;floatb;}data,*p;

若有p=&data,则对data中a域的正确引用的是【B】。

备注:

有三种表示方法:

(*p).ap->adata.a

A)(*p).data.aB)(*p).aC)p->data.aD)p.data.a

13.执行下列程序后的输出结果是【c】。

#include“stdio.h”

main()

{

inti,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&[1][1];

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

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

}

A)52B)51C)53D)97

14.已知int*p(),这里的p是【c】。

A)指向int型的指针变量B)int类型的指针数组

C)一个函数,该函数的返回值是指向i

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

当前位置:首页 > IT计算机 > 互联网

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

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