c语言读程题目,C语言程设计题目及解答.doc

C语言程设计题目及解答

一、判断题?(14分)

1. 指针就是地址,因此一个变量的指针就是该变量的地址。2分

2. 在语句int *p;和语句printf("%d",*p);中的*p含义相同。2分

3. 指针变量不可以为函数的参数。2分

4. 若指针变量指向一维数组的第一个元素,将指针变量加整数3,即指针后移3个元素。

5. b是一维数组名,数组元素b[1]还可写成*(b++)。2分

6. 在二维数组中,行指针是指向一维数组的指针变量.2分

7. 取地址运算符&与指针运算符*的优先级相同,结合方向为自右向左。2分

二、选择题?(18分)

1.下列程序执行后的输出结果是( )。???[A] 2分

#include

void func(int *a,int b[])

{

b[0]=*a+6;

}

int main()

{

int a,b[5];

a=0; b[0]=3;

func(&a,b);

printf("%d",b[0]);

}

A. 6?????B. 7?????C. 8?????D. 9

2.有如下程序段

int *p,a=10,b=1;

p=&a; a=*p+b;

执行该程序段后,a的值为( )。???[C] 2分

A. 编译出错?????B. 12?????C. 11?????D. 10

3.表达式“c=*p++”的执行过程是()???[A] 2分

A. 复制*p的值给c后再执行p++B. 复制*p的值给c后再执行(*p)++C. 复制p的值给c后再执行p++D. 执行p++后再复制*p的值给c

4.若有float a=2.5,b=6.3, *pa=&a; *pa*=3;pa=&b; 则正确的是( )。???[B] 2分

A. pa的值是2.5 ;?????B. *pa的值是6.3?????C. *pa的值是7.5?????D. pa的值是6.3;

5.下列语句定义p为指向float型变量d的指针,其中正确的是()???[C] 2分

A. float d,*p=d;?????B. float *p=&d,d;?????C. float d,*p=&d;?????D. float d,p=d;

6.若有“float a=1.5,b=3.5,*pa=&a;*pa*=3;pa=&b;”,则正确的是()???[C] 2分

A. pa的值是1.5?????B. *pa的值是4.5?????C. *pa的值是3.5?????D. pa的值是3.5

7.指针变量p1、p2类型相同,要使p2、p1指向同一变量,哪一个语句是正确的()。A] 2分

A. p2=*&p1;?????B. p2=**p1;?????C. p2=&p1;?????D. p2=*p1

8.指出下列语句中正确的是()。??[B] 2分

A. char *p; char s[80]; p=s[0];B. double x,y,*p; x=3.45;p=&x; y=*p;C. int x,*p; *p=x;D. int *p=&a; int a;

9.下面程序的输出是( )。[B] 2分

#include

void ast(int x, int y, int *cp, int *dp)

{ *cp=x+y;

*dp=x-y;

x=*cp+*dp;

y=*cp-*dp;

}

void main()

{ int x,y,c,d;

x=5;y=2,c=8,d=4;

ast(x,y,&c,&d);

printf("%d,%d,%d,%d\n",x,y,c,d);

}

A. 5,2,8,4?????B. 5,2,7,3?????C. 12,4,7,3?????D. 12,4,8,4

三、程序填空题?(38分)

1. 功能:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。 10分

#include

int length(char *p)

{

int n;

n=0;

while(*p!='\0')

{

__(1)__;

p++;

}

return n;

}

int main()

{

int length(__(2)__);

int len;

char str[1000];

printf("please input a string:\n");

scanf("%s",str);

len=length(__(3)__);

printf("the string has %d characters.",le

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值