- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
上海交通大学2017级C语言测试题
一、 选择题
(1)以下选项中,能用作用户标识符的是____
A)class B)for C)_2013 D)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)0 B)3 C)4 D)5
(4)以下叙述中错误的是____
A)用户定义的函数中可以没有return 语句
B)用户定义的函数中可以有多个return 语句,以便可以调用一次返回多个函数值
C)用户定义的函数中若没有return 语句,则应当定义函数为void 类型
D)函数的return 语句中可以没有表达式
(5)以下选项中是正确的整型常量的是____
A)1234 B)’1234’ C)1,234 D)”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 stdio.h
void fun(char *s)
{
while(*s)
{
if(*s%2) printf(%c,*s);
s++;
}
}
main()
{
char a[]=BYTE;
fun(a);
printf(\n);
}
程序运行后的输出结果是____
A)BY B)BT C)YT D)YE
(9)设有如下函数定义:
int fun(int k){
if (k1) return 0;
else if(k==1) return 1;
else return fun(k-1)+1;
}
若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是____
A)2 B)3 C)4 D)5
(10)有以下程序:
#include stdio.h
#define S(x) 4*(x)*x+1
main()
{
int k=5,j=2;
printf(%d\n,S(k+j));
}
程序运行后的输出结果是____
A)197 B)143 C)33 D)28
二、给出下列程序的输出结果:
(1) [程序]
#include stdio.h
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) [程序]
#includestdio.h
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) [程序]
#includestdio.h
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 stdio.h
void main()
{
char str[20]=C Language, c;
int i=0;
while((c=str[i])!=\0)
{
i++;
#ifdef LETTER 这个表示如果声明了LETTER,就执行下面三行语句
if(c=a cz)
c=c+1;
else if(c==z)
文档评论(0)