C语言题库及答案_第1页
C语言题库及答案_第2页
C语言题库及答案_第3页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

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

文档简介

1、1. 执行以下程序的输出结果是_8921_ 。main() (intnl,n2=1298;while(n2!=0) ( nl=n2%10;n2=n2/10;printf("%d",nl);2. 以下程序的运行结果是end。main()int a,b,c;a=2;b=3;c=l;if(a>b) if(a>c)printf("%dn",a);else printf( “n” ,b); printf("endn");3. 如果调用函数 fopen() 不成功,则函数的返回值为_0。4. 以下程序段的执行结果是int a=-l;

2、printf("%x ,a);5. 表示字符串si等于字符串s2的逻辑表达式为_strcmp(sl,s2)=0_。6. 在 C 语言中, &作为双目运算符时表示的是按位与运算符,而作为单目运算符时表示的是 取地址运算符。7. C 语言中的合法标识符只能有三种字符组成,它们是字母,一数字和下划线。8. C 语言中从作用域的角度来看,变量可以分成_全局一变量和局部变量。9. 定义 struct(int n; char y5;tab2=(l,"ab",2,"cd", *p=tab;则表达式: printf("%sn",p-

3、>y); 的结果为 _ab 。10. 以下程序段的执行结果是 6,8,6,7-main() ( int al,a2,bl,b2;al=5;a2=7; bl=+al;b2=a2+; printf("%d,%d,%d,%dn",al,a2,bl,b2);)3. 语句 for(i=-2;i<5;i+) 的循环体共执行 _7次。4. C语言提供专用于输入一个字符串(包括空格)的函数:一gets()o5. 局部变量从存储类别可分为auto、register、_static_三种。1. 在 TC2 . 0中快捷键 Ctrl+F9 的功能是编译、连接和 _运行。2. C 语言

4、函数库中字符串复制函数的函数名是strcpy。3. 有定义 static chars ="abctdefn" 则数组空间的字节数为 9。4. 写出 a 不能被 b 整除的 C 语言表达式是 _a%b!=O。6. 执行以下程序的输出结果是 _4321 omain()int nl,n2=1234; while(n2!=0) nl=n2%10;n2=n2/10;printf("%d" /nl);7. 已知 int x=10,y=20,z=30; 则以下程序段的执行结果是 _20,30,30 。if (x>y) z=x;x=y;y=z; printf(&q

5、uot;%d,%d,%dn",x,y,z);8. 在 C 文件中,数据存放的两种形式是文本形式和二进制形式。9. 有函数调用语句 sub(a,l,fun(x,y),b+c,(m+n,c*h); 则该函数调用语句中的实参个数为5 o1. 以下程序运行结果是 6-main()(int m=5; if(m+>5) printf("%d",+m); else printf("%d",m-);3. 以下程序的运行结果是 _20 omain()(int a,b,c,d,x; a=c=0;b=l;d=20;if(a) d=d-10;else if(!b

6、) if(!c)x=15; else x=25;printf("d=%dn",d);4. 在 C 语言中对文件读写之前应该用 _fopen 函数打开文件。5. 写 出 将 字 符 串 si 拷 贝 到 字 符 串 S2 后 , 再 连 接 到 字 符 串 S3 之 后 的 语 句 为 _strcat(s3,strcpy(s2,sl); 。6. 在C程序的表达式中,判断表达式成立的条件是一1表示逻辑"真"值,0表示逻辑"假"值。7. 有定义 static char s="China" 则数组所占空间为 6 个字节。8

7、. C语言中的合法标识符只能有三种字符组成,它们是一字母、数字和下划线。9. 表达式 a=(b=3)*(c=9) 的值是 27。10. 若定义了如下的结构体类型变量x,则x所占用的内存字节数为一11 ostruct datalint i;char ch; double f;x;1. 设i,j,k均为int型变量,则执行完以下for语句后,k的值是一10。for(i=0,j=10;i<=j;i+,j-)k=i+j;2. 有定义# define M(x) x*x/2 int a=2,b=3;贝 lj M(a+b)/M(a) 的值为 _8 。4. 以下函数的功能是:求两整数的差,并返回。int

8、 sub (int a,int b)(_return a-b;5. 以下程序段的执行结果是-4 omain()(int a=2;a+=a-=a*a; printf("a=%dn",a);6. 将变量 a、 b 中的大数赋给变量 c 的表达式为 _c=a>b?a:b。7. C 语言用分号 表示每条语句的结束。8. 若有 int a3=(10,12,30;则 *(a+2)= 30。9. union datal (char name6;char sex;int age;x;贝! J: printf("%d ",sizeof(x) 的结果是: _6。10.

9、 若 for 循环是当型循环,则do-while 循环是 直到型循环 。2. 以下函数中,若 m=10, 则函数共输出 4行。void sub(int m,int s)(int n; for (n=l;n<=m;n+)(printf("%2d",sn);if (!(n%3) printf("n") ;#include_<math.h> 命令。3. 在使用标准数学函数时,必须在程序开头部分使用4. strcmp(sl,s2 ) 函数需要两个参数si、 s2 ,它们的类型可以是字符串或字符型指针。5. 计算表达式 a=20/2%3 后, a

10、 的值为 _1。6. 设有类型说明如下:inta10=l,2,3,4,5,6,*p=a;贝 U *(p+3)=4 -7. 构成 C 语言程序的基本单位是函数 。8. 有定义inta=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(l

11、l); 。3. 设charch='a则ch对应的内存单兀中存储的是常量'a,的_ASCII码。7. 若 int x=3, 则表达式 x+=x-=x*=5 运算后, x 的值为 0。8. C语言中,头文件的扩展名是-h-9. C语言中用0'表示字符串结束的标志。lO.int x23,* p; p=&xOO; 用 _*(p+4) 表示 xll?1. 执行以下程序的输出结果是。main()(int nl,n2=7654;while(n2!=0) ( nl=n2%10;n2=n2/10;printf("%d",nl);3. 定义标识符 fp 为文件型

12、指针变量的语句为 _FILE*fp;。4. 指针变量所代表存储单元是用来存放一变量的地址的。5. 以下程序段的执行结果是 _fffe oint a=-2;printf("%x",a);6. 若有以下定义:double w10;则 w 数组元素下标的上限为 _9 o7. 在 TC 2.0中 Ctrl+F9 的功能是编译、 _连接 和运行。8. 在C程序中有三种逻辑运算符,它们是:!、&&和一II。9. 设 int i=3.56 测 i 对应的存储单元中存放的数值为 _3。co10. 跳过循环体中其后尚未执行的语句,而开始执行下一次是否循环的判定的语句是 nti

13、nue; 。1. 局部变量从存储类别可分为 auto 、 register 、 _static 三种。2. 有定义 # define M(x) x*xint a=3,b=2;贝 U M(a+b)/M(a+b) 的值为一 17。3. enuma,b=3,c,d=6,e k; k=e;k 的值为一 7 o5. 在C语言中,16位微型机int型数据所占用的内存为_2_个字节。6. 表示 3<x<6 或 x<0 的 C 语言表达式为 _x>3&&x<6| |x<0 。1. 设有类型说明如下:int a10=l,2,3,4,5,6,7,8,9,10,*

14、p=a;若数组所占内存单元的起始地址为 2000,则 p+5=_2010 o2. C 语言程序的注释是以 * 开头的。3. 将十进制整数 123,化为二进制数为 1111011 。4. 若 int x; 表示 x 为奇数的表达式 为 x%2=l。5. 以下程序运行结果是 8 omain()int m=6;if(m+>5) printf("%d",+m);else printf("%d",m-);)6. 若使用库函数 sin(x), 则必须使用 include <math.h> 预处理命令。7. 在 C 语言中对文件读写使用结束之后应该用

15、 _fclose 函数关闭文件1、 局部变量的存储类型可以 >_abd 。A. autoB.staticC. extern D.registerE.void2、下列属于双目运算符的是 _abd oA. += B.>C. , D.?E.?:3、下列属于程序控制语句的是 _bcde oA. int a; B.if(a>b)t=a;C. for(i=0;i<n;i+); D.while(x>O)x-;E.return n ;4、下列关于 "switch ( 表达式 ) ”语句说法正确的是 abed。A. switch 语句是多分支语句B. switch 后的

16、( 表达式 ) 允许是任何类型C. switch 语句中允许有一个 default 子句,也可以没有 .switch 语句中的每个 case 子句的常量表达式的值必须互不相同E.switch 语句中的每个 case 子句必须有一个 break 语句5 、 下列语句定义数组正确的是 bd oA. int a(10);B. int a2+9;C. int arr0 to 30 to 4;D. int arr34;E. int 3,4;6 、 下列合法标识符是 _cdoA. void B.defineC. WORD D.a3_b3E.case7、5. 下列格式控制字符中能够输出整型数据的是abed

17、。A. %d B.%ldC,%lo D.%xE.%lf8、若有以下程序段,并且 w 和 k 都是整型变量:for(w=l;w<=k;w+) printfC'*");则与上面程序段等价的循环语句是_abcd oA. for(w=k;w!=0;w-) printfC'*");B. w=k; while(w-!=O) printf("*")C. w=k; do (printf("*"); while(w!=0);D. for(w=k;w;-w) printf("*");E. w=k; for(k=l

18、;k<w;k+) printf("*");9、函数的类型可以是 abce oA. int B.voidC.int *D.typedefE.double10、下列正确的赋值语句是 _ade oA. n=(i2,i+);B.j+;C.+(i+l);D.x=j>0;E.y=a>b?a:b;11、下列说法正确的是 bcde-A. 在 C 程序中,无论是整数还是实数,都能被准确地表示B. 在 C 程序中,声明变量时为变量开辟内存空间C. 静态变量的生存期与整个程序的运行期相同D. C 语言中变量必须先说明后引用E. C 语言中空语句是合法的12、C 语言提供的逻辑运

19、算符有一bde-A. and B. | |C.or D.&&E.!13、下列语句中能够判断整型变量a、b、c 的值是否能够构成三角形的语句是beA. if(a+b>c && a-b<c)B. if(a+b>c && a+c>b && b+c>a)C. if(a-b<c && a-c<b && b-c<a)D. if(a-b<c)E. if(a+b>c)14、在下列选项中,构成死循环的程序段是 abde 。A. int i=100; whil

20、e(l) i=i%100+l;if(i>100)break; B.for(;)C.int k=1000;do(+k;while(k>=10000);D.int s=36;while(s);-s;E.for(i=l;i+);15、下列关于符号常量正确的是_adeoA.符号常量用标识符表示B.符号常量不允许被修改C.符号常量允许在程序运行中改变D.#define N 10E.符号常量没有值和类型的含义16、下列不合法的实型常量有 _abdoA.5E2.0 B.E-3E.2E217、把字符串 "hello" 赋给数组 b 的语句是 _acdeA. char b10=

21、,h ,;e,/ T,T; o,;B. char b10;b="hello"C. char b10;strcpy(b,"hello");D. char b="hello"E. char b=h e',T,T o70'18、可以不要进行函数原型声明的函数是_&。A. 被调用函数的数据类型是 intB. 被调用函数定义的位置在调用函数之前C. 主函数 main()D. 被调用函数的数据类型是floatE. 被调用函数的数据类型是char19、关于数组说法正确的是一abc_ oA. 数组的下标从 0 开始B. 数组的

22、各个元素在内存中是连续存放的C. C 编译系统对数组下标是否越界不做检查D. C 语言允许对整型数组名进行整体赋值E. 数组不允许进行初始化,只能在程序运行期间赋值20、下列语句正确初始化的是 _ace _ 。A. char str="abcd"B. char str ="abcd"C. char str (4) =成,七兴','田;D. charE. char str4=97,98,99,100);21、下列不合法的字符常量是一bd oD.BC.'X12'E.'B'22、整型变量X和Y的值相等,且为非0值

23、,以下选项中,结果不为0的表达式是一abed.A. X| |Y B.X|YC.X&YD.!X=!YE.XAY23、下列属于基本数据类型的是abce。A. intB. floatC. doubleD. structE. char24、关系表达式的结果可以是一beoA.非0值B. 1C. 0D. trueE. false25、设已定义char s9="xinjiang"和int i,则下面的输岀函数调用中正确的是_a be_。A. printf( %” ,s);B. for(i=0;i<9;i+)pri ntf("%c",si);C. puts

24、(s);D. for(i=0;i<9;i+)puts(ci);E. for(i=0;i<9;i+)putchar(ci);26、下列整型常数表示正确的是_abce 。A. 123LB. 123uC.0x123D.123uLE.012327、下列运算符中右结合的是 acd oA. !B. +C. +D. ?:E. >=28、设有语句float ave(int a10) ; float f; int w10测正确的函数调用形式是_bdA. f=ave(w ); B. f=ave(w);C. f=ave(w10); D. pri ntf("%f",ave(w);

25、E. printf(" % d” ,ave(w10);29、下列语句能够求岀1+2+3+.+100的和的语句是_ae。A. for(i=l,sum=0;i<=100;sum+=i,i+);B. i=l;sum=0;while(i+<=100)sum+=i;C. i=l;sum=0;if(i+v=100)sum+=i;D. i=l;sum=0;do(sum+=i;while(i<=100)E. i=l;sum=0;for(;i<=100;i+)sum+=i;30、下列合法的转义字符常量是_abc_。A. VB.VC. 't'D. 'xla

26、'E. <101 '31、逻辑运算符要求的运算量可以是_abcd oA.关系表达式B非零值e零值d.数值表达式E.逻辑量(a<b)的是32、若有条件表达式"if(a<b)a+;else b+;,则以下表达式能正确表示表达式_ce oA. |(a<b=0)B. (a<b=0)C. (a<b=l)D. (a<b!=l)E. (a<b!=0)33、设A是整型变量,正确表达数学关系10vA<15的C语言表达式是 bedA. 10<A<15B. A=ll| |A=12|A=13|A=14C. A>10 &a

27、mp;& A<15D. !(A<=10) && !(A>=15)E. A>10| |A<1534、下列语句中能够输岀正确的换行符的语句是a be。A. prin tf("n"); B.putchar('n');C.sca nf("%dn");D.getchar(VT);E.printf("%c" ; n ,);1. 已知int a,b;T列switch语句中正确的是(b )A. switch(a)(case a: a+;break;case b: b+;break;

28、B. switch(a+b)(case 1: a+b;break;case 2: a-b;break;C. switch(a*a)(case l,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=T,'2','3','4','5'A. 数组x和数组y的长度相同B. 数组x的长度大于y数组的长度C. 数组x等价于数组yD. 数组x的长度小于数

29、组 y的长度3. scant ()函数的正确调用形式是(d)=A. scanf (格式控制串,输岀项表列);B. scanff格式控制串,输岀项地址表C. scanf (格式控制串,列);D. scanf (格式控制串,输入项表列);4. 下列说法正确的是(c输入项地址表A. C语言的主函数不允许有参数B. C语言的主函数最多允许。1个参数5.表达式(!T|T ) +5的值是(c)=A,不确定B. 57.若有以下定义和语句,charsl="12345",(a )=A,大于0 B,小于0C.等于8.选岀表达式结果为假的一项(b0 )。A. 1<4&&5&

30、gt;=4C. C语言的主函数可以无参数D. C语言的主函数允许任意个参数D. 7s2="1234"则函数 strcmp(sl,s2)的值为D.等于1B. (2>5=5)C. (3<=3)&&( 2<5)D. !(4<=8)| |(3<=7)9.凡是函数中未指定存储类别的局部变量,其隐含的存储类别为(a)A. auto B. static C. extern D. register10. 下列表达式中,(a )是非法的。已知 float a=5;int b=4;D. +b )o(b )oA. a%3+bB. b*b&&a

31、mp;a | | b C. (a>b)+(i nt)b%2 D. -b+a11. 下列运算符中,优先级别最高的是(b )oA. <=B. %C. | |12. 关于下列语句描述正确的是(b )ounion(un sig ned int n;un sig ned char c; Jul;A. ul是共用体类型名B. ul是共用体变量名C. ul是结构体类型名D. ul占用内存空间3字节13. 设有int x,y;正确的输入语句是(c )=A. sca nf("%d%d",x,y);B. sca nf("x=%f,y=%f", &x, &

32、amp;y);C. sca nf("%d,%d", &x,&y);D. sca nf("x=%d,y=%d",x,y);14. 在一个C语言程序中(A. ma in函数必须岀现在所有函数之前B. main函数可以在任何地方岀现C. ma in函数必须岀现在所有函数之后D. ma in函数必须岀现在固定位置15. 有关预处理命令 #define N 10,以下描述正确的是(c )。A. N在程序运行时可以被改变B. N是个整型变量C. N没有值和类型的含义D. N是个标识符,称为宏体16. 当调用函数时,实参是一个数组名,则向函数传送的是A

33、, 数组的长度B, 数组的首地址C, 数组每一个元素的地址D, 数组每个元素中的值17. 有以下程序mai n()int i;for(i=0;i<3;i+)switch(i)case 1: prin tf("%d"J);case 2: printf(“ d “ ,i);default: printf(" % d” ,i);)执行后输岀的结果是(a )oA. 011122B.012C. 012020D. 12018. 以下程序的输出结果是 ( d ) 。#define M(x,y,z) x*y+z main() (int a=l,b=2, c=3;printf

34、("%dn", M(a+b,b+c, c+a);A. 19B. 17C. 15D. 1219. 下列程序的输出结果是 ( d )o main()chara10=(9,8,7,6,5,4,3,2,l,0),*p=a+5; printf("%d",*p);A. 非法B. a的地址C. 5D.420. 函数 fun(float x) 的函数类型是 (a )。A. intB. voidC. floatD不确定21. 关于C程序说法正确的是(c )=A. 一行只能写一条语句B. 一个语句不可以分写在多行上C. C 语言本身没有输入输出语句D. 分号不是 C 语句的

35、必要组成部分22. 关于语句FILE *fp;描述错误的是(c )?A. fp是一个指向FILE类型的指针变量B. 通过 fp 可以实现对与它相关文件的访问C. fp 指向与它相关文件的地址D. 函数 fclose(fp) 可关闭 fp 指针指向的文件23. 假定x和y为double型,则表达式x=2,y=x+3/2的值是(dA. 3.500000B. 3C. 2.000000 D. 3.00000024. 下列运算符结合方向是右结合的是 (d )。A. +B. &&C. >=D. ?:25. 以下语句中不正确的是 (a )oA. char s10;s="tes

36、t"B. chars nA't'/e'/s'/t'C. chars20="test"D. char *s="testn"26. 有以下程序段int k=0; while(k=l) k+;while 循环执行的次数是 (a )。A. 无限次B. 有语法错,不能执行C. 一次也不执行D. 执行 1 次27. 关于 else 语句描述正确的是 (c ) 。A, 不可缺少B. 必须与离之最近的 if 语句配对使用C, 不可以单独使用D. 必须使用缩进格式表示28. 设 aA b、cA d、m, n 均为 int

37、型变量,且 a=5A b=6、c=7、d=8> m=2、n=2,则逻辑表 达式 (m=a>b)&&(n=c>d) 运算后, n 的值为 ( c ) 。A. 0 B. 1C. 2 D. 329. 合法的赋值语句是 ( b )oA. x=y=100B. d-;C. x+y;D. c=int(a+b);30. 以下程序段的输出结果是 (c )oint x=3;doprintf( ”3d ” ,-x=2);while(!(-x);A. 1 B. 3 0C. 1 -2 D.死循环31. 只有当整数 x 为奇数时,表达式为逻辑“真”的是 (b )oA. x%2=0B. !

38、(x%2=0)C. (x-x/2*2)=0D. !(x%2)31. 下列程序段的输出结果是 ( a )。for(a=l;a<=10;a+) if(a%3=l)break;printf("%dn",a);A. 1B. 2C. 3D. 432. 以下叙述中正确的是 (b )oA. 全局变量的作用域一定比局部变量的作用域范围大B. 静态 (static) 类别变量的生存期贯穿于整个程序的运行期间C. 函数的形参都属于全局变量D. 未在定义语句中赋初值的 auto 变量和 static 变量的初值都是随机值33. 有如下函数调用语句 func(recl,rec2+rec3,(

39、rec4,rec5); ,该函数调用语句中,含有的实参个是(a )=A. 3C. 5B.4D.有语法错误34. 与y=(x!=O?l:-l);功能相同的if语句是(b )。A. if(xoO) y=l; else y=-l;B. if(x) y=l; else y=-l;C. if(x) y=-l;else y=l;D. if(x>=0) y=l;35. 以下能正确定义数组并正确赋初值的语句是 ( d )oA. int N=5,bNN;B. inta02=l,3);C. int C2=1,2,3,4;D. intd32=l,2),3,4);36. 下列选项中合法的字符常量是 (b )A.

40、 B. 'R'C. "ABC" D. Hn"37. 若有如下定义:int a10;则下面不能正确表示地址的 表达式是 ( d )oA. &alB. &a0+lC. a+1 D. a+38. 若有以下程序:main ()(int a33=(l,2,3,4,5,6,7,8,9), i=0,sum=0;do(sum+=aii; i+; while(i<3);printf( ”d”, sum ); 则程序运行后的输出结果是 ( a )oA. 15B. 12C. 16D. 1839. 下列数组声明中不正确的是 (c )oA. char

41、a4;B. chara4=("aaV " ;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都是结构体成员名已知int t=0;则以下关于)。41.while(t=l)(.)的说法正确的是(cA. 循环控制表达式不正确B. 循环控制表达式的值永远为1C. 死循环,永远无法结束D. 一次循环体都不会执行.42.int x=3,y

42、=4,a= 5 ,b=6;则表达式(a=x) &&(b=y)的值是(b )。A. 0 B. 1C. 2D,不确定43. 执行以下程序后的输岀结果为( b )o# in clude <stdio.h>mai n()(in ti;for (i='A ;i<T;i+,i+)prin tf("%c",i+32); prin tf("n");A. abcdefghi B. acegC. acegi D编译岀错,无输岀。44. 以下关于宏替换的叙述不正确的是 (d )0A. 宏替换不占用运行时间B, 宏替换只是字符替换,不作

43、语法检查C. 宏名称无类型D, 宏名称必须用大写字母表示45. 一个C语言程序由若干个函数组成,其中唯一不可缺少的函数是(d )0A, 库函数 B. scanf函数C. printf 函数 D. main 函数46. 下面程序的输岀是(a ) mai n() int a10=l,2,3,4,5);printf( % “ n” ,a6);A. 0 B. 1 C. 2 D. 347. 若有static char s10 ="abcdefg"则数组s所占的字节数是 (b )。A.7B. 10C. 11 D.848. 下列程序的功能是(a )main ()in ts44=(1,2,

44、3,4,5,6,7,8),9,10,11,12,(13,14,15,16);int m,n;for (m=0;m<4;m+)(for (n=0;n<=m;n+)printf(" % d” ,smn);pri ntf("n");)A. 输岀4 X 4矩阵的下二角的元素.B. 输岀4 X 4矩阵的上三角的元素.C. 输岀4X4矩阵的对角线上的元素.D. 输岀4X4矩阵的全部元素.49. 执行语句for ( x=4; x->0 ;);后,变量x的值是(a )。A. -1 B. 0C. 1D.不确定50. 若有以下程序:main () int X6=(1

45、1,16,17,28,20), *t=x+3;printf ("%d",*t-2);则程序运行后的输岀结果是 (d )oA. 18B. 14C. 29D. 2651 .表达式x和y的取值同时在(0,+8)或 同时在(.8,0尸的表达式是(c) oA. (x+y>0) && (x+y<=0)B. (x>=0 | y>=0) && (x<0 | |y<0)C. x>0&&y>0 | x<0 && y<0D. (x>=0&& y>

46、=0) &&( xv0&& yvO)52. 有以下程序:mai n()(int n ,s8;for ( n=l; n<=8;n+)s8-n=n;printf ("%d%d%d" ,s2,s4,s6);则程序运行后的输岀结果是(c )oA. 246B. 741C. 642D. 14753. 设 int x=12,y=12345;则执行语句printf("x=%4d,y=%4d",x,y);的结果是(c )。A. x=12,y=1234B. x=12,y=12345C. x=12,y=12345D. x=12,y=234

47、554. C语言规定函数返回值的类型由(a ) oA. 在定义函数时所指定的函数类型所决定。B. 调用该函数时的主调函数的类型所决定。C. return语句中的表达式的类型所决定。D. 调用该函数时系统临时决定。55. while循环和do -while循环的区别是 (c )A. while循环和do -while循环的循环体都可以不执行;B. while循环的循环体将至少执行一次,而do-while循环的循环体可以不执行C. do-while循环的循环体将至少执行一次,而while循环的循环体可以不执行D. while 循环和 do -while 循环的循环体都将至少执行一次56. 下列程序

48、的执行结果是( c )omain()( int n=9; while(n>6) printf("%d",n-);A.9876B. 876C. 987D. 876557. 下列说法正确的是 ( d A. C 语言能嵌套定义函数,但不能嵌套调用函数 B. C 语言不能嵌套定义函数,也不能嵌套调用函数 C. C 语言能嵌套定义函数,也能嵌套调用函数 D. C 语言不能嵌套定义函数,但能嵌套调用函数58. a,b,c,d 都为 float 型, 且已正确赋值,则与数学表达式 A. a/c*b/d*2/5 B. a/(5*c*d)/2*bC. 2*a*b/5*c*d D. 2/

49、5*a*b*(l/c*d)59. 下列程序的执行结果是 ( b )o main()(int a,b,c; c=(a=3,b=a-);)o2ab/(5cd) 等价的 C 语言表达式是(a )=printf("%d,%d,%d",c,a,b); B. 3,2,3A. 3,3,3C. 2,3,3 有如下定义:D. 2,2,360. 法的表达式是 (int a=3,b=-4; long c=5; float x; double y ;C )=则下列选项中不符合 C 语言语A. a+=a-=a*b B. a%bC. y=2*x;D. y=(float)c1. 在C语言中函数的隐含存储

50、类型是(a )oA. autoB. staticC. extern D, 无存储类型2. 执行语句for(i=l;i+<4;);后,变量i的值为(c)A. 3B.4C. 5D,不定3. 以下说法不正确的是 (c )=A. C 语言中函数和变量一样有数据类型B. 函数即使没有参数,也不可以缺少函数名后的一对圆括号C, 函数带有形参时,形参必须是变量D, 对不需要函数返回值的函数,应定义为 void 类型4. 以下所列的各函数原型中,正确的是 (c )。A. void fun(var a:int,var b:int);B. void fun(int a,b);C. void fun(int

51、a,int b);D. void fun(a as int ,b as int);5. 若有定义和语句:char s10;s="abcd"printf("%sn"/s)则结果是(d )A.输岀abed B.输岀aC输岀abcdn D.编译不通过6. 关于数组元素的下标描述正确的是(c )oA. 必须是常量;B, 只能从 0 开始;C, 必须是整型表达式D, 下标的个数表示数组的长度7. 下列常数中哪个是不合法的 C常量(c )0A. -0. B. 0003C. 3e+2.3 D. "105"8. 在C程序中,设有说明:static i

52、nta23= 1,2,3,4,5,6 ;则下列表达式对 a数组中的元素值 引 用正确的是 ( b )oA. a(l)(2)B. *aC. al,2D. a039. 下列运算符中,优先级别最高的是 (c )oA. <= B.=C. %D. &&10. 关于C程序说法正确的是(c )。A. 一行只能写一条语句B. 一个语句不可以分写在多行上C. C 语言本身没有输入输岀语句D. 分号不是C语句的必要组成部分11. C语言中的if(表达式)语句里,表达式可以是(b )=A. 逻辑表达式、关系表达式B. 任何合法的表达式C, 赋值表达式D, 逻辑、关系和赋值表达式12. floa

53、t i,j,下列可以正确表不把 i,j之和转换成整型的C语言表达式(c )0A. int(i+j) B. int(i)+int(j)C. (int)(i+j)D, (int)i+j13. 下列标识符中非法的是 (a )。A. FILEB. tempC. stu_aveD. sum514. 程序段: int x=10, y=3,z;printf("%dn",z=(x%y,x/y); 的输岀结果是 :(c )。A. 1B.0C. 3D.415. 以下程序的输岀结果是 (c )omain()(int i,a10;for(i=9;i>=0;i-)ai=10-i;printf(

54、"%d%d%d",a2,a5,a8);B. 741D.369A. 258C. 85216. 下列说法正确的是 (a )oA. continue 语句只能用于循环语句中B. switch 语句中必须有 default 语句C. break 语句只用于循环语句内D. break 终止本次循环 , continue 终止本重循环17. 关于函数的说法不正确的是( a ) oA, 被调用函数的定义必须放在主调函数之前B, 函数调用可以嵌套C, 程序的入口是从 main ()开始D, 各函数之间是平行的,相互独立的18. 已知 int a,b; 则下列表达式不合法的是(b )。A.

55、a/bB. ( a+b) +C. a+=bD.a*=b+319. C语言中do 循环体2while (表达式);语句中,说法正确的是(b )=A. 循环体可能一次也不执行B. 循环体会至少执行一次C. 循环体必须用2组成复合语句D. 表达式的值为 0 时,返回循环体执行循环内容20. 下列属于 C 语言基本数据类型的是( c ) 0A, 整型、实型、逻辑型B. 整型、字符型、逻辑型C. 整型、字符型、实型D, 整型、实型、字符型、逻辑型21. 若给出以下定义:char a="abcdefg"charbnA'a'/b'/cVd'/e'/

56、f'/g');正确的叙述为 (C ) =A, 数组 a 与数组 b 等价B. 数组 a 与数组 b 的长度相同C, 数组 a 的长度大于数组 b 的长度D. 数组 a 的长度小于数组 b 的长度22. 执行以下程序后的结果为( a ) =main()( int i=l;while( i<=5)printf ( ',%d,i+) ; 2A. 1,2,3,4,5,B. 2,3,456,C. 2,3,4,5,D. 1,2,3,4,23. 以下描述中正确的是( c ) oA. 预处理指完成宏替换和文件包含中指定的文件的调用B. 预处理命令也是 C 语句C. 凡是行首以 #

57、开始的控制行都是预处理命令D. 预处理命令只能放在程序的开头(b )24. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是A. 地址传递B. 单向值传递C. 由实参传给形参,再由形参传给实参D. 传递方式由用户指定25. 为表示关系a'AxsS'z' ,C语言表达式应是(a )。A. (x<='z)&&(x>= a)B. (x<='z')&(x>='a'C. (x<='z)and (x>='a)D. (x<='z')| |(x>='a')1. 下列说法正确的是(d )=A. C语言能嵌套定义函数,但不能嵌套调用函数B. C语言不能嵌套定义函数,也不能嵌套调用函数C. C语言能嵌套定义函数,也能嵌套调用函数D. C语言不能嵌套定义函数,但能嵌套调用函数2

温馨提示

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

评论

0/150

提交评论