求28 78的数和用c语言程序,C语言笔试复习题

C语言笔试复习题

标签: 分类: 计算机等级考试

939a8b26a72b8782a20dffd6cfece53c.png

杂谈

一、判断对错

1. 3_a_b是合法的标识符。

2.设有定义float a; 则变量a在内存中占2个字节。

3.C语言在执行过程中,不检查数组下标是否越界。

4.局部静态变量在编译时赋初值。

5.若有以下定义:#define C R 37.6921;则C R是称为宏名的标识符。

6.若有定义int *fun(int x ,int y){??..}则fun函数是用指针做参数的函数。

7.若有定义int a[2][3]={{1,3},{2,4}};则a[1][2]的值为4。

8.if语句嵌套时,每个else总是与它上面最近的并且没有与其它else匹配的if配对。

9.循环语句for(k=0;k=10;k++);最多执行10次。

10.函数定义时,出现在函数首部括号中的参数称为实参。

二、指出下列错误:

1. 有如下程序来求 1+1/2+1/3+1/4+1/5的和。

main()

{int i,n;

float t,s;

n=5;s=0;

for(i=1;i<=n;i++){t=1/I;s=s+t;}

printf(“%f\n”,s);

}

2. 以下程序调用exc函数对两个整数进行交换。

void exp(int *a, int *b){int *t; t=*a; *a=*b; *b=t;}

main()

{ int x, y , *px, *py;

px=&x; py=&y; scanf(“%d%d”,px,py);

exc(px,py);

printf(“%d,%d\n”,x,y);

3. 欲对数组a的各个元素赋值:

main()

{int a[5], i;

for(i=0;i<5;i++)< p="">

scanf(“%d”,*(a+i));??.}

4. 欲使指针s指向字符串“abcd”的首字符:

main()

{ char *s;

*s=”abcd”; ??}

5. 有如下程序,欲实现将数组元素a[1][1]的值放在变量i中: int a[2][3]={{1,2,3},{4,5,6}};

int I;

i=*(*a+1);

四、阅读和分析程序并回答问题

1、main() 问题:左侧hcf函数的功能是求两个正整数的最大公约数, {int a, b, c; 并返回相应的值。请填空。

scanf(“%d%d”,&a,&b);

c=hcf(a,b);

printf(“%d\n”,c);}

hct(int m, int n)

{int r;

r=m%n; while( A )

{m=n;n=r;r=m%n;} B ;}

2、#include “stdio.h” 问题:A写出画线处语句的功能。 main() B若输入abc12dec34程序的运行结果是什么?

{char s[80];

int i, j; gets(s);

for(i=j=0;s[i]!=’\0’;i++)

if(s[i]!=’c’) s[j++]=s[i];

s[j]=’\0’;

puts(s);

}

3、main() 问题:A写出程序运行结果。

{int x[10]={2,4,6,8,10,12,14,16,18,20},*p,**k; p=x;

k=&p;

*(x+2)=100; p=p+2; *(p+2)=200;

printf(“%d\n”,**k);

}

三、1、已知:x=3,y=2, 则表达式x*=y+8 的值是( )。

A 3 B 2 C 30 D 10

2、若有说明:int i,j=7,*p=&i; 则与i=j;等价的语句是( )

A i=*p B *p=*&j; C i=&j; D i=**p;

3、若有以下定义和语句:int **pp, *p, a=10, b=20;

pp=&p; p=&a; p=&b; printf(“%d,%d\n”, *p, **pp); 则输出结果是:

A 10,20 B 10,10

C 20,10 D 20,20

4、若有以下说明,则对a数组元素的正确引用是( )。 int a[5], *p=a;

A a[5] B *p+2 C *(a-2) D *p

5、下面程序片段的输出结果是()。

int n=10;

while(n>7)

{n--; printf(“%d”,n); }

A 10 9 8 B 9 8 7 C 10 9 8 7 D 9 8 7 6

6、以下程序的输出结果是()。 。

main()

{char a[10]={’1’,’2’,’3’,’4’,’5’,’6’,’7’,’8’,’9’,’0’}, *p;

int i;

i=8; p=a+i;

printf(“%c\n”,*(p-c));

}

7、若有以下定义,且0≤i<5,错误的赋值是()。

int *s[5], a[5][10], *p,i;

A p=a B s[i]=a[i] C p=a[i] D s[i]=&a[2][0]

8、一个C程序开始执行的位置是()。

A 程序开头 B 预编译 C 变量定义 D main 函数

9、设a=3,b=4,c=5,则表达式!(a+b)+c-1&&b+c/2的'值是()。

A -1 B 0 C 1 D 2

10、若有定义char a; int b; float c; double d; 则表达式a*b+c-d的值的类型是()。

A float B int C char D double

五、按要求编写程序(本大题共6小题,每小题5分,共30分)

1、从键盘输入一个正整数n,求出n!(n!=1*2*3??*n)。

2、求一个3×4数组最大元素及其在数组中的位置。

3、输出斐波那契数列的前20项。

4、有数组int a[10]={8,-9,11,-4,0, 45, -55, 78, -34, 55};

要求:使用指针,将其中最大值和最小值互换,输出处理后的数组。

5、输入两个字符串,把一个字符串连接到另一个字符串后面, 形成一个完整的字符串并输出。要求:不能用strcat()函数。

6、写一个函数求一个整型数组中所有元素的平均值。

要求:在主函数中输入数据、调用函数、输出平均值。

【C语言笔试复习题】相关文章:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值