- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《C语言》复习题2-带答案
《C语言》习题2
一、 单项选择题
、一个C程序的执行是从( )
A.main()函数开始,直到main()函数结束 B.第一个函数开始,直到最后一个函数结束
C.第一个语句开始,直到最后一个语句结束 D.main()函数开始,直到最后一个函数结束
、设有语句int a=3;则执行语句a+=a-=a*a;后,变量a的值是( )
A.3 B.0 C.-12 D.9
、若有 char c[5]={c,d,\0,e,\0};则执行语句printf(%s,c);结果是( )。
A.cd\0e B.cd C.cd D.cd e
、执行char str[10]=”Ch\nina”; strlen(str)的值是( )
A.5 B.6 C.7 D.9 组成C程序的基本单位是
A.函数 B.标识符 C.表达式 D.语句
设int类型的数据长度为2字节,则该类型数据的取值范围是( )
A.0至65536 B.0至65535
C.-32767至32768 D.-32768至32767
在C语言中,逻辑值“真”是用( )表示的。
A.预定义为真值的宏 B.非零数 C.正数 D.非零整数
C语言对于嵌套if语句规定else总是与( )匹配。
A.与最外层的if B.与之前最近的if
C.与之前最近的不带else的if D.与最近的{ }之前的if
数组定义char a[10]={`a`,`b`,`c`}:包括了几个元素( )
A.3 B.9 C.4 D.10
若有语句scanf(“%d%d”,a,b);要使变量a,b分别得到12和34;正确的输入形式为( )
A.12 34 B.12,34 C.1234 D.12:34A.B.C.D.
解析:sum实现从1到5的和
14、以下程序的输出结果是( )
#includestdio.h
void main()
{?int p[8]={11,12,13,14,15,16,17,18},i=0,j=0;
??? while(i8)
??? {???? if(p[i]%2) j+=p[i]; i++;????? }
??? printf(%d\n,j);
}
A.B.C.D.
解析:函数实现功能:将p数组中第0,2,4,6号元素相加。
15、以下程序的输出结果是( )
#includestdio.h
void main(){
int x=1,a=0,b=0;
switch(x){
case 0:b++;
case 1:a++;
case 2:a++;b++;}
printf(a=%d,b=%d\n,a,b);
}
A.B.C.D.
解析:从switch语句转到case1,case2,运行后a=2,b=1
二、 填空题
1、字符串A在内存中占用的字节数为 。
2、C语言中的标识符只能由字母、下划线和 组成。
、设a=2,b=3; float x=3.5,y=2.5; 则表达式(float)(a+b)/2+(int)x%(int)y 的结果是 。
、设x=1,y=1; 则执行表达式:--x)(++y)后,y的值为 。、语句for(i=1;i= =10;i++) continue;循环的次数是 。
C语言基本数据类型有:_整型、字符型、浮点型、枚举类型__。
C标准库函数中,数学函数的原型在:___math.h____头文件中。
已知函数定义为:int stat(int a,float *p)
{……………}
则此函数的两个参数类型分别是_____整型____ 、 _____指针类型_____。
三、 写程序结果
、源程序如下:
#include stdio.h
main()
{ void func(int);
int k=4;
func(k); func(k);
}
void func(int a)
{ int m=0;
m+=a;
printf(%d,m);
}
结果?:44
2、 源程序如下:
#include
void main( )
{
int num[9]={399,398,397,396,395,299,290,311,301};
int score[9]={81,85,59,77,90,66,89,93,73};
int max,,pos,i;
pos=0;
max=score[pos];
for(i=1;i9;i++)
if(score[i]max)
{ pos=i;
max=score[pos]; }
printf(“num=%d,score=%d”,num[];score[]);
结果为: num=311,
文档评论(0)