C语言阶段测验13章.docx
- 文档编号:11370858
- 上传时间:2023-02-28
- 格式:DOCX
- 页数:16
- 大小:18.78KB
C语言阶段测验13章.docx
《C语言阶段测验13章.docx》由会员分享,可在线阅读,更多相关《C语言阶段测验13章.docx(16页珍藏版)》请在冰豆网上搜索。
C语言阶段测验13章
《程序设计基础》阶段测验(开卷)
(请将答案写在答题纸上)
一、单项选择题(每小题2分,共80分)
(1)下列叙述中错误的是________。
A)一个C语言程序只能实现一种算法
B)C程序可以由多个程序文件组成
C)C程序可以由一个或多个函数组成
D)一个C函数可以单独作为一个C程序文件存在
(2)下列叙述中正确的是________。
A)每个C程序文件中都必须有一个main()函数
B)在C程序中main()函数的位置是固定的
C)C程序可以由一个或多个函数组成
D)在C程序的函数中不能定义另一个函数
(3)下列定义变量的语句中错误的是________。
A)int_int;
B)doubleint_;
C)charFor;
D)floatUSS
(4)若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是________。
A)++x,y=x--
B)x+1=y
C)x=x+10=x+y
D)double(x)/10
(5)以下能正确定义一维数组的选项是________。
A)inta[5]={0,1,2,3,4,5};
B)chara[]={0,1,2,3,4,5};
C)chara={'A','B','C'};
D)inta[5]="0123";
(6)若有定义intx,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?
(x++):
(y++)中的条件表达式(x-y)等价的是________。
A)(x-y>0)
B)(x-y<0)
C)(x-y<║x-y>0)
D)(x-y==0)
(7)有以下程序
main()
{intx,y,z;
x=y=1;
z=x++,y++,++y;
printf("%d,%d,%d\n",x,y,z);
}
程序运行后的输出结果是________。
A)2,3,3
B)2,3,2
C)2,3,1
D)2,2,1
(8)设有定义:
inta;floatb;执行scanf("%2d%f",&a,&B);语句时,若从键盘输入876543.0<回车>,a和b的值分别是________。
A)876和543.000000
B)87和6.000000
C)87和543.000000
D)76和543.000000
(9)有以下程序
main()
{inta=0,b=0;
a=10;/*给a赋值
b=20;给b赋值*/
printf("a+b=%d\n",a+B);/*输出计算结果*/
}
程序运行后输出结果是________。
A)a+b=10
B)a+b=30
C)30
D)出错
(10)在嵌套使用if语句时,C语言规定else总是________。
A)和之前与其具有相同缩进位置的if配对
B)和之前与其最近的if配对
C)和之前与其最近的且不带else的if配对
D)和之前的第一个if配对
(11)下列叙述中正确的是________。
A)break语句只能用于switch语句
B)在switch语句中必须使用default
C)break语句必须与switch语句中的case配对使用
D)在switch语句中,不一定使用break语句
(12)有以下程序
main()
{intk=5;
while(-k)printf("%d",k-=3);
printf("\n");
}
执行后的输出结果是________。
A)1
B)2
C)4
D)死循环
(13)有以下程序
main()
{intI;
for(I=1;I<=40;I++)
{if(I++%5==0)
if(++I%8==0)printf("%d",I);
}
printf("\n");
}
执行后的输出结果是________。
A)5
B)24
C)32
D)40
(14)以下不合法的用户标识符是________。
A)j2_KEY
B)Double
C)4d
D)_8_
(15)以下不合法的数值常量是________。
A)011
B)lel
C)8.0E0.5
D)0xabcd
(16)以下不合法的字符常量是________。
A)'\018'
B)'\”'
C)'\\'
D)‘\xcc'
(17)表达式3.6-5/2+1.2+5%2的值是________。
A)4.3
B)4.8
C)3.3
D)3.8
(18)以下能正确定义字符串的语句是________。
A)charstr[]={‘\064'};
B)charstr=”\x43”;
C)charstr=”;
D)charstr[]=”\0”;
(19)有以下程序
main()
{chara[7]="a0a0";inti,j;
i=sizeof(a);j=strlen(a);
printf("%d%d",i,j);
}
程序运行后的输出结果是________。
A)22
B)76
C)74
D)62
(20)若要求从键盘读入含有空格字符的字符串,应使用函数________。
A)getc()
B)gets()
C)getchar()
D)scanf()
(21)在以下给出的表达式中,与while(E)中的(E)不等价的表达式是________。
A)(!
E=0)
B)(E>0||E<0)
C)(E==0)
D)(E!
=0)
(22)要求通过while循环不断读入字符,当读入字母N时结束循环。
若变量已正确定义,以下正确的程序段是________。
A)while((ch=getchar())!
='N')printf(“%c”,ch);
B)while(ch=getchar()!
='N')printf(“%c”,ch);
C)while(ch=getchar()==N')printf(“%c”,ch);
D)while((ch=getchar())=='N')printf(“%c”,ch);
(23)有以下程序
main()
{
intp[8]={11,12,13,14,15,16,17,18},i=0,j=0;
while(i++<7)if(p[i]%2)j+=p[i];
printf("%d",j);
}
程序运行后的输出结果是________。
A)42
B)45
C)56
D)60
(24)以下叙述中错误的是________。
A)C语句必须以分号结束
B)复合语句在语法上被看作一条语句
C)空语句出现在任何位置都不会影响程序运行
D)赋值表达式末尾加分号就构成赋值语句
(25)以下叙述中正确的是________。
A)调用printf函数时,必须要有输出项
B)使用putchar函数时,必须在之前包含头文件stdio.h
C)在C语言中,整数可以以十二进制、八进制或十六进制的形式输出
D)调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码
(26)若整型变量a、b、c、d中的值依次为:
1、4、3、2。
则条件表达式a
a:
c c: d的值________。 A)1 B)2 C)3 D)4 (27)有以下程序 main() {inti=1,j=2,k=3; if(i++==1&&(++j==3||k++==3)) printf("%d%d%d",i,j,k); } 程序运行后的输出结果是________。 A)123 B)234 C)223 D)233 (28)设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是________。 A)6.500000 B)6 C)5.500000 D)6.000000 (29)当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是________。 A)k%2 B)k%2==1 C)(k%2)! =0 D)! k%2==1 (30)以下能正确定义且赋初值的语句是________。 A)intn1=n2=10; B)charc=32; C)floatf=f+1.1; D)doublex=12.3E2.5; (31)以下程序的功能是: 给r输入数据后计算半径为r的圆面积s。 程序在编译时出错。 main() /*Beginning*/ {intr;floats; scanf("%d",&r); s=*p*r*r;printf("s=%f\n",s); } 出错的原因是________。 A)注释语句书写位置错误 B)存放圆半径的变量r不应该定义为整型 C)输出语句中格式描述符非法 D)计算圆面积的赋值语句中使用了非法变量 (32)设有定义: intk=1,m=2;floatf=7;,则以下选项中错误的表达式是________。 A)k=k>=k B)-k++ C)k%int(f) D)k>=f>=m (33)设有定义: inta=2,b=3,c=4;,则以下选项中值为0的表达式是________。 A)(! a==1)&&(! b==0) B)a C)a&&b D)a||(b+‘B’)&&(c-‘A’) (34)有以下程序段 intk=0,a=1,b=2,c=3; k=a>c? c: k; 执行该程序段后,k的值是________。 A)3 B)2 C)1 D)0 (35)有以下程序段 intn,t=1,s=0; scanf("%d",&n); do{s=s+t;t=t-2;}while(t! =n); 为使此程序段不陷入死循环,从键盘输入的数据应该是________。 A)任意正奇数 B)任意负偶数 C)任意正偶数 D)任意负奇数 (13) (36)数字字符0的ASCII值为48,若有以下程序 main() {chara='1',b='2'; printf("%c,",b++); printf("%d",b-a); } 程序运行后的输出结果是________。 A)3,2 B)50,2 C)2,2 D)2,50 (37)有以下程序 main() {intm=12,n=34; printf("%d%d",m++,++n); printf("%d%d",n++,++m); } 程序运行后的输出结果是________。 A)12353514 B)12353513 C)12343514 D)12343513 (38)有定义语句: intb;charc[10];,则正确的输入语句是________。 A)scanf("%d%s",&b,&c); B)scanf("%d%s",&b,c); C)scanf("%d%s",b,c); D)scanf("%d%s",b,&c); (39)有以下程序 main() {intm,n,p; scanf("m=%dn=%dp=%d",&m,&n,&p); printf("%d%d%d",m,n,p); } 若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是________。 A)m=123n=456p=789 B)m=123n=456p=789 C)m=123,n=456,p=789 D)123456789 (40)有以下程序 main() { inta,b,d=25; a=d/10%9; b=a&&(-1); printf("%d,%d",a,b); } 程序运行后的输出结果是________。 A)6,1 B)2,1 C)6,0 D)2,0 二、程序题(每小题10分,共20分) 1.读程序,写出程序的运行结果________。 a=3; while(a<10) a=a+5; printf("a=%d",a); 2.读程序,写出程序的运行结果________ voidmain() {intnum=0; while(num<=2) {num++; printf("%d\n",num); } } 3.读程序,写出程序的运行结果________ x=0,y=0; do {y++;x*=x; }while((x>0)&&(y>5)); printf("y=%d,x=%d\n",x,y); 4.读程序,写出程序的运行结果________ main() {inti,j,k=0,m=0; for(i=0;i<2;i++) {for(j=0;j<3;j++) k++; } m=i+j; printf("k=%d,m=%d\n",k,m); } 5.读程序,写出程序的运行结果________ voidmain(void) {chari,j; for(i='a',j='z';i printf("%d%d",i,j); printf("\n"); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 阶段 测验 13