C语言程序设计_第1页
C语言程序设计_第2页
C语言程序设计_第3页
C语言程序设计_第4页
C语言程序设计_第5页
已阅读5页,还剩124页未读 继续免费阅读

下载本文档

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

文档简介

C语言程序设计

1:以下使i的运算结果为4的表达式是:)。

4.inti=Lj=l;

i+=j+=2;

2:设变量n为门oat类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四

舍五人运算的表达式是()。

2.m=n*100+0.5,n=m/100.0

3:若哟于以下说明和语句:

structstudent

{intage;

intnum;

}std,*p;

p=&std;

则以下对结构体变量std中成员age的引用方式不正确的是()o

4.*p.age

4:没有,inta=l,b=2,c=3,d=4,m=2,n=2

执行(m=a>b&&(n=c>d)后n的值为().

2.2

5:C语言结构体类型变量在程序执行期间().

1.所有成员一直驻留在内存中

6:一个c程序的执行是从().

1.main()函数开始,直到main()函数结束

7:在“文件包含”预处理语句的使用形式中,当炯91n6后面的文件名用“”括起时,寻找被包含文件

的方式是()。

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

8:若有以下定义和语句:

uniondata

{inti:

charc;

floatf;

}a;

intn;

则以下语句正确的是()o

2.a=[2,'af,1.2);

9:下面程序段的运行结果是().

for(y=l;y<10;)y=((x=3*y,x+1),x-1);

printf("x=%d,y=%d”,x,y);

3.x=15,y=14

10:表示图中坐标轴上阴影部分的正确表达式是().

////II////I

////II////I

____________________________________________X

A____________bc

3.(x<=a)II(x>=b)&&(x<=c)

11:设有以下语句:

structst

{intn;

structst*next;

);

staticstructsta[3]={5,&a[l],7,&a[2],9,'\0'},*p;

p=&a=[0];

则以下表达式的值为6的是(),.

4.++p->n

12:以下scanf函数调用语句中对结构体变量成员的不正确引用是()。

Stuctpupi1

{charname[20.;

intage:

intsex;

}pup[5,]*p:

P=pup;

4.scanf(w%dw,P->age);

13:以下叙述中不正确的是()o

3.C程序在执行过程中对预处理命令行进行处理

14:在C语言中,一位数组的定义方式为:类型说明符数组名()。

4.[整型常量]

15:

已有如定义和输入语句,若要求al,a2,cl,c2的值分别为10,20,A和B,当从第一列开始输入数据时,

正确的数据输入方式是()。(注:<CR>表示回车)

intal,a2;charcl,c2;

scanf(w%d%d>,,&al,&a2);

scanf(a%c%cn,&cl,%c2);

4.10?20AB<CR>

16:若有以下程序段:

inta[]={4,0,2,3,1),I,j,t;

for(I=li<5;I++)

(t=a[I];j=I-l;

while(j>=O&&t>a[j])

[a[j+I]=a[j];j—;)

a[j+l]=t;}

则该程序段的功能是()o

2.对数组a进行插入排序(降序)

17:fscanf函数的正确调用形式是()。

4.fscanf(文件指针,格式宇符申,揄入表列);

18:

阅读以下程序,当输入数据的形式为:25,13,10<CR>,正确的输出结果为3。

main()

{intx,y,z;

scanf(tt%d%d%dw,&x,&y,&z);

printf(<<x+y+z=%d\n>,,x+y+z);

4.不确定值

19:Mefine能做简单的替代,用宏替代计算多项式4*x*x+3*x+2之值的函数F,正确的宏定义是()。

3.#definef(a)(4*a*a+3*a+2)

20:在C语言中,要求运算数必须是整形的运算符是().

4.%

21:下面程序段的运行结果是()。

char*s=MabcdeM;

s+=2;printf("%d”,s);

3.字符'c,的地址

22:设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是().

4.!(<x<y)&&!zII1)

23:以下for循环是()。

for(x=0,y=0;(y!=123)&&(x<4);x++);

3.执行4次

24:下面四个选项中,均是合法浮点数的选项是().

2.60

12e-4

-8e5

25:下面四个选项中,均是不正确的八进制数或十六进制数的选项是().

4.0al2

7ff

-123

26:下面程序运行结果是().

#include<stdio.h>

main()

{inta=l,b=10;

do

{b-=a;a++;}while(b—<0);

printf("a=%d,b=%d\nw,a,b);

2.a=2,b=8

27:设有以下说明,则下面不正确的叙述是()。

Uniondata

{inti;

charc;

floatf;

}un;

3.un可以作为函数参数

28:以下符合C语言语法的赋值表达式是().

2.d=9+e,f=d+9

29:下面对typedef的叙述中不正确的是().

2.用typedef可以增加新类型

30:下面四个选项中,均是正确的数值常量或字符常量的选项是().

4.+001

Oxabcd

2e2

50.

31:以下不正确的C语言标识符是()o

4.ab.c

32:若有以下说明和语句,则下面表达式中值为1002的是()。

Structstudent

(intage;

intnum;

);

structstudentstu[3]=({1001,20},{1002,19),{1003,21);

structstudent*p:

p=stu;

4.(*++p).age

33:判断char型变量cl是否为小写宇母的正确表达式为().

4.(cl>=,a')&&(cl<=,z')

34:若二维数组a有m列,则在a[i][j]前面的元素个数为()。

2.i*n+j

35:以下对结构体类型变量的定义中不正确的是().

4.struct

intnum;

floatage;

}student;

structstudentstdl;

36;若有代数式,则正确的C语言表达式是()。

1.sqrt(fabs(pow(y,x)+log(y)))

37:以下不是无限循环的愈句为().

1.for(y=0,x=l;x>++y;x=i++)I=x

38:设有以下语句:

charx=3,y=6,z;

z=x\<<2;

则z的二进制值是().

2.00011011

39:已有定义intk=2;int*ptrl,*ptr2;且ptrl和ptr2均已指向变量k,下面不能正确执行的赋值语句

是(〕。

2.ptr2=k;

40:设n=10,i=4、则赋值运算n%=i+l执行后,n的值是().

1.0

41:以下正确的c语言标识符是()。

3.al23

42:若I为整型变量,则以下循环执行次数是().

for(1=2;1=1)printf(w%dw,I—);

2.0次

43:sizeof(float)是()。

2.个整型表达式

44:语句(1,2,3,4)的结果是()。

4.4

45:对下面程序段

ttdefineA3

ftdefineB(a)((A+l)*a)

x=3*(A+B(7));

正确的判断是().

2.x=93

46:fseek函数的正确调用形式是().

2.fseek(fp,位置量,起始点);

47:若有宏定义如下:

ttdcfineX5

ttdefineYX+l

^defineZY*X/2

则执行以下printf语句后,输出结果是(

Inta;a=Y;

Printf(“%d\n”,Z);

Printf("为d\n",—a);

4.75

48:若有宏定义:#defineMOD(x,y)x%y

则执行以下语句后的输出为(

Intz,a=15,b=100:

Z=MOD(b,a);

Printf(u%d\nn,z++);

2.10

49:以下对二维整形数组a的正确说明是()。

3.doublea[l][4];

50:以下程序输出的结果是()

voidmain()

{inta=5,*pl,**p2;

pl=&a,p2=&pl;

(*pl)++;

printf(a%d\nw,**p2);

}

3.6

51:已知x=43,ch=,A',y=0;则表达式(x>=y6&&ch('B'&&!Y)的在值是().

3.1

52:对于for(表达式1;;表达式3)可理解为()

2.for(表达式1:1;表达式3)

53:若要求的值分别为10、20、A、B,正确的数据输入是()o

1.10A20B<CR>

54:以下对C语言中共用体类型数据的叙述正确的是()o

3.一个共用体变量中不可能同时存放其吁有成员

55:若有说明:inta[][4]={0,0};则下面正确的叙述是()。

4.只有元素a0][0]和可得到初值0,其余元素均得不到初值0

56:已知各变量的类型说明如下:

Intk,a,b;

Unsignedlongw=5;

Doublew=l.42;

则以下不符合C语言与法的表达式是().

1.x%(-3)

57:若有定义:inta=7;floatx=205,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是()»

1.2.500000

58:若有以下说明和语句,则对中域的王确引用方式是()。

Structpupil

{charname[20;

intsex;

}pup,*p;

p=&pup;

4.(*p).sex

59:若有以下宏定义:

ftdefineN2

^defineY(n)((N+l)*n)

则执行语句z=2*(N+Y(5));后的结果是(

2.z=34

60:根据定义和数据的输入方式,输入语句的正确形式为()。

己有定义:floatfl,f2;

数据的输入方式:4.52

3.5

2.scanf(a%f%fw,&fl,&f2);

1:以下不是无限循环的愈句为().

1.for(y=0,x=l;x>++y;x=i++)I=x

2:fseek函数的正确调用形式是().

2.fseek(fp,位置量,起始点);

3:

已有如定义和输入语句,若要求al,a2,cl,c2的值分别为10,20,A和B,当从第一列开始输入数据时,

正确的数据输入方式是()。(注:<CR>表示回车)

intal,a2;charcl,c2;

scanf(“%d%d”,&a」,&a2);

scanf(a%c%cv,&cl,%c2);

4.10?20AB<CR>

4:若使用一维数组名作函数实参,则以下正确的说法是().

1.必须在主调函数中说明此数组的大小

5:请读程序

#include<stdio.h>

#defineMUL(x,y)(x)*y

main0

(inta=3,b=4,c;

c=MUL(a++,b++);

printfc);

)

上面程序的输出结果是()o

1.12

6:以下程序的正确运行结果是().

ftinclude<stido.h>

voidnum()

{externintx,y;inta=15,b=10;

x=a-b;

y=a+b;

)

intx,y;

main()

{inta=7,b=5;

x=a+b;

y=a-b;

num();

printf(<<%d,%d\nw,x,y);

}

3.5,25

7:以下程序的输出结果为()o

#definePT5.5

#defineS(x)PT*x*x

main()

{inta=l,b=2;

printf("%4.1\n”,S(a+b)):

}

2.9.5

8:以下使i的运算结果为4的表达式是])。

4.inti=Lj=l;

i+=j+=2;

9:

根据题目中已给出的数据的输入和输出形式,程序中输入输出语句的正确内容是()。

main!)

{intx;floaty;

pringf("enterx,y;")

输入语句

输出语句

)

输入形式enterx,y:23.4

输出形式x+y=5.40

2.scanf(,&x,&y);

printf("\nx+y=%4.2f”,x+y);

2:以下不正确的语句(设有int%4)是()。4.p&&=q;

5:在C语言中,要求运算数必须是整形的运算符是().4.%

13:以下正确的说法是().1.如果在一个函数中的复合语句中定义了一个变量,则该变量只在该复合

语句中有效

18:以下不正确的叙述是()4.当从键盘输入数据时,对于整形变量只能输入整形数值,对于实型变量只

能输入实型数值

20:若要利用下面的程序片段使指针变量p指向一个存储整型变量的存储单元,则[]中应填入的内容

是()。

Int*p;

P=[]malloc(sizeof(int));4.(int*)

37:下列运算符中优先级最高的是().2.十

50:若有说明:int2[][3]={1,2,3,4,5,6,7};则2数组第一维的大小是(2.3)。

10:在“文件包含”预处理语句的使用形式中,当折根日加后面的文件名用“”括起时,寻找被包含文件

的方式是()。

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

55:下面程序的运行结果是().

#include<stdio.h>

main()

{inti,b,k=0;

for(i=l;i<=5;i++)

{b=i%2;

while(b-->=0)k++;

printf(,k,b);4.8,-2

11:编辑程序的功能是()。

1.建立并修改程序

12:

已有程序和输入数据的形式,程序中输入语句的正确形式应当为()。(注:。表示空格,<CR>表示回车)

main()

{inta;floatf;

printf("\nlnputnumber:");

输入语句

printf(u\nf=%f,a=%d\n”,f,a);

Inputnumber:4.5??2<CR>

4.scanf(,&f,&a);

13:设有以下说明:

structpacked

{unsignedone:1;

unsignedtwo:2;

unsignedthree:3;

unsignedfour:4;

}data;

则以下位段数据的引用中不能得到正确数值的是()

1.data,one=4

14:以下可作为函数fopcn中第一个参数的正确格式是()。

4."c\\user\\text.txt”

15:设char*s=w\ta\017bcw;则指针变量s指向的宇符申所占的宇节数是(〉。

3.6

16:以下有关宏替换的叙述不正确的是()o

4.宏名必须用大写字母表示

17:下面有关for循环的正确描述是()

4.for循环体语句中,可以包含多条语句,但要用花括号括起来

18:若二维数组a有m列,则在前面的元素个数为()。

2.i*n+j

19:在一个c源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使

用的存储类别是().

4.static

20:以下程序有错,错误的原因是()o

main()

{int*p,i;char*q,ch;

P=&i;

q=&ch;

*p=40;

*p=*q;

)

4.q虽然指向了具体的存储单元,但该单元中没有确定的值,所以不能执行*p=*q;语句

21:fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是()。

3.读或读写

22:若以“a+”方式打开一个已存的文件,则以下叙述正确的是()。

1.文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作

23:下面程序段的运行结果是()。

char*s="abcde”;

s+=2;printf(“%d”,s);

3.字符'c,的地址

24:

阅读以下程序,当输入数据的形式为:25,13,10<CR>,正确的揄出结果为0。

main()

{intx,y,z;

scanf(“%d%d%d",&x,&y,&z);

printf("x+y+z=%d\n”,x+y+z);

)

4.不确定值

25:设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为。的是().

4.!((x<y)&&!zII1)

26:以下结果为整数的表达式(设有设ti;charcjfloatf;)().

2.i*c

27:没有,inta=l,b=2,c=3,d=4,m=2,n=2

执行(m=a〉b&&(n=c>d)后n的值为().

2.2

28:若有说明语句:charc='\72';则变量c()。

1.包含1个字符

29:逻辑运算符两侧运算对象的数据类型().

4.可以是任何类型的数据

30:在C语言中,要求运算数必须是整形的运算符是().

4.%

31:下面四个选项中,均是合法整形常量的选项是().

1.

160

-Oxffff

011

32:设C语言中,一个int型数据类型在内存中占2个字节,则unsignedint型数据的取值范围为()。

3.0飞5535

33:当说明一个结构体变量时系统分配给它的内存是().

1.各成员所需内存量的总和

34:以下程序的运行结果是()。

ttdefineMAX(A,B)(A)>(B)?(A):(B)

ttdefinePARTY(Y)printf("Y=%d\t",Y)

MainO

(inta=l,b=2,c=3,d=4,t;

T=MAX(a+b,c+d);

PRINT(t);

)

3.Y=7

35:设位段的空间分配由右到左,则以下程序的运行结果是().

structpacked_bit

(unsigneda:2;

unsignedb:3;

unsignedc:4;

int1;

}data;

main()

{data.a=8;data.b=2;

printf("%d\n",data,a+data.b);

)

2.2

36:C语言中while和do-while循环的主要区别是().

1.do-while的循环体至少无条件执行一次

37:若x,y均定义为int型,z定义为double型,以下不合法的scant函数调用语句是().

4.scanf(rt%x%o%6.2f”,&x,&y,&z);

38:有以下定义和语句,则以下引用形式不合法的是()。

Structs

{intil;

structs*i2,iO;

(;

staticstructsa[3]={2,&a[l],*\0*,4,%a[2],&a[0],6,*\O*

*ptr;

ptr=a;

4.ptr->il

39:若以下变量均是整形,且num=sum=7;则计算表达式sUM=num++,sUM++,++num后sum的值为().

1.7

40:一个C语言程序是由(

2.函数组成

41:在C语言中,int^char和short三种类型数据在内存中所占用的字节数()。

4.有所用的机器的机器字长决定

42:设有以下说明,则下面不正确的叙述是().

Uniondata

{inti;

charc;

floatf;

}un;

3.un可以作为函数参数

43:以下scanf函数调用语句中对结构体变量成员的不正确引用是()。

Stuctpupi1

{charname[20.;

intage;

intsex;

}pup[5,]*p:

P二pup;

4.scanf(w%dw,P->age);

44:以下对一维整形数组a的正确说明是()o

4.#defineSIZE10

inta[SIZE];

45;下面四个选项中,均是非法常量的选项是()。

1.

'as'

-Offf

\0xa,

46:判断char型变量ch是否为大写字母的正确表达式是().

3.(ch>=,A')&&{ch<=,V)

47:下面判断正确的是()。

3.char*s=nchina";等价于char*s;s=wchina”;

48:下面程序段的运行结果是()

x=y=0;

while(x<15)y++,x+=++y;

printf(u%d,%d,My'x);

4.8,20

49:若调用fputc函数输出字符成功,则其返回值是()。

4.输出的字符

50:已知函数的调用形式:fread(buffer,size,count,fp);其中buffer代表的是()。

3.一个指针,指向要读入数据的存放地址

51:若有说明:int*pl,*p2,m=5,n;以下均是正确赋值语句的选项是(5

3.pl=&m;p2=pl

52:设inta=04,b;则执行b=a>>l;语句后,b的结果是().

4.2

53:C语言共用体型变量在程序运行期间()。

2.只有一个成员驻留在内存中

54:若有说明:inta[3][4]={0};则下面正确的叙述是()。

4.数组a中每个元素均可得到初值0

55:以下关于运算符优先顺序的描述中正确的是().

3.以赋值运算符V逻辑与运算符V关系运算符〈算术运算符

56:若有语句int*point,a=4;和point=&a;下面均代表地址的一组选项是:)。

4.&a,&*point,point

57:以下正确的描述是()。

3.凡是C源程序中行首以标识的控制行都是预处理指令

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

4.ASCII码

1:设有如下定义:

structsk

{intn;

floatx;

)data,*p;

若要使P指向data中的n域,正确的负值语句的是()。

3.p=(structsk*)&data.n;

2:以下程序的输出结果是()o

Structstu

{intx;

int*y;

)*P;

intdt[4]={10,20,30,40);

structstua[4]={50,&dt[0],60,&dt[1],

70,&dt[2],80,adt[3]

};

main()

{p=a;

printf[“%d,”,++p->x);

printfl"%d,”,(++p)->x);

print/"%d\n”,++(*p->y));

)

3.51,60,21

3:在位运算中,操作数每右移一位,其结果相当于().

2.操作数除以2

4:若使用一维数组名作函数实参,则以下正确的说法是().

1.必须在主调函数中说明此数组的大小

5:对于for(表达式1;;表达式3)可理解为()

2.for(表达式1:1;表达式3)

6:以下结果为整数的表达式(设有inti;charc;floatf;)().

2.i*c

7:表示图中坐标轴上阴影部分的正确表达式是().

////II////I

////II////I

_________________________________________X

A___________bc

3.(x<=a)II(x>=b)&&(x<=c)

8:没有,inta=l,b=2,c=3,d=4,m=2,n=2

执行(m=a>b&&(n=c>d)后n的值为().

2.2

9:若x,y均定义为ini型,z定义为double型,以下不合法的scanf函数调用语句是().

4.scanf(w%x%o%6.2f”,&x,&y,&z);

10:在C语言中,一位数组的定义方式为:类型说明符数组名()。

4.[整型常量]

11:已知函数的调用形式:fread(buffer,size,count,fp);其中buffer代表的是()。

3.一个指针,指向要读入数据的存放地址

12:请读程序:

^defineADD(x)x+x

mainO

(

intra=1,n=2,k=3;

intsum=ADD(m+n)*k;

printf(<<sum=%dw,sum);

)

上面程序的运行结果是()o

2.sum=10

13:在位运算中,操作数每左移一位,其结果相当于().

1.操作数乘以2

14:若有以下宏定义:

^defineN2

ttdcfineY(n)((N+l)*n)

则执行语句z-2*(N+Y(5));后的结果是(

2.z=34

15:以下不是无限循环的愈句为().

1.for(y=0,x=l;x>++y;x=i++)I=x

16:以下scanf函数调用语句中对结构体变量成员的不正确引用是()。

Stuctpupil

{charname[20";

intage;

intsex;

)pup[5,]*p;

P=PUP;

4.scanf(,P->age);

17:若有代数式3ae/bc,则不正确的C语言表达式是()

3.3*a*e/b*c

18:判断char型变量cl是否为小写字母的正确表达式为().

4.(cl>=,a')&&(cl<=,z')

19:以下正确的描述是()o

3.凡是C源程序中行首以“#"标识的控制行都是预处理指令

20:在C语言中,要求运算数必须是整形的运算符是().

4.%

21:在C语言中,引用数组元素时,其数组下标的数据类型允许是()

3.整型常量或整型表达式

22:若有以下说明和语句,则对中域的王确引用方式是()。

Structpupil

{charname[20;

intsex;

}pup,*p;

p=&pup;

4.(*p).sex

23:以下使i的运算结果为4的表达式是()。

4.inti=l,j=l;

i+=j+=2;

24:以下可作为函数fopen中第一个参数的正确格式是()。

4."c\\user\\text.txt”

25:设变量a是整型,f是实型,1是双精度型,则表达式10+'a'+i*f值的数据类型为()。

3.double

26:利用fseek函数的正确调用形式是().

4.以上答案均正确

27:函数调用语句:fseek(fp,-20L,2);的含义是().

3.将文件位置指针从文件末尾出向后退20个字节

28:在16位IBM-PC机上使用C语言,若有如下定义:

structdata

(inti;

charch;

doublef;

}b;

则结构变量b占用内存的字节数是().

4.4

5:以下程序段中存在错误的是()o4.#definePI3.14159

^defineS(r)PI*(r)*(r)

10:以下程序的运行结果是()。

^include"stdio.h"

main()

{union{longa;

intb;

charc;

(m;

printf(a%d\nw,sizeof(m));

)

2.4

........14:

以下程序的正确运行结果是(D).

ftdefineMAX10

inta[MAX],I;

main()

{printf(w\nw);subl();sub3(a);sub20;sub3(a);

)

sub2()

{inta[MAX],I,max;

max=5;

for(1=0;I<max;I++)a[I]=I;

}

subl()

{for(I=0;I<MAX;I++)a[j]=I+l;

)

sub3(inta[])

{intI;

for(I=0;I<MAX;I++)printf(u%dn,a[I]);

printf(“\n");

)

4.024681012141618

024681012141618

17:以下程序的输出结果为()<.

#include<stdio.h>

#define(y)3.84+y

ttdefinePR(a)printf(^d*,(int)(a))

ttdcfincPRINT(a)PR(a);putchar(\Jn')

main()

(intx=2;

PRINTF(F(3)*x));

}2.9

18:以下不正确的定义语句是()。2.inty[5]={0,l,3,5,7,9);

26:若有说明:inta[3][4];则对a数组元素的非法引用是()。4.a[0][4]

27:C语言用()表示逻辑“真”值。3.非零整数值

35:下面四个选项中,均是不合法转义字符的选项是().2.'\1011'

41:以下描述正确的是().3.在do-while循环体中,一定要有能使while后面表达式的值变成零("假”)

57:已知学生记录描述为

structstudent

{intno;

charname[20];

charset;

struct

{intyear;

intmonth;

intday;

Jbirth;

};

structstudents;

设变量s中的“生日”应是“1984年11月11日”,下列对生日的正确4.s.birth.year=1984;

s.birth.month=ll;

s.birth.day=l1;

Area=S(a);

29:以下正确的定义语句是()。

4.doubley[][3]={0};

30:下面程序()。(每行程序前面的数字表示行号)。

1mainO

2{

3inta[3]={3*0};

4inti;

5for(i=0;i<3;i++)scanf(*%d*,&a[i]);

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

7printf(*%d\n//,a[0]);

8}

1.第3行有错误

31:若要求的值分别为10、20、A、B,正确的数据输入是()。

1.10A20B<CR>

32:若有语句int*point,a=4;和point二&a;下面均代表地址的一组选项是:)。

4.&a,&*point,point

33:以下程序的运行结果是()

#include”stdio.hn

defineFUDGE(y)2.84+y

ftdcfinePR(a)printf(,(int)(a))

ftdefinePRINT1(a)PR(a);putchar(*\nf)

main()

{intx=2;

PRINTl(FUDGE(5)*x);

2.12

34:在16位IBM-PC机上使用C语言,若有如下定义:

uniondata

{inti;

charch;

doublef;

}b;

则共用体变量占用内存的字节数是().

3.8

35:C语言结构体类型变量在程序执行期间().

1.所有成员一直驻留在内存中

36:己有定义intk=2;int*ptrl,*ptr2;且ptrl和ptr2均已指向变量k,下面不能正确执行的赋值语句

是(工

2.ptr2=k;

37:以下对结构体变量stul中成员age的非法引用是()。

Structstudent

{intage;

intnum;

}stul,*p;

p=&stul;

2.student,age

38:

已有程序和输入数据的形式,程序中输入语句的正确形式应当为()。(注:。表示空格,<CR>表示回车)

main()

{inta;floatf;

printf(w\nInputnumber:;

输入语句

printf(**\11£=%£,a=%d\nw,f,a);

Inputnumber:4.5??2<CR>

4.scanf(f,%d",&f,&a);

39:在一个c源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使

用的存储类别是().

4.static

40:语句while(!e);中的条件!e等价于()。

1.e==0

41:如果a=l,b=2,c=3,d=4,则芸件表达式aVb?a:c<d?c:d的值为().

1.1

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

4.ASCII码

43:以下叙述中正确的是()。

3.宏替换不占用运行时间,只占编译时间

44:设有以下结构体类型:structst;charname[8];intnum;floats[4];}student[50];并且结

构体数组student中的元素都已有值,若要将这些元素写到硬盘文件fp中,以下不正确的形式是()。

3.fwrite(student,25*sizeof(structst),25,fp);

45:已知各变量的类型说明如下:

Intk,a,b;

Unsignedlongw=5;

Doublew=l.42;

则以下不符合C语言与法的表达式是().

1.x%(-3)

46:以下对二维整形数组a的正确说明是()。

3.doublea[l][4];

47:若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假则以下不能

满足要求的表达式是().

3.!(A%2)

48:以下正确的叙述是().

4.在C程序中,外是只能用于正数运算的运算符

49:设有以下语句:

charx=3,y=6,z;

z=x*y«2;

则z的二进制值是().

2.00011011

50:有以下定义和语句,则以下引用形式不合法的是()。

Structs

{intil;

structs*i2,iO;

);

staticstructsa[3]={2,&a[l],9\0',4,%a[2],&a[0],6,f\0',&a[l]},

*ptr;

ptr=a;

4.ptr->il

51:设有说明:charw;intx;floaty;doublez;则表达式w*x+z-y值的数据类型为()。

4.double.

52:下面程序段的运行结果是().

for(y=l;y<10;)y=((x=3*y,x+l),x-l);

printf("x=%d,y=%d”,x,y);

3.x=15,y=14

53:若有说明:int*p,m=5,n;以下正确的程序段是()。

4.p-&n;

*p=m

54:一个C语言程序是由()o

2.函数组成

55:fwrite函数的一般调用形式是()。

4.fwrite(buffer,size,count,fp);

56:当顺利执行了文件关闭操作时,fclose函数的返回值是()。

3.0

57:下列四组选项中,均不是C语言关键字的选项是().

1.define

if

type

58:若有定义:inta=7;floatx=205,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是()。

1.2.500000

59:根据定义和数据的输入方式,输入语句的正确形式为()。

己有定义:floatfl,f2;

数据的输入方式:4.52

3.5

2.scanf("%f%f”,&f1,&f2);

60:下面程序段的运行结果是()

intn=0;

while(n++<=2);printf(u%dw,n);

3.4

1:设有说明:charw;intx;floaty;doublez;则表达式w*x+z-y值的数据类型为()。

4.double.

2:设C语言中,一个int型数据类型在内存中占2个字节,则unsignedint型数据的取值范围为()。

3.0~65535

3;若有以下定义和语句;

structstudent

{intage;

intnum;

);

structstudentstu[3]={{1001,20},{1002,19],{1003,21}};

main()

{structstudent*p;

p=stu;

•••••

则以下不正确的引用是()。

4.p=&stu.age

4:下面程序()o(每行程序前面的数字表示行号)。

1main()

2(

3inta[3]={l};

4inti;

5scanf(绘d”,&a);

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

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

8)

4.5

5:下列四个选项中,均是C语言关键字的选项是()。

2.switch

typedef

continue

6:若有说明:inta[3][4];则对a数组元素的正确引用是(

3.+

7:若调用fputc函数输出字符成功,则其返回值是()。

4.输出的字符

8:已有变量定义和函数调用语句:inta=25;print_value(&a);下面函数的正确输出结果是()。

voidprint_value{int*t)

{print(w%d\nw,++*x);}

4.26

9:若有说明:inta口[4]={0,0};则下面正确的叙述是()。

4.只有元素a0][0]和a[0][1]可得到初值0,其余元素均得不到初值0

10;下面有关for循环的正确描述是().

4.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来。

11:以下能正确计算1*2*3*……*10的程序是().

3.i=l;s=l;

do{s=s*i;

i++;

}while(i<=10);

12:以下不能对二维整形数组a进行正确初始化的语句是()。

3.inta[2][3]={{l,2},{3,4},{5,6}};

13:以下for循环是()。

for(x=0,y=0;(y!=123)&&(x<4);x++);

3.执行4次

(4分)以下不正确的说法为().D.在函数内定义的变量只在本函数范围内有效

14:若使用一维数组名作函数实参,则以下正确的说法是().

1.必须在主调函数中说明此数组的大小

15:凡是函数中未指定存储类别的局部变量,其隐含的存储类别为().1.自动(auto)

16:使用typedef定义一个新类型的正确步骤是()。

3.2,1,4,3

17:设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是().

4.!((x<y)&&!zII1)

18:下面四个选项中,均是合法浮点数的选项是().

2.-60

12e-4

-8e5

19:设char*s="\ta\017bc";则指针变量s指向的字符串所占的字节数是(

3.6

20:在一个c源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使

用的存储类别是().

4.static

21:以下程序的输出结果为()。

#definePT5.5

#defineS(x)PT*x*x

main()

{inta=l,b=2;

printf("%4.l'n”,S(a+b));

2.9.5

22:若执行fopen函数时发生错误,则函数的返回值是()。

2.0

23:下面有关for循环的正确描述是()

4.for循环体语句中,可以包含多条语句,但要用花括号括起来

24:以下程序段().

x=一F1;do{x=x*x;)while(!x);

温馨提示

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

评论

0/150

提交评论