第一范文网 - 专业文章范例文档资料分享平台

C语言程序设计练习题 - 2012

来源:用户分享 时间:2025/6/18 6:33:20 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

27.下列程序段的输出结果是 。 int x=-10,y=1; if(x>=0)

if(x>0) y=0; else y=-1; printf(“%d”,y);

28.下列程序段的输出结果是 。 int k=1,sum=8; while(k<6)

{sum++;k++;} printf(“%d”,sum);

29.对于以下递归函数f,调用f(3)的返回值是 。 int f(int n)

{return(n<=0?1:f(n-1)+1);}

30.下列程序段的输出结果是 。 int c[]={1,7,12}; int *k; k=c; k++;

printf(“%d”,*k);

31.表达式(5==5==5)的值是 。

32.定义a为长度为10的字符串、同时为字符串赋初值\的语句为 。 33.定义语句char a[15]=\语句printf(\”,strcpy(a,b));的输出结果为 。

34.定义语句为char a[]=\语句printf(\输出 。

35.宏定义语句 #define f(x,y) printf(x,y)的宏调用格式是 f(\则预处理时其宏展开格式为 。

36.下列程序段的输出结果是 。 int k,a=3,b=2; k=(a==b)?0:1; printf(“%d”,k); 37. 表达式((2<<1)|2)的值是 。 38.下列程序段的输出结果是 。 #define M(x,y) (x*y) printf(“%d”,M(2,3+4));

39. 下列程序段的输出结果是 。 int n=6; switch(n)

{case 1:n=1;break; case 2:n=2;break; case 3:n=3;break; default:n=4; }

printf(“%d”,n);

9

40. 下列程序段的输出结果是 。 int k=0;

if(!(k==1)) print(“***”); else printf(“###”); 三、判断题

1. 只能用while语句构成循环。( ) 2. 不能用printf函数输出字符。( )

3. C程序中各函数之间既允许直接递归调用也允许间接递归调用。( ) 4. 在函数外部定义的变量称为全局变量。( ) 5. 宏定义的命令行可以看作是一条C语句。( )

6. C语言源程序文件经过编译、连接之后生成一个后缀为.EXE的文件。( ) 7. C语言中以%O开头的数是八进制数。( )

8. 在程序的运行过程中,符号常量的值是可以改变的。( ) 9. 在C程序中,APH和aph代表不同的变量。( ) 10. 一个复合语句在语法上被认为是一条语句。( ) 四、程序填空题

1. 下面程序的功能是:输出100以内(不包含100)能被3整除且个位数为6的所有整数,请填空。

#include void main() {

int i;

for(i=1; ① ;i++) if( ② ) printf(\}

2. 输入x、y两个整数,按先大后小的顺序输出x、y。

#include void main( ) {

int x, y, *px, *py, ① ; scanf(\ ② ; ③ ;

if(x

printf(\}

3. 以下程序实现的是计算数列1、3、5、?、2n-1、?的前n项之和,其中n由键盘输入。请填空完善该程序。

#include \void main( ) {

long s,n,k,i;

10

scanf(\① ); k=2*n-1; ② ;

for(i=1;i<=k;i=i+2) ③ ;

printf(\}

4. 以下程序实现的是冒泡排序算法,将数组a的元素按由大到小的顺序排列。请填空完善该程序。 #include \#define N 12 void main() {

int i,j,k;

int a[N]={5,8,9,6,2,7,3,2,2,7,8,0}; printf(\排序前的序列:\ for(i=0;i

printf(\ for(i=0;i

for(j=0;j

k=*(a+j);

*(a+j)= ② ; ③ =k; }

printf(\排序后的序列:\ for(i=0;i

printf(\ printf(\}

5.输入20个数,输出它们的平均值,输出其中与平均值之差的绝对值为最小的元素。 #include #include viod main( )

{float a[20],pjz=0,s,t; int i,k;

① ; /*从键盘输入数据到数组中*/ for(i=0; i<20; i++) pjz+=a[i];

② ; /*求平均值*/ s=fabs(a[0]-pjz); for(i=1;i

if(fabs(a[i]-pjz)

6.下列程序读入时间数值,将其加1秒后输出,时间格式为:

11

hh:mm:ss,即时:分:秒,当小时等于24小时,置为0 。 #include

struct{int hour ,minute, second;}time; void main()

{ scanf(\ ① ); /*结构体各成员赋值*/ time.second++;

if(time.second==60) {time.minute++;time.second=0;} if(time.minute==60) {time.hour++;time.minute=0;}

if( ② ) time.hour=0; /*判断是否满24小时*/ printf(\}

7.分别输出方阵中主对角线、副对角线上的元素和sum1和sum2。 #include #define SIZE 5 main()

{int a[SIZE][SIZE],m,n,sum1,sum2; for(m=0;m

scanf(“%d”,&a[m][n]);

sum1=sum2= ① ; /*赋初值*/ for(m=0;m

{sum1=sum1+ ② ; /*主对角线元素求和*/ sum2=sum2+ ③ ; /*副对角线元素求和*/ }

printf(“sum1=%d sum2=%d\\n”,sum1,sum2); }

8.统计当前目录下文本文件data.txt中小写字母出现的次数。 #include void main() { FILE *fp; char ch; int count=0;

if((fp= ① (“data.txt”,”r”)==NULL); /*打开文件*/ {printf(“不能打开文件data.txt!\\n”); exit(0); }

while((ch=fgetc(fp))!=EOF)

if( ② ) count++; /*判断是否为小写字符*/ printf(“%d”,count); fclose(fp); }

五、阅读程序题

1. 写出下面程序的运行结果。

#include

12

搜索更多关于: C语言程序设计练习题 - 2012 的文档
C语言程序设计练习题 - 2012.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c43o5b8lrai3cwgi88zsp_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top