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

C语言习题及答案

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

A) 一个C程序必须由多个函数组成 B)一个C源程序必须包括宏命令

C)C源程序的宏命令以分号标明命令行的结束 D) C注释可以位于源程序的任意位置

二、判断题(正确用×错误用√标记)

【习题4-8】宏替换时先求出实参表达式的值,然后代入形参求值。 ( ) 【习题4-9】.在C语言中,函数不可以嵌套定义,但宏可以嵌套定义。( ) 【习题4-10】所有的递归问题都可以用非递归算法来实现。 ( ) 【习题4-11】在C语言中,不同函数体内定义的变量可以同名。 ( )

【习题4-12】多个文件组成的C语言程序,其中各个文件中可以定义同名函数。 ( )

【习题4-13】在C语言中,一个函数只能被它所在文件的其它函数调用,称之为内部函数。 ( )

三、阅读程序写结果或填空

【习题4-14】下列程序执行后的输出结果是_________。 int fun(int k) {static int s=0;

while(k>0) s=s+k--; return s; } main( ) { int s,t;

s=fun(4);t=fun(5);

printf(\}

【习题4-15】下列程序执行后的输出结果是_________。 #include \int a=0; main( ) {int i;

for(i=1;i<=3;i=i+1) { static int b=0;

int c=1; a++;b++;c++;

printf(\} }

【习题4-16】下列程序执行后的输出结果是_________。

#include \int func(int n) {int s;

if(n<=1) s=1;else s=2+func(n-1); return s; }

main( )

{ int k=1, s=0;

while(k<=4) {s=s+func(k);k++;} printf(\}

【习题4-17】下列程序执行后的输出结果是_________。 #define M(a,b) (a)>(b)? (a):(b) main( )

{int i=10,j=15;

printf(“%d\\n”,10*M(i,j)); }

【习题4-18】下列程序的输出结果是:

#include “stdio.h” #define SQR(x) x*x main() {int a,k=3;

a=SQR(k+1); printf(“%d”,a); }

【习题4-19】以下程序运行的结果是 long f(int n) {long s;

if(n= =1||n= =2) s=2; else s=n+f(n-1); return(s); }

main( ) { long x; x=f(4);

printf(\ }

【习题4-20】下列程序的输出结果是________? #define Tap(x) 2*x+1 main( )

{int a=6,k=2,m=1; a+=Tap(k+m); printf(“%d”,a);

}

【习题4-21】在以下程序的下划线处填写适当的语句使程序执行的结果4,16,256。

test( )

{ int x=2; x=x*x;printf(\ }

main( )

{test( );test( );test( );}

【习题4-22】下列程序的输出结果是 #include int f(int c)

{static int a=10; int b=++a;

return(a+b+c);} main( )

{printf(“%d”,f(f(5)));}

【习题4-23】以下函数调用语句中实参的个数是________?

Sub1((x1,x2),(x3,x4,x5),x6)

四、程序设计题

【习题4-24】编写一个递归函数计算 1+X+2X2+3X3+???+nXn

1 n=0

F(n,x)=

F(n-1,x)+n Xn n>0

【习题4-25】编写递归程序的输出如右所示的结果

* *** *****

【习题4-26】编写递归程序的输出杨辉三角形 (?1)N?1【习题4-27】编写程序计算: S= ? 直到N!>106为止。

N?1N!

【习题4-28】编写程序计算1~100之间的素数,并按照由大到小的次序输出。

习题五

一、单项选择题

【习题5-1】在C语言中,数组名代表了__________。

A) 数组的全部元素值 B)数组中第一个元素的值 C) 数组中元素的个数 D)数组中第一个元素的地址

【习题5-2】不能把字符串\赋予数组a的语句是_______ 。

A)char a[8]={'c','h','i','n','a'} B)char a[]=\

C)char a[8];a=\ D)char a[8];strcpy(a,\

【习题5-3】设有如下定义语句:

int a[10]={1,2,3,4,5,6,7,8,9,10};

则下面是正确的数组元素的是 。

A)a[a[2]+1] B)a(4) C)a[10] D)a[a[4]+5]

【习题5-4】设a,b是两个已定义的字符数组,则下面语句中正确的是 。

A)gets(a,b); B)scanf(\C)scanf(\ D)gets(\

【习题5-5】设有定义:

int j=2,a[]={1,2,3,4,5};

则数组a[j]的值为 。

A)2 B)3 C)4 D)5

【习题5-6】C语言中,一维数组下标的最小值是 。

A)随便 B)根据说明 C)1 D)0

【习题5-7】下面描述中不正确的是 。

A)字符数组中可以存放字符串

B)可以对字符数组进行整体输入、输出 C)可以对任何数组进行整体输入、输出

D)不能通过赋值运算符\对字符数组进行整体赋值

【习题5-8】若有说明:

char a[]=\

char b[]={'A','B','C','D','E','F'};

则下面描述中正确的是 。

A) a数组长度比b数组长 B) a和b不相同,a是指针数组 C) a数组和b数组长度相同 D) a和b完全相同

二、阅读程序写结果或填空题 【习题5-9】设有定义语句:

char c[][5]={\

则数组c是 ⑴ 维数组,数组中共有 ⑵ 个元素,数组元素c[0][1]= ⑶ 。

【习题5-10】设有定义语句:

char s[15]={\

则表达式strlen(s)的值为 。

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