C语言综合练习题
- 格式:doc
- 大小:237.50 KB
- 文档页数:12
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 USS6、以下选项中不能作为C语言合法常量的是(A)。
A.´cd´ B。
0.1c+6C.〞\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,++yC.a=14%3.3 D.x=y+3=213、以下定义语句中正确的是 (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*2C.a/c/d*b*2 D.2*a*b/c*d16、若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是(A)。
A.++x,y=x-- B.x+1=yC.x=x+10=x+y D.double(x)/1017、以下关于逻辑运算符两侧运算对象的叙述中正确的是(D)。
A.只能是整数0或1B.只能是整数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+120、若以下选项中的变量已正确定义,则正确的赋值语句是(C)。
A.x1=26.8%3 B.1+2=x2C.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. 022、当变量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语句中必须使用defaultC.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.435、下面的函数调用语句中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)。
A.宏名必须用大写字母表示B.宏定义必须位于源程序中所有语句之前C.宏替换没有数据类型限制D.宏调用比函数调用耗费时间38、以下能正确定义一维数组的选项是(B)。
A.int a[5]={0,1,2,3,4,5};B.char a[]={0,1,2,3,4,5};C.char a={'A','B','C'};D.int a[5]="0123";39、若要求定义具有10个int型元素的一维数组a,则以下定义语句中错误的是(D)。
A.#define N 10 Int a[N]B.#define n 5 Int a[2*n]C.int a[5+5]D.int n=10,a[n]40、以下能正确定义二维数组的是(C)。
A.int a[][3]; B.int a[][3]=2{2*3}; C.int a[2][3]={0};D.int a[2][3]={{1},{2},{3,4}};41、若有以下定义语句:int m[]={5,4,3,2,1},i=4;,则下面对m数组元素的引用中错误的是(C)。
A.m[i] B.m[2*2] C.m[m[0]] D.m[m[i]] 42、若有定义语句:double x[5]={1.0,2.0,3.0,4.0,5.0},*p=x;则错误引用x数组元素的是(B)。
A. *p B. x[5] C.*(p+1) D. *x 43、若有定义语句:char s[10]=〞1234567\0\0〞;,则strlen(s)的值是(A)A.7 B. 8 C. 9 D. 1044、有说明int a[][3]={1,2,3,4,5,6,7,8,9,10};则数组a的第一维的大小是(C)。