您好,欢迎访问三七文档
《C语言程序设计》综合练习题一、单项选择题1.下列(D)是字符串比较函数。A.puts()B.gets()C.strcpy()D.strcmp()2.构成一个完整的C源程序必须有且只有一个(C)。A.函数B.过程C.主函数D.程序3.设有inti,j,k;则表达式i=1,j=2,k=3,i&&j&&k的值为(A)。A.1B.2C.63D.04.在C语言中,不同类型数据混合运算时,要先转化成同一类型后进行运算。设一表达式中包含有int、long、unsigned、char类型的变量和数据,则表达式最后的运算结果是(D)类型数据。A.intB.charC.unsignedD.long5.下列(D)不是构成标识符的字符。A.字母B.数字C.下划线D.标点符号6.表达式:35&&-1||63-!-1的值是(A)。A.0B.1C.表达是不合法D.均不对7.以下标识符中能做为合法的C用户标识符的是(D)。A.A3+B3B.floatC.3dxD.x3d8.以下数据中不正确的数值或字符常量是(B)。A.0.0B.3E2.7C.9861D.0xabcd9.fp=fopen(''test.txt,''r'');语句中,r对文件处理方式是(A)。A.只读打开文件B.只写打开文件C.追加打开文件D.读写打开文件10.表示关系x=y=z的C语言表达式为(A)A.(x=y)&&(y=z)B.(x=y)and(y=z)C.(x=y)&(y=z)D.(x=y=z)11.如果要把常量327存入变量a中,a不能定义的类型是(B)。A.intB.charC.longD.float12.在变量的存储结构中,(B)局部变量的初始化只有一次。A.自动B.静态C.外部D.寄存器13.下列能正确进行字符串赋值操作的语句是(C)。A.chars[5]={ABCDE};B.chars[5]={'a','b','c','d','e'}C.char*s;s=abcde;D.char*s;scanf(%s,s);14.语句if(3/41/2)a=1;elsea=0;运行后,a的值是(A)。A.1B.0C.与机器有关D.语法有错15.下列(C)是合法自定义标识符。A.3maB.floatC.m3aD.–ab16.设a,b和c都是int型变量,且a=3,b=4,c=5,则下列表达式中,值为0的表达式是(D)A.'a'&&'b'B.a=bC.c=b||b+c&&b-cD.a=b+c&&c=a+b17.判断整型变量i,j可同时被2整除的表达式(i,j同时被2整除返回1,否则返回0)是(B)。A.!(i%2)||!(j%2)B.!(i%2)&&!(j%2)C.(i%2)&&!(j%2)D.(i%2)||(j%2)18.若x,y均为double型变量,正确的输入函数调用是(C)。A.scanf(%f%f,&x,&y);B.scanf(%d%d,&x,&y);C.scanf(%lf%lf,&x,&y);D.scanf(%lf%lf,x,y);19.设变量均为整型,表达式(a=2,b=5,ab?a++:b++,a+b)的值是(B)。A.7B.8C.9D.220.当执行以下程序段时(A)。x=-1;Do{x=x*x;}while(!x);A.循环体将执行一次B.循环体将执行两次C.循环体将执行无限次D.系统将提示有语法错误21.执行下列程序段后,a值为(A)。a=1;b=0;if((a++++b)?a++;b--)a+=b;A.2B.3C.4D.522.若x为char型变量,y为int型变量,x,y均有值,正确的输出函数调用是(A)。A.printf(%c%c,x,y);B.printf(%c%s,x,y);C.printf(%f%c,x,y);D.printf(%f%d,x,y);23.假定a和b为int型变量,则执行以下语句后b的值为(D)。a=1;b=10do{b-=a;a++;}while(b--0);A.9B.-2C.-1D.824.设有说明语句:intx=43,y=0;charch='A';,则表达式(x=y&&ch'b'&&!y)的值是(C)。A.0B.语法错C.1D.假25.假定a和b为int型变量,则执行以下语句后b的值为(D)。a=1;b=10;do{b-=a;a++;}while(b--0);A.9B.-2C.-1D.826.下列不正确的转义字符是(C)。A.'\\'B.'\''C.'074'D.'\0'27.已知字符'b'的ASCII码为98,语句printf(''%d,%c'','b','b'+1);的输出为(D)。A.98,bB.语句不合法C.98,99D.98,c28.下列(B)说法,是对“int*p;”正确解释。A.定义p是整型变量B.定义p为指向整型变量的指针变量C.定义p为数组名D.定义p的内容为整形地址29.以下各组运算符中,优先级最高的运算符是(B)。A.=B./C.!=D.&&30.表示关系x=y=z的C语言表达式为(A)。A.(x=y)&&(y=z)B.(x=y)and(y=z)C.(x=y=z)D.(x=y)&(y=z)31.下列程序段执行后s值为(C)。inti=1,s=0;do{if(!(i%2))continue;s+=i}while(++i10);A.1B.45C.25D.以上均不是32.若x,y均为int型变量且有值,要输出x,y的值,正确的输出函数调用是(D)。A.printf(%d%d,&x,&y);B.printf(%f%f,x,y);C.printf(%f%d,x,y);D.printf(%d%d,x,y);33.字符串“cprogram”存放在内存中占用字节数为(A)。A.10B.9C.11D.834.下列程序段运行后x的值是(D)。A.14B.4C.15D.3intal=1,a2=2,a3=3,x=15;if(!al)x--;elseif(a3)x=3;elsex=4;35.对于inta,则表达式1=a=5值是(B)。A.0B.1C.不定D.表达式语法有错36.变量的存储类型有四种。下列(D)的存取速度最快。A.自动变量B.静态变量C.外部变量D.寄存器变量37.假定a和b为int型变量,则执行以下语句后b的值为(A)。a=1;b=10;do{b-=a;a++;}while(b--0);A.9B.-2C.-1D.838.设有以下程序段:intx=0,s=0;while(!x!=0)s+=++x;printf(%d,s);则(B)。运行程序段后输出0A.运行程序段后输出1B.程序段中的控制表达式是非法的D.程序段执行无限次39.设x和y均为int型变量,则执行以下语句后的输出为(A)。x=15;y=5;printf(%d\n,x%=(y%=2));A.0B.1C.6D.1240.已知字母a的码值为十进制97,数字0的码值为十进制48,下面程序的输出是(D)。A.输出无定值B.e,4C.101,52D.e,52#includestdio.hintmain(){charc1,c2;c1='a'+'6'-'2';c2='b'-'a'+'3';printf(%c,%d\n,c1,c2);return0;}41.若x和y都是int型变量,x=100,y=200,则下列程序段:printf(''%d'',(x,y));的输出结果是(A)。A.200B.100C.100200D.输出格式符不够,输出不确定的值42.假设定义数组:floatscore[10];并且其地址为2000,则元素score[5]的地址为(D)。A.2005B.2010C.2015D.202043.假定p所指对象的值为25,P+1所指对象的值为46,则*(++p)的值为(C)。A.26B.25C.46D.4744.若i为整型变量,则以下循环执行的次数是(B)。For(i=2;i==0;)printf(''%d'',i--)A.无限次B.0次C.1次D.2次45.设C语言中,一个int型数据在内存中占2个字符,则unsignedint型数据的取值范围为(C)。A.0~255B.0~32767C.0~65535D.0~214748364746.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数时,正确的数据输入方式是(C)。inta1,a2;charc1,c2;scanf(%d%c%d%c,&a1,&c1,&a2,&c2);A.10A20BCRB.10A20BCRC.10A20BCRD.10A20BCR47.阅读以下程序,当输入数据的形式为25,13,10CR正确的输出结果为(D)。#includestdio.hintmain(){intx,y,z;scanf(%d%d%d,&x,&y,&z);printf(x+y+z=%d\n,x+y+z);return0;}A.x+y+z=48B.x+y+z=35C.x+z=35D.不确定值48.表示图中坐标轴上阴影部分的正确表达式是(C)。(其中abc)A.(x=a)&&(x=b)&&(x=c)B.(x=a)||(b=x=c)abcXC.(x=a)||(x=b)&&(x=c)D.(x=a)&&(b=x=c)49.设有以下程序段:intx=0,s=0;while(!x!=0)s+=++x;printf(%d,s);则(B)。A.运行程序段后输出0B.运行程序段后输出1C.程序段中的控制表达式是非法的D.程序段执行无限次二、判断题1.打开文件的函数是fclose。(X)。2.局部静态变量是在编译时赋初值的,即只赋初值一次。(O)3.C语言中允许使用字符串变量。(X)4.外部变量必须定义在文件的开头部分。(X)5.语句while(!E);中的表达式!E等价于E==0。(O)6.实型分类:单精度、双精度和整型。(X)7.逻辑运算优先级别都低于算术运算。(X)8.函数的形参在退出该函数后是不可见的。()9.如果在定义函数时省略extern,则隐含为外部函数。(X)10.定义二维数组时,第一维长度可以省略。(O)11.字符'\0'是字符串的结束标记,其ASCII代码为0。(O)12.若有inti=10,j=0;则执行完语句if(j=0)i++;elsei--;i的值为11。(X)13.continue语句的作用是提前结束整个循环的执行。(X)14.Break语句的作用是提前结束整个循环的执行。(O)15.在定义函数时的参数是“形式参数”,在调用函数时的参数是“实际参数”。(O)16.在函数调用时,实参和形参的变量个数可以不一样多。(X)17.在函数调用时,实参和形参的变量个数一定要一样多。()18.若有说明:inta[][4]={{0},{0}}则二维数组a的第一维大小为0。(X)19.字符串china在内存中占据的存储空间是5个字节。(X)20.打开文件的函数是fclose。(X)21.打开文件的函数是fopen(O)。22.若有说明:sraticinta[3][4];则数组a中各元素可在程序的编译阶段得到初值0。(O)23.假设定义数组:floatscore[10];并且其地址为2000,则元素score[5]的地址为2005(X)。24.C语言的基本单位是函数。(O)25.已知字符'b'的ASCII码为98,语句printf(''%d,%c'','b','b'+1);的输出为:98,99。(X)26.从变量的作用域来分,变量可以分为静态变量和动态变量。(X)27.若用数组名作为函数调用时的实参,则实际上传递给行参的是数组的第一个元素值(X)28.结构体和数组一样,它们的成员都是相同类型数的集合。(X)29.调用strlen(abc\0ef\0g)的返回值为8。(X)三、填空题1.如果希望函数中的局部变量的值在函数调用结束后不消失而继续保留原值,就应该
本文标题:C语言综合练习题
链接地址:https://www.777doc.com/doc-2908441 .html