C语言综合练习题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、下列叙述中错误的是(A)。

A.一个C语言程序只能实现一种算法

B.C程序可以由多个程序文件组成

C.C程序可以由一个或多个函数组成

D.一个C函数可以单独作为一个C程序文件存在

2、以下叙述中正确的是(C)。

A.C程序的基本组成单位是语句

B.C程序中的每一行只能写一条语句

C.简单C语句必须以分号结束

D.C语句必须在一行内写完

3、以下叙述中正确的是(C)。

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

B.C程序书写格式严格,要求一行内只能写一个语句

C.C程序书写格式自由,一个语句可以写在多行上

D.用C语言编写的程序只能放在一个程序文件中

4、按照C语言规定的用户标识符命名规则,不能出现在标识符中的是(B)。

A.大写字母 B.连接符

C.数字字符 D.下划线

5、下列定义变量的语句中错误的是(D)。

A.int _int; B.double int_;

C.char For; D.float USS

6、以下选项中不能作为C语言合法常量的是(A)。

A.´cd´ B。 0.1c+6

C.〞\a〞 D.´\011´

7、以下选项中不属于字符常量的是 (B)。A.'C' B."C" C.'\xCC0' D.'\072' 8、下列常量哪个是不合法的(B)。

A.0x4d00 B.‘BASIC’

C.‟\\‟D.“/045”

9、以下4组用户定义标识符中,全部合法的一组是(A)。

A._main B.If C.txt D.int enclude -max REAL k_2 sin turbo 3COM _001 10、以下选项中不属于字符常量的是(B)。A.'C' B."C" C.'\xCC' D.'\072' 11、下列变量名中哪个是不合法(C)。A.Turbo_C B.vc C.int D._2ab 12、设变量已正确定义并赋值,以下正确的表达式是(B)。

A.b=3++ B.x=2,++y

C.a=14%3.3 D.x=y+3=2

13、以下定义语句中正确的是 (D)。

A.int a=b=0 ; B.char A=65+1,b='b'; C.float a=1,*b=&a,*c=&b ;

D.double a=0.0,b=1.1;

14、以下选项中正确的定义语句是(C)。A.double a;b; B. double a=b=7 C.double a=7,b=7; D.double,a,b;

15、以下不能正确表示代数式2ab/cd 的C

语言表达式是(D)。

A.2*a*b/c/d B.a*b/c/d*2

C.a/c/d*b*2 D.2*a*b/c*d

16、若变量x、y已正确定义并赋值,以下

符合C语言语法的表达式是(A)。

A.++x,y=x-- B.x+1=y

C.x=x+10=x+y D.double(x)/10

17、以下关于逻辑运算符两侧运算对象的叙

述中正确的是(D)。

A.只能是整数0或1

B.只能是整数0或非0的整数

C.可以是结构体类型的数据

D.可是任意合法的表达式

18、若有定义int x,y;并已正确给变量赋

值,则以下选项中与表达式(x-y)?(x++):

(y++)中的条件表达式(x-y)等价的是(C)。

A.(x-y>0) B.(x-y<0)

C.(x-y<║x-y>0) D.(x-y==0)

19、设有定义:int k=0;,以下选项的四个

表达式中与其他三个表达式的值不相同的

是(A)。

A.k++ B.k+=1 C.++k D.k+1

20、若以下选项中的变量已正确定义,则正

确的赋值语句是(C)。

A.x1=26.8%3 B.1+2=x2

C.x3=0x12 D.x4=1+2=3;

21、执行以下程序段后,w的值为(C)。

int w=´A´,x=14,y=15;

w=((x||y)&&(w<´a´));

A. -1 B.NULL C.1 D. 0

22、当变量c的值不为2、4、6时,值也为“真”的表达式是 (B)。

A.(c==2)‖(c==4)‖(c==6)

B.(c>=2&&c<=6)‖(c!=3)‖(c!=5)

C.(c>=2&&c<=6)&&!(c%2)

D.(c>=2&&c<=6)&&(c%2!=1)

23、设有以下定义

int a=0;

double b=1.25;

char c=‟A‟;

#define d 2

则下面语句中错误的是(D)。

A.a++; B.b++ C.c++; D.d++;

24、若有以下函数首部

int fun(double x[10],int *n)则下面针对此函数声母语句中正确的是 (B)。

A.int fun(double x,int *n);

B.int fun(double ,int);

C.int fun(double*x,int n);

D.int fun(double *,int*);

25、若程序中定义了以下函数

double myadd(double a,double b)

{ return (a+b);}

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

A.double myadd(double a,b);

B.double myadd(double,double);

C.double myadd(double b,double a);

D.double myadd(double x,double y); 26、若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是(C)。A.abs(x-y)<10 B.x-y>-10&& x-y<10 C.(x-y)<-10||!(y-x)>10 D.(x-y)*(x-y)<100 27、已知int x=10,y=20,z=30; if(x>y)

z=x;x=y;y=z;执行后x,y,z的值是(B)。A.x=10,y=20,z=30 B.x=20,y=30,z=30 C.x=20,y=30,z=10 D.x=20,y=30,z=20 28、对for(表达式1; ; 表达式3)可理解为(B)。

A.for(表达式1; 0; 表达式3)

B.for(表达式1; 1; 表达式3)

C.for(表达式1; 表达式1; 表达式3)

D.for(表达式1; 表达式3; 表达式3) 29、以下叙述中正确的是(C)。

A.break语句只能用于switch语句体中 B.continue语句的作用是:使程序的执行流程跳出包含它的所有循环

C.break 语句只能用在循环体内和switch 语句体内

D.在循环体内使用break语句和continue

语句的作用相同

30、下列叙述中正确的是(D)。

A.break语句只能用于switch语句

B.在switch语句中必须使用default

C.break语句必须与switch语句中的case配对使用

D.在switch语句中,不一定使用break 语句

31、在嵌套使用if语句时,C语言规定else 总是(C)。

A.和之前与其具有相同缩进位置的if配对B.和之前与其最近的if配对

C.和之前与其最近的且不带else的if配对

D.和之前的第一个if配对

32、若i为整型变量,则以下循环执行次数是(B)。

for(i=2;i==0;) printf("%d",i--);

A.无限次B.0次C.1次D.2次33、以下能正确计算1×2×3×...×10的程序段是(C)。

A.do{ i=1; s=1; B.do{ i=1;s=0;

s=s*i; s=s*i;

i++; i++;

}while(i<=10); }while(i<=10);

C.i=1; s=1; D.i=1; s=0;

do{ s=s*i; do{ s=s*i;

i++; i++;

}while(i<=10); }while(i<=10);

34、若有宏定义:#define f(x) x/x,则表达式f(3+6)的值为(C)。

A.1 B.25 C.11 D.4

35、下面的函数调用语句中func函数的实参个数是(A)。

func(f2(v1,v2),(v3,v4,v5),(v6,max(v7, v8)));

A. 3 B. 4 C.5 D. 8 36、以下叙述中错误的是(B)。

A.用户自定义的函数中可以没有return语句

B.用户自定义的函数中可以有多个return 语句,以便可以调用一次返回多个函数值C.用户自定义的函数中若没有return语句,则应当定义函数为void类型

D.函数的return语句中可以没有表达式37、以下关于宏的叙述中正确的是(C)。

相关文档
最新文档