c语言总结试题,C语言试题总结

这篇博客汇总了C语言的试题,涵盖了标识符、循环控制、条件语句、数组、指针等多个核心知识点。通过实例解析了if语句、for循环、switch语句的用法,并提供了程序设计题目的解答,强调了break和continue语句在嵌套循环中的作用。同时,博主分享了计算字符串长度、文件操作和动态内存分配等实用技巧。
摘要由CSDN通过智能技术生成

《C语言试题总结》由会员分享,可在线阅读,更多相关《C语言试题总结(477页珍藏版)》请在人人文库网上搜索。

1、第一套下列正确的标识符是(C ).A、a+bB、6aC、_doD、%y执行以下程序段后,输出结果和a的值是(B)。 int a=10; printf(%d,a+);A、11 和 10B、10 和 11C、11 和 11D、10 和 10以下不正确的if语句形式是(B)。A、if(xy&x!=y);D、if(x=y) x+=y;int a=3,b=2,c=1; if(ab & bc)a=b; else a=c;则a的值为(C)。A、1B、0C、2D、3对for(表达式1; ;表达式3)可以理解为( C).A、for(表达式1;表达式3;表达式3)B、for(表达式1;表达式1;表达式3)C、fo。

2、r(表达式1;1;表达式3)D、for(表达式1;0;表达式3)运行结果是 11 12的程序段是:请在A处填写正确内容(B )。for(i=1;ib) a=b; if(bc) b=c; else c=b; c=a;设i,j,k均为int型变量,则执行完下面的for循环后,k的值为_____. for(i=0,j=10;ic)b=a;a=c;c=b;则c的值为(C)。A、1B、3C、2D、不一定为了避免在嵌套的条件语句 if-else 中产生二义性,C语言规定:else子句总是与(A)配对。A、其之前最近的未配对的ifB、其之后最近的ifC、同一行上的ifD、缩排位置相同的if存在多层嵌套循环时。

3、,下列说法正确的是(D ).A、continue语句可以中止所有循环B、break语句可以中止所有循环C、continue语句能够中止包含该语句的最内层循环D、break语句能够中止包含该语句的最内层循环下面程序正确的运行结果是(B ).(答案中用大写字母U代表空格)main()int num=0;while(num(y)?(x):(y),则F=4*MAX(2,3)的值为( B).A、3B、2C、12D、8设有以下定义:int w34=0,1,2,4,5,8;int (*p)4=w;则数值为4的表达式是( B).A、*w1+1B、p11C、p+,*(p+1)D、w22判断printf 函数的一。

4、般格式为:printf (格式控制,输出表列).【参考答案】正确在C程序中,%是只能用于整数运算的运算符【参考答案】正确逻辑表达式42&1|5b) a=b; if(bc) b=c; else c=b; c=a;【参考答案】1=若输入字符串:abcde,则以下while循环体将执行 _____ 次. while(ch=getchar()=e) printf(*);【参考答案】0=求字符串长度的库函数是_____,只写函数名即可.【参考答案】strlen=feof(fp)函数用来判断文件是否结束,如果遇到文件结束,函数值为_____, 否则为_____.【空 1】【参考答案】非0值=【空 2】【参。

5、考答案】0【程序设计】功能:对任意输入的 x,用下式计算并输出 y 的值。(还可以尝试用case语句)-1 x0注意:请在Begin 和 End 注释行之间填写代码,所有注释语句都不能删除。-*/#include stdio.hint fun(int n)/*Begin*/* End */void main ()void TestFunc();int x,y;printf(enter x:);scanf(%d,&x);y=fun(x);printf(x=%d,y=%dn,x,y);TestFunc();void TestFunc()FILE *IN,*OUT;int i;int iIN;lon。

6、g int iOUT;IN=fopen(in.dat,r);if(IN=NULL)printf(Please Verify The Currernt Dir.It May Be Changed);OUT=fopen(out.dat,w);if(OUT=NULL)printf(Please Verify The Current Dir. It May Be Changed);for(i=0;i=0)if(n0) m=1;else m=0;else m=-1;return m;或int m;if(nn2n2*pointer2*pointer2n3n3*pointer3*pointer3n3n3*p。

7、ointer3*pointer35) printf(%dn,m);else printf(%dn,m-);A、6B、5C、7D、4执行下面程序段后,i的值是( A).int i=10;switch(i)case 9: i+=1;case 10: i-;case 11: i*=3;case 12: +i;A、28B、10C、9D、27下面有关 for 循环的正确描述是( C)。A、for 循环是先执行循环体语句,后判断表达式B、在 for 循环中,不能用 break 语句跳出循环体C、for 循环的循环体语句中,可以包含多条语句,但必须用花括号括起来D、for 循环只能用于循环次数已经确定的情况。

8、针对下列程序段回答问题( B).for(t=1;t=0时什么也不输出B、最多允许输出100个非负整数C、printf函数永远也不执行D、当x,若file2.c中有全局静态变量a,则(B ).A、a在file1.c中应用extern说明.B、a在file1.c中有效,不必用extern说明.C、a在file1.c中不生效D、a在file1.c和file2.c中均不生效.若有定义:int aa 8;则以下表达式中不能代表数组元素aa1的地址的是(C)。A、&aa1B、&aa0+1C、&aa0+D、aa+1判断在C程序中,main函数必须位于程序的最前面【参考答案】错误若a和b类型相同,在计算了赋值。

9、表达式a=b后,b中的值将放入a中,而b中的值不变【参考答案】正确逻辑表达式42&1|5c) b=a; a=c; c=b;【空 1】【参考答案】2设x和y均为int型变量,则以下for循环中的scanf语句最多可执行的次数是_____. for (x=0,y=0;y!=123&xi【空2】【参考答案】i+1i+1【空3】【参考答案】*(p+i)*(p+i)【空4】【参考答案】*p=0*p=0第四套若有说明:int a34;则数组a中各元素(C)。A、不能得到确定的初值B、可在程序的编译阶段得到初值0C、可在程序的运行阶段得到初值0D、可在程序的编译或运行阶段得到初值0已定义float a; i。

10、nt i;选择正确的输入语句( C).A、scanf(%6.2f%3d, &a,&i);B、scanf(%f%s, &a,&i);C、scanf(%6f%3d,&a,&i);D、scanf(%f%d, a,i);执行下面程序段后,k的值是:(B )int k=2;switch(k+1)case 3:k+=1;case 4:k-;break;case 5:k*=3;case 6:+k;A、10B、2C、28D、27执行下列语句后的输出为(B)。int j=-1;if(j10;i+)D、static int a; while(a)运行结果是 11 12的程序段是:请在A处填写正确内容(B )。fo。

11、r(i=1;ib) a=b; if(bc) b=c; else c=b; c=a;【空 1】【参考答案】1以下程序的输出结果为_____, #include stdio.h void main()int a;for(a=0;a10;a+);printf(%d,a);【空 1】【参考答案】10static int a33=1,2,3,4,5,6,7,8,9;其中a12的值为_____.【空 1】【参考答案】6若有fp=fopen(a1.dat,rb+)打开文件语句,这个文件的数据是以_____的形式存放在内存中,该文件的使用方式为读/_____。【空 1】【参考答案】二进制【空 2】【参考答案】。

12、写【程序设计】题目:用函数求一个N阶方阵右下三角元素的和(包括副对角线上的元素)。 注意:请在Begin 和 End 注释行之间填写代码,所有注释语句都不能删除。-*/#include stdlib.h#include stdio.h#define N 3int sum(int aN)/*Begin*/* End */void main()int aNN,i,j;void TestFunc();for(i=0;iN;i+)for(j=0;jN;j+)aij=rand()%10+10; /rand函数的功能是产生一个随机整数printf(%3d,aij);printf(n);printf(=n)。

13、;printf(sum=%5dn,sum(a);TestFunc();void TestFunc()FILE *IN,*OUT;int m,n;int i33;int o;IN=fopen(in.dat,r);if(IN=NULL)printf(Read File Error);OUT=fopen(out.dat,w);if(OUT=NULL)printf(Write File Error);for(m=0;m3;m+)for(n=0;n3;n+)fscanf(IN,%d,&imn);o=sum(i);fprintf(OUT,%dn,o);fclose(IN);fclose(OUT);【参考代码】int i,j,k=0;for(i=0;iN;i+)for(j=N-1-i;jN;j+)k=k+aij;return(k);【程序改错】功能:用指针作函数参数,编程序求一维数组中的最大和最小的元素值.注意:不可以增加或删除程序行,也不可以更改程序的结构。#include stdio.h#define N 10/*ERROR*/void maxmin(int arr ,int *pt1, *pt2, n)int i;/*ERROR*/*pt1=*pt2=&arr0;for(i=1;in;i+)/*ERROR*/if(arri。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值