云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > C语言考试必备习题集&答案

C语言考试必备习题集&答案

  • 62 次阅读
  • 3 次下载
  • 2026/1/9 20:46:14

#include main()

{ void receiv(); receiv(); }

void receiv() { char c;

c=getchar(); putchar(c);

if(c!='!') receiv(); putchar(c); }

A ABC!! B ABC!ABC! C ABC!!CBA D ABCABC

二 填空题(每空3分,共30分)

1 函数调用语句:fun((a,b),(c,d,e));,实参个数为_2__。

2 凡在函数中未指定存储类别的局部变量,其默认的存储类别为_自动__。

3 在一个C程序中,若要定义一个只允许本源程序文件中所有函数使用的全局变量,则该变量需要定义的存储类别为_静态外部变量__。

4 C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递方式是_值传递__。

5 运行下面程序,其输出结果是_15,35__。

#include int x,y; one()

{ int a,b; a=25,b=10; x=a-b;y=a+b; }

main()

{ int a,b; a=9,b=5; x=a+b;y=a-b; one();

printf(\%d,%d\\n\,x,y): }

6 运行下面程序,其输出结果是_321__。

#include main()

{ void printd() int n=123; printd(n); }

void printd(int n)

24

{ int i;

if(n<0) { n=-n; putchar('-'); } putchar(n+'0');

if((i=n/10)!=0) printd(i); }

7 运行下面程序,从键盘输入四个字符xyz#,其输出是_xyz##zyx__。

#include main()

{ void recursion(); recursion(); }

void recursion() { char c;

c=getchar(); putchar(c);

if(c!='#') recursion(); putchar(c); }

8 以下程序的输出结果是_1 3__。

#include void fun(int x)

{ if(x/2>0) fun(x/2); printf(\%d \,x); } main()

{ fun(3); printf(\\\n\); } 9 以下程序运行结果是_14__。

int a=1; int f(int c)

{ static int a=2; c=c+1;

return (a++)+c; }

main()

{ int i,k=0;

for(i=0;i<2;i++){ int a=3; k+=f(a); } k+=a;

printf(\%d\\n\,k); }

10.以下程序的运行结果是_m=4 k=4 i=5 k=5__。

int k=0;

void fun(int m)

{ m+=k; k+=m; printf(\m=%d\\n k=%d \,m,k++); } main()

{ int i=4;

25

fun(i++); printf(\i=%d k=%d\\n\,i,k); }

三 程序填空题(每空3分,共30分)

1 一个整数称为完全平方数,是指它的值是另一个整数的平方。例如81是个完全平方数,因为它是9的平方。下列程序是在三位的正整数中寻找符合下列条件的整数:它既是完全平方数,且三位数字中又有两位数字相同:例如144(12*12)、676(26*26)等,程序找出并输出所有满足上述条件的三全数。 程序如下: main()

{ int n,k,a,b,c; for(k=1;;k++)

{ 【1】n=k*k;

if(n<100) 【2】continue ; if(n>999) 【3】break ; a=n/100;

b= 【4】n/10 ; c=n;

if(flag(a,b,c)) printf(\n=%d=%d*%d\\n\,n,k,k); } }

flag 【5】int x,int y,iny z

{ return(!((x-y)*(x-z)*(y-z))); }

x

2 以下程序的功能是应用近似公式计算e的值。其中,函数f1计算每项分子的值,函数f2计算每项分母的值。共取nmax项之和作为e的近似值。

x2x3xnxmax?1 e?1?x???????2!3!n!(max?1)2!xfloat f2(int n)

{ if(n==1) return 1;

else return 【6】n*f2(n-1) ; }

float f1(float x, int n) { int i; float j= 【7】1 ;

for(i=1; 【8】i<=n ;i++) j=j*x; return j; }

#define nmax 20 main()

{ float x,exp=1.0; int n; printf(\Input x value:\); scanf(\%f\,&x);

for(n=1;n

26

}

指针

一 单项选择题(每题2分,共40分) 1 以下叙述中错误的是_B__。

A 在程序中凡是以“#”开始的语句行都是预处理命令行 B 预处理命令行的最后不能以分号表示结束 C #define MAX是合法的宏定义命令行

D C程序对预处理命令行的处理是在程序执行的过程中进行的

2 若程序中有宏定义行:#define N 100 ,则以下叙述中正确的是_B__。 A 宏定义行中定义了标识符N的值为整数100

B 在编译程序对C源程序进行预处理时用100替换标识符N C 对C源程序进行编译时用100替换标识符N D 在运行时用100替换标识符 3 若有如下宏定义:

#define N 2

#define y(n) ((N+1)*n)

则执行下列语句:z=4*(N+y(5));后的结果是__B_。

A 语句有错误 B z值为68 C z值为60 D z值为180 4 以下程序运行后的输出结果是__A_。

#define F(X,Y) (X)*(Y) main()

{ int a=3,b=4;

printf(\%d\\n\,F(a++,b++)); }

A 12 B 15 C 16 D 20 5 以下程序运行后的输出结果是__C_。

#define f(x) (x*x) main()

{ int i1,i2;

i1=f(8)/f(4); i2=f(4+4)/f(2+2); printf(\%d,%d\\n\,i1,i2); }

A 64,28 B 4,4 C 4,3 D 64,64 6 若已定义a为int型变量,则__D_是对指针变量p的正确说明和初始化。 A int p=&a; B int *p=a; C int *p=*a; D int *p=&a; 7 已知下列说明语句:

static int a[]={2,4,6,8}

static int *p[]={a,a+1,a+2,a+3}; int **q; q=p;

则表达式**(q+2)的值是_A__。

A 6 B 2 C 4 D 8

27

搜索更多关于: C语言考试必备习题集&答案 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

#include main() { void receiv(); receiv(); } void receiv() { char c; c=getchar(); putchar(c); if(c!='!') receiv(); putchar(c); } A ABC!! B ABC!ABC! C ABC!!CBA D ABCABC 二 填空题(每空3分,共30分) 1 函数调用语句:fun((a,b),(c,d,e));,实参个数为_2__。 2 凡在函数中未指定存储类别的局部变量,其默认的存储类别为_自动__。 3 在一个C程序中,若要定义一个只允许

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com