[工学]C语言单元习题集.doc_第1页
[工学]C语言单元习题集.doc_第2页
[工学]C语言单元习题集.doc_第3页
[工学]C语言单元习题集.doc_第4页
[工学]C语言单元习题集.doc_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

C语言程序设计习题集程序设计基本概念1. 一个C程序可以包含任意多个不同名的函数,但有且仅有一个(B),一个C程序总是从它开始执行。 (A)过程 (B)主函数 (C)函数 (D)include2. (A)是C程序的基本构成单位(A)函数 (B)函数和过程 (C)超文本过程 (D)子程序3. 下列说法正确的是(C)(A) 一个函数的函数体必须要有变量定义和执行部分,二者缺一不可(B) 一个函数的函数体必须要有执行部分,可以没有变量定义(C) 一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数(D) 以上都不对4. 下列说法正确的是(D)(A) main函数必须放在C程序的开头(B) main函数必须放在C程序的最后(C) main函数可以放在C程序的中间部分,即在一些函数之前在另一个函数之后,但在执行C程序时是从程序开头执行的(D) main函数可以放在C程序的中间部分,即在一些函数之前在另一些函数之后,但在执行C程序时是从 main函数开始的5. 下列说法正确的是(C)(A) 在执行C程序时不是从 main函数开始的(B) C程序书写格式严格限制,一行内必须写一个语句(C) C程序书写格式自由,一个语句可以分写在多行上(D) C程序书写格式严格限制,一行内必须写一个语句,并要有行号6. 在C语言中,每个语句和数据定义是用(C)结束(A)句号 (B)逗号 (C)分号 (D)括号7. 下列字符串是标识符的是(A)(A)_HJ (B)9_student (C)long (D)LINE 18. 以下说法正确的是(C)(A) C语言程序总是从第一个定义的函数开始执行(B) 在C语言程序中,要调用的函数必须在 main()函数中定义(C) C语言程序总是从 main()函数开始执行(D) C语言程序中的 main()函数必须放在程序的开始部分9. ()不是C语言提供的合法关键字(B)(A)switch (B)print (C)case (D)default10. C语言提供的合法关键字是(A)(A)continue (B)procedure (C)begin (D)append1. 一个函数由两部分组成,它们是(函数首部)和(函数体)2. 函数体一般包括(声明部分)和(执行部分)3. 函数体的范围是(最外层的一对花括号)4. C语言是通过(库函数)来进行输入和输出的5. 在C语言中,凡在一个标识符后面紧跟着一对圆括弧,就表明它是一个(声明部分)6. C语言的关键字都用(小写)大写或小写7. 主函数名后面的一对圆括号中间可以为空,但一对圆括号不能(没有)- 42 -C程序设计的初步知识1. C语言中不能用来表示整常数的进制是(D)(A)十进制 (B)十六进制 (C)八进制 (D)二进制2. 在C语言中,反斜杠字符是(D)(A)n (B)t (C)v (D)3. 在ASCII代码表中可以看到每一个小写字母比它相应的大写字母的ASCII码(A)(A)大32 (B)大64 (C)小32 (D)小14. 设d为字符变量,下列表达式不正确的是(C)(A)d=97 (B)d=a (C)d=”a” (D)d=g5. 10+a+1.5-567.345/b的结果是(B)(A)long (B)double (C)int (D)unsigned float6. 在C语言中,运算对象必须是整型数的运算符是(A)(A)% (B)/ (C)%和/ (D)*7. 为表示关系x=y=z,应使用C语言表达式(A)(A)(y=z) (B)(x=y)AND(y=z) (C)(x=y=z) (D)(x=y)&(y=z)8. 若欲表示在if后a不等于0的关系,则能正确表示这一关系的表达式为(D)(A)a0 (B)!a (C)a=0 (D)a9. 下列常数中,合法的C常量是(A)(A)”x-y” (B)105 (C)Be (D)7ff10. 下列常数中,合法的C常量是(A)(A)-0. (B)105 (C) AB (D)3+511. 下列常数中,合法的C常量是(A)(A)n (B)e-310 (C)DEF (D)123412. 下列常数中,不合法的C常量是(B)(A)-0x2a1 (B)lg3 (C) (D)”CHINA”13. 下列常数中,不合法的C常量是(B)(A)-0x3b1 (B)123e+2.3 (C) (D)6e+714. 下列符号中,可以作为变量名的是(C)(A)+a (B)12345e (C)a3B (D)5e+015. 写出下面程序的输出结果(A) main()int x,y,z; x=y=1; z=x+-1;printf(“%d,%dt”,x,z);z+=-x+(+y|+z);printf(“%d,%d”,x,z);(A)2,0 3,-1 (B)2,1 3,0 (C)2,0 2,1 (D)2,1 0 ,116. 写出下面程序的输出结果(D) main()int x=40,y=4,z=4; x = y = =z; printf(“%d”,x); x = x = = (y-z); printf(“%d”,x);(A)4 0 (B)4 1 (C)1 1 (D)1 017. 写出下面程序的输出结果(B) main()int I,j; I=16; j=(I+)+I;printf(“%d”,j); I=15;printf(“%d %d”,+I,I);(A)32 16 15 (B)33 15 15 (C)34 15 16 (D)34 16 1518. 若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值为(C)(A)1 (B)2 (C)2.0 (D)2.519. 下列程序的执行结果是(B)#define sum 10+20 main() int b=0,c=0; b=5; c=sum*b; printf(“%d”,c);(A)100 (B)110 (C)70 (D)15020. 表达式(double)(20/3)的值为(B)(A)6 (B)6.0 (C)2 (D)321. 如果int I=3;则k=(I+)+(I+)+(I+),则k =(12), I=( 6 );22. 如果 int I=3;则k=(I+)+(+I)+(I+),则k=( 13 ), I=( 6 );23. 如果 int I=3;则k=(+I)+(+I)+(I+),则k=( 14 ),I=( 6 );24. 如果 int I=3;则k=(+I)+(+I)+(+I),则k=( 15 ),I=( 6 );25. 已知在ASCII字符集中,字母A的序号为65,下面程序的输出结果为(K,5) main()char c=A; int I=10; c = c+10; I = c%I; Printf(“%c,%dn”,c,I); 26. C语言的数据类型有四大类,其分别为(基本类型),(枚举类型),(空类型),(派生类型)。27. C语言的数据类型中构造类型包括三种,它们是(),(),()。28. C语言基本数据类型包括(),(),(),()。29. 在C语言中,常量有不同的类型,包括(整型常量),(字符),(实型)和(字符串)。30. 符号常量是指(用#define指令,指定用一个符号名称代表一个常量)。31. 整型常量和实型常量也称为(数值常量),它们有正负值之分。32. C语言中,习惯上符号常量名用(大写),变量用(小写)。大写或小写33. C语言在定义变量的同时说明变量的(),系统在编译时就能根据变量定义及其()为它分配相应大小的存储空间。34. 在C语言中,用来标识变量名,符号常量名,函数名,数组名,类型名,文件名的有效字符序列称为(标识符)35. 整型变量可分为(),(),(),()四种,分别用(),(),(),()表示。36. 在一个整常量后面加一个字母(L)或(l),则认为是long int 型常量。37. 在C语言中,实数有两种表示形式,即()和()。38. 下面的程序 main()printf(“_ _ _ ab _ ct _derfgn”); printf(“htibbj _ _ _k”);运行结果是()39. 在C语言中,系统在每一个字符串的结尾自动加一个”字符串结束标志符”即(0)以便系统据此判断字符串是否结束。40. 表达式10+a+1.5-0.5*B的结果是(double)41. 表达式10+a+1.5-567.345/b的结果是(double)型数据42. 在TURBO C中,单精度实数的数值范围约在(-3.4e-383.4e-38)之间。43. 下面的程序: main()float x;int I;x=3.6; I=(int)x;printf(“x=%f,I=%d”,x,I);运行结果为(3.600000,3)44. 在C语言中,表达式的类型有(),(),(),(),(),()。45. 分析下面的程序: main()int a,b,c; a=b=c=1; a+=b; b+=c; c+=a; printf(“(1)%dn”,ab?a:b); printf(“(2)%dn”,ac?a-:c+); (a=b=c)?printf(“AA”):printf(“CC”); printf(“n a= %d,b= %d,c= %dn”,a,b,c);运行结果为(2,3,CC,2,2,4)46. 用C语言描述下列命题(1) a小于b或小于c(2) a和b都大于c(3) a或b中有一个小于c(4) a是奇数47. 若x=3,y=2,z=1,求下列表达式的值:(1) xy?y:x(2) xy?x+:y+(3) z+=xy?x+:y+48. sizeof用于计算出各个数据类型使用多少内存空间,若有语句:I=sizeof(int);j= sizeof(char),则I=();j=()49. 若I= sizeof(float);j= sizeof(double),则I=( ),j=( ).50. 在C语言中,可以利用(),将一个表达式的值转换成指定的类型。 顺序结构1. C语言中调用printf函数进行输出时需要注意,在格式控制串中,格式说明与输出项的个数必须相同。如果格式说明的个数小于输出项的个数,多余的输出项将();如果格式说明的个数多于输出项的个数,则对于多余的格式将输出不定值(或0)。(A)不予输出 (B)输出空格 (C)照样输出 (D)输出不定值或02. 在scanf函数的格式控制中,格式说明的类型与输入项的类型应该一一对应匹配。如果类型不匹配,系统将()。(A)不予接收 (B)并不给出出错信息,但不可能得到正确数据 (C)能接收到正确输入 (D)给出出错信息,不予接收输入3. 以下程序的输出结果是() main() int I=011,j=11,k=0x11; printf(“%d,%d,%dn”,I,j,k);(A)9,11,17 (B)9,11,11 (C)11,11,11 (D)11,11,164. 以下程序的输出结果是()#include main()printf(“%dn”,NULL);(A)不确定的值(因变量无定义) (B)0 (C)-1 (D)15. 以下程序的输出结果是() main()char c1=6, c2=0; printf(“%c,%c,%d,%dn”,c1,c2,c1-c2,c1+c2);(A)输出出错信息 (B)6,0,6,102 (C)6,0,7,6 (D)6,0,5,76. 有如下定义:int x= 10, y= 5, z;则语句 printf(“%dn”,z=(x+=y,x/y);的输出结果是()(A)1 (B)0 (C)4 (D)37. 以下程序的输出结果是() main()int a = -1 ,b = 4, k; k = ( +a = 0) & !(b - = 0); printf(“%d %d %dn”,k,a,b);(A)1 0 4 (B)0 0 4 (C)1 0 3 (D)0 0 38. 若有定义:int x,y; char a,b,c;并有以下输入数据(此处,代表换行符)1 2A B C则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是:(A)scanf(“x=%dy=%d”,&x,&y);a=getchar();b=getchar();c=getchar();(B)scanf(“%dy%d”,&x,&y);a=getchar();b=getchar();c=getchar();(C)scanf(“%d%d%c%c%c%c%c%c”,&x,&y,&a,&a,&b,&b,&c,&c);(D)scanf(“%d%d%c%c%c”,&x,&y,&a,&b,&c);9. 若已定义int a = 25, b = 14, c = 19 ;以下三项运算符(?:)所构成的语句的执行结果是()a+ = 25 & b- = 2 & c+ ? printf(“*a=%d,b=%d,c=%dn”,a,b,c) : printf(“#a=%d,b=%d,c=%dn”,a,b,c)(A)(*a=25,b=14,c=19)(B) (*a=26,b=13,c=19) (C) (#a=25,b=14,c=19) (D) (#a=26,b=13,c=19)1. C语言中的语句可分为五类,即()、()、()、()、()。2. 由一次函数调用加一个分号构成一个()语句。3. printf是C语言提供的标准输出函数,它的作用是()。4. printf函数的”格式控制”包括两部分,它们是()和()。5. 如果想输出字符”,则应该在”格式控制”字符串中用()表示。6. 符号&是()运算符,&a是指()。7. scanf函数的”格式控制”后面应当是(),而不是()。8. C语言中的空语句就是()。9. 返回语句的功能是从()返回()。10. 复合语句是由一对()括起来的若干语句组成的。11. 下列程序的输出结果是()#include main()char b=”ABCDEFG”; char *chp=&b7; while(- chp&b0)putchar(*chp); putchar(n);12. 下列程序的输出结果是() main()int x =2,y,z; x* = 3+2; printf(“%dn”,x); x* = y = z = 4; printf(“%dn”,x); x = y = z ; printf(“%dn”,x); x = (y = z); printf(“%dn”,x);13. 下列程序的输出结果是() main()printf(“%d”,14&47): printf(“%d”,14&74); printf(“%d”,(25); printf(“%d”,!(13)|(25)); printf(“%d”,!(4=6)&(3 (B)+ (C)& (D)!=2. 逻辑运算符运算对象的数据类型()。(A)只能是0和1 (B)只能是.T.或.F. (C)只能是整型或字符型 (D)任何类型的数据3. 能正确表示x的取值范围在0,100和-10,-5内的表达式是()。(A)(X=-5)&(x=100) (B)(x=-10)&(x=0)&(x=-10)&(x=0)&(x=100)(D)(x=-5)&(x=100)4. 以下程序的运行结果是()。 main()int c,x,y; x=1; y=1; c=0; c=x+ | y+ ; printf(“n%d %d %dn”,x,y,c);(A)1 1 0 (B) 2 1 1 (C)2 2 1 (D) 0 0 15. 以下程序的运行结果是()。 main()int c,x,y; x=0; y=0; c=0; c=x+ & y+; printf(“n%d %d %dn”,x,y,c);(A)1 0 0 (B)1 1 0 (C)0 1 1 (D)0 0 16. 两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是()。 main()int x; scanf(“%d”,&x); if(x+5) printf(“%d”,x); else printf(“%dn”,x-);(A)7和5 (B)6和3 (C)7和4 (D)6和47. 写出下面程序的运行结果()。 main() int x=1, y=1 ,z=0; if(z0) x=3;else x=5; printf(“%dt”,x); if(z=y0) x=3; else if(y= = 0) x=5;else x=7; printf(“%dt”,x); printf(“%dt”,z);(A)1 7 0 (B)3 7 0 (C)5 5 0 (D)1 5 1 8. 写出下面程序的运行结果()。 main()int x,y=1,z=0; if(y!=0) x=5; printf(“x=%dt”,x); if(y = = 0) x=3; else x=5; printf(“x=%dtn”,x); x=1; if(z0) x=3; else x=5; printf(“x=%dtn”,x); if(z=y0) x=3; else if(y = = 0) x=5;else x=7; printf(“x = %dt”,x); printf(“z = %dtn”,z); if(x=z=y) x=3; printf(“x=%dt”,x); printf(“z=%dtn”,z);(A)x=5 x=5 (B)x=5 x=5 (C)x=5 x=5 (D)x=5 x=5x=1 x=1 x=5 x=1x=7 z=0 x=5 z=0 x=7 z=0 x=7 z=0x=3 z=1 x=3 z=0 x=3 z=1 x=3 z=09. 若有以下函数关系x 0时y=xx = 0时y=x+1下面程序段能正确表示以上关系的是()。(A)y = 2x; (B)y = 2x; (C)if(x = 0) (D)y= x+1;if(x!=0) if(x0) y=x; if(x0) y=x; if(x= =0) y=x+1; else y=x+1; if(x0) y=2x; else y=x+1; else y=x; else y=2x; else y=x;10. 若有以下变量定义:float x;int a,b;则正确的switch语句是()。(A)switch(x) (B)switch(x) (C)switch(a+b) (D)switch(a+b) case 1.0:printf(“ok”); case 1,2:printf(“ok”); case 1:printf(“ok”); case 1:printf(“ok”); case 2.0:printf(“this”); case .3:printf(“this”); case 2*a:printf(“this”); case 1+2:printf(“this”); 1. 以下两条if语句合并成一条if语句为()。if(a b) printf(“*y=%dn”,y);else printf(“#x=%dn”,x);2. 以下程序的功能是计算一元二次方程ax2+bx+c=0的根,补足程序中空缺的语句。#include main()float a,b,c,_abs,_derta,_doublea,part1,part2; printf(“enter a ,b,c:”); scanf(“%f%f%f”,&a,&b,&c); if( ) if( ) printf(“no answer due to input errorn”); else printf(“the single root is %fn”,-c/b); else _derta = b*b 4*a*c; _doublea = 2*a; part1 = -b/(2*a);_abs = abs(_derta);part2 = sqrt(_abs)/_doublea;if( ) printf(“complex rootn real part=%f image part = %fn”,part1,part2);else printf(“real rootsn root1 = %f root2 = %fn”,part1+part2,part1- part2);3. 以下程序段的运行结果是()。int x=1 ,y=0;switch(x)case 1: switch(y) case 0: printf(“x=1 y=0n”);break; case 1:printf(“x=1n”);break; case 2:printf(“x=2n”);4. 根据以下if语句写出与其功能相同的switch语句。(x的值在0-100之间)if语句: if(x60) m=1; else if(x70) m=2; else if(x80) m=3; else if(x90) m=4; else if(x100) m=5;switch语句: switch( ) ( ) m=1:break; case 6:m=2;break; case 7:m=3;break; case 8:m=4;break; ( ) m=5; 1. 编写一程序,要求由键盘输入三个数,计算以这三个数为边长的三角形面积。2. 输入圆的半径r和一个整型数k,当k = 1时,计算圆的面积;当 k= 2时,计算圆的周长;当 k = 3时,既要求出圆的面积也要求出圆的周长。编程实现以上功能。循环结构1. 在do-while循环中,循环由do开始,用while结束;必须注意的是:在while表达式后面的()不能丢,它表示do-while循环的结束。(A)0 (B)1 (C); (D),2. for语句中的表达式可以部分或全部省略,但两个()不可省略。但当三个表达式均省略后,因缺少判断条件,循环会无限制地执行下去,形成死循环。(A)0 (B)1 (C); (D),3. 程序段如下:int k=1;while(! k= = 0)k = k+1; printf(“%dn”,k);则以下说法中正确的是()(A)while循环执行2次(B)无限循环(C)循环体语句一次也不执行(D)执行一次4. 程序段如下:int k=0;while(k + = 2); printf(“last = %dn”,k);则正确的执行结果是last = ( )(A)2 (B)3 (C)4 (D)无结果5. 执行下面的程序后,a 的值为( ) main() int a , b; for( a=1 , b=1 ; a=20) break;if(b%3 = = 1) b+=3; continue; b-=5;(A)7 (B)8 (C)9 (D)106. 分析下列程序 main() int n3, I, j,k; for(I=0; I3;I+) nI=0; k=2; for(I=0;Ik;I+) for(j=0;jk;j+)nj=nI+1; printf(“%dn”,n1);(A)2 (B)1 (C)0 (D)37. 下面程序的输出结果是( ) main() int n = 0; while(n+ =1) printf(“%dt”,n); printf(“%dn”,n);(A)1 2 3 (B)0 1 2 (C)1 1 2 (D)1 2 2 8. 当输入为”quert?”时,下面程序的执行结果是( ) main() char c; c=getchar(); while(c=getchar()!=?) putchar(+c);(A)Quert (B)vfsu (C)quert? (D)rvfsu?9. 当输入为”quert?”时,下面程序的执行结果是( ) main()while(putchar(getchar()!=?);(A)quert (B)Rvfsu (C)quert? (D)rvfsu?10. 当输入为”quert?”时,下面程序的执行结果是( ) main()char c; c=getchar(); while(c!=?) putchar( c ); c=getchar();(A)quert (B)Rvfsu (C)quert? (D)rvfsu?1. 将for(表达式1;表达式2;表达式3)语句改写为等价的while语句为( )2. break语句的功能是( )3. break语句只能用于( )语句和( )语句4. continue语句的作用是( ),即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。1. 求100-200间的全部素数2. 编一程序,将2000年到3000年中所有的闰年年份输出并统计出闰年的总年数,要求每10个闰年放在一行输出。数组1. 若有语句int a8;则下述对a 的描述正确的是( )。(A)定义了一个名称为a的一维整型数组,共有8个元素(B)定义了一个数组a,数组a共有9个元素(C)说明数组a的第8个元素为整型变量(D)以上可选答案都不对2. 在C语言中,引用数组元素时,其数组下标的数据类型允许是( )。(A)整型常量(B)整型表达式(C)整型常量或整型表达式(D)任何类型的表达式3. 下述对C语言字符数组的描述正确的是( )。(A)任何一维数组的名称都是该数组存储单元的开始地址,且其每个元素按照顺序连续占用存储空间(B)一维数组的元素在引用时其下标大小没有限制(C)任何一个一维数组的元素,可以根据内存的情况按照其先后顺序以连续或非连续的方式占用存储空间(D)一维数组的第一个元素是其下标为1的元素3. 下述对C语言字符数组的描述中正确的是( )。(A)任何一个一维数组的元素在引用时,其下标可以是整型、实型或字符型常量(B)一维数组的元素实质上就是一个变量,代表内存中的一个存储单元(C)如果要引用数组中的每一个元素,则直接使用该数组名称即可(D)以上都不对5. 以下对一维整型数组a的正确说明是( )。(A)int a(10); (B)int n=10,an; (C) int n; (D) #define SIZE 10 scanf(“%d”,&n); int aSIZE; int an;6. 以下能对一维数组a进行正确初始化的语句是( )(A)int a10=(0,0,0,0,0);(B)int a10=;(C)int a=0;(D)int a10=(10*1);7. 若有说明:int a34;则对a数组元素的正确引用是( )(A)a24 (B)a1,3 (C)a1+10 (D)a(2)(1)8. 以下能对二维数组a进行正确初始化的语句是( )(A)int a2=1,0,1,5,2,3;(B)int a3=1,2,3,4,5,6;(C)int a24=1,2,3,4,5,6;(D)int a3=1,0,1,1,1;9. 若有说明:int a34=0;则下面正确的叙述是( )(A)只有元素a00可得到初值0(B)此说明语句不正确(C)数组a中各元素都可得到初值,但其值不一定为0(D)数组a中每个元素均可得到初值010. 以下各组选项中,均能正确定义二维实型数组a的选项是( )(A)float a34; float a4; float a3=1,0;(B)float a(3,4); float a34; float a=0;0;(C)float a34; static float a4=0,0;(D)float a34; float a3;11. 若二维数组a有m列,则计算任一元素aij在数组中位置的公式为( )。(假设a00位于数组的第一个位置上。)(A)i*m+j(B)j*m+i(C)i*m+j-1(D)i*m+j+112. 对以下说明语句的正确理解是( )int a10 = 6,7,8,9,10;(A)将5个初值依次赋给a1至a5 (B)将5个初值依次赋给a0至a4(C)将5个初值依次赋给a6至a10(D)因为数组长度与初值的个数不相同,语句有错13. 若有说明:int a3=1,2,3,4,5,6,7;则a数组第一维的大小是( )(A)2 (B)3 (C)4 (D)不确定14. 定义如下变量和数组:int I;int x33=1,2,3,4,5,6,7,8,9;则下面语句的输出结果是( )for(I=0;I3;I+)printf(“%d”,xI2-I);(A)1 5 9(B)1 4 7(C)3 5 7(D)3 6 915. 下面程序的运行结果是( ) main()int a66,I,j;for(I=1;I6;I+) for(j=1;j6;j+) aIj=(I/j) * (j/I)for(I=1;I6;I+) for(j=1;j6;j+) printf(“%2d”,aIj); printf(“n”);(A)1 1 1 1 1 (B)0 0 0 0 1 (C)1 0 0 0 0 (D)1 0 0 0 11 1 1 1 1 0 0 0 1 0 0 1 0 0 0 0 1 0 1 01 1 1 1 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 01 1 1 1 1 0 1 0 0 0 0 0 0 1 0 0 1 0 1 01 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 116. 下面程序的运行结果是( ) main()int a6;for(I=1;I3)%5; printf(“%2d”,aI);(A)-4 0 4 0 4(B)-4 0 4 0 3(C)-4 0 4 4 3(D)-4 0 4 4 017. 下列定义正确的是( )(A)static int a=1,2,3,4,5(B)int b2=2,5,7(C)int a(10)(D)int 4e418. 若有说明:int a4=0,0;则下列叙述不正确的是( )(A)数组a的每个元素都可得到初值0(B)二维数组a的第一维的大小为1(C)因为对二维数组a的初值个数除以第二维的大小,商为0,所以数组a的行数为1(D)只有元素a00和a01可得到初值0,其余元素均得不到初值19. 设有char str10,下列语句正确的是( )(A)scanf(“%s”,&str);(B)printf(“%c”,str);(C)printf(“%s”,str0);(D)printf(“%s”,str);20. 20.以下语句定义正确的是( )(A)int a14=1,2,3,4,5;(B)float x3=1,2,3;(C)long b23=1,1,2,1,2,3;(D)double y3=0;21. 下列的说法正确的是( )(A)在C语言中,可以使用动态内存分配技术,定义元素个数可变的数组(B)在C语言中,数组元素的个数可以不确定,允许随机变动(C)在C语言中,数组元素的数据类型可以不一致(D)在C语言中,定义了一个数组后,就确定了它所容纳的具有相同数据类型元素的个数22. 假设array是一个有十个元素的整型数组,则下列写法中正确的是( )(A)array0=10(B)array=0(C)array10=0(D)array-1=023. 若用数组名作为函数调用的实参,传递给形参的是( )(A)数组的首地址(B)数组的第一个元素的值(C)数组中全部元素的值(D)数组元素的个数24. 若使用一维数组名作函数实参,则以下正确的说法是( )(A)在被调函数中,与该实参相对应的形参必须是指针型变量(B)实参数组类型与形参类型可以不匹配(C)在被调函数中,不需要考虑形参数组的大小(D)实参数组名与形参数组名必须一致25. 下述对C语言字符数组的描述错误的是( )(A)字符数组可以存放字符串(B)字符数组中的字符串可以整体输入、输出(C)可以在赋值语句中通过赋值运算符”=”对字符数组整体赋值(D)不可以用关系运算符对字符数组中的字符串进行比较26. 设有char str110, str210,c1; 则下列语句正确的是( )(A)str1 = “china”; str2 = str1; (B)c1=”ab”;(C)str1 = “china”; str2 = “people”; strcpy(str1,str2);(D)c1=a;27. 以下能正确进行字符串赋值、赋初值的语句组是( )(A)char s5 = a,b,c,d,e;(B)char *s; s=”abcde”;(C)char s5 = “abcde”; (D)char s5; s = “abcd”;28. 下列语句的执行结果是( )static char str10 = “china”;printf(“%d”,strlen(str);(A)10 (B)6 (C)5 (D)029. 合法的数组定义是( )(A)int a = “language”;(B)int a5=0,1,2,3,4,5;(C)char a=”string”; (D)char a=“0,1,2,3,4,5”;30. 若有以下程序片段:char str = “abn012”;printf(“%d”,strlen(str);则输出结果是()(A)3 (B)4 (C)6 (D)12 31. 库函数strcpy用以复制字符串。若有以下定义和语句:char str1 = “string”, str28, *str3, *str4=”string” ;则对库函数strcpy的不正确调用是( )(A)strcpy(str1,”hello1”);(B)strcpy(str2,”hello2”);(C)strcpy(str3,”hello3”);(D)strcpy(str4,”hello4”);32. 下面程序段的运行结果是( )char a7 = “abcdef “;char b4 =”ABC”;strcpy(a,b);printf(“%c”,a5);(A)为空格(B)0(C)e(D)f33. 有下面的程序段char a3,b = “China”;a = b;printf(“%s”, a);则(A)运行后将输出China(B)运行后将输出Ch(C)输出Chi(D)编译出错1. 数组名命名规则和变量名相同,遵循( )命名规则。2. 对于一维数组的定义”类型说明符 数组名常量表达式”其中常量表达式可以包括( )和( ),不能包含( )。3. 对于数组amn来说,使用数组的某个元素时,行下标最大值是(),列下标最大值是()。4. 在

温馨提示

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

评论

0/150

提交评论