上海交通大学c语言章节作业,上海交通大学级C语言测试题.doc

上海交通大学级C语言测试题

一、 选择题

(1)以下选项中,能用作用户标识符的是____

A)classB)forC)_2013D)2013_

(2)设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据的是____

A)scanf("%d",pa);

B)scanf("%d",a);

C)scanf("%d",&pa);

D)scanf("%d",*pa);

(3)若有定义语句:int a=7;,则表达式:(a++)/2的值是____

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

(4)以下叙述中错误的是____

A)用户定义的函数中可以没有return 语句

B)用户定义的函数中可以有多个return 语句,以便可以调用一次返回多个函数值

C)用户定义的函数中若没有return 语句,则应当定义函数为void 类型

D)函数的return 语句中可以没有表达式

(5)以下选项中是正确的整型常量的是____

A)1234B)’1234’C)1,234D)”1234”

(6)设有以下定义:

#define d 2

int a=0; double b=1.25; char c=’A’;

则下面语句中错误的是____

A)a++;B)b++;C)c++;D)d++;

(7)若i和k都是int类型变量,有以下for语句for(i=0,k=-1;k=1;k++) printf("*****\n");下面关于语句执行情况的叙述中正确的是____

A)循环体执行两次

B)循环体执行一次

C)循环体一次也不执行

D)构成无限循环

(8)有以下程序(说明:字母A的ASCII码值是65):

#include

void fun(char *s)

{

while(*s)

{

if(*s%2) printf("%c",*s);

s++;

}

}

main()

{

char a[]="BYTE";

fun(a);

printf("\n");

}

程序运行后的输出结果是____

A)BYB)BTC)YTD)YE

(9)设有如下函数定义:

int fun(int k){

if (k<1) return 0;

else if(k==1) return 1;

else return fun(k-1)+1;

}

若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是____

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

(10)有以下程序:

#include

#define S(x) 4*(x)*x+1

main()

{

int k=5,j=2;

printf("%d\n",S(k+j));

}

程序运行后的输出结果是____

A)197B)143C)33D)28

二、给出下列程序的输出结果:

(1) [程序]

#include

int fun()

{

static int x=1;

x*=2;

return x;

}

main()

{

int i,s=1;

for(i=1;i<=3;i++) s*=fun();

printf("%d\n",s);

}

输出结果_____________64___________

(2) [程序]

#include

int f(int x,int y)

{

return((y-x)*x);

}

void main()

{

int a=3,b=4,c=5,d;

d=f(f(a,b),f(a,c));

printf("%d\n",d);

}

输出结果______________9__________

(3) [程序]

#include

void f(int y,int *x)

{

y=y+*x;

*x=*x+y;

}

void main( )

{

int x=2,y=4;

f(y,&x);

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

}

输出结果____________2,4____________ 无返回值? X=8,y=4

(4) [程序]

#define LETTER 1

#include

void main()

{

char str[20]="C Language", c;

int i=0;

while((c=str[i])!='\0')

{

i++;

#ifdef LETTER 这个表示如果声明了LETTER,就执行下面三行语句

i

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值