C语言题库.docx
- 文档编号:30006301
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:191
- 大小:77.22KB
C语言题库.docx
《C语言题库.docx》由会员分享,可在线阅读,更多相关《C语言题库.docx(191页珍藏版)》请在冰豆网上搜索。
C语言题库
《C语言》题库
`000103A1
设inta=2,b=2;则++a+b的结果是(D)
A、2B、3
C、4D、5
~0001
D
`000203A1
运算符&&代表(B)
A、按位与B、逻辑与
C、取地址D、逻辑或
~0002
B
`000308E2
请编写一函数intfun(floats[],intn),它的功能是:
求高于平均分的
人数,并作为函数值返回。
数组s中存放n个学生的成绩。
~0003
intfun(floats[],intn)
{floatave=0;
inti,j=0;
for(i=0;i ave/=n; for(i=0;i if(s[i]>ave)j++; return(j); } `000405A2 为了避免嵌套的if-else语句的二义性,c语言规定else总是与(C)组成配对关系。 A、缩排位置相同的if B、在其之前未配对的if C、在其之前未配对的最近的if D、同一行上的if ~0004 C `000503A1 设intm=1,n=2;则++m==n的结果是(B) A、0B、1C、2D、3 ~0005 B `000604A2 已知: inta,b;用语句scanf(“%d%d”,&a,&b);输入a,b的值时,不能作为输入数据分隔符的是(A) A、,B、空格C、回车D、[TAB] ~0006 A `000708A1 调用函数strlen(“abcd\0ef\0g”)的返回值是() A、9B、7C、6D、4 ~0007 D `000808A1 当一个函数无返回值时,函数的类型应定义为() A、voidB、任意 C、intD、无 ~0008 A `000908A1 在一个被调用函数中,关于return语句使用的描述,错误的是() A、被调用函数中可以不用return语句 B、被调用函数中可以使用多个return语句 C、被调用函数中,如果有返回值,就一定要有return语句 D、被调用函数中,一个return语句可返回多个值给调用函数 ~0009 D `001005A2 设a=1,b=2,c=3,d=4,则表达式: a a: c a: d的结果是() A、4B、3 C、2D、1 ~0010 D `001103E1 编写函数,把S字符串中所有字母改写成该字母下一个字母。 ~0011 voidchg(char*s) {inti,j,k; k=strlen(s); for(i=0;i {if(s[i]=='z'||s[i]=='Z') s[i]=s[i]-25; elseif(isalpha(s[i])) s[i]+=1; } } `001207A1 设有数组定义: charstr[]=”jlnu”;则数组str所占的字节数为() A、4个字节B、5个字节 C、6个字节D、7个字节 ~0012 B `001304A1 以下程序的输出结果是() main() {intx=10,y=10; printf(“%d%d”,x--,--y); } A、1010B、99 C、010D、109 ~0013 D `001412A2 设intb=2;表达式b<<2的值是() A、0B、2 C、4D、8 ~0014 D `001510A1 有如下程序段: int*p,a=40,b=6; a=*p+b; 执行该程序段后,a的值为()。 A、46B、41 C、40D、编译出错 ~0015 D `001610A1 已知: int*p,a,b;p=&a;则语句“b=*p;”中的运算符“*”的含义是() A、指针定义B、乘法运算符C、取指针内容D、取变量地址 ~0016 C `001710A2 以下程序运行后,a的值是() A、4B、1C、0D、运行时出错,a无定值 main() {inta,k=4,m=6,*p1=&k,*p2=&m; a=p1==&m; printf(“%d”,a); } ~0017 C `001801A1 以下选项中不合法的用户标识符是()。 A、st.n B、file C、Main D、GO ~0018 A `001910A1 已知intx=3,*q=&x;则&x的值是() A、变量x的地址值B、无意义C、指针q的内容D、3 ~0019 A `002010A2 说明语句“float(*p)(int);”的含义是() A、p是一个指向一维数组的指针变量 B、p是指针变量,指向一个整型数据 C、p是一个指向函数的指针,该函数的返回值是一个浮点型,且有一个整型数据作参数 D、以上都不对 ~0020 C `002103A1 执行下列程序的结果是()。 #include main() { floatx=3,y; y=++x*x++; printf("%f\n",y); } A、9.000000B、16.000000C、1.000000D、程序有错误 ~0021 B `002203A1 下列属于字符型常量的是() A、’AA’B、“B” C、‘\117’D、’\x93L’ ~0022 C `002305A1 以下程序中,while循环的循环次数是()。 #include main() {inti=0; while(i<10) {if(i<1)continue; if(i==5)break; i++; } } A、1B、10C、6D、死循环,不能确定次数 ~0023 D `002401A1 以下选项中合法的用户标识符是()。 A、int B、a# C、5mem D、_243 ~0024 D `002505A2 ? ? ? ? 以下程序的输出结果是()。 #include main() {inta=0,i; for(i=1;i<5;i++) {switch(i) {case0: case3: a+=2; case1: case2: a+=3; default: a+=5; } } printf("%d\n",a); } A、31B、13C、10D、20 ~0025 A `002604A1 下列程序的运行结果是()。 #include main() {inta=2,c=5; printf("a=%d,b=%d\n",a,c); } A、a=%2,b=%5 B、a=2,b=5 C、a=d,b=d D、a=%d,b=%d ~0026 B `002703B1 表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3))值的数据类型为______。 ~0027 int型 `002803B1 表达式3&4的值为______。 表达式3|4的值为______。 表达式3&&4的值为______。 ~0028 0、7、1 `002906A1 以下循环体的执行次数是()。 #include main() {inti=1,j; do { printf("%d\n",i); i++; }while(i<=0); A、3 B、2 C、1 D、0 ~0029 C `003005A1 有以下程序: #include inta=3; main() { ints=0; { inta=5; s+=a++; printf("%d%d\n",a,s) } s+=a++;printf("%d%d\n",a,s); } 程序运行后的输出结果是()。 A、65B、56C、66D、56 84611 8487 ~0030 A `003103B1 有如下程序片段: inta,b,c; printf("inputa,b,c: "); scanf("%d%d%d",&a,&b,&c); 欲输入a=1,b=2,c=3,正确的输入形式为: ______。 ~0031 定义、使用 `003201B1 C程序执行过程生成的3种文件及扩展名为_______、_____和______。 ~0032 .c、.obj、.exe `003307B1 ? ? ? 字符串“ab\034\\\x79”的长度为______。 ~0033 5 `003406A1 有如下程序 #include main() {intn=9; while(n>6){n--;printf("%d",n);} } 该程序段的输出结果是()。 A、987B、876 C、8765D、9876 ~0034 B `003507B1 若有定义: charc=′\010′;则变量c中包含的字符个数为______。 ~0035 1个 `003607A1 设有数组定义: chararray[]="China";则数组array所占的空间为()。 A、4个字节 B、5个字节 C、6个字节 D、7个字节 ~0036 C `003707A2 下列程序执行后的输出结果是()。 #include main() {charstr[10]; strcpy(str,"jsjxy");strcpy(str,"jlnu"); printf("%s\n",str); } A、jsjxy B、jlnu C、jlnuy D、jlnujsjxy ~0037 C `003811B1 ? ? ? ? ? ? 设有以下结构类型说明和变量定义,则变量a在内存所占字节数是______。 structstud {charnum[6]; ints[4]; doubleave; }a; ~0038 22 `003908D2 函数fun的功能是: 使一个字符串按逆序存放请填空。 voidfun(charstr[]) {charm;inti,j; for(i=0,j=strlen(str);i<();i++,j--) {m=str[i];str[i]=();str[j-1]=m;} printf(“%s\n”,str); } ~0039 j、str[j-1] `004009C2 以下程序的输出结果是()。 #defineMAX(x,y)(x)>(y)? (x): (y) main() {inta=5,b=2,c=3,d=3,t; t=MAX(a+b,c+d)*10;//*10没用 printf(“%d\n”,t); } ~0040 7 `004104B1 条件“20 ~0041 (x>20&&x<30)||(x<-100) `004207A2 下列程序执行后的输出结果是()。 #include voidfunc1(inti); voidfunc2(inti); charst[]="hello,friend! "; voidfunc1(inti) {printf("%c",st[i]); if(i<3){i+=2;func2(i);} } voidfunc2(inti) {printf("%c",st[i]); if(i<3){i+=2;func1(i);} } main() {inti=0;func1(i);printf("\n");} A、hello B、hel C、hlo D、hlm ~0042 C `004304C1 main() {intx,y,z; x=1;y=3; z=++x+(++y); printf("%d",z); } ~0043 6 `004406C1 main() {intB[10]={1,2,3,4,5,6,7,8}; for(inti=0;i<=8;i++) B[9]+=B[i]; printf("%d",B[9]); } ~0044 36 `004507A2 已知下列程序 #include main() {chars[100];intc,i; scanf("%c",&c);scanf("%d",&i);scanf("%s",s); printf("%c,%d,%s\n",c,i,s); } 当输入789<回车>456<空格>789<回车>,程序输出结果是()。 A、789,456,789 B、7,456,789 C、7,89,456,789 D、7,89,456 ~0045 D `004610C1 main() {chars[10]="abcdef"; char*p=s; printf("%c",*p++); p++; p++; printf("%c",*p--); printf("%c",*--p); } ~0046 adb `004707A2 有如下程序: #include main() {intx[10]={0},i,k=5; for(i=0;i printf("%d\n",*(n+k)); } 该程序的输出结果是()。 A、不确定的数值B、7C、10D、0 ~0047 D `004807A2 如下程序的输出结果是()。 #include main() {inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0; for(i=1;i<3;i++) for(j=0;j printf("%d\n",s); } A、14 B、19 C、20 D、21 ~0048 A `004906E1 编程打印如下形式的九九表 1 24 369 4…………16 .. .. 918………….81 ~0049 main() {for(inti=1;i<=9;i++) {for(intj=1;j<=i;j++) printf("%4d",i*j); printf("\n"); } } `005006E2 编一程序,打印出所有的“玫瑰花数“,所谓“玫瑰花数“指一个三位数,其各位数字立方和等于该数本身。 ~0050 main() {inti,j,k,n; printf(“thespacialnumbers: \n”); for(n=100;n<1000;n++) {i=n/100; j=n/10-i*10; k=n%10; if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)printf(“%d”,n); } printf(“\n”); } `005107A2 当执行下面的程序时,如果输入ABC,则输出结果是()。 #include #include main() {charss[10]="1,2,3,4,5"; gets(ss);strcat(ss,"6789");printf("%s\n",ss); } A、ABC6789 B、ABC67 C、12345ABC6 D、ABC456789 ~0051 A `005208E1 编写一个函数,计算N! ~0052 longfun(intn) {longp=1; for(inti=1;i<=n;i++) p*=i; return(p); } `005307A2 以下程序的输出结果是()。 #include f(intb[],intm,intn) {inti,s=0; for(i=m;i returns; } main() {intx,a[]={1,2,3,4,5,6,7,8,9}; x=f(a,3,7); printf("%d\n",x); } A、0 B、18 C、8 D、15 ~0053 A `005407A2 以下程序的输出结果是()。 #include main() {intb[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1; for(i=0;i<3;i++) for(j=i;j<=i;j++)t=t+b[i][b[j][j]]; printf("%d\n",t); } A、3 B、4 C、1 D、9 ~0054 B `005507A2 有以下程序: #include main() {intaa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}}; inti,s=0; for(i=0;i<4;i++)s+=aa[i][1]; printf("%d\n",s); } 程序运行后的输出结果是()。 A、11 B、19 C、13 D、20 ~0055 B `005604A2 有以下程序: #include inta=3; main() { ints=0; { inta=5; s+=a++; } s+=a++;printf("%d\n",s); } 程序运行后的输出结果是()。 A、8B、10C、7D、11 ~0056 A `005713A1 当顺利执行了文件关闭操作时,fclose函数的返回值是() A、-1B、TRUEC、0D、1 ~0057 C `005808A1 以下对C语言函数的描述中,正确的是()。 A、C程序由一个或一个以上的函数组成 B、C函数既可以嵌套定义又可以递归调用 C、函数必须有返回值,否则不能使用函数 D、C程序中调用关系的所有函数必须放在同一个程序文件中 ~0058 A `005904A1 以下说法中正确的是() A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main()函数中定义 C、C语言程序总是从main()函数开始执行 D、C语言程序中的main()函数必须放在程序的开始部分 ~0059 C `006006C1 main() {inta=24,b=16,r; while(b) {r=a%b; a=b; b=r; } printf("%d",a); } ~0060 8 `006105A1 下面的程序会() main() {intx=3,y=0,z=0; if(x=y+z)printf(“****”); elseprintf(“####”); } A、有语法错误不能通过编译B、输出**** C、可以通过编译,但不能通过连接,因而不能运行 D、输出#### ~0061 D `006208A2 以下叙述中不正确的是()。 A、在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参 B、在C的函数中,最好使用全局变量 C、在C中,形式参数只是局限于所在函数 D、在C中,函数名的存储类别为外部 ~0062 B `006308A1 对于C语言中函数返回值,下列说法错误的是()。 A、可以通过return语句返回一个函数值 B、可以通过参数传递返回一个函数值 C、可以通过参数传递返回多个函数值 D、可以通过return语句返回多个函数值 ~0063 D `006407A2 希望下面的程序运行后输出17,请将程序填完整() main() {inti,j=80,a[]={3,5,8,9,10}; for()j-=a[i]; printf(“%d”,j-50); } A、i=4;i>2;i--B、i=0;i<3;++iC、i=1;i<3;++iD、i=3;i>1;--i ~0064 C `006507A2 下列一维数组的说明中,不正确的是() A、floata[5+6]; B、intn=10,a[n]; C、#defineLONG10; D、floata[10],b[9]; inta[LONG+5]; ~0065 B `006607A2 若有说明inta[5][4];则对其数组元素的正确引用是() A、a[3+1][2]B、a(3) (2) C、a[0,2]D、a[3][5] ~0066 A `006707D1 下面的程序运行时,若从键盘输入: Whatdoes thisword mean? 则输出Whatdoesthiswordmean? 请将程序填完整 #include main() {chars1[10],s2[10],s3[10],s4[10]; scanf(“%s%s”,s1,s2); (); scanf(“%s”,s4); printf(%s%s%s%s”,s1,s2,s3,s4); } ~0067 gets(s3) `006810A2 若定义inti=100,*p=&i;设为i分配的内存地址为200-201,则() A、p为201B、*p为100 C、*p为200D、p为100 ~0068 B `006908A2 一个C程序由函数A(),B(),C()和函数P()构成,在函数A()中分别调用了函数B()和函数C(),在函数B()中调用了函数A(),且在函数P()中也调用了函数A(),则可以说()。 A、函数B()中调用的函数A()是函数A()的间接递归调用 B、函数A()被函数B()调用是直接递归调用 C、函数P()直接递归调用了函数A() D、函数P()中调用的函数A()是函数P()的嵌套 ~0069 A `007008A1 C语言规定,函数的返回值类型是() A、由return语句中的表达式类型决定的 B、由调用该函数时的主调函数类型决定的 C、由系统决定的 D、由该函数定义时的类型决定的 ~0070 D `0071
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 题库