大学C语言选择题库.doc_第1页
大学C语言选择题库.doc_第2页
大学C语言选择题库.doc_第3页
大学C语言选择题库.doc_第4页
大学C语言选择题库.doc_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

1.执行以下程序的输出结果是_8921_。main() int n1,n2=1298; while(n2!=0) n1=n2%10;n2=n2/10;printf(%d,n1);2.以下程序的运行结果是_end_。main()int a,b,c;a=2;b=3;c=1;if(ab) if(ac)printf(%dn,a);else printf(%dn,b);printf(endn);3.如果调用函数 fopen() 不成功,则函数的返回值为_0_。4.以下程序段的执行结果是_ffff_。int a=-1;printf(%x,a);5.表示字符串s1等于字符串s2的逻辑表达式为_strcmp(s1,s2)=0_。6.在C语言中,&作为双目运算符时表示的是按位与运算符,而作为单目运算符时表示的是_取地址_运算符。7.C语言中的合法标识符只能有三种字符组成,它们是字母,_数字_和下划线。8.C语言中从作用域的角度来看,变量可以分成_全局_变量和局部变量。9.定义 struct int n; char y5; tab2=1,ab,2,cd, *p=tab; 则表达式:printf(%sn,p-y);的结果为_ab_。10.以下程序段的执行结果是_6,8,6,7_。 main() int a1,a2,b1,b2; a1=5;a2=7; b1=+a1;b2=a2+; printf(%d,%d,%d,%dn,a1,a2,b1,b2);3.语句for(i=-2;iy) z=x;x=y;y=z;printf(%d,%d,%dn,x,y,z); 8.在C文件中,数据存放的两种形式是文本形式和二进制形式。 9.有函数调用语句 sub(a,1,fun(x,y),b+c,(m+n,c*h);则该函数调用语句中的实参个数为_5_。1.以下程序运行结果是_6_。 main() int m=5; if(m+5) printf(%d,+m); else printf(%d,m-); 3.以下程序的运行结果是_20_。main()int a,b,c,d,x;a=c=0;b=1;d=20;if(a) d=d-10;else if(!b)if(!c)x=15;else x=25;printf(d=%dn,d); 4.在C语言中对文件读写之前应该用_fopen_函数打开文件。 5.写出将字符串s1拷贝到字符串s2后,再连接到字符串s3之后的语句为 _strcat(s3,strcpy(s2,s1);_。 6.在C程序的表达式中,判断表达式成立的条件是_1_表示逻辑真值,0表示逻辑假值。 7.有定义 static char s =China;则数组所占空间为_6_个字节。 8.C语言中的合法标识符只能有三种字符组成,它们是_字母_、数字和下划线。 9.表达式 a=(b=3)*(c=9)的值是 _27_ 。 10.若定义了如下的结构体类型变量x,则x所占用的内存字节数为_11_。 struct data1 int i; char ch; double f; x; 1.设i,j,k均为int型变量,则执行完以下for语句后,k的值是_10_。 for(i=0,j=10;ib?a:b_。 7.C语言用_分号_表示每条语句的结束。 8.若有int a3=10,12,30;则*(a+2)=_30_。 9.union data1 char name6; char sex; int age; x; 则:printf(%d ,sizeof(x)的结果是:_6_。 10.若for循环是当型循环,则do-while 循环是_直到型循环_ 。 2.以下函数中,若m=10,则函数共输出_4_行。 void sub(int m,int s ) int n; for (n=1;n=m;n+) printf(%2d,sn); if (!(n%3) printf(n); 3.在使用标准数学函数时,必须在程序开头部分使用#include _命令。 4.strcmp(s1,s2 ) 函数需要两个参数s1、s2,它们的类型可以是字符串或字符型指针。 5.计算表达式 a=20/2%3 后,a 的值为_1_。 6.设有类型说明如下: int a10=1,2,3,4,5,6,*p=a; 则 *(p+3)=_4_。 7.构成C语言程序的基本单位是_函数_。 8.有定义 int a4=10,12,1,30,3,2;则数组a中有_12_个元素。 9.有定义long k=255793L;若使输出结果是255793的语句为_printf(“%ld”,k);_。 10.定义标识符PI为符号常量代表一个“3.14”这个字符串_#define PI 3.14_。 2.用以下语句调用库函数malloc,使字符指针st指向具有11个字节的动态存储空间,请填空。 st=(char*)malloc(11); _。 3.设char ch=a;则ch对应的内存单元中存储的是常量a的_ASCII_码。 7.若int x=3,则表达式x+=x-=x*=5运算后,x的值为_0_。 8.C语言中,头文件的扩展名是_.h_。 9.C语言中用_0_表示字符串结束的标志。 10.int x23,* p; p=&x00; 用 _*(p+4)_ 表示 x11。 1.执行以下程序的输出结果是_。main() int n1,n2=7654; while(n2!=0) n1=n2%10;n2=n2/10;printf(%d,n1);3.定义标识符fp 为文件型指针变量的语句为 _FILE *fp;_。 4.指针变量所代表存储单元是用来存放_变量的地址_的。 5.以下程序段的执行结果是_fffe_。int a=-2;printf(%x,a); 6.若有以下定义: double w10; 则w数组元素下标的上限为_9_。 7.在TC 2.0中Ctrl+F9的功能是编译、_连接_和运行。 8.在C程序中有三种逻辑运算符,它们是:!、&和_|_。 9.设int i=3.56;则i对应的存储单元中存放的数值为_3_。 10.跳过循环体中其后尚未执行的语句,而开始执行下一次是否循环的判定的语句是_continue;_。1.局部变量从存储类别可分为auto、register、_static_三种。 2.有定义 define M(x) x*x int a=3,b=2; 则 M(a+b)/M(a+b) 的值为_17_。 3.enuma,b=3,c,d=6,e k; k=e;k的值为_7_ 。 5.在C语言中,16位微型机int型数据所占用的内存为_2_个字节。 6.表示 3x6 或 x3&x6|x5) printf(%d,+m); else printf(%d,m-); 6.若使用库函数sin(x),则必须使用_#include _预处理命令。 7.在C语言中对文件读写使用结束之后应该用_fclose_函数关闭文件。1、局部变量的存储类型可以是_abd_。 A.autoB.static C.externD.register E.void2、下列属于双目运算符的是_abd_。 A.+= B. C.,D. E.?:3、下列属于程序控制语句的是_bcde_。 A.int a;B.if(ab)t=a; C.for(i=0;i0)x-;E.return n;4、下列关于switch(表达式)语句说法正确的是abcd_。 A.switch语句是多分支语句 B.switch后的(表达式)允许是任何类型 C.switch语句中允许有一个default子句,也可以没有 D.switch语句中的每个case子句的常量表达式的值必须互不相同 E.switch语句中的每个case子句必须有一个break语句5、下列语句定义数组正确的是bd_。 A.int a(10); B.int a2+9; C.int arr0 to 30 to 4; D.int arr34; E.int 3,4;6、下列合法标识符是_cd_。 A.voidB.define C.WORDD.a3_b3 E.case7、5.下列格式控制字符中能够输出整型数据的是abcd_。 A.%d B.%ld C.%lo D.%x E.%lf8、若有以下程序段,并且w和k都是整型变量:for(w=1;w=k;w+) printf(*); 则与上面程序段等价的循环语句是_abcd_。 A.for(w=k;w!=0;w-) printf(*); B.w=k; while(w-!=0) printf(*) C.w=k; do w-; printf(*); while(w!=0); D.for(w=k;w;-w) printf(*); E.w=k; for(k=1;k0; E.y=ab?a:b;11、下列说法正确的是bcde_。 A.在C程序中,无论是整数还是实数,都能被准确地表示 B.在C程序中,声明变量时为变量开辟内存空间 C.静态变量的生存期与整个程序的运行期相同 D.C语言中变量必须先说明后引用 E.C语言中空语句是合法的12、C语言提供的逻辑运算符有_bde_。 A.andB.| C.orD.& E.!13、下列语句中能够判断整型变量a、b、c的值是否能够构成三角形的语句是bc_。 A.if(a+bc & a-bc & a+cb & b+ca) C.if(a-bc & a-cb & b-ca) D.if(a-bc)14、在下列选项中,构成死循环的程序段是_abde_。 A.int i=100; while(1) i=i%100+1; if(i100)break; B.for(;) C.int k=1000; do +k;while(k=10000); D.int s=36; while(s);-s; E.for(i=1;i+);15、下列关于符号常量正确的是_ade_。 A.符号常量用标识符表示 B.符号常量不允许被修改 C.符号常量允许在程序运行中改变 D.#define N 10 E.符号常量没有值和类型的含义16、下列不合法的实型常量有_abd_。 A.5E2.0B.E-3 C.2E0 D.1.3E E.2E217、把字符串hello赋给数组b的语句是_acde_。 A.char b10=h,e,l,l,o; B.char b10;b=hello; C.char b10;strcpy(b,hello); D.char b=hello; E.char b=h,e,l,l,o,0;18、可以不要进行函数原型声明的函数是_bc_。 A.被调用函数的数据类型是int B.被调用函数定义的位置在调用函数之前 C.主函数main() D.被调用函数的数据类型是float E.被调用函数的数据类型是char19、关于数组说法正确的是_abc_。 A.数组的下标从0开始 B.数组的各个元素在内存中是连续存放的 C.C编译系统对数组下标是否越界不做检查 D.C语言允许对整型数组名进行整体赋值 E.数组不允许进行初始化,只能在程序运行期间赋值20、下列语句正确初始化的是_ace_。 A.char str=abcd; B.char str4=abcd; C.char str4=a,b,c,d; D.char str=a,b,c,d; E.char str4=97,98,99,100;21、下列不合法的字符常量是_bd_。 A.010B.B C.X12D.B E.B22、整型变量X和Y的值相等,且为非0值,以下选项中,结果不为0的表达式是_abcd_。 A.X|YB.X|Y C.X&Y D.!X=!Y E.XY23、下列属于基本数据类型的是abce_。 Aint Bfloat Cdouble Dstruct Echar24、关系表达式的结果可以是_bc_。 A非0值 B1 C0 Dtrue Efalse25、设已定义char s9=xinjiang和int i,则下面的输出函数调用中正确的是_abc_。 Aprintf(%s,s); Bfor(i=0;i9;i+)printf(%c,si); Cputs(s); Dfor(i=0;i9;i+)puts(ci); E. for(i=0;i=28、设有语句float ave(int a10);float f;int w10;则正确的函数调用形式是_bd_。 Af=ave(w ); Bf=ave(w); Cf=ave(w10); Dprintf(%f,ave(w); Eprintf(%d,ave(w10);29、下列语句能够求出1+2+3+.+100的和的语句是_ae_。 Afor(i=1,sum=0;i=100;sum+=i,i+); Bi=1;sum=0;while(i+=100)sum+=i; Ci=1;sum=0;if(i+=100)sum+=i; Di=1;sum=0;dosum+=i;while(i=100) Ei=1;sum=0;for(;i=100;i+)sum+=i; 30、下列合法的转义字符常量是_abc_。 An Br Ct Dx1a E10131、逻辑运算符要求的运算量可以是_abcd_。 A关系表达式 B非零值 C零值 D数值表达式 E逻辑量32、若有条件表达式if(ab)a+;else b+;,则以下表达式能正确表示表达式(ab)的是_ce_。 A(ab=0) B(ab=0) C(ab=1) D(ab!=1) E(ab!=0)33、设A是整型变量,正确表达数学关系10A15的C语言表达式是bcd_。 A10A10 & A15 D!(A=15) EA10|A1534、下列语句中能够输出正确的换行符的语句是abe_。 A.printf(n); B.putchar(n); C.scanf(%dn); D.getchar(n); E.printf(%c,n);1.已知int a,b;下列switch语句中正确的是( b )。 A. switch(a) case a: a+;break; case b: b+;break;B. switch(a+b) case 1: a+b;break; case 2: a-b;break; C. switch(a*a) case 1,2:+a; case 3,4:-b; D. switch(a/0.5+b) case 5-a:a/5;break; default:a+b; 2.若有如下语句,则下面正确的描述是 ( b )。 char x =12345; char y =1,2,3,4,5; A. 数组x和数组y的长度相同 B. 数组x的长度大于y数组的长度 C. 数组x等价于数组y D. 数组x的长度小于数组y的长度3.scanf ( ) 函数的正确调用形式是( d )。 A.scanf(格式控制串,输出项表列); B.scanf(格式控制串,输出项地址表列); C.scanf(格式控制串,输入项表列); D.scanf(格式控制串,输入项地址表列);4.下列说法正确的是( c )。 A. C 语言的主函数不允许有参数 B. C 语言的主函数最多允许 1 个参数 C. C 语言的主函数可以无参数 D. C 语言的主函数允许任意个参数5.表达式 (!1|1)+5 的值是( c )。 A. 不确定B. 5 C. 6 D. 77.若有以下定义和语句, char s1=12345, s2=1234;则函数strcmp(s1,s2)的值为( a )。 A. 大于0B. 小于 0C. 等于0D. 等于18.选出表达式结果为假的一项( b )。 A. 1=4B. (25=5) C. (3=3)&(25) D. !(4=8)|(3b)+(int)b%2 D. -b+a11.下列运算符中,优先级别最高的是( b )。 A. = B. % C. | D. +12.关于下列语句描述正确的是( b )。union unsigned int n; unsigned char c; u1; A. u1是共用体类型名 B. u1是共用体变量名 C. u1是结构体类型名 D. u1占用内存空间3字节 13.设有int x,y;正确的输入语句是( c )。 A. scanf(%d%d,x,y); B. scanf(x=%f,y=%f,&x,&y); C. scanf(%d,%d,&x,&y); D. scanf(x=%d,y=%d,x,y); 14.在一个C语言程序中( b )。 A. main函数必须出现在所有函数之前 B. main函数可以在任何地方出现 C. main函数必须出现在所有函数之后 D. main函数必须出现在固定位置15.有关预处理命令#define N 10,以下描述正确的是( c )。 A. N在程序运行时可以被改变 B. N是个整型变量 C. N没有值和类型的含义 D. N是个标识符,称为宏体16.当调用函数时,实参是一个数组名,则向函数传送的是( b )。 A. 数组的长度 B. 数组的首地址 C. 数组每一个元素的地址 D. 数组每个元素中的值17.有以下程序main() int i; for(i=0;i= D. ?:25.以下语句中不正确的是( a )。 A. char s10;s=test; B. char s=t,e,s,t; C. char s20=test; D. char *s=testn;26.有以下程序段int k=0;while(k=1) k+;while 循环执行的次数是( a )。 A.无限次 B.有语法错,不能执行 C.一次也不执行 D.执行1次27.关于else语句描述正确的是( c )。 A. 不可缺少 B. 必须与离之最近的if语句配对使用 C. 不可以单独使用 D. 必须使用缩进格式表示28.设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=ab)&(n=cd)运算后,n的值为( c )。 A. 0 B. 1 C. 2 D. 329.合法的赋值语句是( b )。 A. x=y=100 B. d-; C. x+y; D. c=int(a+b);30.以下程序段的输出结果是( c )。int x=3;do printf(%3d,x-=2);while(!(-x); A. 1 B. 3 0 C. 1 -2 D. 死循环31.只有当整数x为奇数时,表达式为逻辑“真”的是( b )。 A. x%2=0 B. !(x%2=0) C. (x-x/2*2)=0 D. !(x%2)31.下列程序段的输出结果是( a )。for(a=1;a=10;a+) if(a%3=1)break;printf(%dn,a); A. 1 B. 2 C. 3 D. 432.以下叙述中正确的是( b )。 A. 全局变量的作用域一定比局部变量的作用域范围大 B. 静态(static)类别变量的生存期贯穿于整个程序的运行期间 C. 函数的形参都属于全局变量 D. 未在定义语句中赋初值的auto变量和static变量的初值都是随机值33.有如下函数调用语句func(rec1,rec2+rec3,(rec4,rec5); ,该函数调用语句中,含有的实参个数是( a )。 A. 3 B. 4 C. 5 D. 有语法错误34.与y=(x!=0?1:-1);功能相同的if语句是( b )。 A.if(x0) y=1; else y=-1; B.if(x) y=1; else y=-1; C.if(x) y=-1; else y=1; D.if(x=0) y=1;35.以下能正确定义数组并正确赋初值的语句是( d )。 A. int N=5,bNN; B. int a02=1,3; C. int c2=1,2,3,4; D. int d32=1,2,3,4;36.下列选项中合法的字符常量是 ( b ) A. &B. R C. ABCD. n37.若有如下定义:int a10; 则下面不能正确表示 a1地址的 表达式是( d )。 A. &a1B. &a0+1 C. a+1D. a+38.若有以下程序:main ( ) int a33=1,2,3,4,5,6,7,8,9 , i=0,sum=0; do sum+=aii; i+; while(i3); printf( %d , sum ); 则程序运行后的输出结果是 ( a )。 A. 15 B. 12 C. 16 D. 1839.下列数组声明中不正确的是( c )。 A.char a4 ; B. char a 4=aa,; C. char a4 ; D.char a54;40.有以下声明语句: struct x int a ; float b; char c; y ; 则下列叙述中不正确的是 ( b )。 A. x 是定义的结构体名. B. y 是定义的结构体类型名. C. struct是结构体类型的关键字. D. a,b,c 都是结构体成员名.41.已知int t=0;则以下关于 while(t=1). . .的说法正确的是( c )。 A. 循环控制表达式不正确 B. 循环控制表达式的值永远为1 C. 死循环,永远无法结束 D. 一次循环体都不会执行.42.int x=3,y=4,a=,b=6; 则表达式(a=x) &(b=y)的值是 (b)。 A. 0B. 1 C. 2D. 不确定43.执行以下程序后的输出结果为( b )。 # include main() int i; for (i=A; iI;i+,i+) printf(%c,i+32); printf(n); A. abcdefghiB. aceg C. acegiD.编译出错,无输出。44.以下关于宏替换的叙述不正确的是( d )。 A. 宏替换不占用运行时间 B. 宏替换只是字符替换,不作语法检查 C. 宏名称无类型 D. 宏名称必须用大写字母表示45.一个C语言程序由若干个函数组成,其中唯一不可缺少的函数是( d )。 A. 库函数B. scanf 函数 C. printf函数D. main函数46.下面程序的输出是( a )。 main() int a10=1,2,3,4,5; printf(%dn,a6); A. 0B. 1 C. 2D. 347.若有 static char s10 =abcdefg; 则数组 s 所占的字节数是( b )。 A.7 B. 10 C. 11D. 848.下列程序的功能是 ( a ) main ( ) int s44=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16; int m,n; for (m=0;m4;m+) for (n=0;n0 ; );后,变量x 的值是 ( a )。 A. -1B. 0 C. 1 D.不确定50.若有以下程序: main ( ) int x6=11,16,17,28,20, *t=x+3; printf (%d ,*t-2); 则程序运行后的输出结果是 ( d )。 A. 18 B. 14 C. 29 D. 2651.表达式x 和y 的取值同时在 ( 0, +) 或 同时在 (-, 0) 的表达式是 ( c ) 。 A. (x+y0) & (x+y=0 | | y=0) & (x0 |y0&y0 | x0 & y=0&y=0) &(x0&y0)52.有以下程序: main( ) int n,s8; for ( n=1; n6) printf(%d,n-); A. 9876B. 876 C. 987D. 876557.下列说法正确的是( d )。 A. C 语言能嵌套定义函数,但不能嵌套调用函数 B. C 语言不能嵌套定义函数,也不能嵌套调用函数 C. C 语言能嵌套定义函数,也能嵌套调用函数 D. C 语言不能嵌套定义函数,但能嵌套调用函数 58.a,b,c,d 都为float 型,且已正确赋值,则与数学表达式2ab/(5cd)等价的 C语言表达式是(a )。 A. a/c*b/d*2/5 B. a/(5*c*

温馨提示

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

评论

0/150

提交评论