C语言练习题1Word文档格式.docx

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

C语言练习题1Word文档格式.docx

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

C语言练习题1Word文档格式.docx

 intx=168;

,则表达式x=x%100/10的值为()

A)6B)6.8C)1D)8

18、下述程序段输出结果是()

intx=6;

doubley=3.141593;

printf("

%d%5.3f"

x,y);

A)63.141B)63.141C)6,3.141D)63.1410

19、当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是()

A)k%2   B)k%2==1   C)(k%2)!

=0   D)!

k%2==1

20、若有定义语句:

doublex,y,*px,*py,执行了px=&

x,py=&

y;

之后,正确的输入语句是()

A)scanf("

%f%f"

x,y);

B)scanf("

&

x,&

y);

C)scanf("

%lf%le"

px,py);

D)scanf("

%lf%lf"

21、以下运算符优先级最高的是()

A)<

=B)!

=C)&

&

D)?

:

22、以下运算符优先级最高的是()

A)+B)|C)||D)+=

23、以下是if语句的基本形式:

if(表达式)语句

其中“表达式”()

A)必须是关系表达式B)必须是逻辑表达式

C)必须是逻辑表达式或关系表达式D)可以是任意合法的表达式

24、以下程序的运行结果是()

#include<

stdio.h>

main()

{inti,j,m=55;

for(i=1;

i<

=3;

i++)

for(j=3;

j<

=i;

j++)

m=m%j;

%d\n"

m);

}

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

25、若i、j已定义为int类型,则以下程序段中内循环体执行printf语句的总执行次数是()

for(i=5;

i>

0;

i--)

for(j=0;

4;

OK.\n"

);

A)20B)24C)25D)30

26、以下错误的定义语句是()

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

B)intx[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};

C)intx[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};

D)intx[][3]={1,2,3,4};

27、以下不能对二维数组a进行正确初始化的语句是()

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

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

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

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

28、以下叙述中正确的是()

A)预处理命令行必须位于源文件的开头

B)在源文件的一行上可以有多条预处理命令

C)宏名必须用大写字母表示

D)宏替换不占用程序的运行时间

29、以下叙述中错误的是()

A)在程序中凡是以“#”开始的语句行都是预处理命令行

B)预处理命令行的最后不能以分号表示结束

C)#defineMAX是合法的宏定义命令行

D)C程序对预处理命令行的处理是在程序执行的过程中进行的

30、以下关于宏的叙述中正确的是()

A)宏名必须用大写字母表示

B)宏定义必须位于源程序中所有语句之前

C)宏替换没有数据类型限制

D)宏调用比函数调用耗费时间

31、在文件包含预处理语句(#include)的使用形式中,当之后的文件名用“”(双引号)括起时,寻找被包含文件的方式是()

A)直接按系统设定的标准方式搜索目录

B)先在源程序所在目录搜索,再按系统设定的标准方式搜索

C)仅仅搜索源程序所在目录

D)仅仅搜索当前目录

32、已定义a为int型变量,则对指针变量p的正确定义和初始化的是()

A)int*p=a;

B)int*p=*a;

C)intp=&

a;

D)int*p=&

33、设有定义doublea[10],*s=a;

以下能够代表数组元素a[3]的是()

A)(*s)[3]B)*(s+3)C)*s[3]D)*s+3

34、有如下程序段:

int*p,a=10,b=1;

p=&

a=*p+b;

执行该程序段后,a的值是()

A)12B)11C)10D)编译出错

35、若有定义语句:

 int c[3][5],*p,*q[3];

且0<

=i<

3,则错误的赋值是()

A)p=c;

B)q[i]=c[i];

C)p=c[i];

D)p=&

c[1];

36、若有以下定义:

intx[10],*pt=x;

则对x数组元素的正确应用是()

A)*&

x[10]B)*(x+3)C)*(pt+10)D)pt+3

37、若有定义语句:

doublex[5]={1.0,2.0,3.0,4.0,5.0},*p=x;

则错误引用x数组元素的是()

A)*pB)x[5]C)*(p+1)D)*x

38、有以下程序

有以下程序

{

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

for(p=a;

p<

a+10;

p++)

%d,"

*p);

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

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

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

39、设有以下函数:

void fun(int n,char *s){……}

则下面对函数指针的定义和赋值均正确的是()

A)void(*pf)();

pf=fun;

B)void*pf();

C)void*pf();

*pf=fun;

D)void(*pf)(int,char);

pf=&

fun;

40、下列函数的功能是()

fun(char *a,char *b)

{while((*b=*a)!

='

\0'

){a++;

b++;

} }

A)将a所指字符串赋给b所指空间

B)使指针b指向a所指字符串

C)将a所指字符串和b所指字符串进行比较

D)检查a和b所指字符串中是否有'

41、有以下程序

main()

{ intm=1,n=2,*p=&

m,*q=&

n,*r;

 r=p;

p=q;

q=r;

 printf("

%d,%d,%d,%d\n"

m,n,*p,*q);

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

A)1,2,1,2B)1,2,2,1C)2,1,2,1D)2,1,1,2

42、设有定义语句int(*f)(int);

则以下叙述正确的是()

A)f是基类型为int的指针变量

B)f是指向函数的指针变量,该函数具有一个int类型的形参

C)f是指向int类型一维数组的指针变量

D)f是函数名,该函数的返回值是基类型为int类型的地址

43、在说明一个结构体变量时,系统分配给它的存储空间是()

A)该结构体中第一个成员所需的存储空间

B)该结构体中最后一个成员所需的存储空间

C)该结构体中占用最大存储空间的成员所需的存储空间

D)该结构体中所有成员所需存储空间的总和

44、如有以下定义:

structdate{

intyear;

intmonth;

intday;

};

structworklist{

charname[20];

charsex;

structdatebirthday;

}person;

对结构体变量person的出生年份进行赋值时,下面正确的赋值语句是()

A)year=1985;

B)birthday.year=1985;

C)person.year=1985;

D)person.birthday.year=1985;

45、若有以下说明和定义

uniondt

{inta;

charb;

doublec;

}data;

以下叙述中错误的是()

A)data的每个成员起始地址都相同

B)变量data所占内存字节数与成员c所占字节数相等

C)程序段:

data.a=5;

%f"

data.c);

输出结果为5.000000

D)data可以作为函数的实参

46、设有如下说明

typedefstructST

{longa;

intb;

charc[2];

}NEW;

则下面叙述中正确的是()

A)以上的说明形式非法 B)ST是一个结构体类型

C)NEW是一个结构体类型 D)NEW是一个结构体变量

47、下列关于结构型、共用型、枚举型的定义语句中,正确的是()

A)structss{intx}B)unionuu{intx;

}xx=5;

C)enumee{intx;

};

D)struct{intx;

48、整型变量x和y的值相等、且为非0值,则以下选项中,结果为零的表达式是()

A)x||yB)x|y

C)x&

yD)x

y

49、设inta=2;

表达式(a<

<

2)/(a>

>

1)的值是()

A)0B)2C)4D)8

50、以下叙述中错误的是()

A)gets函数用于从终端读入字符串

B)getchar函数用于从磁盘文件读入字符

C)fputs函数用于把字符串输出到文件

D)fwrite函数用于以二进制形式输出数据到文件

51、以下叙述中错误的是()

A)C语言中对二进制文件的访问速度比文本文件快

B)C语言中,随机文件以二进制代码形式存储数据

C)语句FILEfp;

定义了一个名为fp的文件指针

D)C语言中的文本文件以ASCII码形式存储数据

51、有以下程序

#include"

stdio.h"

voidWriteStr(char*fn,char*str)

{FILE*fp;

fp=fopen(fn,"

W"

fputs(str,fp);

fclose(fp);

{WriteStr("

t1.dat"

"

start"

WriteStr("

end"

}程序运行后,文件t1.dat中的内容是()

A)start B)end C)startend D)endrt

52、若要打开名为abc.txt的文本文件进行追加操作,符合此要求的函数调用是()

A)fopen("

abc.txt"

r"

B)fopen("

w"

C)fopen("

a"

 D)fopen("

rb"

53、在C程序中,可把整型数以二进制形式存放到文件中的函数是()

A)fprintf函数  B)fread函数

C)fwrite函数  D)fputc函数

二、程序(段)填空题

1、下列是评分统计程序,一共有8个评委打分,统计最后得分时,去掉一个最高分和一个最低分,其余6个分数的平均分即为最后得分,请填空。

main()

{floatave,max,min,x[8]={9.2,9.5,9.8,7.4,8.5,9.1,9.3,8.8};

inti;

max=min=①__x[0]____________;

for(i=1;

8;

{if(max<

x[i])

max=x[i];

if(②__min>

x[i]__________)

min=x[i];

}

for(i=0;

ave+=x[i];

ave=③_(ave-min-max)/6_____________;

printf("

average=%f\n"

ave);

2、以下程序实现:

从键盘输入一个字符,若输入为小写字母,则将小写字母变为大写字母并输出,其它字符不予处理。

请填空。

#include<

voidmain()

charc;

inputaword\n"

scanf("

%c"

①____&

c_____);

if(②__c>

a'

c<

z'

____________)//判断是否是小写字母

%c\n"

③__c-32______);

//若是小写字母,则转化为大写字母输出

3、以下程序用来判断指定文件是否能正常打开,请填空。

Main()

if(((fp=fopen("

test.txt"

"

))==①NULL))

未能打开文件!

\n"

);

else

文件打开成功!

4、下列程序的功能是:

求1+1/2+1/3+⋯⋯+1/n的值,不要改变与输入输出有关的语句。

{inti,n;

floatsum;

scanf("

%d"

&

n);

①sum=0;

for(②i=1;

③i<

=n;

sum=④sum+1.0/i;

%.3f\n"

sum);

三、阅读程序并写出运行结果。

1、有以下程序

{

inta=1,b=2,c=3,d=0;

if(a==1&

b++==2)

if(b!

=2||c--!

=3)

%d,%d,%d\n"

a,b,c);

else

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

2、有一下程序

{chargrade;

grade);

switch(grade)

{case'

A'

:

=85"

case'

B'

C'

=60"

break;

D'

60"

default:

error"

}

若输入A,该程序的输出结果为。

3、有以下程序

{intx=1,y=0,a=0,b=0;

switch(x)

{case1:

switch(y)

{case0:

a++;

case1:

b++;

case2:

case3:

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

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

4、有一下程序

longf,f1=1,f2=1;

%ld\t%ld\t"

f1,f2);

3;

{f=f1+f2;

%ld\t"

f);

f1=f2;

f2=f;

5、有一下程序

{intk;

for(k=0;

k<

5;

++k)

{if(k==3)

k);

}

6、有一下程序

inti,j,x=0;

2;

{x++;

for(j=0;

{if(j%2)

continue;

x++;

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

7、有一下程序

{chara[]={'

h'

'

e'

l'

o'

%s"

a);

该程序的输出结果为。

8、有一下程序

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

for(i=0;

i++)

t[2-i][i]);

9、有一下程序

intfun(int,int);

{inta=10,b=9,c;

c=fun(a,b);

c);

intfun(intx,inty)

{intz;

z=x>

y?

x:

return(z);

10、有一下程序

intswap(int,int);

{intx=7,y=11;

swap(x,y);

x=%d,y=%d\n"

intswap(inta,intb)

inttemp;

temp=a;

a=b;

b=temp;

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

11、有一下程序

voidf(int*p,int*q);

{intm=1,n=2,*r=&

m;

f(r,&

%d,%d"

m,n);

voidf(int*p,int*q)

{p=p+1;

*q=*q+1;

12、有一下程序

{inta[3][3],*p,i;

a[0][0];

9;

p[i]=i+1;

a[1][2]);

}该程序执行后的输出结果为是。

四、判断题(对的填√,错的填×

1、C程序中的注释只能出现在程序的开始位置和语句的后面。

()

2、在标准C语言中,语句必须以“;

”结束。

3、关系运算符的优先级高于逻辑运算符。

4、在标准C语言中,数组的下标必须是常量,不允许是表达式。

5、函数的定义和调用都是可以嵌套的。

()

6、对于定义int*p;

则*p是指针变量名。

()

7、C语言中必须用main作为主函数名,程序将从此开始执行,在此结束。

()

8、使用putchar函数时,必须在之前包含头文件stdio.h。

9、在if_else语句中,配对规则是else总是与最近的未配对的if配对。

10、在标准C语言中,二维数组在内存中的存放次序是以行序为主序。

11、C语言中函数声明要以“;

12、内存单元的地址与内存单元中的内容是两个相同的内容。

13、若要处理含有不同类型的相关数据,应自定义结构体类型。

14、共用体变量中的各成员的首地址是不一样的。

15、文件由结构序列组成,可以构成二进制文件或文本文件。

16、文件使用方式“wb+”的含义是为读写打开一个二进制文件。

17、C程序是由函数构成的。

18、在标准C语言中,语句必须以“;

19、关系运算符的优先级低于逻辑运算符。

20、在标准C语言中,数组的下标必须是常量,不允许是表达式。

21、

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

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

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

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