C语言开发基础练习题及答案5-2023练习版_第1页
C语言开发基础练习题及答案5-2023练习版_第2页
C语言开发基础练习题及答案5-2023练习版_第3页
C语言开发基础练习题及答案5-2023练习版_第4页
C语言开发基础练习题及答案5-2023练习版_第5页
已阅读5页,还剩130页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

试题说明

本套试题共包括1套试卷

答案和解析在每套试卷后

C语言开发基础练习题及答案5(500题)

C语言开发基础练习题及答案5

1.[单选题]以下选项中,能正确进行字符串赋值的是

A)char*s="ABCDE”;

B)chars[5]={'A','B','C','D','E'};

Ochars[4][5]={αABCDE};

D)char*s;gets(s);

2.[单选题]以下定义语句中,错误的是()。

A)char*a[3];

B)chars[10];s=,,testπ;

C)chars[10]="test";

D)inta[]={l,2};

3.[单选题]下列选项中,关于SWitCh结构中每一个CaSe语句或default语句中的break语句,以下

说法正确的是()

A)任何时候都必须包含break语句

B)任何时候都可以省略break语句

C)当两个CaSe语句之间包含其他语句时,前一个CaSe语句中的break语句可以省

D)当两个CaSe语句之间没有任何其他语句时,前一个CaSe语句中的break语句可以省略

4.[单选题]有以下程序

#include<stdio.h>

Voidfun(char*a,char*b)

{while(*a==t*,)a++;

While(*b=*a){b++;a++;}

)

Main()

{char*s=,,*****a*b****,,,t[80];

Fun(s,t);puts(t);

)

程序的运行结果是O

A)*****a*b

B)a*b

C)a*b***≠

D)ab

5.[单选题]假定int类型变量占用两个字节,其有定义:intx[10]={0,2,4};,则数组X在内存中所

占字节数是O。

Λ)3

B)6

OlO

D)20

6.[单选题]程序运行后的输出结果是#includeintmain(){inti;for(i=0;i<3;i++)

switch(i){case0:printf("%d",i);case2:printf("%d",i);default:printf("%d",i);)

return0;}

A)021021

B)022111

C)012

D)000122

7.[单选题]设j和k都是int类型,则下面的for循环语句().

For(j=0,k=0;j<=9&&k!=876;j++)scanf("%d",fek);

A)最多执行10次

B)最多执行9次

C)是无限循环

D)循环体一次也不执行

8.[单选题]有以下程序

ttinclude<stdio.h>

Voidfun(inta[],intn)

{inti,t;

For(i=0;i<n∕2;i+÷){t=a[i];a[i]=a[n-l-i];a[∏-l-i1=t;}

)

Main()

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

Fun(k,5);

For(i=2;i<8;i++)printf(π%d,r,k[i]);

Printf(n∖n,r);

)

程序的运行结果是O

A)345678

B)876543

C)1098765

D)321678

9.[单选题]若有inta,b;floatx;则正确的赋值语句是()。

A)a=l,b=2,

B)b++;

C)a=b=5

D)b=int(x);

10.[单选题]下列程序的输出结果是().

main()

{inta=7,b=5;

printf(n%d∖π",b=b∕a);

)

A)0

B)5

Ol

D)不确定值

11.[单选题]设Charx□="12345",y□=∏','2','3','4','5','∖0'};以下叙述中正确的是Oo

A)X数组的长度等于y数组的长度

B)X数组的长度少于y数组的长度

C)X数组与y数组的存储区域相同

D)X数组的长度大于y数组的长度

12.[单选题]若有定义语句inta,b;doublex;则下列选项中没有错误的是()。

A)switch(x%2){case0:a++;break;casel:b++;break;default:a++;b++;)

B)switch((int)x∕2.0){case0:a++;break;casel:b++;break;default:a++;b++;}

C)switch((int)x%2){case0:a++;break;case1:b++;break;default:a++;b++;)

D)switch((int)(x)%2){case0.0:a++;break;case1.0:b++;break;default:a++;b++;}

13.[单选题]若有定义语句int

A,b;doublex;则下列选项中没有错误的是_____。

A)Switch(x%2)

{case0:a++;break;

case1:b++;break;

default:a++;b++;

)

B)Switch((int)x∕2.0)

{case0:a++;break;

case1:b++;break;

default:a++;b++;

)

C)Switch((int)x%2)

{case0:a++;break;

case1:b++;break;

default:a++;b++;

)

D)Switch((int)(x)%2)

(caseO.0:a++;break;

case1.0:b++;break;

default:a++;b++;

}

14.[单选题]若有定义:inta=7;floatx=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2∕4的值是()0

A)2.500000

B)2.750000

C)3.500000

D)0.OOOOOO

15.[单选题]数组名作为实参数传递给函数时,数组名被处理为().

A)该数组的长度

B)该数组的元素个数

C)该数组的首地址

D)该数组中各元素的值

16.[单选题]已知i、j、k为int型变量,若从键盘输入:1,2,3〈回车>,使i的值为1、j的值为2、k的值

为3,

以下选项中正确的输入语句是

A)scanf("%d%d%d",&i,&j,&k);

B)scanf

C)scanf("%2d%2d%2d",&i,&j,&k);

D)scanf("i=%d,j=%d,k=%d",&i,&j,&k);

17.[单选题]如果inta=5,b=4;则条件表达式"a<b?a:b"的值是()。

A)5

B)4

OO

D)l

18.[单选题]为了避免在嵌套的if-else语句中产生二义性,C语言规定与else子句配对是_

A)与其缩排位置相同的if子句

B)在其之后最近的不带else的if子句

C)在其之前最近的不带else的同层if子句

D)与其在同一行上的if子句

19.[单选题]有以下程序段

TypedefstructNODE

{intnum;structNODE*next;}OLD;

以下叙述中正确的是O

A)以上的说明形式非法

B)NODE是一个结构体类型

C)OLD是一个结构体类型

D)OLD是一个结构体变量

20.[单选题]下面程序中有错误的行是

1main()

2{

3intx[3]={l};

4intk;

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

6for(k=l;k<3;k++)

7x[0]=x[0]+x[i];

8printf("χ[0]=%d∖n",x[0]);

9}

A)3

B)6

C)7

D)5

21.[单选题]有以下程序#include<stdio.h>doublef(doublex);main(){doublea=0;inti;

for(i=0;i<30;i+=10)a+=f((double)i);printf(4<%5.0f∖nw,a);}doublef(doublex){return

x*x+l;}程序运行后的输出结果是Oo

A)503

B)401

C)500

D)1404

22.[单选题]若有语句:

intx[]={0,1,2,3,4,5},*ptr=x;

则—是对数组元素的正确引用。

A)x

B)*x[3]

C)*(++ptr)

D)*(一ptr)

23.[单选题]运行下面程序时,若从键盘输入"5",则程序的输出结果是_______.#includevoid

main(){inta;scanf("%d",&a);if(a++>5)printf("%d∖n",a);elseprintf("%d∖n",a一)

A)7

B)6

C)5

D)4

24.[单选题]关于全局变量的说法错误的是—o

A)可以被多个模块共享

B)降低了函数的通用性

C)其初始值为随机数

D)可以作为函数的实参

25.[单选题]从循环体内某一层跳出,继续执行循环外的语句是()

Λ)break语句

B)return语句

C)ContinUe语句

D)空语句

26.[单选题]有以下程序

Voidswap(char*x,char*y)

{chart;

T=*x;*x=*y;*y=t;

}

Main()

{char*sl="abc",*s2="123";

Swap(sl,s2);printf("%s,%s∖n",s1,s2);

}

程序执行后的输出结果是O

A)123,abc

B)abc,123

C)lbc,a23

D)321,cba

27.[单选题]下列关于算法的描述正确的是()

A)算法是程序设计的规则

B)算法要求必须至少有一个输入

C)算法只能用代码描述

D)算法是解决问题的具体步骤

28.[单选题]有以下程序#include<stdio.h>voidive(x,n)intx[],n;{intt,*p;p=x+∏-

1;while(x

A)1234567890

B)0987654321

C)1357924680

D)0864297531

29.[单选题]在C语言中,if语句后的一对圆括号中有一个用以决定分支走向的表达式,该表达式()。

A)只能是关系表达式

B)只能是逻辑表达式

C)只能是关系或逻辑表达式

D)可以是任何合法表达式

30.[单选题]下列程序段的输出结果是_

Intk,a[3]L3>{9,8,7,6,5,4,3,2,1},*p=&a[l][1];

For(k=0;k<4;k+=2)printf('l%d",*(p+k));

A)52

B)51

C)53

D)97

31.[单选题]数组元素下标的数据类型为()。

A)整型常量、字符型常量或整型表达式

B)字符串常量

C)实型常量或实型表达式

D)任何类型的表达式

32.[单选题]若有以下数据定义语句,则数值为4的表达式是()int

a[12]={l,2,3,4,5,6,7,8,9,10,ll,12};charc='a,,

D,g;

A)a[g-c]

B)aM

C)a['d`-'c,]

D)a[d-c]

33.[单选题]当month等于9时,分析下列代码片段的执行结果()intdays=0;switch(month){

case2:days=28;break;case4:case6:case9:case11:days=30;break;default:

days=31;break;}Console.WriteLine(days);

A)0

B)30

C)29

D)31

34.[单选题]有以下程序

Main()

{intm,n,p;

scanf("m=%dn=%dp=%d",&m,&n,&P);

printf("%d%d%d∖n",m,n,p);}

若想从键盘上输入数据,使变量m中的值为123,n中的值为456,P中的值为789,则正确的输入是

A)m=123n=456p=789

B)m=123n=456p=789

C)m=123,n=456,p=789

D)123456789

35.[单选题]在c#的循环结构中,先执行一次,然后再判断条件的循环结构是?

A)do-while循环

B)While循环

C)for循环

D)foreach循环

36.[单选题]执行以下程序后,输出结果是____o

ttinclude<stdio.h>

ItdefineMAX(x,y)x>y?x:y

Voidmain()

(

Inta=5,b=6;

Printf("%d",MAX(a+2,b));

)

A)5

B)6

C)7

D)8

37.[单选题]下列字符序列中,不可用作C语言标识符的是()。

A)abcl23

B)no.1

C)_123_

D)_ok

38.[单选题]设已定义i和k为int类型变量,则以下for循环语句1.for(i=0,k=-l;k=l;i++,k++)2.

printf("****∖∏");

ʌ)判断循环结束的条件不合法

B)是无限循环

C)循环只执行一次

D)循环一次也不执行

39.[单选题]以下正确的描述是()。

A)ContinUe语句的作用是结束整个循环的执行

B)只能在循环体内和SWitCh语句体内使用break语句

C)在循环体内使用break语句或ContinUe语句的作用相同

D)从多层循环嵌套中退出时,只能使用goto语句

40.[单选题]以下叙述中正确的是()

A)int*pl;int**p2;int*p3都是合法的定义指针变量的语句

B)指针变量只能通过求地址运算符(&)来获得地址值

C)语句P=NULL;与p=∖0;是等价的语句

D)语句P=NULL;执行后,指针P指向地址为0的存储单元

41.[单选题]有以下程序

MainO

{charstr[][10]={"China","Beijing"},*p=str;

printf("%s∖n",p+10);}

程序运行后的输出结果是______O

A)China

B)Bejing

C)ng

D)ing

42.[单选题]设a和b均为double型常量,且a=5.5,b=2.5,则表达式(int)a+b∕b的值是

A)6.500000

B)6

05.500000

D)6.000000

43.[单选题]属于C语言字符集中可显示字符的是()

A)∖

B)∖n

C)∖t

D)∖b

44.[单选题]与数学式子

9xn

2x-l

class=11fr-ficfr^dibCUrSoLhOVer">对应的C语言表达式是()。

A)9*x^n/(2*χ-l)

B)9*x**n/(2*χ-l)

C)9*pow(x,n)*(1/(2*χ-l))

D)9*pow(n,x)/(2*χ-l)

45.[单选题]若变量均已正确定义并赋值,以下合法的C语言表达式是()

A)x=y=5;

B)x=n%2.5;

C)x+n=l;

D)x=5=4+1;

46.[单选题]已知字符A的ASCIl代码值是65,字符变量CI的值是A,c2的值是D。则执行语句

priπtf(n%d,%dw,cl,c2-2);的输出结果是()。

A)A,68

B)65,66

C)Λ,B

D)65,68

47.[单选题]二维数组a有In行n列,则在a[i][j]之前的元素个数为()。

A)j*n+i

B)i*n+j

C)i*n+j-l

D)i*n+j+l

48.[单选题]在C语言中,只有在使用时才占用内存单元的变量,其存储类型是

A)auto和StatiC

B)extern和register

C)auto和register

D)StatiC和register

49.[单选题]以下程序的正确运行结果是。

ttinclude<stdio.h>

main()

{intk=4,m=l,p;

p=func(k,m);printf(,r%d,,∖p);

p=func(k,m);Printf("%d"∖n",p);

)

func(inta,intb)

{staticintm=0,i=2;

i+=m+l;

m=i+a+b;

return(m);

)

A)8,17

B)8,16

C)8,20

D)8,8

50.[单选题]有以下程序ttincludemain(){inta=7;while(a一);printf("%d∖n",a);}程序运

行后的输出结果是()。

A)-l

B)0

Ol

D)7

51.[单选题]在函数说明时,下列项是不必要的。

A)函数名字

B)函数参数类型和名字

C)函数的类型

D)返回值表达式

52.[单选题]已有定义“inta口={5,4,3,2,l},i=4;",下列对a数组元素的引用中错误的是

A)A[-i]

B)A[a[0]]

OA[2*2]

D)A[a[i]]

53.[单选题]已有文本文件t.txt,其中的内容为:Iiaoningshenyang!。以下程序中,文件t.txt已正确

为"读"而打开,由文件指针fr指向该文件,则程序的输出结果是o

Jtinclude<stdio.h>

Main()

{FILE*fr;chars[80];

Fgets(s,6,fr);

Printf("%s∖n",s);

Fclose(fr);}

A)shenyang

B)Iiaoningshenyang

C)Iiaon

D)Iiaoni

54.[单选题]已有声明和定义''typedefint*INTEGER;INTEGERp,*q;”,下面叙述正确的是

A)P是int型变量

B)P是类型为int的指针变量

C)Q是类型为int的指针变量

D)程序中可用INTEGER代替int类型名

55.[单选题]设x、y、t均为int型变量,则执行语句:x=y=3;t=++x'|++y;后,y的值为()。

A)不定值

B)4

03

D)l

56.[单选题]有以下程序

Uinclude<string.h>

Main()

{charp[]={'a','b','c'},q[10]={'a','b','c');

Printf("%d%d∖n",strlen(p),strlen(q));}

以下叙述中正确的是O

A)在给P和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3

B)由于P数组中没有字符串结束符,长度不能确定;但q数组中字符长度为3

C)由于q数组中没有字符串结束符,长度不能确定;但P数组中字符长度为3

D)由于P和q数组中没有字符串结束符,故长度都不能确定

57.[单选题]为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。

A)缩排位置相同的if

B)在其之前未配对的if

C)在其之前未配对的最近的if

D)同一行上的if

58.[单选题]对inta[5][5]中a[i][j]元素不正确的引用是。

A)*(*(a+i)+j)

B)*(aLi]+j)

C)a[i][j]

D)*(a+i*5+j)

59.[单选题]设有以下定义和语句

Charstr[20]="Program",*p;p=str;

则以下叙述中正确的是o

A)*P与str[O]中的值相等

B)Str与P的类型完全相同

C)Str数组长度和P所指向的字符串长度相等

D)数组Str中存放的内容和指针变量P中存放的内容相同

60.[单选题]关于形参和实参的关系,不正确的是—o

A)实参可以是常量、变量或表达式

B)实参与形参的个数必须相等

C)形参和对应的实参的类型必须一致

D)形参可以是常量、变量或表达式

61.[单选题]有以下程序:

StructSTU{charname[10];intnum;);

Voidfl(structSTUc)

{structSTUb={"LiSiGuo”,2042};C=b;}

Voidf2(structSTU*c)

{structSTUb={"SunDan",2044);*c-b;}

Main()

{structSTUa={"YangSan",2041},b={"WangYin",2043);

fl(a);f2(&b);

printf("%d%d∖n",a.num,b.num);}

执行后输出结果是O

A)20412044

B)20412043

C)20422044

D)20422043

62.[单选题]若用数组名作为函数的实参,传递给形参的是。。

A)数组的首地址

B)数组第一个元素的值

C)数组中全部元素的值

D)数组元素的个数

63.[单选题]C语言程序的基本单位是,

A)程序行

B)语句

C)函数

D)字符

64.[单选题]有以下程序段(注:rand()是产生随机整数的函数)

Inti,n;

For(i=0;i<8;i++)

(

N=rand()%5;

Switch(n)

(

Case1:

Case3:printf("%d∖n",n);break;

Case2:

Case4:printf("%d∖n",n);continue;

Case0:exit(0);

Printf("%d∖n",n);

以下关于程序段执行情况的叙述,正确的是_____O

A)for循环语句固定执行8次

B)当产生的随机数n为4时结束循环操作

0当产生的随机数n为1和2时不做任何操作

D)当产生的随机数n为0时结束程序运行

65.[单选题]有以下程序,程序运行时输入:1,2,3,则输出的结果为()。

#include<stdio.h>

voidmain(){

Int

A,b,c;

Scanf('l%d%d%d",fea,⅛bΛc);

Printf("a+b+c=%d∖n",a+b+c);

)

A)6

B)a+b+c=6

0123

D)不确定的值

66.[单选题]一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依

次出栈,则元素出栈的顺序是()o

A)12345ΛBCDE

B)EDCBA54321

C)ABCDE12345

D)5432IEDCBA

67.[单选题]下列程序错误行的是

(1)main()

(2)(

(3)inta[3]={1};

(4)inti;

(5)scanf("%d”,&a);

(6)for(i=l;i<3;i++)a[0]=a[0]+a[i];

(7)printf("%d∖n",a[0]);

(8)}

A)7

B)5

C)3

D)6

68.[单选题]以下叙述中正确的是O

A)当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失

B)打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖

C)在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第1个数据

D)C语言中的文件是流式文件,因此C语言只能顺序存取数据

69.[单选题]有以下程序

Fun(intx,inty){return(x+y);}

Main()

{inta=l,b=2,c=3,sum;

sum=fun((a++,b++,a+b),c++);

printf("%d∖n",sum);}

执行后的输出结果是______O

A)6

B)7

C)8

D)9

70.[单选题]下列字符数组长度为5的是

A)chara[]={'h','a','b','c',1d');

B)charb□={'h','a','b','c',"d','∖0');

C)charc[10]={'h','a','b','c','d');

D)chard[6]={'h','a','b','c',"∖0'};

71.[单选题]下面的说法正确的是()

A)charx,*y,**str;同时定义了三个变量,是合法的语句

B)数组说明符的一对方括号中只能使用整数常量

C)单精度值可以作为数组下标

D)若有定义floatarr[2];则Print("%f",array[l.5]);是合法的语句

72.[单选题]已知intk=l;,下列4个表达式中与其他三个表达式的值不相同的是____o

A)k—

B)k-=1

C)-k

D)k-1

73.[单选题]有以下程序#include"stdio.h"voidmain(){int

c;whi1e((c=getchar())!='∖n')switch(c-'2'){case0:case1:putchar(c+4);case2:

putchar(c+4);break;case3:putchar(c+3);default:putchar(c+2);break;}printf("∖n");}⅛,⅛

键盘输入446755,执行后的输出结果是()。

A)888988

B)668966

088898787

D)66898787

74.[单选题]以下能对具有10个元素的一维数组a进行正确初始化的语句是O

A)nta[10]={};

B)inta[10]=(0,0,0,0,0);

C)inta[10]={10*l};

D)intaL]={O};

75.[单选题]putchar函数可以向终端输出一个().

A)整形变量表达式

B)实型变量值

C)字符串

D)字符或字符型变量值

76.[单选题]以下程序的输出结果是

ttinclude<stdio.h>

Voidmain()

(

Char*s="12134211";

Intv[4]={0,0,0,0),k,i;

For(k=0;s[k];k++)

(

Switch(s[k])

(

Case'Γ:i=0;

Case'2':i=l;

Case'3':i=2;

Case"4':i=3;

)

V[i]++;}

For(k=0;k<4;k++)

Printf("%d",v[k]);

)

A)4211

B)0008

C)4678

D)8888

77.[单选题]以下数组定义中不正确的是()。

A)inta[2][3];

B)intb[][3]={0,l,2,3};

Ointd[3][]={{l,2},{1,2,3},{1,2,3,4}};

D)intc[100][100]={0};

78.[单选题]为了避免在嵌套的条件语句if-else中产生二义性,C语言规

定:else子句总是与配对。

A)缩排位谿相同的if

B)其之前最近的没有else配对的if

C)其之后最近的if

D)同一行上的if

79.[单选题]设有说明"charw;intx;floaty;doublez;”,则表达式“w*x+z-y”值的数据

类型为()。

A)float

B)char

C)int

D)double

80.[单选题]已知year为整型变量,不能使表达式(year%4==0⅛feyear%100!=0)LyearMOO==O的值

为“真”的数据是OO

A)1990

B)1992

C)1996

D)2000

81.[单选题]若有声明"doublex=3,

C,*a=&x,*b=&c;”,则下列语句中错误的是o

A)A=b=O;

B)A=&c,b=a;

C)&a=&b;

D)*b=*a;

82.[单选题]所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是()。

A)7

B)8

06

D)2

83.[单选题]有如下定义

structperson{charname[9];intage;);

structpersonclassL10]={''Johu”,17,

“Paul”,19,

“Mary”,18,

"Adam16,);

根据上述定义,能输出字母M的语句是

A)printf("%c∖n”,class[3].mane);

B)Pfintf(''%c∖n”,class[3].name[l]);

Oprintf(α%c∖n,*,class[2].name[l]);

D)printf(w%c∖nw,class[2].name[θ]);

84.[单选题]C语言中下面哪个不是循环语句?

A)dowhile

B)if

C)while

D)for

85.[单选题]下面叙述正确的是

A)2∕3与2.0/3.0等价

B)(int)2,0∕3与2/3等价

C)++5与6等价

D)A'与"A"等价

86.[单选题]以下关于运算符优先顺序的描述中正确的是。。

A)关系运算符〈算术运算符〈赋值运算符〈逻辑运算符

B)赋值运算符〈逻辑运算符〈关系运算符(算术运算符

C)算术运算符〈关系运算符〈赋值运算符<逻辑运算符

D)逻辑运算符〈关系运算符〈算术运算符〈赋值运算符

87.[单选题]有如下程序,该程序的执行结果是()。main(){inti,sum;for(i=l;i<=3;sum++)

sum+=i;Printf("%d∖n”,sum);}

A)6

B)3

C)死循环

D)0

88.[单选题]关于建立函数的目的,以下正确的说法是()。

A)提高程序的执行效率

B)提高程序的可读性

C)减少程序的篇幅

D)减少程序文件所占内存

89.[单选题]有两个关系R和T如下:则由关系R得到关系T的操作是()。

A)投影

B)交

C)选择

D)并

90.[单选题]以下程序运行后的输出结果是()O#include<stdio.h>main(){int

x=10,y=20,t=0;if(x==y)t=x;x=y;y=t;printf("%d%d∖n",x,y);}

A)100

B)200

OlO20

D)2010

91.[单选题]有两个关系R、S如下:由关系R通过运算得到关系S,所使用的运算为()。

A)选择

B)投影

C)插入

D)连接

92.[单选题]在WhiIe(e)语句中的e与下面条件表达式等价的是。

A)e==0

B)e==l

C)e!=l

D)e!=0

93.[单选题]设有定义inti;,i为任意偶数时,下列表达式合法且值为真的是_____o

A)i∕2==0

B)i%2==0

C)i∕2.O==O

D)i%2.O==O

94.[单选题]下列四项中定义数组的正确方式是—o

A)intn;

scanf("%d",fen);

inta[n];

B)SdefineN5

inta[N];

C)inta(3);

D)inta[3][];、

95.[单选题]在C语言中,调用函数除函数名外,还必须有OO

A)(

B)实际参数

C)函数返回值

D)函数预说明

96.[单选题]若有说明语句:inta[2][4];,则对a数组元素的正确引用是

A)a[O][3]

B)a[0][4]

Oa⑵⑵

D)a[2][2+1]

97.[单选题]已知:inta;floatb;scanf("%d,%f")&a,&b);,使a和b的值分别为10和1.5,则正确的

输入是O

A)101.5

B)10,l.5

C)a=10,b=L5

D)a=10b=l.5

98.[单选题]设有如下定义:

Structsk

(

inta;

floatb;

}data,*p;

P=⅛data;

则对data中的成员a的正确引用是()。

A)(*p).data,a

B)(*p).a

C)p->data.a

D)p.data,a

99.[单选题]若fp为文件指针,且文件已正确打开,i为long型变量,以下程序段的输出结果是(

)o

fseek(fp,O,SEEKEN

D);

i=ftell(fp);

printf("i=%ld∖n",i);

A)-l

B)fp所指文件的长度,以字节为单位

OO

D)2

IOO.[单选题]若有定义intx;y;并已正确给变量赋值,则以下选项中与表达式(χ-y)?(x++):(y++)中

的条件表达式(χ-y)等价的是

A)(χ-y<OIχ-y>O)

B)(χ-y<O)

C)(χ-y>O)

D)(χ-y==O)

IOl.[单选题]下面判断正确的是OO

A)char*a="china";等价于char*a;*a="china";

B)charStr[10]={"china"};等价于Charstr[10];str[]={"china");

C)char*s="china";等价于char*s;s="china";

D)charc[4]="abc",d[4]="abc";等价于charc[4]=d[4]="abc";

102.[单选题]设a、b,c、d、m、n均为int型变量,且a=5、b=6、C=7、d=8、m=2、n=2,则逻辑表达

式(m=a>b)&&(n=c>d)运算后,n的值为()

A)l

B)0

03

D)2

103.[单选题]()。设有程序段

intk=10;

while(k=0)k=k-l;则下面描述正确的是。

A)whiIe循环执行10次

B)循环是无限循环

C)循环体语句一次也不执行

D)循环体语句执行一次

104.[单选题]以下叙述中正确的是

A)在C语言中,预处理命令行都以开头

B)预处理命令行必须位于C源程序的起始位置

C)ttinclude〈studio,h>必须放在C程序开头

D)C语言的预处理不能实现宏定义和条件编译的功能

105.[单选题]有以下程序voidswap(char*x,char*y){chart;t=*x;*x=*y;*y=t;}

main(){char*sl="abc",*s2="123";swap(si,s2);printf("%s,%s∖n",si,s2);}程序执行后的

输出结果是()

A)123,abc

B)abc,123

C)lbc,a23

D)321,cba

106.[单选题]下面关于函数形参的声明中正确的是。

A)Inta[]

B)Inta[][]

OInta[]={0}

D)Inta[2]□

107.[单选题]以下叙述中正确的是O

A)在C语言中,逻辑真值和假值分别对应1和0

B)关系运算符两边的运算对象可以是语言中任意合法的表达式

C)对于浮点变量X和y,表达式:x==y是非法的,会出编译错误

D)分支结构是根据算术表达式的结果来判断流程走向的

108.[单选题]已有定义"ina=5,b;floatc=2;",下列表达式中语法正确是()

A)b=a%c

B)a>0?b=a:b=-a

C)b=a∕2=c

D)b=a=c∕2

109.[单选题]在调用方法的过程中会发生实参与形参之间的数据传递,那么系统会O

A)把形参的值传给被调方法的实参

B)把实参的值传给被调方法的形参

C)把被调方法的形参值传给实参

D)把被调方法的实参值传给等行参

110.[单选题]有下列程序:

MainO{

Intx=8;

For(;x>0;X­){

If(x%3){

Printf("%d,",X-);

Continue;

)

Printf("%d,",-x);

}

)

程序的运行结果是()

A)7,4,2,

B)8,7,5,2,

09,7,6,4,

D)8,5,4,2,

IlL[单选题]如有定义语句inta口={l,8,2,8,3,8,4,8,5,8};,则

数组a的大小是一()—.

A)10

B)ll

08

D)不定

112.[单选题]单精度型变量的类型说明符是o

A)int

B)double

C)float

D)char

113.[单选题]有如下程序

Main()

{intn=8;

While(n>6){n--;printf(,,%dw,n);}

)

该程序段的输出结果是O

A)98

B)76

087

D)78

114.[单选题]在C语言中,能代表逻辑值“真”的是().

A)True

B)大于0的数

C)非0整数

D)非0的数

115.[单选题]下面函数中能正确计算n!(n<17)的是—

A)Longf(longn)

(

Returnn*f(n-l);

)

B)Longf(longn)

{if(n<=l)return1;

elsereturnn*f(n);

)

C)Longf(longn)

{staticlongs,i;

For(i=l;i<=n;i++)s=s*i;

Returns;

)

D)Longf(longn)

{longs=l,i;

for(i=l;i<=n;i++)s=s*i;

returns;

}

116.[单选题]下面程序段的运行结果是()ointa=l,b=2,c=2,t;while(a{t=a;a=b;b=t;c—

;}printf(''%d,%d,‰Γ',a,b,c);

A)l,2,O

B)2,1,O

01,2,1

D)2,1,1

117.[单选题]下列关于栈叙述正确的是()。

A)栈顶元素最先能被删除

B)栈顶元素最后才能被删除

C)栈底元素永远不能被删除

D)栈底元素最先能被删除

118.[单选题]下列说法中正确的是()。

A)break

B)break

C)break

D)ContinUe能结束循环,而break只能结束本次循环。

119.[单选题]若i、j已定义为int类型,则以下程序段中内循环体的总的执行次数是()。

A)20

B)25

024

D)30

120.[单选题]若有定义和语句inta口={l,2,3,4,5,6,7,8,9,10},*p=a;,则值为3的表达

式是()。

A)p+=2,*(p++);

B)p+=2,*++p;

C)p+=3,*p++;

D)p+=2,++*p;

121.[单选题]有以下程序:

^include"stdio.h"

MainO{

Intt;

Scanf("%d",&t);

If(t++!=6)

Printf("%d∖n",t);

Else

Printf("%d∖n",t-);

Printf("∖n");)

执行时输入:6回车,则输出结果是____o

A)7

B)8

06

D)5

122.[单选题]下列变量定义中合法的是Oo

A)short_a=l-.Ie-I;

B)doubleb=l+5e2.5;

C)longdo=0xfdaL;

D)float2_and=l-e-3;

123.[单选题]在调用函数时,如果实参是简单变量,它对应形参之间的数据传递方式是()

A)由实参传给形参,再由形参传回实参

B)传递方式由用户指定

C)地址传递

D)单向值传递

124.[单选题]下面不是常量的选项是_。

A)'a'

B)a

Oa

D)97

125.[单选题]已有定义"charc='Γ;intx=300;floatw=35000;doubled=3.1234567el0;",则下面

表达式求值时除一外其结果都可能是不准确的()

A)x=w∕c

B)w=d∕X

C)w=d∕le5f

D)w=x+c

126.[单选题]有以下程序段intk=0;while(k=l)k++;WhiIe循环执行的次数是()。

A)无限次

B)I次

C)语法错误,不能执行

D)一次也不执行

127.[单选题]C语言的跳转语句中,对于break和COntinUe说法正确的是()

A)break语句只应用与循环体中

B)ContinUe语句只应用于循环体中

C)break是无条件跳转语句,COntinUe不是

D)break和COntinUe的跳转范围不够明确,容易产生问题

128.[单选题]以下叙述中正确的是()。

A)用C程序实现的算法必须要有输入和输出操作

B)用C程序实现的算法可以没有输出但必须要有输入

C)用C程序实现的算法可以没有输入但必须要有输出

D)用C程序实现的算法可以既没有输入也没有输出

129.[单选题]下述正确的语句是Oo

A)intx=y=z=0;

B)intz=(x+y)++;

C)x=+3==2;

D)d%=2.5;

130.[单选题]在C语言中,要求运算数必须是整型的运算符是()。

A)/

B)=++

C)*=

D)%

131.[单选题]以下语句中,不能求a,b最大值的是。。

A)if(c=a>b);

B)c=a<b?b:a;

C)c=b<a?a:b;

D)c=a>b?a:b;

132.[单选题]使用语句SCanf(~=况,丫=%尹',&*,&丫);输入变量乂、y的值(口代表空格),正确的输入是(

)。

A)1.25,2.4

B)1.25□2.4

C)x=1.25,y=2.4

D)x=l.25□y=2.4

133.[单选题]若有:

intx=43,y=0;

charch='A';

则表达式(x>=yMch<'B'&&!y)的值为。

A)0

B)l

C)语法错

D)假

134.[单选题]下列哪一个不属于C语言的基本数据类型—。

A)整型

B)字符型

C)浮点型

D)指针型

135.[单选题]执行语句:scanf("x=%f,y=%f",&x,&y);,使得x、y均为1.2,则正确的输入形式

是_____o

A)1.2,1.2

B)1.21.2

C)x=l.2,y=l.2

D)x=1.2y=1.2

136.[单选题]以下函数调用语句中实参的个数是().

func((el,e2),(e3,e4,e5));

A)2

B)3

C)5

D)语法错误

137.[单选题]若函数中有定义语句:“intn;",则。

A)系统将自动给n赋初值0

B)系统将自动给n赋初值-1

C)变量n中的值无定义

D)变量n没有值

138.[单选题]结构体变量在程序执行期间()。

A)所有成员一直驻留在内存中

B)只有一个成员驻留在内存中

C)部分成员驻留在内存中

D)没有成员驻留在内存中

139.[单选题]下列选项中,不是转义字符的是()

A)∖∖

B)V

0074

D)\0

140.[单选题]70、已知:intaL10];则对a数组元素的正确引用是()。

A)a[10]

B)aL3.5]

C)a(5)

D)a[O]

141.[单选题]有以下程序

Sinclude<stdio.h>

voidmain()

{inta,b,c=246;

a=c∕100%9;

b=(T)&&(-l);

printf("%d,%d∖n",a,b);

)

输出结果是__()_.

A)2,l

B)3,2

04,3

D)2,-l

142.[单选题]以下非法的赋值语句是

A)n=++i;

B)++(i+l);

Oj++;

D)x=(j-);

143.[单选题]在定义任何一个函数时,下列选项中不可缺少的是

A)函数名前的数据类型

B)函数名后的一对圆括号

C)形参声明

D)函数体中的语句

144.[单选题]以下可作为fopen的第一个参数的正确格式是—。

A)c:user∖text.txt

B)c:∖user∖text.txt

C)"c:∖user∖text.txt"

D)"c:WuserWtext.txt"

145.[单选题]下列叙述错误的是()。

A)定义一个指针变量时必须说明该指针变量指向数据的类型

B)一个变量的指针就是该变量的地址

C)两个指针变量不能做相减运算

D)两个指针变量可以做比较运算

146.[单选题]已知:intx=0;,则表达式!x的值等于—

A)0

B)l

c)o.o

D)1.0

147.[单选题]以下不是无限循环的语句为。

A)for(y=0,x=l;x>++y;x=i++)i=x;

B)for(;;x++=i);

C)while(1){x++;}

D)for(i=10;;i一一)sum+=i;

148.[单选题]有以下程序

Main()

{intx=3,y=2,z=l;

Printf(,,%d∖nπ,x/y&〜Z);

)

程序运行后的输出结果是一

A)3

B)2

Ol

D)0

149.[单选题]在C语言中,sizeof(char)的值是()

A)4

B)3

02

D)l

150.[单选题]有以下程序

Inta=2;

Intf(intn)

{staticinta=3;

Intt=0;

If(n%2){staticinta=4;t+=a++;}

Else{staticinta=5;t+=a++;)

Returnt+a++;

)

Main()

{intS=a,i;

For(i=0;i<3;i++)s+=f(i);

Printf(,,%d∖nπ,s);

程序运行后的输出结果是O

A)26

B)28

029

D)24

151.[单选题]C语言中运算对象必须是整型的运算符是()。

A)%=

B)/

0=

D)<=

152.[单选题]若有定义:inta[6]={0,1,2,3,4.5),i;int*p=a;则以下对数组元素a[2]的引用中错

误的是()。

A)*(½a[2])

B)a[p+2]

C)*(p+2)

D)p[2]

153.[单选题]以下程序的输出结果是()omain(){floatx=3.6;inti;i=(int)x;

printf("x=%f,i=%d∖n",x,i);)

A)x=3.600000,i=4

B)x=3,i=3

C)x=3.600000,i=3

D)x=3i=3.600000

154.[单选题]以下数组定义中不正确的是()。

A)inta[2][3];

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

Ointd[3][]={{l,2},{1,2,3},{1,2,3,4}};

D)intc[100][100]={0};

155.[单选题]C语言中的文件的存储方式有()。

A)只能顺序存取

B)只能随机存取(或直接存取)

C)可以顺序存取,也可随机存取

D)只能从文件的开头进行存取

156.[单选题]以下选项中,与k=n++完全等价的表达式是()。

A)k=n,n=n+l

B)n=n+l,k=n

C)k=++n

D)k+=n+l

157.[单选题]有以下程序:

#include<stdio.h>

MainO

{intc=0,k;

for(k=l;k<3;k++)

switch(k)

{default:c+=k;

Case2:c÷÷;break;

Case4:c+=2;break;

)

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

)

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

A)7

B)5

C)3

D)9

158.[单选题]下面结构变量StUdent的声明形式中,错误的是一0

A)Typedefstructstu{charname[10];floatscore;)STU;STUstudent;

B)ttdefineSTUstructstudent

STU{charname[10];floatscore;)student;

C)Structstu{charname[10];floatscore;)student;

D)Structstu{charname[10];floatscore;}STU;STUstudent;

159.[单选题]()o已知:intc[3][4];则对数组元素引用正确的是

A)c[1][4]

B)c[1.5][0]

Oc[1+0]Lo]

D)以上表达都错误

160.[单选题]有以下程序^include<stdio.h>voidmain(){ints;scanf("%d",&s);

while(s>0){switch(s){case1:printf(',%d",s+5);case2:printf("%d",s+4);break;case

3:printf("%d",s+3);default:printf("%d",s+l);break;}scanf;}}运行时,若输

入12345(K回车>,则输出结果是()。

A)6566456

B)66656

066666

D)6666656

161.[单选题]有以下程序#include"stdio.h"voidmain(){int

a=lll;a=a"00;Printf("%d,%o∖n",a,a);}执行后的输出结果是()□

A)111157

B)0,0

020,24

D)7,7

162.[单选题]C语言中,如果函数不需要返回值,函数类型应该定义为()。

A)double

B)int

C)void

D)float

163.[单选题]对于条件表达式(M)?(a++):(a—),其中的表达式M等价于.

A)M==O

B)M==1

C)M!=O

D)M!=1

164.[单选题]有以下程序

ftdefineP3

VoidF(intx){return(P*x*x);}

Main()

{printf("%d∖n",F(3+5));)

程序运行后的输出结果是______O

A)192

B)29

025

D)编译出错

165.[单选题]若有说明:inta[10];,贝I]对a数组元素的正确引用是:()。

A)aL10]

B)a[3.5]

C)a(5)

D)a[10-10]

166.[单选题]已有如下定义和输入语句,若要求al,a2,cl,c2的值分别为

10,20,A和B,当从第一列开始输入数据时,正确的数据输入方

式是。

intal,a2;charcl,c2;

scanf("%d%d",&al,&a2);

scanf("%c%c"Λcl,fec2);

A)1020AB<CR>

B)10□20<CR>AB<CR>

OlO□□20□□AB<CR>

D)10□20AB<CR>

167.[单选题]在数据库管理技术的发展中,数据独立性最高的是()。

A)人工管理

B)文件系统

C)数据库系统

D)数据模型

168.[单选题]设有chars[3][4];,则数组S占用____个字节。

A)12

B)4

03

D)7

169.[单选题]若各选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值,以下选

项中错误的程序是OO

A)floatfun(inti,intj);intmain(){...x=fun(2,10);...}floatfun(inta,intb){....}

B)intmain(){floatfun(inti,intj);...x=fun(i,j);...}floatfun(inta,intb){....}

C)floatfun(inta,intb){...}intmain(){...x=fun(i,j);....)

D)floatfun(int,int);intmain(){...x=fun(2,10);...}

170.[单选题]下列有关C语言字符数组的叙述中,错误的是()

A)不可以用赋值语句给字符数组名赋字符串

B)可以用输入语句把字符串整体输入给字符数组

C)字符数组中的内容不一定是字符串

D)字符数组只能存放字符串

171.[单选题]设char*s="∖ta∖017bc";则指针变量S指向的字符串所占的字节数是O0

A)9

B)5

06

D)7

172.[单选题]下列变量定义中合法的是OO

A)short_a=l-.Ie-I;

B)doubleb=l+5e2.5;

C)longdo=0xfdaL;

D)float2_and=l-e-3;

173.[单选题]在数据库设计中,描述数据间内在语义联系得到E-R图的过程属于()。

A)逻辑设计阶段

B)需求分析阶段

C)概念设计阶段

D)物理设计阶段

174.[单选题]定义一个名为S的字符型数组,并且赋初值为字符串“abc”的错

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论