C语言程序设计练习题Word文档下载推荐.docx

上传人:b****6 文档编号:21830729 上传时间:2023-02-01 格式:DOCX 页数:28 大小:34.21KB
下载 相关 举报
C语言程序设计练习题Word文档下载推荐.docx_第1页
第1页 / 共28页
C语言程序设计练习题Word文档下载推荐.docx_第2页
第2页 / 共28页
C语言程序设计练习题Word文档下载推荐.docx_第3页
第3页 / 共28页
C语言程序设计练习题Word文档下载推荐.docx_第4页
第4页 / 共28页
C语言程序设计练习题Word文档下载推荐.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

C语言程序设计练习题Word文档下载推荐.docx

《C语言程序设计练习题Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C语言程序设计练习题Word文档下载推荐.docx(28页珍藏版)》请在冰豆网上搜索。

C语言程序设计练习题Word文档下载推荐.docx

11.在C语言中,下列说法中正确的是(C)。

A.不能使用“do语句while(条件)”实现循环

B.“do语句while(条件)”的循环必须使用“break”语句退出循环

C.“do语句while(条件)”的循环中,当条件为非0时将结束循环

D.“do语句while(条件)”的循环中,当条件为0时将结束循环

12.C语言程序的3种基本结构是(A)结构、选择结构和循环结构。

A.顺序B.递归C.转移D.嵌套

13.若有定义“intx,y;

”,则下面选项中合法的if语句是(A)。

A.if(a==b)x++;

B.if(a=<

b)x++;

C.if(a<

>

D.if(a=>

14.下面程序段

intk=2;

while(k=0){printf("

%d"

k);

k--;

则下面描述中正确的是(C)。

A.while循环执行两次B.循环式无限循环

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

15.从循环体内某一层跳出,继续执行循环体外的语句是:

(A)。

A.break语句B.return语句C.continue语句D.空语句

16.表达式“9!

=7”的值是(C)。

A.tureB.非0值C.0D.1

17.下面for语句的循环次数是(B)。

inti,x;

for(i=0,x=0;

i<

=9&

x!

=876;

i++)

scanf("

x);

A.最多循环10次B.最多循环9次C.无限循环D.一次也不循环

18.下列选项中合法的数组定义是(C)。

A.ints[]={"

string"

};

B.inta[5]={'

abc'

'

1'

C.chara={"

D.chara[]={0,1,2,3};

19.下列选项中对二维数组不正确的初始化是(D)。

A.inta[][3]={3,2,1,1,2,3};

B.inta[][3]={{3,2,1},{1,2,3}};

C.inta[2][3]={{3,2,1},{1,2,3}};

D.inta[][]={{3,2,1},{1,2,3}};

20.若有如下定义“inta[][3]={1,2,3,4,5,6};

”,则a[1][0]的值是(A)。

A.4B.1C.2D.5

21.若有定义语句“inta[10];

”,则对数组a元素的正确引用是(A)。

A.a[10]B.a[3.5]C.a(5)D.a[10-10]

22.有以下程序

#include"

stdio.h"

string.h"

char*p[10]={"

abc"

"

aabdfg"

dcdbe"

abbd"

cd"

printf("

%d\n"

strlen(p[4]));

执行后输出结果是(A)。

A.2B.3C.4D.5

23.有以下程序

intp[7]={11,13,14,15,16,17,18},i=0,k=0;

while(i<

7&

p[i]%2)

{k=k+p[i];

i++;

执行后输出结果是(D)。

A.58B.56C.45D.24

24.若有下面的变量定义,以下语句中合法的是()。

inti,a[10],*p;

A.p=a+2;

B.p=a[5];

C.p=a[2]+2;

D.p=&

(i+2);

25.C语言规定函数的返回值的类型由()。

I.return语句中的表达式类型所决定

J.调用该函数时的主调用函数类型所决定

K.调用该函数时系统临时决定

L.在定义该函数时所指定的函数类型所决定

26.以下所列的各函数首部中,正确的是()

A.voidplay(var:

integer,varb:

integer)B.voidplay(inta,b)

C.voidplay(inta,intb)D.Subplay(aasinteger,basinteger)

27.以下说法中正确的是()。

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

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

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

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

28.若程序中定义了以下函数

doublemyadd(doublea,doubleb)

{return(a+b);

并将其放在调用语句之后,则在调用之前应该对该函数进行声明,以下选项中错误的声明是()。

A.doublemyadd(doublea,b)B.doublemyadd(double,double)

C.doublemyadd(doubleb,doublea)D.doublemyadd(doublex,doubley)

29.在C语言中,下面说法中正确的是()。

Q.函数定义可以嵌套,但函数调用不能嵌套

R.函数定义不可以嵌套,但函数调用可以嵌套

S.函数定义和调用均不能嵌套

T.函数定义和调用均可以嵌套

30.一个程序由若干文件组成,共用同一变量,则此变量的存储类别是()。

A.autoB.externC.staticD.register

31.在VC++编译环境的编译信息窗口出现提示信息“example.obj-0error(s),0warning(s)”,表示这是()的结果。

A.编译B.编辑C.连接D.运行

32.算法的表示形式多种多样,常见的有自然语言、程序流程图、伪代码描述和()。

A.框图B.N-S图C.目标图D.结构图

33.在C语言中,变量所分配的内存空间大小()。

A.均为一个字节B.由用户自己定义

C.由变量的类型决定D.任意

34.在C语言中,char型数据在内存中的存储形式是()。

A.补码B.反码C.原码D.ASCII码

35.C语言的基本数据类型包括()。

A.整型、浮点型、逻辑型B.整型、浮点型、字符型、逻辑型

C.整型、字符型、逻辑型D.整型、浮点型、字符型

36.在C语言中,要求运算的量必须是整型的运算符是()。

A.*B./C.++D.%

37.语句“for(i=-1;

i<

4;

i++);

”的循环体将执行()次。

A.3B.4C.5D.6

38.语句“for(s=2;

;

s++);

”可以理解为()。

A.for(s=2;

0;

B.for(s=2;

1;

C.for(s=2;

s<

2;

D.for(s=2;

s>

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

else总是与()。

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

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

40.语句“while(!

E);

”括号中的表达式!

E等价于()。

A.E==0B.E!

=1C.E!

=0D.E==1

41.C语言中的标识符只能由字母、数字、下划线3种字符构成,且第一个字符()。

A.必须是字母或下划线B.必须是下划线

C.可以是字母、数字、下划线中的任意字符D.必须是字母

42.表达式“a=(a=6,a*6,a+3)”计算后,a的值是()。

A.39B.36C.6D.9

43.下列数据中属于字符串常量的是()。

A.ABCB."

ABC"

C.'

D.'

a'

44.字符串"

\\\"

ABC\"

\\"

的长度是()。

A.11B.7C.5D.3

45.假设int类型变量占用4字节,且有语句“intx[10]={0,2,4};

”,则数组x在内存中所占字节数是()。

A.3B.12C.4D.40

46.以下数组定义中不正确的是()。

A.inta[2][3];

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

C.intc[100][100];

D.intd[3][]={{1,2},{1,2,3},{1,2,3,4}};

47.有以下定义,其中不能给数组a输入字符串语句的是()。

#include<

chara[10],*b=a;

A.gets(a);

B.gets(a[0]);

C.gets(&

a[0]);

D.gets(b);

48.以下程序段中错误的是()。

A.chars[10]="

abcdefg"

;

B.chart[]="

*s=t;

C.chars[10];

s="

D.chars[10];

strcpy(s,"

);

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

chars[12]="

abook!

"

printf("

%s"

s+2);

A.abook!

B.abo

C.book!

D.因格式描述不正确,无输出

50.有定义“chars[12]={"

”,则“printf("

strlen(s));

”的输出结果是()。

A.6B.7C.11D.12

51.有定义“inta[2][3];

”,则该二维数组的元素个数是()。

52.有定义“inta[][3]={1,2,3,4,5,6};

”,则该二维数组的第一维长度是()。

A.2B.3C.4D.无法确定

53.在调用函数时,如果实参是简单变量,则它与对应形参之间的数据传递方式是()。

A.地址传递B.单向值传递

C.不能确定D.由用户确定

54.在调用函数时,如果实参是数组名,则它向形参传递的是()。

A.数组长度B.数组所有元素的地址

C.数组首地址D.数组所有元素的值

55.以下叙述中正确的是()。

A.全局变量的作用域可能比局部变量的作用域大

B.静态变量的生存期贯穿于整个程序运行期间

C.函数的形参都属于全局变量

D.未在定义语句中赋初值的auto变量和static变量的初值都是随机的

56.若已定义的函数有返回值,以下叙述中错误的是()。

A.函数调用可以作为独立的语句存在

B.函数调用可以作为另一个函数的实参

C.函数调用可以出现在表达式中

D.函数调用可以作为一个函数的形参

57.一个C语言程序由函数A、B、C、P构成,在函数A中分别调用了函数B和函数C,在函数B中调用了函数A,且在函数P中也调用了函数A,则可以说()。

A.函数B是函数A的间接递归调用

B.函数A是函数B的间接递归调用

C.函数P直接递归调用了函数A

D.函数C调用的是函数P的嵌套

58.下列对C语言函数的描述中,正确的是()。

A.调用函数时,只能把实参的值传递给形参,反之不能

B.函数既可嵌套定义又可嵌套调用

C.函数必须有返回值,否则不能使用函数

D.有调用关系的所有函数必须放在同一个源程序文件中

59.有一个名为newpr的函数用于打印三角函数的曲线,其形参就是这些函数名,则newpr函数的原型是()。

A.doublenewpr(doublex)

B.voidnewpr(double(*f)(doublex))

C.voidnewpr(double(*f)(),doublex)

D.void(*newpr)(doublef(doublex))

60.函数"

func(inta){printf("

a);

return0;

}"

的返回值类型是()。

A.intB.voidC.没有返回值D.无法确定

61.程序运行输出错误的结果,可以排除下列哪一个因素(  )。

A、算法错误B、运行时输入数据错误C、未通过编译D、系统资源配置不当

62."

E2"

是(  )。

A、值为100的实型常数B、值为100的整型常数C、不合法的标识符D、合法的标识符

63、逻辑运算符中,运算优先级按从高到低依次为(  )。

A、&

,!

,||B、||,&

C、&

,||,!

D、!

,&

,||

64.a是int型变量,c是字符变量。

下列输入语句中哪一个是错误的(  )。

A、scanf("

%d,%c"

&

a,&

c);

B、scanf("

%d%c"

a,c);

C、scanf("

D、scanf("

d=%d,c=%c"

65.下列各语句序列判别变量x、y的大小,若x<

y则交换它们的值,其中正确的是(  )。

A、if(x<

y){x=y;

y=x}B、if(x<

y){t=x;

x=y;

y=t}

C、if(x<

y)x=y;

y=x;

D、if(x<

y)t=x;

y=t;

66、下列语句中,哪一个可以输出26个大写英文字母(  )。

A、for(a='

A'

a<

'

Z'

%c"

++a));

B、for(a='

='

a++);

C、for(a='

a++));

D、for(a='

67、下列各语句定义了数组,其中哪一个是不正确的(  )。

A、ints_1[5],s_2[4][3];

B、floatx,a[4][5];

C、charstring[]="

hello!

D、intx(10),y(10);

68、定义一个带参数的宏,使两个参数a、b的值交换,下列表述中哪一个是正确的(  )。

A、#definejh(a,b,t)t=a;

a=b;

b=tB、#definejh(a,b,t){t=a;

b=t}

C、#definejh(a,b)t=a;

b=t;

D、#definejh(a,b){t=a;

69.假如指针p1已经指向某个整型变量,要使指针p2也指向同一个变量,哪一个语句是正确的(  )。

A、p2=*&

p1;

B、p2=**p1;

C、p2=&

*p1;

D、p2=*p1;

70.数组定义为"

inta[4][5];

,引用"

a[1]+3"

表示(  )。

A、a数组第1行第3列元素的地址B、a数组第1行第3列元素的值

C、a数组第4行的首地址D、a数组第4列的首地址

71.共用体定义为"

uniondata{charch;

}a;

下列哪一个是正确的(  )。

A、a.ch='

x'

a.ch--;

B、a={'

1};

C、a={'

1}D、a.x.ch='

72.按位或运算:

inta=6,b=8,c=a|b;

变量c的值是(  )。

A、2B、14C、48、D、-2

73.按位取反运算:

inta=7,c=~a;

变量c的值是(  )。

A、-8B、4C、3、D、-7

74.以"

追加"

方式打开文本文件a:

\aa.dat,下列语句中哪一个是正确的(  )。

A、fp=fopen("

a:

\aa.dat"

ab"

B、fp=fopen("

a"

C、fp=fopen("

r+"

D、fp=fopen("

w"

75.以下程序段,标有/**********/的那行语句的执行次数为()。

inti,j,y;

j=0;

for(i=0;

10;

i++)

{if(i%2)continue;

y=y+i;

}/**********/

A、10B、5C、9D、4

76.若有语句staticchar[]={“china”};

那么a[5]的值是()。

A、’a’B、‘\n’C、’\0’D、不确定

77.执行语句:

staticchara[10]={“12345”};

intj;

j=strlen(a);

之后,j的值是()。

A、5B、4C、10D、6

78.若有说明语句chara[10],*p;

那么能使指针p指向数组a的表达式是()。

A、p=a[0]B、*p=aC、*p=&

aD、p=&

a[0]

79.若定义变量:

intn=10;

有下列程序段,则循环的输出结果是()。

while(n>

7)

{n--;

n);

A、10B、9C、10D、9

9898

87

80.如果一个函数中没有return语句,那么()。

A、该函数没有返回值B、该函数返回一个不确定的值

C、返回-1D、程序会出错

81.C语言程序的三种基本结构是顺序结构、()结构和循环结构。

A、选择B、递归C、转移D、嵌套

82.下列变量名中合法的变量是()。

A、a#cB、INTC、3dcD、a$

83.在C程序中用关键字(  )定义短整型常量。

A、shortB、floatC、doubleD、char

84.十进制数16的十六进制形式是(  )。

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

85.若变量已正确定义,(  )是合法的C语句。

A、a=1,b=2B、a=1=b;

C、a=b=5;

D、y=;

86.若变量已正确定义并赋值,符合C语言语法的表达式是(  )。

A、a=3,5;

B、a+=1C、a=a+1=3D、12.3%4

87.a是单精度实型变量,c是基本整型变量,以下正确的输入语句是(  )。

A、scanf(“%f%d”,a,c);

B、scanf(“%f%d”,&

C、scanf(“%f%f”,&

D、scanf(“%d%f”,&

88.在C程序中用(  )表示逻辑值“真”。

A、tureB、非0数C、非0整数D、大于0的数

89.假设有说明语句chara=’\n’,则变量a(  )。

A、包含一个字符B、包含二个字符

C、包含三个字符D、说明不合法

90.C语言程序由(  )组成。

A、子程序B、过程C、函数D、主程序和子程序

91.下列语句定义pd为指向int类型变量d的指针,(  )是正确的。

A、intd,*pd=&

d;

B、int*pd=&

d,d;

C、floatd,*pd=&

D、float*pd=&

92.若变量已正确定义并且指针p已经指向变量x,则&

*p相当于(  )。

A、xB、*pC、pD、*&

x

93.定义一个4个元素的一维整型数组,(  )是不正确的。

A、inta[4];

B、inta[4]={1,2,3,4,5}

C、inta[4]={1,2,3}D、inta[4]={1}

94.数组定义为inta[3][2]={1,2,3,4,5,6},数组元素(  )的值是为6。

A、a[3][2]B、a[2][1]C、a[1][2]D、a[2][3]

95.不正确的字符串赋值或赋初值的方式是()。

A、charstr[]=”string”;

B、charstr[7]={‘s’,’t’,’r’,’i’,’n’,’g’};

C、charstr[10];

str=”string”;

D、charstr[7]={‘s’,’t’,’r’,’i’,’n’,’g’,’\0’};

96.要调用数学函数时,在#include命令行中应包括()。

A、”stdio.h”B、”string.h”

C、”math.h”D、”ctype.h”

97.若变量已正确定义,表达式(j=1,++j)的值是(

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

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

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

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