- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
高级语言程序设计(C)模拟题五
一、选择题(本题共20道小题,共0分。)
1. 以下程序运行后,输出结果是
int main( )
{
char *s=abcde;
s+=2;
printf(%ld\n,s);
}
A)cde B)字符c的ASCII码值 C)字符c的地址 D)出错
C
解析:s的类型为指针,的地址用整数表示的。使用长整型)打印,打印出的就是的地址。故选
2. 下面程序的运行结果是
int main()
{
char ch[7]={65ab21};
int i,s =0
for(i=0;ch[i]=0ch[i]9;i+=2)
s=10*s+ch[i]-0
printf(%d\n,s);
}
A)12ba56 B)6521 C)6 D)62
:要明确循环的条件,即读取的字符是,则放入,i的值增加,读取到‘6’,s=6,读取到’a’循环中止输出故选
3. 若有说明,double *p,a;则能通过scanf语句正确给输入项读入数据的程序段是
A)*p=a; scanf(%lf,p);
B)p=(double*)malloc(8);scanf(%f,p);
C) p=a;scanf(%lf,a);
D)p=a; scanf(%l,p);
答案 D
解析:初始化,指向赋值读入均无法进行。,储存地址,却没有赋值,p指向的是NULL读入。,,地址应填写a或故选
4. 若要用下面的程序片段使指针变量p指向一个存储整型变量的动态存储单元:
int *p;
p=__________ malloc( sizeof(int));
则应填入
A) int B) int * C) (*int) D) (int *)
D
解析:的目的应该是将malloc申请的p是,因此需要进行强制转换需要填写的强制转换即为故选
5. 若k是int型变量,且有下面的程序片段:
k=-3
if(k=0) printf(####)
else printf();
上面程序片段的输出结果是
A) #### B) C) #### D) 有语法错误
6. 以下程序运行后,输出结果是
#includestdio.h
#define PT 5.5
#define S(x) PT*x*x
int main( )
{
int a=1,b=2;
printf(%4.1f\n,S(a+b))
}A)49.5 B)9.5 C)22.0 D)45.0
答案 B
解析:利用宏定义对语句进行替换,等价于““%4.1f\n”,5.5*3*3);”,其中,定义了输出格式为保留一位小数,保留,因此输出结果为故选
7. 设有以下语句:
struct st {int n; struct st *next;};
static struct st a[3]={5,a[1],7,a[2],9,\0},*p;
p=a[0];
则表达式_____的值是6。
A)p + + -n B) p-n + + C) (*p).n + + D) + + p-n
:,’\0’}。P指向了[0]的首地址,结果为明显错误,中,地址,不能直接各个元素值。故选
8. 当a=1,b=3,c=5,d=4时,执行下面一段程序后,x的值为
if(ab) if(cd)x=1; ②
else if(ac) ③
if(bd)x=2; ④
else x=3; ⑤
else x=6; ⑥
else x=7; ⑦
A)1 B)2 C)3 D)6
答案 B
解析:依次来看,按照的,故最终值为选
9. 下面程序的输出是#includestdio.h
#includestring.h
int main()
{ char *p1=abc,*p2=ABC,str[50]=xyz;
strcpy(str+2,strcat(p1,p2));
printf(%s\n, str);}
A) xyzabcABC B) zabcABC C) yzabcABC D) xyabcABC
答案 D
解析:表示连接字符串,即将末尾,的,将的结果复制到起始地址的
10. 执行以下程序后,y的值是
int main ( )
{ int a[]={2,4,6,8,10};
int y=1,x,*p;
p=a[1];
for(x=0;x3;x++) y + = * (p + x);
printf(%d\n,y); }
A) 17 B) 18 C) 19 D) 20
:共进行了三
文档评论(0)