




免费预览已结束,剩余104页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言题库题型说明各章内容符号名称分数答题说明章号内容章号内容章号内容A选择题101C语言概述07数组13文件B填空题202算法08函数14C分析程序结果403数据类型、运算符与表达式09预处理命令15D程序填空204顺序程序设计10指针16E编程题1005选择程序设计11结构体与共用体1706循环控制12位运算18备注:0338 11A3#include struct STUchar name10; int num;void f(char *name,int num)struct STU s2=“SunDan”,20044,“Penghua”,20045; num=s0.num; strcpy(name,);main()struct STU s2=“YangSan”,20041,“LiSiGuo”,20042,*p;p=*s1; f(p-name,p-num);printf(“%s %d”,p-name,p-num);程序运行后的输出结果是( )A、SunDan 20042 B、SunDan 20044C、LiSiGuo 20042 D、YangSan 200410338A0339 05E2编写程序,打印出所有的“对等数”。“对等数”是指一个三位数,其各位数字的和与各位数字的积的积等于该数本身。例如:144(1+4+4)*(1*4*4)0339 main()int a,b,c,k;for(k=100;k=0;i-) if(aix) ai+1=ai; else break;ai+1=x;0341 08E2 用递归方法实现,求123 +n的和。(其中n是自然数)。0341int he(int n) int y;if(n=1) y=1;else y=he(n-1)+n;return y; 0342 03B1 C语言的基本数据类型有()、()、()。0342 整型实型字符型0343 11B1 使几个不同的变量共占同一段内存的结构,称为()类型的结构。0343 共用体0344 03B1 语言中逻辑值“假”用()表示。0344 00345 03B1 C语言中逻辑运算符优先级按由低到高分别是( )。0345 |&!0346 03B1 一个C语句中至少包含一个()。0346 ;或分号0347 03B1 若x是int型变量,且x=6,则表达式 ( x%2+(x+1)/2 ) 的值为( )。0347 30348 13A1 若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数feof(fp)的值为A、0 B、1 C、-1 D、一个非0值0348 A0349 03B2 设int a=10 , c=9 ; 则表达式( -a=c+ ? -a : +c )的值是()。0349 80350 03C2 若有说明int x=10,y=20;请写出下面各printf语句对应的输出结果。 printf(“%3xn”,x+y); ( ); printf(“%3on”,x*y); ( ); printf(“%3on”,x%y); ( );printf(“%3xn”,(x%y,x-y,x+y); ( )。03501e310121e0351 03B1 若k为int型变量且赋值11。请写出运算k+后表达式的值()和变量的值()。0351 11120352 13A1 用只读方式打开一个文件“file”,下列正确的是()A、 fp=fopen(“file”,”r”); B、 fp=fopen(“file”,”w”);C、 fp=fopen(“file”,”r+”);D、 fp=fopen(“file”,”w+”);0352 A0353 08A2 下列定义中不正确的是()。 A、 int p; B、 int pn; C、 int *p(n); D、 int (*p)(); E、 int *p;0353 C0354 08A1以下关于函数的叙述中正确的是A、 每个函数都可以被其它函数调用(包括main函数)B、 每个函数都可以被单独编译C、 每个函数都可以单独运行D、 在一个函数内部可以定义另一个函数0354 B0355 10A2有以下程序main()int a10=1,2,3,4,5,6,7,8,9,10,*p=&a3,*q=p+2; Printf(“%dn”,*p+*q);程序运行后的输出结果是A、16B、10C、8D、60355 B0356 03A1 设有 int x=5,y=8; 则表达式(x+5y-3x-5)的值是()A、 1B、 0C、 3D、 40356 B0357 07A1有以下程序main()char p=a,b,c,q=”abc”; printf(“%d %d”,sizeof(p),sizeof(q);程序运行后的输出结果是A、44B、33C、34D、430357 C0358 06A2以下程序的输出结果是()。 int x=3; do printf(“%d”,x-=2); while(!(-x); A、1B、30C、12D、死循环0358 C0359 10B2 下列语句执行后的结果是()。main()int arr=30,25,20,15,10,5,*p=arr; p+; printf(“%dn”,*(p+3);0359 100360 10C2void fun(int *n)while (*n)-; Printf(“%d”,+(*n);main()int a=100; fun(&a);0360 00361 03A2以下程序的输出结果是main()int x=0.5;char z=a; printf(“%dn”,(x&1)&(zz);A、0B、1C、2D、30361 B0362 10A1下列程序的输出结果是main()char a10=9,8,7,6,5,4,3,2,1,0,*p=a+5; printf(“%d”,*-p);A、非法B、a4的地址C、5D、3 0362 C0363 10A1 经过下面的语句 int i,a10,*p; 定义后,下列语句中合法的是()。 A、p=100; B、p=a5; C、p=a2+2; D、p=&(i+2); E、p=a+2;0363 E0364 10A1 经过下面的语句 int i,a5,*p; 定义后,下列语句中合法的是( )。 A、p=a; B、p=a5; C、p=a2+2; D、p=&(i+2); E、p=*a;0364 A0365 03B1 静态双精度实型变量 flag;0365 ststic double flag;0366 07B1 指向具有5个数据元素的长整型数组的指针变量 p ;0366 long int (*p)5;0367 03B3 表示时间的变量 t ;0367 struct nusignde h,m,s; t;0368 07B2 表示班级60名学生姓名的数组 xm ;0368 char xm6110;0369 11B3 定义类型COLOR为具有五种颜色(用英文表示颜色)的枚举类型。0369 typedef enum color red,blue,white,green,yellow COLOR;0370 06E3 计算six , nine满足six+six+six=nine+nine /* 注:由于有SIX+SIX+SIX=NINE+NINE */0370 void countvalue() int i;printf(n);for(i=666;i=999;i=i+2)if(i/10%10=(3*i/2)/100%10) /*以I为准*/cnt+;sum+=i+3*i/2;0371 08C2 #include main( ) int I,s; for(i=0;i10) printf(“%xt”,i); a=i&0x000f; b=(i2)&0x00ff; printf(“%xt%xn”,b,a); 当程序运行时输入11之后,执行的输出结果是:( )037211 44 110373 08C3 本程序运行时,当分别输入字符串”ABCD”和”1234”时,输出结果是什么? char con(string1,string2,string) char string1,string2,string; int i,j; for(i=0;string1i!=0;i+) stringi=string1i; for(j=0;string2j!=0;j+) stringi+j=string2j; stringi+j=0; main() char s1100,s2100,s100; scanf(%s,s1); scanf(%s,s2); con(s1,s2,s); printf(%sn,s);0373 ABCD12340374 07E2编写一个函数S,对数组从小到大进行排序。0374 #include void s(int b,int n) int i,j,t,flg;for(i=0;in-1;i+)for(flg=0,j=0;jbj+1 t=bj;bj=bj+1;bj+1=t; flg=1; if(!flg)break; 0375 04C1 以下程序的功能是什么( ) main() char ch;scanf(“%cn”,&ch);ch=( ch=A&ch=Z )?ch+32:ch;printf(“char=%cn”,ch);0375 把大写字母A-Z转换成对应的小写字母a-z,其它字符不转换。0376 05D2 本程序从键盘输入n(0n100)个整数,计算并输出其中出现次数最多且数值最大的元素及其出现次数。 #include #define N 100 void main() int aN,n,i,j,ind,c1,c2;do printf(“输入n(0n100):n”); scanf(“%d”,&n);while(n=0| );printf(“输入数组元素:n”);for(i=0;in;i+) scanf(“%d”,&ai);for(c2=i=0;in;i+) for(c1=1,j=i+1;jaind) c2=c1; ;printf(“其中%d出现%d次n”,aind, c2 );0376n=100c1+或c1=c1+1c1c2ind=i0377 05A1设有程序段int k=10;while (k=0) k=k-1;则下面的描述正确的是()A、while循环执行10次B、循环是无限循环C、循环体语句一次也不执行D、循环体语句执行一次0377 C0378 05A1设有以下程序段int x=0,s=0;while(!x!=0) s+=+x;printf(“%d”,s);则()A、运行程序段后输出0B、运行程序段后输出1C、程序段中控制表达式是非法的D、程序段执行无限次0378 B0379 03A1语句while(!E);中的表达式!E等价于()A、E0B、E!1C、E!0D、E10379 A0380 05A2下面程序段运行结果是()a=1;b=2;c=2;while(abc) t=a;a=b;b=t;c-;printf(“%d,%d,%d”,a,b,c);A、1,2,0B、2,1,0C、1,2,1D、2,1,10380 A0381 05A2下面程序段运行结果是()x=y=0;while(x15) y+,x+=+y;printf(“%d,%d”,y,x);A、20,7B、6,12C、20,8D、8,200381 D0382 05A2下面程序段运行结果是()int n=0;while(n+=2); printf(“%d”,n);A、2B、3C、4D、有语法错0382 C0383 05A3设有程序段t=0;while(printf(“*”)t+;if(t3) break;下面描述正确的是()A、其中循环控制表达式与0等价B、其中循环控制表达式与0等价C、其中循环控制表达式是不合法的D、以上说法都不对0383 B0384 05A2下面程序的功能是将从键盘输入的一对数,由小到大排序输出。当输入一对相等数时结束循环,请选择填空#include main()int a,b,t;scanf(“%d%d”,&a,&b);while( )if(ab)t=a;a=b;b=t;printf(“%d,%dn”,a,b);scanf(“%d%d”,&a,&b);A、!a=bB、a!=bC、a=bD、a=b0384 B0385 05A2下面程序的功能是从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数n,并输出m、n中的较大者,请选择填空#include main()int m=0,n=0;char c;while(【1】)!=n)if(c=A & c=a & c=z) n+;printf(“%dn”,mn? 【2】);【1】A、c!=getchar()B、getchar()C、c=getchar()D、scanf(“%c”,c)【2】A、n:mB、m:nC、m:mD、n:n0385【1】 C【2】 A0386 05D1下面程序段是找出整数的所有因子,填空scanf(“%d”,&x);i=1;for( ;【】; )if(x%i=0) printf(“%3d”,i);i+;0386 i=x0387 05D1鸡兔共有30只,脚共有90个,下面程序段是计算鸡兔各有多少只,请填空for(x=1;x=29;x+)y=30-x;if(【1】) printf(“%d,%dn”,x,y);0387 2*x+7*y=900388 05C2下面程序段的运行结果是()for(a=1,i=-1;-1=i1;i+)a+;printf(“%2d”,a);printf(“%2d”,i);0388 -10389 05B1若for循环用以下形式表示for(表达式1;表达式2;表达式3) 循环体语句则执行语句for(i=0;i3;i+) printf(“*”);时,表达式1执行()次,表达式3执行()次0389 130390 05D1下面程序的功能是计算1-3+5-7+-99+101的值,请填空#include main()int i,t=1,s=0;for(i=1;i,=,=,=,!=)、逻辑运算符有( )。0407&,|,!0408 03B3 设有定义: int x=1,y=-1; 则语句: printf(“%dn”,x-|+y); 的输出结果是()0408 10409 03B3 设int x=1 , y=1; 表达式( !x|-y )的值是()0409 00410 03B3 设int a=10 , c=9 ; 则表达式( -a=c+ ? ca : +c )的值是()0410 10411 13A3要打开一个已存在的非空文件“file”用于修改,选择( )A、 fp=fopen(“file”,”r”); B、 fp=fopen(“file”,”w”);C、 fp=fopen(“file”,”r+”);D、 fp=fopen(“file”,”w+”);0411C0412 03A2设有 int a=20; 执行完语句 a-=a*a; 后,a的值是( )A、 552B、 144C、 264D、 3800412D0413 10A3有以下程序void fun(char *a, char *b) a=b; (*a)+; main() char c1=A,c2=a,*p1,*p2;p1=&c1; p2=&c2; fun(p1,p2);printf(%c%cn,c1,c2);程序运行后的输出结果是( )A、Ab B、aa C、Aa D、Bb0413A0414 07A2以下能正确定义一维数组的选项是( )A、int num; B、#define N 100 int numN;C、int num0.100; D、 int N=100; int numN;0414B0415 03A1 设有 int x=1,y=8; 则表达式(x+4=y-3b ? a:b); 0421double max0422 10A3设有如下定义:int (*ptr)*();则以下叙述中正确的是( )A、ptr是指向一维组数的指针变量B、ptr是指向int型数据的指针变量C、ptr是指向函数的指针,该函数返回一个int型数据D、ptr是一个函数名,该函数的返回值是指向int型数据的指针0422C0423 11A2 以下对枚举类型名的定义中正确的是( )A、enum a=one,two,three;B、enum a one=9,two=1,three;C、enum a=“one”,“two”,“three”;D、enum a “one”,“two”,“three”;0423B0424 03B2设有 int x=0,y=1,a=2,b=3,c=4; 则逻辑表达式( !(x=a)&(y=b)&c )的值( );x的值( );y的值( )04240、2、10425 08B3 int func() static int s=0;int x=10;return(s+=x); 第2次调用函数时返回值为( )0425200426 03B2 设有 int m=10,n=0,a=3,b=4; 则执行完语句 if( (m!=n)&(a=n)&(b=m) ) m+=1; 后变量b的值( )042640427 03B3设有 int a=12; 执行完语句 a+=a-=a*a; 后,a的值是( 03A2 在C语言中,正确的int类型的常量是( )A、32768 B、-32769C、”fdjs”D、0Xaf0428D0429 04A2 设有int a=3,b=4;语句 printf(“%d”,(a=2)|(b=-2) ); 的输出结果是( ) A、无输出B、结果不确定C、1D、00429D0430 03A2 设有定义: int x=1,y=-1; , 则语句: printf(“%dn”,x-&+y); 的输出结果是( )A、1B、0C、1D、20430B0431 09A2 以下程序的输出的结果是( )A、11B、3C、36D、18 #define f(x) x+x main() int a=6 , b=2 , c;c=f(a)/f(b);printf(“%dn”,c); 0431A0432 06A3 以下程序的输出的结果是( ) A、2B、1C、0D、不确定 main() union char i2; int k; r;r.i0=1; r.i1=0;printf(“%dn”,r.ir.k);0432C0433 03A2 设int x=11; 则表达式( x+ * 1/3 )的值是( )A、3B、4C、2D、00433A0434 07A2 设static int a10=2,4,6,8,10; int *p=a ; 则表达式( *p+ *+p)的值是( )A、2B、6C、10D、不确定0434B0435 04C2 main() int a=-2, x=10, y=3 ; float b=2.5 ; printf(%d,%o,%xn, a, a, a ); printf(%10.2f%-10.2f%.2fn , b, b, b ); printf(x/y=%dnx*y=%dn, x/y, x*y ); printf(%d+%d=%dn, x, y, x+y ); printf(%d*%7.2fn, -a*y, b*y ); printf(%3d%3d%3dt, x&4y , !a|y , x=10=y ); printf(123=%d,789=%dn, x*=y+4, -a+ ); 0435-2,177776,fffe2.502.50 2.50x/y=3x*y=3010+3=136* 7.500 1 0 123=70,789=20436 07C2有以下程序int sub(int n)return (n/10+n%10);main()int x,y; scanf(“%d”,&x); y=sub(sub(sub(x); printf(“%dn”,y);若运行时输入:123回车,程序的输出结果是 043660437 04A2表达式:10!=9的值是( )A、rueB、非零值C、0D、10437D0438 07D3 有一个已排好序的一维数组。现输入一个数,要求按原来排序的规律将它插入数组中。 main() static int a11=1,4,6,9,13,16,19,28,40,100; int temp1,temp2,number,end,j,i; for(i=0;iend) ; else for(i=0;inumber) temp1=ai; ai=; for(j=i+1;j11;j+) temp2=aj; aj=temp1; ; break; for(i=0;i11;i+) printf(%6d,ai);0438a10=number、number、temp1=temp20439 07D2以下函数sstrcat()的功能是实现字符串的连接,即将t所指字符串复制到s所指字符串的尾部。#includevoid sstrcat(char *s,char *t)int n; n=strlen(s); while(*(s+n)= )s+;t+;0439*t0440 08A1若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是( )A、函数调用可以作为独立的语句存在 B、函数调用可以作为一个函数的实参C、函数调用可以出现在表达式中 D、函数调用可以作为一个函数的形参0440D0441 10A2已定义以下函数fun(char *p2, char *p1) while(*p2=*p1)!=0) p1+;p2+; 函数的功能是 ( )A、将p1所指字符串复制到p2所指内存空间B、将p1所指字符串的地址赋给指针p2C、对p1和p2两个指针所指字符串进行比较D、检查p1和p2两个指针所指字符串中是否有00441A0442 08A2 下列函数定义中,会出现编译错误的是( )A、max(int x,int y,int *z) B、int max(int x,y) *z=xy ? x:y; int z;z=xy ? x:y;return z;C、max(int x,int y)D、int max(int x,int y) int z; return(xy?x:y); z=xy?x:y; return(z); 0442B0443 03A2 设有 int a=12; 执行完语句 a-=a+=a*a; 后,a的值是( )A、0B、144C、264D、2640443A0444 02A1 在c语言中,运算对象必须是整型数的运算符是( )A、%B、C、%和D、*0444A0445 03A2有以下程序main() int i=1,j=2,k=3; if(i+=1&(+j=3|k+=3) printf(%d %d %dn,i,j,k);程序运行后的输出结果是( ) A、1 2 3B、2 3 4C、2 2 3D、2 3 30445D0446 03A2有以下程序main() int a,b,d=25; a=d/10%9; b=a&(-1); printf(%d,%dn,a,b);程序运行后的输出结果是( ) A、6,1B、2,1C、6,0D、2,00446B0447 03B3 设x为float型变量,y为double型变量,a为int型变量,b为long型变量,c为char型变量,则表达式x+y*a/x+b/y+c的结果类型为 ( )。0447double或双精度044
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论