C语言题库20150626(1) 下载本文

amovep(int *p,int (*a)[3],int n) { int i,j;

for(i=0;i

for(j=0;j

main()

{ int *p,a[3][3]={{1,3,5},{2,4,6}}; p=(int*)malloc(100); amovep(p,a,3);

printf(\}

A:56 B:25 C:34

D:程序错误 答案:A

知识点:知识点/选择题/C9结构体与共用体/【 186、以下程序的输出结果是______。 union myun { struct

{ int x,y,z;}u; int k; }a; main()

{ a.u.x=4;a.u.y=5;a.u.z=6; a.k=0;

printf(\}

A:4 B:5 C:6 D:0 答案:D

知识点:知识点/选择题/C9结构体与共用体/共用体T 188、以下选项中不属于C语言类型的是______。 A:signed short int B:unsigned char C:singed long D:long short 答案:D 知识点:知识点/选择题/C2基本数据类型及表达式/基本数据类型T

189、若有说明语言:int a,b,c,*d=&c;则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是______。 A:scanf(\

B:scanf(\ C:scanf(\ D:scanf(\答案:A

知识点:知识点/选择题/C8指针/指针变量与输入函数T 198、以下程序段的输出结果是:______。 char s[]=\printf(\ A:8 B:10 C:14 D:15 答案:B

知识点:知识点/选择题/C7数组/字符串含转义字符T 202、以下不能正确进行字符串赋初值的语句为______。 A:char str[5]=\ B:char str[]=\ C:char str[6]=\

D:char str[5]={'g','o','o','d'}; 答案:A

知识点:知识点/选择题/C7数组/字符数组初始化T 203、以下程序的输出结果是______。 main()

{ int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1; for(i=0;i<3;i++)

for(j=i;j<=i;j++) t=t+b[i][j]; printf(\}

A:3 B:4 C:1 D:9 答案:B

知识点:知识点/选择题/C7数组/二维数组与双重循环T 204、以下程序的输出结果是______。 #inclue #inclue main()

{ char b1[8]=\strcpy(b2,b1+3);

printf(\}

A:7 B:6 C:5

D:4 答案:D

知识点:知识点/选择题/C7数组/字符串处理函数T 210、以下非法的赋值语句是______。 A:n=(i=2,++i); B:j++;

C:++(i+1); D:x=j>0; 答案:C 知识点:知识点/选择题/C2基本数据类型及表达式/表达式及语句合法性判断T

211、设a和b均为double型常量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是______。 A:6.500000 B:6

C:5.500000 D:6.000000 答案:D 知识点:知识点/选择题/C2基本数据类型及表达式/简单表达式运算T

212、已知i、j、k为int型变量,若从键盘输入:1,2,3↙,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是______。

A:scanf(\ B:scanf(\ C:scanf(\

D:scanf(\答案:C

知识点:知识点/选择题/C3顺序结构程序设计/输入函数T 213、与数学式子3乘以x的n次方/(2x-1)对应的C语言表达式是______。

A:3*x^n/(2*x-1) B:3*x**n/(2*x-1)

C:3*pow(x,n)*(1/(2*x-1)) D:3*pow(n,x)/(2*x-1) 答案:C

知识点:知识点/选择题/C2基本数据类型及表达式/【 216、有一函数 ┌ 1 x>0

y = ┤ 0 x=0 └ -1 x<0

以下程序段中不能根据x的值正确计算出y的值的是______。

A:if(x>0) y=1;else if(x==0) y=0;else y=-1; B:y=0;if(x>0) y=1;else if(x<0) y=-1;

C:y=0;if(x>=0)if(x>0) y=1;else y=-1;

D:if(x>=0) if(x>0) y=1;else y=0;else y=-1; 答案:C 知识点:知识点/选择题/C4选择结构程序设计/IF语句的嵌套T

218、有以下程序段 int n=0,p;

do {scanf(\此处do-while循环的结束条件是______。 A:p的值不等于12345并且n的值小于3 B:p的值等于12345并且n的值大于等于3 C:p的值不等于12345或者n的值小于3 D:p的值等于12345或者n的值大于等于3 答案:D

知识点:知识点/选择题/C5循环结构程序设计/DO-WHILE循环T

223、有以下程序 int f(int n)

{if (n==1) return 1; else return f(n-1)+1; }

main()

{int i,j=0;

for(i=1;i<3;i++) j+=f(i); printf(\}

程序运行后的输出结果是______。 A:4 B:3 C:2 D:1 答案:B 知识点:知识点/选择题/C6函数与编译预处理/函数的递归调用T

224、有以下程序 main()

{char a[]={'a','b','c','d','e','f','g','h','\\0'}; int i,j;

i=sizeof(a); j=strlen(a); printf(\}

程序运行后的输出结果是______。 A:9,9 B:8,9 C:1,8

D:9,8 答案:D 知识点:知识点/选择题/C7数组/字符数组内存分配及串长度T

226、有以下程序 #include main()

{char p[]=\printf(\}

程序运行后的输出结果是______。 A:12 B:15 C:6 D:5 答案:D 知识点:知识点/选择题/C7数组/字符数组内存分配及串长度T

229、以下程序中函数f的功能是将n个字符串,按由大到小的顺序进行排序。 #include

void f(char p[][10],int n) { char t[20]; int i,j; for(i=0;i

{ strcpy(t,p[i]);strcpy(p[i],p[j]);strcpy(p[j],t);} }

main() {char

p[][10]={\f(p,5); printf(\}

程序运行后的输出结果是______。 A:6 B:4 C:5 D:3 答案:C

知识点:知识点/选择题/C7数组/【 236、有以下程序段

int m=0,n=0; char c='a'; scanf(\printf(\

若从键盘上输入:10A10↙,则输出结果是______。 A:10,A,10 B:10,a,10 C:10,a,0 D:10,A,0 答案:A

知识点:知识点/选择题/C3顺序结构程序设计/输入函数T 239、有以下程序 main()

{ int a=5,b=4,c=3,d=2; if(a>b>c)

printf(\else if((c-1>=d)==1) printf(\else

printf(\}

执行后输出的结果是______。 A:2 B:3 C:4

D:编译时有错,无结果 答案:B 知识点:知识点/选择题/C4选择结构程序设计/IF语句的嵌套T

240、有以下程序 main()

{ int p[7]={11,13,14,15,16,17,18},i=0,k=0; while(i<7&&p[i]%2){k=k+p[i]; i++;} printf(\}

执行后输出的结果是______。 A:58 B:56 C:45 D:24 答案:D

知识点:知识点/选择题/C7数组/一维数组应用T 242、有以下程序

int f1(int x,int y)

{ return x>y?x:y; } int f2(int x,int y)

{ return x>y?y:x; } main()

{int a=4,b=3,c=5,d,e,f;

d=f1(a,b); d=f1(d,c); e=f2(a,b); e=f2(e,c); f=a+b+c-d-e;

printf(\}

执行后输出的结果是______。 A:3,4,5 B:5,3,4 C:5,4,3 D:3,5,4 答案:C 知识点:知识点/选择题/C6函数与编译预处理/函数的定义与调用T

245、有以下程序 main()

{ int m[][3]={1,4,7,2,5,8,3,6,9}; int i,j,k=2; for(i=0;i<3;i++)

{ printf(\}

执行后输出结果是______。 A:4 5 6 B:2 5 8 C:3 6 9 D:7 8 9 答案:C

知识点:知识点/选择题/C7数组/二维数组与双重循环T 246、有以下程序 main()

{ char s[]=\

printf(\}

执行后输出结果是______。 A:赋初值的字符串有错 B:6,7 C:5,6 D:6,6 答案:C 知识点:知识点/选择题/C7数组/字符数组内存分配及串长度T

248、设有如下说明 typedef struct

{ int n; char c; double x;}STD; 则以下选项中 ,能正确定义结构体数组并赋初值的语句是______。

A:STD tt[2]={{1,'A',62},{2,'B',75}}; B:STD tt[2]={1,\ C:struct tt[2]={{1,'A'},{2,'B'}};

D:struct tt[2]={{1,\答案:A 知识点:知识点/选择题/C9结构体与共用体/结构体数组定义与初始化T 249、有以下程序 main()

{ union{ unsigned int n; unsigned char c; }ul;

ul.c='A';

printf(\}

执行后输出结果是______。 A:产生语法错 B:随机值 C:A D:65 答案:C

知识点:知识点/选择题/C9结构体与共用体/共用体T 257、以下选项中非法的表达式是______。 A:0<=x<100 B:i=j==0

C:(char)(65+3) D:x+1=x+1 答案:D 知识点:知识点/选择题/C2基本数据类型及表达式/表达式及语句合法性判断T

259、设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是______。

A:x=x*100+0.5/100.0; B:x=(x*100+0.5)/100.0

C:x=(int)(x*100+0.5)/100.0; D:x=(x/100+0.5)/100.0; 答案:C

知识点:知识点/选择题/C2基本数据类型及表达式/【 260、有定义语句:int a=1,b=2,c=3,x;,则以下选项中各程序段执行后,x的值不为3的是______。 A:if (c

B:if (a<3) x=3;

else if (a<2) x=2; else x=1;

C:if (a<3) x=3; if (a<2) x=2; if (a<1) x=1;

D:if (a

261、有以下程序 main()

{ int s=0,a=1,n; scanf(\do

{s+=1; a=a-2;} while(a!=n);

printf(\}

若要使程序的输出值为2,则应该从键盘给n输入的值是______。 A:-1 B:-3 C:-5 D:0 答案:B

知识点:知识点/选择题/C5循环结构程序设计/DO-WHILE循环T

262、若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)。 s=a;

for(b=1;b<=c;b++) s=s+1;

则与上述程序段功能等价的赋值语句是______。 A:s=a+b; B:s=a+c; C:s=s+c; D:s=b+c; 答案:B

知识点:知识点/选择题/C5循环结构程序设计/FOR循环结构T

264、以下选项中不能正确把cl定义成结构体变量的是______。

1) typedef struct {int red;

int green; int blue; } COLOR; COLOR cl;

2) struct color cl { int red; int green; int blue; };

3) struct color { int red; int green; int blue; }cl; 4) struct {int red; int green; int blue; }cl; A:1 B:2 C:3 D:4 答案:B 知识点:知识点/选择题/C9结构体与共用体/结构体类型及变量定义T

266、若有定义:int *p[3];,则以下叙述中正确的是______。

A:定义了一个基类型为int的指针变量p,该变量具有三个指针

B:定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针

C:定义了一个名为*p的整型数组,该数组含有三个int类型元素

D:定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素 答案:B

知识点:知识点/选择题/C8指针/指针数组基础知识T 273、若以下选项中的变量已正确定义,则正确的赋值语句是______。

A:x1=26.8%3; B:1+2=x2; C:x3=0x12; D:x4=1+2=3; 答案:C

知识点:知识点/选择题/C2基本数据类型及表达式/表达式及语句合法性判断T

274、设有定义:float a=2,b=4,h=3;,以下C语言表达式中与代数式1/2(a+b)h计算结果不相符的是______。 A:(a+b)*h/2 B:(1/2)*(a+b)*h C:(a+b)*h*1/2 D:h/2*(a+b) 答案:B

知识点:知识点/选择题/C2基本数据类型及表达式/【 276、以下4个选项,不能看作一条语句的是______。 A:{;}

B:a=0,b=0,c=0; C:if(a>0);

D:if(b==0)m=1;n=2; 答案:D 知识点:知识点/选择题/C2基本数据类型及表达式/表达式及语句合法性判断T 277、以下程序段中与语句k=a>b?(b>c?1:0):0;功能等价的是______。

A:if((a>b)&&(b>c))k=1; else k=0;

B:if((a>b)||(b>c))k=1; else k=0;

C:if(a<=b) k=0; else if(b<=c) k=1; D:if(a>b) k=1; else if(b>c) k=1; else k=0; 答案:A 知识点:知识点/选择题/C4选择结构程序设计/IF语句的嵌套T

279、有以下程序 main()

{ int x=0,y=5,z=3;

while(z-->0&&++x<5) y=y-1; printf(\}

程序执行后的输出结果是______。 A:3,2,0 B:3,2,-1 C:4,3,-1 D:5,-2,-5 答案:B

知识点:知识点/选择题/C5循环结构程序设计/WHILE循环

结构T

280、有以下程序 main()

{ int i,s=0;

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

程序执行后的输出结果是______。 A:自然数1~9的累加和 B:自然数1~10的累加和 C:自然数1~9中奇数之和 D:自然数1~10中偶数之和 答案:D

知识点:知识点/选择题/C5循环结构程序设计/FOR循环结构T

283、有以下程序段

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 答案:D

知识点:知识点/选择题/C8指针/指针处理一维数组T 285、有以下程序 struct STU{ char name[10]; int num; };

void f1(struct STU c)

{struct STU b={\c=b; }

void f2(struct STU *c)

{struct STU b={\*c=b; }

main()

{struct STU a={\f1(a);f2(&b);

printf(\}

执行后输出结果是______。 A:2041 2044