全国计算机等级考试二级C语言考前复习资料(真的非常全的笔试资(6)

2019-08-31 13:16

执行printf(\并退出switch,当得到2,4时执行达式也可以是逗号表达式,本题表达式1是一个逗号表达式,printf(\并继续循环,当得到0时,exit(0)正常结束程i赋值为0,同时k赋值为-1。所以判断表达式2:k=1是k赋序。所以循环不一定执行8次,故选择D。 值为1,故无限循环,选择D。

? for循环与数组 8.知识点:循环嵌套 例6:(2010-09-09)有以下程序 例1:(2010-03-20)有以下程序 #include #include main()

main()

{int i,n[]={0,0,0,0,0}; {int i,j,m=1; for(i=1;i<=4;i++)

for(i=1;i<3;i++) {n[i]=n[i-1]*3+1; printf(“%d ”,n[i]);}

{ for(j=3;j>0;j--) }程序运行后的输出结果是 1 4 13 40 。 {if(i*j>3) break; ? 注意区 赋值语句和判断语句

m*=i*j;

例 7:(2011-03)若i和k都是int类型变量,有以下for语句 } }

for(i=0,k=-1;k=1;k++) printf(\printf(“m=%d\\n”,m);

下面关于语句执行情况的叙述中正确的是 (D)

}程序运行后的输出结果是 (A)

A)m=6 B)m=2 C)m=4 A)循环体执行两次 B)循环体执行一次 例2:(2011-03)有以下程序

C)循环体一次也不执行 D)构成无限循环

main()

{ int x=1,y=0; 【解析】:for循环的表达式1和表达式3可以是一个简单的表

if(!x) y++; else if(x==0)

第 26 页 共 78 页

D)m=5

if (x) y+=2; main() else y+=3; {int k=1,s=0; printf(\do{ }程序运行后的输出结果是 (D) if((k%2)!=0) continue; A)3 B)2 C)1 D) 0 s+=k; k++; 【解析】:if-else的嵌套,注意else总是与前面最近的且未配}while(k>10); 对的if语句配对组合。if(!x)中x为1,!x为0为false,即if(!x) printf(“s=%d\\n”,s); 后的语句不执行,else if(x==0),x为1也不等于0,也不成立,} 故else if内的语句也不执行,而if (x) y+=2;else y+=3;均为else 【解析】k=1,if((k%2)!=0)条件成立,执行continue语句,结if内的语句。所以直接输出y为0,故选D。 束本次循环,判断表达式k>10,值为0,故跳出do-while循环,9.知识点:break语句 执行printf(“s=%d\\n”,s);则输出结果为s=0。 ? 功能:跳出整个switch语句;跳出循环体,防止死循环。 ? break语句只能出现在switch、while、do-while、for循环中, 不能出现在其他地方。 ? 作用范围:所在循环体从属的最内层循环,而不是外层的 某个循环。 6.知识点:continue语句 ? 功能:结束本次循环,接着判断是否继续下一次循环。 ? continue语句只能出现在while、do-while、for循环中。 ? 作用范围:所在循环体从属的最内层循环,而不是外层的 某个循环。 例1:(2009-04-09)以下程序运行后的输出结果是 s=0 #include

第 27 页 共 78 页

第三课 数组

第 28 页 共 78 页

本课重要知识点:

1.知识点:一维数组的定义

第 29 页 共 78 页

例1:(2010-03-25)下列选项中,能正确定义数组的语句是(D) 限,已经越界,故C项错误。m[4]=1,没有越界,故D项正A)int num[0…2008]; B)int num[]; 确。

C)int N=2008; D)#define N 2008 例2:(2011-03)以下程序运行后的输出结果是 13715 int num[N]; int num[N]; main() 【解析】数组的长度必须是一个整型常量、整型常量表达式,

{ int i,n[5]={0}; 故A项错误。定义数组时,不能省略数组长度,B项错误。数

组的长度不能是变量,C项错误。数组的长度可以是符号常量,for(i=1;i<=4;i++) D项正确。

{ n[i]==n[i-1]*2+1; printf(\例2:(2010-09-28)若要定义一个具有5个元素的整型数组,以

下错误的定义语句是(D)

printf(\

A)int a[5]={0}; B)int b[]={0,0,0,0,0}; C)int c[2+3]; D)int i=5,d[i]; } 【解析】可以只给数组的前面一部分元素设定初值,A项正确。【解析】:n[1]=1,n[2]=1*2+1=3,n[3]=3*2+1=7,n[4]=7*2+1=15

对全部数组元素赋初值时,可以不指定数组元素的个数,B项

正确。数组的长度可以是一个整型常量表达式,C项正确。数3.知识点:一维数组的初始化

? 顺序列出数组元素的全部初值,例如int a[5]={1,2,3,4,5}; 组的长度不能是变量,D项错误。

? 只给数组的前面一部分元素设定初值,未赋初值的元素自2.知识点:一维数组元素的引用

动取0值。例如,int a[5]={1,2}; 例1:(2008-09-21)若有定义语句:int m[]={5,4,3,2,1},i=4;则下

? 对全部数组元素赋初值时,可以不指定数组元素的个数。面对m数组元素的引用中错误的是 (C)

A)m[--i] B)m[2*2] C)m[m[0]] 例如, int a[]={1,2,3,4,5};

4.知识点:二维数组的初始化 D)m[m[i]]

【解析】m数组元素的引用的下限为0,上限为4。i=4,--i? 按行分段给二维数组赋初值 的值为3,A项正确。B项没有越界,正确。m[0]=5,超过上? 按行连续赋值

第 30 页 共 78 页


全国计算机等级考试二级C语言考前复习资料(真的非常全的笔试资(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:感受生命的意义教学设计

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: