C语言习题资料_第1页
C语言习题资料_第2页
C语言习题资料_第3页
C语言习题资料_第4页
C语言习题资料_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、1、结构化程序设计三种基本控制结构不包括( A )。A、数据结构 B、选择结构C、顺序结构 D、循环结构2、整型常量三种表示形式中不含( D )。A、八进制 B、十六进制 C、十进制 D、二进制3、以下表达式中,( A )无法正确表示右图所示的表达式。 A、(a+b)*(a-c)/3*a B、(a+b)/(3*a)*(a-c)C、(a+b)*(a-c)/(3*a) D、(a+b)/ a*(a-c)/34、若已定义:int i=2,j=7;则( A )表达式不正确。 A、(i+)+j+(5+) B、(i+)+(j+)+5C、(-i)+j D、(i+)+(j+)5、若已定义:float x; ch

2、ar c;以下正确的输入语句是( B )。A、scanf(“%f%c”,x,c); B、scanf(“%f%c”,&x,&c);C、scanf(“%f,c”,&x,&c); D、scanf(“%f%c”,&x,%c);6、若已定义:int a;条件表达式( C )等价于求a的绝对值。A、a0?-a:a B、a0?a:-a C、a0?-a:a7、若已定义:int i=6;float x=1.5,y=3.5;则表达式x+i%(int)(x+y)值为( B )。A、7.5 B、2.5 C、2 D、2.78、以下程序段的运行结果是( C )。int x=10,y;if(x20) y=9;else if

3、(x10) y=6;else if(x5) y=3; else y=1;printf(“%dn”,y);A、1 B、9 C、3 D、69、以下程序段运行后s的值为( B )。int i,s=0;for(i=3;i0;i-) s=(s+1)*3;A、9 B、39 C、0 D、3610、以下叙述中错误的是( A )。A、定义数组时,若不加类型标示符则默认为整型;B、可逐个引用数组元素但不能一次引用整个数组; C、数组名代表数组的首地址; D、数组中每一个元素都属于同一数据类型。11、以下程序段的运行结果是( D )。int a33=1,2,3,4,5,6,7,8,9,i;for(i=0;i3;i+

4、)printf(“%2d”,ai2-i);A、9 5 1 B、7 5 3 C、1 5 9 D、3 5 712、若已定义:char s150,s210=”abc”;,执行语句printf(“%sn”,strcat(strcpy(s1,s2),”xyz”);后输出( D )。A、axbycz B、xaybzc C、xyzabc D、abcxyz13、以下程序的运行结果是( D )。#includeunsigned int f(unsigned int x);if(x=1) return 1; return 2*f(x/2);void main()printf(“%un”,f(10);A、4 B、1

5、 C、16 D、814正确的宏定义命令是( D )。A、#define K 3.14; B、#define K=100C、#define M*N 100 D、#define SUM(x,y)(x+y)15、若已定义:int i=10,*pi=&i;float x=5.6.*px=&x;以下语句错误的是( C )。A、*pi=i+20; B、(*px)=*pi+x; C、pi+px; D、x=*pi+*px;16、以下程序的运行结果是( A )。#includevoid main()int a,b, *pb=&a,*pb=&b;*pa=3;*pb=4;a=5;b=6;pb=pa;printf(“

6、%dn”,*pa+*pb);A、10 B、7 C、12 D、1117、若已定义:Struct Studentint num;float score;s,*ps=&s;以下不正确的语句是( B )。A、(*ps).score=90; B、ps-score=90;C、s.score=90; D、(*ps)-score=90;18、若已定义:int a10,*pi,(*ps)10;以下赋值语句中错误的是( D )。A、ps=&a; B、pi=a+5; C、pi=a;ps=&a;*(*ps)=10; D、pi=a;ps=pi;19、以下程序段运行后,输出结果是( B )。int a=2,b=3,c=1

7、0;c=(a1)|(b1);printf(“%d %d %d n”,a,b,c);A、2 3 10 B、2 3 7 C、3 2 7 D、2 5 720、若有以下程序,以下叙述正确的是( A )。#includevoid main()FILE *fp;int i;char infor20=“firstn”,”secondn”,”thirdn”,”bye!”;fp=fopen(“c:test.txt”,”w”);if(fp) for(i=0;i=sizeof(infor)/sizeof(char 20)-1;i+) fprintf(fp,”%s”,infori);fclose(fp);A、程序运行

8、后,test.txt文件原来的内容被information中存储的字符串信息所覆盖;B、按“w”方式打开的文件test.txt,可以对其进行读操作;C、若文件test.txt不存在,则程序无法运行;D、程序运行后,在test.txt文件的内容的后面追加了新四行infor中存储的串信息。21、 C源程序由函数构成,而函数的基本组成单元是( B )A、变量 B、语句 C、表达式 D、过程22、( D )为合法的字符常量。A、” B、xx C、“x” D、n 23、若已定义:int a,b;则都好表达式a=5,b=3,a*=a+b的值是( D )A、8 B、28 C、15 D、40 24、若已定义:

9、enum WEEKDAYmon=1, tue,wed,thur,fri,sat=8,suntoday;则枚举常量tue和sun的值分别是( C )。A、1和5 B、2和10 C、2和9 D、0和725、求x平方根的正确函数调用时( A )。A、sqrt(x) B、pow(x,2) C、sqrt(x,2) D、sqr(x)26、已定义:int a=1,b=3,c=2; 表达式值为0 的是( C )。 A、a|bc B、 ab)&(a+c)b D、a B、+ C、 = = D、=28、若已定义:int d;FILE *fp; 要从fp所指向的已经打开的文件中读取一个整形数据到变量d中,正确的语句是

10、( D )A、fscanf(fp,&d); B、fscanf(fp.”%d”,d);C、scanf(fp,”%d”,d); D、fscanf(fp,”%d”,&d); 29、以下程序段的输出结果是( B )。int a5=12,-4,16,8,-10, *p;p=a+4;printf(“%d”,*p-);A、8 7 B、-10 7 C、8 16 D、-10 -1130、给数组a所有元素赋初值0的语句是( C )A、int a =0*6; B、int a6 =0;C、int a6=0; D、int a6= 6*0;31、以下程序段的运行结果是( B )。 int a 4=1,2,3,4,5,6,

11、7,8,9,10,11,12;printf( “%dn”, a00-a23) ;A、-1 B、 -11 C、8 D、1032、若有如下结构类型定义,以下错误的语句是( B )。struct PERSON int num;char name10;A、struct PERSON *pB、struct PERSON people100; (people+5)-num=1234; C、struct PERSON *p; p-name=”1234”;D、struct PERSON person; person.num=123;33、对于无返回值的函数,在定义时建议使用( D )的函数类型标示符。A、fl

12、oat B、empty C、double D、void34、宏定义#define PI 3.14 中,宏名PI是一个( D )。A、字符变量 B、字符串常量 C、单精度类型的常量 D、符号常量35、若已定义:int a5, *p=a; 无法引用数组元素a4的是( C )。A、p4 B、*(p+4) C、*p+4 D、*(&p 0 +4)36、以下程序的运行结果是( B )。#includevoid main() int a23=1,2,3,4,5,6,*p=a0, *q=p+5; for(;q= p;q-) printf(“%d”, *q);A、1 2 3 4 5 6 B、 6 5 4 3 2

13、 1 C、4 5 6 3 2 1 D、 3 2 1 4 5 637、以下叙述错误的是( B )。A、#define INPUT scanf的作用是用标识符INPUT代表scanf。 B、C语言源程序分钟加入一些预处理命令是为了改进程序的设计环境,提高编程效率。C、若有int t;不能使用宏定义#define SWAP(x, y) t=x;x=y;y=t;D、预处理命令行都必须以#号开始。38、若已定义:int a3=-3, 10 ,-9 ,*p=a+2;则对数组元素a1错误引用的是( B )。A、*(-p) B、p-1 C、 *p- D、*(p-1)39、以下枚举类型的定义,正确的是( A )

14、。A、enum COLORred=1, blue=3, green = 5;B、enum COLOR=“red”,”blue”,”green”;C、enum COLOR“red”,”blue”,”green”;D、enum COLOR=red,blue,green;40、以下叙述错误的是( D )A、函数体内定义的变量,其生命期是函数执行期。B、全局变量的作用域是从其定义处起至本程序结束处 C、函数体内复合语句中定义的变量只在该复合语句内有效。D、在一个程序源文件中定义的全局变量在程序的其他与文件中必不可见。41、C源程序需经过( D )生成可执行文件。A、录入和编辑 B、调试和连接 C、编辑

15、和解释 D、编译和连接 42、( C )为合法的浮点型常量。A、1E-8.5 B、E-8 C、1.OE-8 D、1.25E43、若已定义:int a,b=3,c;则( C )是不正确。A、c=(a=10,a+=6); B、c=6*b;C、c=(2=a)+b); D、b*=b+=2*b;44、若已定义:float a=1.2;int b=3;则表达式b%5-a的值是( D )。A、2 B、-0.2 C、-1.2 D、1.845、字符数组str经初始化后,存储的不是字符串“xyz”的语句是( B )。A、char str =x,y,z,0; B、char str4=x,y,0,z;C、char s

16、tr =x,y,z,0; D、char str4=x,y,z,0-48;46、若已定义int a34,无法正确引用数组a元素的是( B )。A、ab-971 B、a01C、a05-2 D、a01-4847、若已定义:long int i; char c;float f;则表达式i+c+(int)f结果的类型是( A )。A、long int B、char C、double D、int48、若已定义int a=3,b=8;以下程序段的运行结果是( C )。if(a=1)b=9;printf(a=%d,b=%dn,a,b);A、a=1,b=8 B、a=3,b=9 C、a=1,b=9 D、a=3,b

17、=849、以下程序段的运行结果是( A )。int a =1,2,3,4,5,6,7,8,i,sum=0;for(i=0;i8;i+)if(i+1)%2)sum+=ai;printf(%dn,sum);A、16 B、20 C、36 D、1850、( D )语句能正确定义a为整型数组。 A、int an,n=10; B、int a(10); C、int n=10,an; D、int a10;51、正确定义二维数组a的语句是( B )。A、int a(4,3); B、float a2+25; C、float a4 ; D、int a4,5;52、以下程序的运行结果是( B )。#includevo

18、id main()char *str=abc123,*p=str;while(*p)putchar(*p+1);p+;A、123abc B、bcd234 C、cba234 D、abc12353、以下叙述错误的是( B )。A、函数原型中可以不指明参数的名字 B、函数原型中可以不指明参数的类型C、定义函数时必须指明函数名 D、定义函数时必须指明函数类型54、以下预编译处理指令中,错误的是( D )。A、#define MAX(x,y) (xy?x:y) B、#includeC、#includestdio.h D、#define PI 3,14;55、以下程序段的运行结果是( A )。char s

19、tr=Computer,*p=str+3;printf(%s,-p);A、mputer B、Computer C、m D、puter56、以下程序的运行结果是( A )。#includevoid main()int a5=16,8,3,5,12,*p=a,*q=&a4;printf(%dn,q-p);A、4 B、1 C、2 D、357、若有以下定义和语句,以下叙述错误的是( A )。union Datachar ch;int i;x,*px=&x;x.i=66;printf(%cn,px-ch);A、&x.ch和&x.i值相同 B、px和&x.ch值相同C、px和&x值相同 D、输出字符A58

20、 以下叙述中错误的是( C )。A、以一对/*和“*/”为定界符括起来的文字为注释部分B、所有语句都必须以分号;结束C、语句必须在一行内写完D、C源程序必须包含一个main()函数59、以下程序段运行结果是( A )。int i;for(i=1;i=6;i+)if(i%2)printf(*);continue;printf(#);A、*#*#*# B、#*#*#* C、# D、*60、能正确表示2tt2 B、t2 & t2 | t10 D、2t1061、若已定义:char c1,c2,c3;使用语句scanf(” %c%c%c”,&c1,&c2,&c3);给c1,c2,c3分别赋h,u,b,正

21、确的输入形式是( A )。A、 hub B、 h,u,b C、h u b D、h,u,b62、( D )为合法的用户标识符。A、struct B、8du C、h2.7 D、_3tree63、以下程序的可执行文件名为do.exe#include#includevoid main(int argc, char *argv)if (argc!=2) printf(“Bad command found!n”); exit(1);printf(“hello %sn”,argv1);getch();在DOS命令行输入:do me,则输出结果是( C )。A、hello do B、hello dome C、

22、Bad command found D、hello me64、运算符( D )不能用于非整型数据运算。A、/ B、* C、+ D、%65、以下叙述正确的是( A )。A、break语句只能用在循环体内和switch语句体内。B、break语句只能用在switch语句体内。C、continue语句的作用是使程序的执行流程跳出包含它的所有循环。D、在循环体内使用break语句和continue语句的作用相同。66、以下程序段运行后,a,b,c的值分别是( A )。int a=3,b=5,c;c=a&b;A、3,5,1 B、5,3,1 C、3,5,3 D、5,1,367、若已定义:struct st

23、udent int num,score;stu= 111,80,112,76,113,60,114,90;以下错误的语句是( D )。A、stu0.score=stu1.score; B、(stu+3)-score+;C、*stu=*(stu+1); D、(*stu)-num=110;68、若已定义:int a5=1,2,3,4,5,*pa=a+3;以下叙述错误的是( B )。A、a2 与*(pa-1)的值相同 B、a-与pa-的作用相同C、a2与pa-1的值相等 D、*pa与a3的值相等69、以下叙述错误的是( C )。A、宏定义不占用程序运行时间,但与程序中语句一样需要编译B、一个C语言源

24、程序可以有多条预处理命令C、宏定义必须放置在它所在的源程序文件的最前面D、宏定义中宏名一般用大写字母表示70、以下程序的运行结果是( D )。#includeint larger(int x,inty) return xy?x:y;int largest(int x,int y,int z) return larger(larger(x,y),z);void main() int a=3,b=-4,c=5;printf(larger=%d,largest=%dn,larger(a,b),largest(larger(b,c),2*4,12);A、larger=5,largest=12 B、la

25、rger=3,largest=5C、larger=5,largest=8 D、larger=3,largest=1271、若已定义int a4=1,-2,3,-4,5.-6,7,-8;则表达式sizeof(a)/(sizeof(int4)的值为( A )。A、数组a的第一维长度 B、数组a1中的元素个数C、数组a0的第一维长度 D、数组a的元素个数72、( B )语句能正确定义整型变量x,y,z,并给它们赋相同初值3。A、int x=y=z=3; B、int x=3,y=3,z=3;C、int 3=x=y=z; D、int x,y,z=3;73、若已定义:int a,b=6;执行语句a=-b;

26、后变量a,b的值分别是( C )A、5、6 B、6、5 C、5、5 D、6、674、表达式strlen(“abcde0gh”)的值为( A )A、5 B、4 C、9 D、775、若已定义int a=3,b=2;以下程序段的运行结果是( D ) if (a=3) if (b=1) a+=b; printf(“%dn”,a);else a-=b; printf(“%dn”,a); elseprintf(“%dn”,a+3);A、5 B、6 C、3 D、176、以下程序的输出结果是( B )#includevoid main() int a =11,12 ,13 ,-4,-5,-6, *p=a+si

27、zeof(a)/sizeof(int )-1;while(p=a) (*p)+; p-; printf(“%dn”,*(p+1);A、11 B、12 C、-5 D、-477、以下程序段运行后k的值为( C )。 int i,k=3; for(i=1;i=5;i+) k+=1; if(k%2=0) continue; k+=2; A、10 B、9 C、12 D、1178、若已定义:int x=1,y=2,n;则( B )是正确的。A、n=2x+y B、n=(x=2)*(y=3)C、(x+0.8)%5 D、n+2=x*379、若定义int a34;,无法正确应用数组a元素的是( B ) A、a0

28、1-48 B、a0 1 C、a05-2 D、ab-97 180、若以定义:char s20=”Good0Helloworld”;则函数strlen(s+5)的值是( C ) A、6 B、8 C、10 D、581、以下程序运行后的结果是( B )#include void main() FILE *fp; int i; char infor 20=“firstn”,”secondn”,”thirdn”, ”bye!”;fp=fopen(“c:test.txt”,”w”);if(fp) for(i=0;isizeof(infor )/sizeof(char20-1);i+) fprintf(fp,

29、”%s”,infori);fclose(fp); A、程序运行后,在test.txt文件内容的后面追加了新的四行infor中存储的串信息。B、程序运行后,test,txt文件原来的内容刚被infor中存储的字符串信息说覆盖。C、若文件test.txt不存在,则程序无法运行。D、按”w”方式打开的文件test.txt,可以对其进行读操作。82、若已定义:int a=12,*pa=&a;以下描述错误的是( D )。A、*pa等价于a B、*(&pa)等价于aC、&(*pa)等价于pa D、&pa等价于*(&a)83、以下程序的运行结果是( C )。#includevoid main() char

30、str=”abcd”,*p=str; while(*p) (*p)+;p+;printf(“%sn”,str);A、 dcba B、abcd C、bcde D、cbda84.以下程序段的运行结果是( D )。int a3,k=3; a0=k;a1=a0+2;a2=a0*a1;printf(“%dn”, a2);A、6 B、12 C、9 D、1585、若已定义:int a=1,b=2,c=3,x;以下程序段运行后x的值为 3的是( C )。A、 if (ab) B、if(ac) C、if(cc)x=b; x=3; x=1; x=3;if(bc) if(ab) else if(ba)x=c; x=

31、2; x=2; x=2;if(ac) if(a1) else else x=a; x=1; x=3; x=1;86、使用FILE *fp=fopen(“c:score.txt”,”a”打开一个已经存在的文本文件score.txt后,文件指针移到( A )A、文件尾 B、文件首 C、可能文件首,也可能文件尾 D、不确定87、若已定义:int i=0,j=1; 表达式值为1 的是( A )A、j=1|i=1 B、(j=0)&(i=1) C、i+&j+ D、i!=0&j!=088、( B )可产生(0,0.9)之间的随机数。A、rand( )%10/10 B、rand( )%10/10.0C、sra

32、nd()%10/10.0 D、srand( )*10%1089、以下程序段运行后sum的值为( D )int i,j,sum=0for(i=1;i=3;i+)for(j=i;j=3;j+)sum=sum+i+jA、12 B、18 C、20 D、2490、若有以下结构类型定义:typedef struct Student int num ;float score; STU ,*Pstu;以下变量声明中,错误的是( B )A、STU *ps B、struct Student *ps C、Student *ps; D、Pstu ps;91、以下不是c允许的十六进制数表达式( C )A、0X9B、 B

33、、0x29 C、55H D、0x1192、若已定义char b20 =”How do you do!”; 实现输出字符串”do you do!”的语句是( A )。A、printf(“%s”,b+4); B、printf(“%s”,b);C、printf(“%c”,b+4); D、puts(“%c”,b20);93、若以定义:int a =1,2,3,*p=a;则执行*p+;后a0,a1,a2的值依次是( B )A、5,2,3 B、5,3,3 C、1,2,3 D、1,3,494、若已定义:int x;能正确判断x为奇数的表达式是( C )。A、!(x%2) B、x%2= =0 C、x%2!=0

34、 D、x%2!=195、以下程序的输出结果是( D )。#include struct Student int num ,grade;s=111,80,112,90,113,70;void main() struct Student *ps=s+2;while(ps=s) ps-grade+=5;ps-; printf(“%dn”,(ps+1)-grade);A、70 B、95 C、90 D、8596、若已定义:struct teacher int num;char name20;t50,*p=t;以下对结构变量t1中成员num非法的引用是( B )。A、(p+10)-num B、(*t)-n

35、um C、(*p).num D、t10.num97、若已定义:int i=3,j=2;则表达式-i+(j+)的值是( D )。A、3 B、5 C、6 D、498、若已定义:float x=2.6,y=1.3,z=3.0; 表达式( D )与(x-y)*z/2的计算结果不相等。A、z/2*(x-y) B、(1.0/2)*(x-y)*zC、(x-y)/2*z D、(1/2)*(x-y)*z99、以下程序段的运行结果是( A )。 int x=5,a=2; switch(x) case 6:a+;break;case 5:a+=2;case 4:a+=1;break;case 3: a-; prin

36、tf(“%dn”, a);A、5 B、4 C、2 D、6100、以下叙述中正确的是( B )。A、结构化程序只能解决一些简单的数学问题。B、C语言是一种结构化程序设计语言。C、结构化程序由顺序、选择、嵌套三种基本控制结构组成。D、为提供程序效率,应尽量使用goto语句。101、若已定义:int a=1,b=2,c; 语句c=1.0/b*4 ;执行后,变量c的值为( D )。A、3 B、1 C、0 D、2102、若已定义char s320=”ccc”, s110=”aaa”, s210=”bbb” :执行语句printf(“%s”,strcpy(s3,strcat(s1,s2);输出的内容是(

37、C )。A、ccc B、ccc aaa bbb C、aaa bbb D、aaa bbb ccc103、下列叙述错误的是( A )。A、形参可以是常量、变量或表达式B、函数的调用可以嵌套,但函数的定义不可以嵌套C、在不同的函数中可以使用相同的变量名D、形式参数是局部变量104、以下程序段运行后*(p+2)的值为( B )。char a8=”student”;char *p=a;A、a1的地址 B、u C、a2的地址 D、r105、以下程序的运行结果是( B )。void main() int a6=6,5,4,3,2,1; int I,*p,*q; q=a+4; for(p=a;pstu2.sc

38、ore B、p2.scoreC、p2-score D、p-stu.score107、以下程序运行后,c的二进制值是( C )。int a=31,b=23,c;c=a&b1;A、00010100 B、00001110 C、00001011 D、00110001108、使用fopen()函数打开一个文件时,读写指针( B )。A、一定在文件首 B、可能在文件首,也可能在文件尾C、一定不在文件尾 D、可以在文件的任何位置109、表达式2.6+7/3-1.5+5%10的值是( A )A、8.1 B、8.433333 C、7.1 D、3.1110、若已定义:int a=2, b=3, c=4;则下列表达式值为0的是( B )。A、a|(c-b)&(c-a) B、!(ac)&b|0) C、a&b D、a=b111、若已定义:int a=1,b=3;下列程序段运行后b的值不为5的是( A )。A、if(a1) B、if(a1) C、if(a2) D、if(a3) b=5; b=2; b=5; b=5; else else else else b=2; b=5; b=2; b=2;112、以下程序段的运行结果是( D )。int i,

温馨提示

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

评论

0/150

提交评论