admin 管理员组

文章数量: 1086019


2024年12月30日发(作者:周期函数的傅里叶变换公式)

第一章

1、一个C程序可能出现的错误有(A)

A,以上都包括

B,逻辑错误

C,运行错误

D,语法错误

2、C程序中一般可以包含几个函数(D)

A.1个

B.多个

C.0个

D.至少一个

3.C语言属于程序设计语言的哪个类别(B)

A.机器语言

B.高级语言

C.面向对象语言

D.汇编语言

4.以下关于C语言描述错误的是(B)

A.一个C程序总是从main函数开始执行

B.一个C程序可以包含多个main函数

C.每个语句的最后必须有一个分号

D.C语言的注释符是以"/*"开始并以"*/"结束

1 / 35

5、在调试过程中,逻辑错误是指(C)

A.所书写的语句,不符合C的语法。

B.在从obj生成exe文件的过程中,如果函数名书写错误,可能产生的错

误。

C.程序的运行结果不符合题目要求。

D.在exe文件的执行过程中,产生运行异常。

第二章

1、16位的二进制数可以表示的整数的范围是(C)

A.[-32768,32768]

B.[-32767,32768]

C.[-32768,32767]

D.[-32767,32767]

2、C语言中的实型数据包括(A)

和double

和float

和char

和double

3、以下不合法的字符常量是(C)

A.'2'

B.'A'

C.'ab'

2 / 35

D.'n'

4、在以下各组标识符中,均是合法的C语言标识符是(A)

,A_4d,_student,xyz_abc

,12-a,a_b,ab5.x

C.A_4d,_student,xyz_abc,if

,a_b,union,scan

5、若有定义:chara;intb;floatc;doubled;

则表达式a*b+d-c值的类型为(A)

6、类型修饰符unsigned不能修饰(D)

t

7、若有定义:doublex=1,y;

执行语句,则y的值是(B)

A,1

B,2.0

3 / 35

C,2

D,2.5

8、设inta=1,b=2;以下选项中不正确的语句是(B)

A.a=a+b

B.a*3=3

C.a+=3

D.a/=1

9、在C语言中,要求参加运算的数必须是整数的运算符是(C)

A.*

B./

C.%

D.++

10、设有定义:inta=7;floatx=2.5,y=4.7;

则表达式的值是(D)

A,3.5

B,2.75

C,0.0

D,2.5

第三章

1、执行以下程序后k的值是(C)

inti,j=10,k=0;

4 / 35

for(i=0;i<=j;i++)

{k=i+j;j--;}

A.9

B.8

C.10

D.11

2、2、设inta=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为

(C)A.3

B.1

C.2

D.0

3、表示y在(-∞,3]和[23,+∞)范围内为真的表达式为(A)

A.(y<=3)||(y>=23)

C.(y<3)||(y>23)

C.(y<=3)&&(y>=23)

D.(y<3)&&(y>23)

4、设有以下程序,若要使程序的输出值为2,则应该从键盘给n输入的值

是(D)voidmain()

{ints=0,a=1,n;

scanf("%d",&n);

do

{s=s+1;

5 / 35

a=a-2;

}while(a!=n);

printf("%d",s);

}

A.-5

B.0

C.-1

D.-3

5、对下面程序段,描述正确的是(D)

for(t=1;t<=100;t++)

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

if(x<0)continue;

printf("%d",x);

}

A.当x>=0时,什么也不输出

函数永远也不执行

C.当x<0时,整个循环结束

D.最多允许输出100个非负整数

6、已知intx=10,y=20,z=30;

则执行以下语句后x、y、z的值是(A)

if(x>y)

6 / 35

z=x;

x=y;

y=z;

A.x=20,y=30,z=30

B.x=20,y=30,z=10

C.x=20,y=30,z=20

D.x=10,y=20,z=30

7、设有声明语句:inta=1,b=0;

则执行以下语句后输出结果为(A)

switch(a)

{case1:

switch(b)

{case0:printf("**0**");break;

case1:printf("**1**");break;

}

case2:printf("**2**");break;

}

A.**0****2**

B.有语法错误

C.**0****1****2**

D.**0**

7 / 35

8、以下程序段的输出结果是(B)

intx=5;

if(x--<5)printf("%d",x);

elseprintf("%d",x++);

A.6

B.4

C.5

D.3

9、算法描述可以有多种表达方法,下面(C)方法不可以描述算法

A.自然语言

B.伪代码

C.机器语言

D.N-S图

10、for(i=j=0;i<10&&j<8;i++,j+=3)控制的循环体执行的次数是(C)A.2

B.8

C.3

D.9

第四章

1、包含标准库函数scanf声明的头文件是(B)

.h

.h

8 / 35

.h

.h

2、以下关于函数的叙述中正确的是(C)

A.C语言程序将从源程序中第一个函数开始执行

B.可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行

C.C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束

可作为用户标识符,用以定义任意一个函数

3、以下正确的函数定义是(A)

fun(intx,inty){doublez;z=x+y;returnz;}fun(intx,inty){z=x+y;retur

nz;}

(x,y){intx,y;doublez;z=x+y;returnz;}

(intx,y){intz;returnz;}

4、C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是

(D)A.地址传递

B.由用户指定传递方式

C.由实参传给形参,再由形参传回实参

D.单向值传递

5、以下正确的描述是(A)

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

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

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

D.函数的定义和函数的调用均不可嵌套

9 / 35

6、以下关于函数的叙述中不正确的是(C)

A.C程序是函数的集合,包括标准库函数和用户自定义函数

B.在C语言程序中,函数的定义不能嵌套

C.在C语言程序中,被调用的函数必须在main函数中定义

D.在C语言程序中,函数的调用可以嵌套

7、下列程序的运行结果是(D)

#include

voidfun();

intmain()

{

inta=10;

fun();

printf("]",a);

return0;

}

voidfun()

{

inta=20;

printf("]",a);

}

A,2020

10 / 35

B,1020

C,1010

D,2010

8、下列程序的运行结果是(D)

#include

intfun1(intx);

voidfun2();

intx=5;

intmain()

{

intx=1;

x=fun1(x);

printf("%d",x);

return0;

}

intfun1(intx)

{

x++;

fun2();

returnx;

}

11 / 35

voidfun2()

{

x++;

}

A.7

B.5

C.6

D.2

9、以下不正确的说法是(C)

A.在函数内定义的变量只在本函数范围内可以使用

B.形式参数是局部变量

C.在主函数内定义的变量可在其余函数中通用

D.在不同函数中可以使用相同名字的变量

10、下列程序的运行结果是()

#include

voidfun();

inta=5;

intmain()

{

inta=10;

fun();

12 / 35

printf("]",a);

return0;

}

voidfun()

{

a=a+5;

printf("]",a);

}

A.55

B.105

C.510

D.1010

第五章

1、利用冒泡排序得到升序排列,每一趟中从前到后遍历数组,将相邻两个

数作比较,如果前面的数小于后面的数,则(C)。

A.将当前数据后移

B.交换两个数的位置

C.不做操作

D.将当前数据前移

2、在定义intm[][3]={1,2,3,4,5,6};后,m[1][0]的值是(C)。

A.2

13 / 35

B.1

C.4

D.5

3、若给出以下定义:

charx[]="abcdefg";

chary[]={'a','b','c','d','e','f','g'};

则正确的叙述为(C)。

A.数组x和数组y等价

B.数组x和数组y的长度相同

C.数组x的长度大于数组y的长度

D.数组x的长度小于数组y的长度

4、函数调用语句为:

inta[10],maxnum;

maxnum=max(a);

函数定义首部应为(B)。

max(intb[])

(intb[])

(inta)

(intb)

5、若有定义:intb[3][4]={0};则下述正确的是(D)。

14 / 35

A.没有元素可得初值0

B.数组b中各元素可得初值但值不一定为0

C.此定义语句不正确.

D.数组b中各元素均为0

6.C语言中,由固定数目的同类型的变量按一定顺序排列而构成的是

(A)。

A.数组

B.结构体

C.链表

D.队列

7、冒泡排序中,若有n个数,第一趟最多需要比较(C)次。

A.n

B.2(n-1)

C.n-1

D.2n

8.当数据已知的情况下,可以在定义数组时,对数组进行初始化,但不可

(A)。

A.在方括号中写入变量表达式

B.对数组元素赋同一初值

C.对部分元素赋初值

D.对全部元素赋初值

15 / 35

9、数组元素下标可从(0)开始。

A.用户指定

B.1

C.任意自然数

D.0

10、若不允许函数修改数组元素,则可以用(A)限定符作为数组参数的前

缀,这样数组元素就成为函数中的常量。

e

第六章

1、在16位系统中,定义以下结构体类型

structs

{

inta;

charb;

floatf;

};

则语句printf("%d",sizeof(structs))的输出结果为(B)。

A.4

16 / 35

B.7

C.3

D.6

2、

以下选项中不能正确把cl定义成结构体变量的是(B)。

color

{intred;

intgreen;

intblue;

}cl;

colorcl

{intred;

intgreen;

intblue;

};

{intred;

intgreen;

intblue;

}c1;

fstruct

17 / 35

{intred;

intgreen;

intblue;

}COLOR;

COLORcl;

3、结构体变量整体作函数参数时,以下说法正确的是(D)。

A.以上说法都不对

B.结构体变量整体不能做形参

C.结构体变量整体不能做实参

D.实参结构体变量和形参结构体变量的类型应当一致

4、已知字符'0'的ASCII码为十六进制的30H,下面程序的输出是(D)。

voidmain()

{union{unsignedcharc;

unsignedinti[4];

}z;

z.i[0]=0x39;

z.i[1]=0x36;

printf("%cn",z.c);}

A.3

B.0

C.6

18 / 35

D.9

5、在下面的叙述中,不正确的是(A)。

A.枚举常量的值可以是整数或字符串

B.枚举变量只能取对应枚举类型的枚举常量表中的元素

C.可以在定义枚举类型时对枚举常量进行指定表示的值

D.枚举常量表中的元素有先后次序,可以进行比较

第七章

1、程序编译后,对变量的访问时通过(B)来进行的。

A.变量名

B.地址

C.文件

D.函数

2、若int*p[4],则p的含义是(A)。

A.指针数组

B.指向一维分数组的指针

C.整型变量

D.指向整型的指针

3、请正确的填充语句:voidmain(intargc,char

A.*argv[]

[]

19 / 35

D.**argv[]

4、inta[10],*p;则让p指向数组的首地址的是(C)。

A.*p=a

B.p=a[0]

C.p=&a[0]

D.a=p

5、inta[3][5],*p;

p=a[0];

则p++后的值代表了(D)。

A.第二行的首地址

B.第一个元素的首地址

C.第一个元素的值

D.第一行第二个元素的首地址

6、定义p为指向函数的指针变量,应该采用(D)方式。

*p(int*x);

(int*x);

(intx);

(*p)(intx);A))。

7、获取指针变量所指向的值,用的运算符是(B)。

A.&

20 / 35

B.*

C.%

D.!

8、系统根据(B)为变量分配内存单元。

A.大小

B.类型

C.名称

D.数据

9、程序编译后,对变量的访问时通过(D)来进行的。

A.文件

B.函数

C.变量名

D.地址

10、inta[5]={10,20,30,40,50},*p=a;

printf("%dn",*p+1);

结果是(C)。

A.10

B.20

C.11

D.21

第八章

21 / 35

1、将文件分为ASCII码文件和二进制码文件两种,是从文件的(C)来区分

的。

A.存盘方式

B.读写方式

C.编码方式

D.打开方式

2、文本文件在磁盘存放时,每个字符对应一个字节,用来存放(

A.字符

B.数字

D.二进制

3、文件操作流程中的最后一个步骤是(C)文件。

A.存储

B.读取

C.关闭

D.打开

4、文件的变量类型名是(D)。

22 / 35

C)码。

5、在fopen函数中,“rb”表示为输入打开一个(A)文件。

A.二进制

B.头文件

C.文本

D.目标文件

散乱的:

3、下列数据类型的精度由高到低的顺序是(B)

,double,int,long

,float,int,char

,long,double,float

,long,float,int

5、C语言中符号常量定义的关键字是(D)

e

6、表达式3.6-的值是(D)

A,4.3

B,4.8

C,3.3

D,3.8

23 / 35

7、以下选项中非法的表达式是(D)

A.0<=x<100

B.i=j==0

C.(char)(x<100)

D.x+1=x+1

8、若变量a为int类型,且其值为3,则执行表达式a+=a-=a*a后,a的值

是(C)A.-3

B.9

C.-12

D.6

9、有输入语句:scanf("a=%d,b=%d,c=%d",&a,&b,&c);为使变量a的值为1,

b的值为3,c的值2,正确的数据输入方式是(D)

A.132

B.1,3,2

C.a=1b=3c=2

D.a=1,b=3,c=2

10、函数putchar()可以向终端输出一个(B)

A.字符串

B.字符或字符型变量的值

C.整型变量的值.

D.实型变量的值

11、下列运算符中,优先级从高到低依次为(D)

24 / 35

A.&&!||

B.||&&!

C.&&||!

D.!&&||

11、表达式!x等效于(B)

A.x==1

B.x==0

C.x!=1

D.x!=0

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

voidmain()

{inta=0,b=1,c=0,d=20;

if(a)d=d-10;

elseif(!b)

if(!c)d=15;

elsed=25;

printf("%d",d);

}

(2.5分)

A.15

B.25

25 / 35

C.20

D.10

14、以下程序段的输出结果是(A)

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

switch(x)

{case0:b++;

case1:a++;

case2:a++;b++;

}

printf("a=%d,b=%dn",a,b);

A.a=2,b=1

B.a=1,b=1

C.a=1,b=0

D.a=2,b=2

15、设有如下程序,则程序的输出结果是(B)

intk=1,s=0;

while(s<10)

{s=s+k*k;k++;}

printf("%d",k);

A.3

B.4

26 / 35

C.5

D.6

16、以下程序段的输出结果是(C)

intk,n;

for(k=1;k<=5;k++)

{n=k*k;

if(n<10)continue;

elseprintf("%d",n);

}

A.149

B.1491625

C.1625

D.因循环终止,没有任何输出结果

17、以下正确的函数原型声明是(C)

fun(intx,inty)

fun(intx;inty)

fun(intx,inty);

fun(intx,y)

18、下列程序的输出结果是(C)

intfun(inta,intb,intc)

{c=a*b;

27 / 35

returnc;}

intmain()

{intc=5;

c=fun(2,3,c);

printf(“%dn”,c);

return0;

}

A.0

B.1

C.6

D.5

19、以下不正确的说法是,C语言规定(B)

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

B.形参可以是常量、变量或表达式

C.实参可以是任意类型

D.实参应与其对应的形参类型一致

22、下列程序的运行结果是(C)

#include

voidfun(intx);

intmain()

{

28 / 35

fun(7);

printf("");

return0;}

voidfun(intx)

{

if(x/2>1)

fun(x/2);

printf("-",x);

}

A.35

B.27

C.37.

D.25

23、以下数组定义中,(D)是错误的

[7];

B.#defineN5

longb[N];

[5];

,d[n];

24、执行下面程序,输出结果是(B)

#include

29 / 35

voidmain()

{

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

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

a[i]=i*(i+1);

for(i=0;i<4;i++)

j+=a[i]*3;

printf("%d",j);

}

A.33

B.63

C.123

D.48

25、

执行下面程序,输出结果是(C)

#include

voidmain()

{

inti,j,k=0,a[3][3]={1,2,3,4,5,6};

for(i=0;i<3;i++)

for(j=0;i<3;j++)

30 / 35

k+=a[i][j];

printf("%d",k);

}

A.21

B.19

C.17

D.18

26、执行下面程序,输出结果是(B)

#include

voidmain()

{

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

for(i=1;i<9;i++)

a[i]=a[i-1]+a[i+1];

printf("%d%d",a[5],a[7]);

}

A.1014

B.2035

C.812

D.2744

27、设有charstr[]="Shanghai";

31 / 35

则执行printf("%dn",strlen(strcpy(str,"Shanxi")));后的输出结果为(C)

A.14

aiShanxi

C.6

28、若有定义和语句:chars[10]=”abcd”;printf(“%sn”,s);则结果是(以下u

代表空格)(A)

A.输出abcd

B.输出a

C.输出abcduuuuuu

D.编译不通过

29、当定义一个结构体变量时,系统为它分配的内存空间是(D)

A.结构体中一个成员所需的内存容量

B.结构体中第一个成员所需的内存容量

C.结构体中占内存容量最大者所需的容量

D.结构体中各成员所需内存容量之和

30、根据下面的定义,能打印出字母P的语句是(C)

structperson

{charname[9];

intage;};

structpersonclasses[10]={"John",17,"Paul",19,"Mary",18,,16};

32 / 35

("%cn",classes[2].name);

("%cn",classes[2].name[1]);

("%cn",classes[1].name[0]);

("%cn",classes[1].name[1]);

31、设有以下语句

typedefstructS

{intg;

charh;}T;

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

A.可以用S定义结构体变量

B.可以用T定义结构体变量.

C.S是struct类型的变量

D.T是structS类型的变量

32、有以下程序:

#includeunionpw

{inti;"Adam"charch[2];}a;

voidmain()

{[0]=13;

[1]=0;

printf("%dn",a.i);}

程序的输出结果是(A)

33 / 35

A.13

B.14

C.208

D.209

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

(D)A.a,point,*&a

B.&*a,&a,*point

C.*&point,*point,&a

D.&a,&*point,point

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

A.p=&n;scanf("%d",&p);

B.p=&n;scanf("%d",*p);

("%d",&n);*p=n;

D.p=&n;*p=m;

35、对二维数组inta[3][4]来说,第i行第j列的元素值可以用(C)来表示

A.*(a+i)+j

B.a[i]+j

C.*(*(a+i)+j)

D.&a[i][j]

36、inta[5]={10,20,30,40,50},*p=&a[2];

printf("%dn",*p+1);

结果是(B)

34 / 35

A.10

B.31

C.20

D.21

37、程序段char*s="abcde";s+=2;printf("%s",s);的运行结果是(A)

B.c

.

38、标准库函数fgets(s,n,f)的功能是(B)

A.从文件f中读取长度为n的字符串存入指针s所指的内存

B.从文件f中读取长度不超过n-1的字符串存入指针s所指的内存

C.从文件f中读取n个字符串存入指针s所指的内存

D.从文件s中读取长度为n-1的字符串存入指针f所指的内存

40、在C中,如果要打开C盘ccw目录下,名为“”的二进制文件用

于读和追加写,则调用打开文件函数的格式为(D)

("c:","ab")

("c:","ab+")

("c:","wb+")

("c:","ab+")

35 / 35


本文标签: 函数 变量 程序