C语言重修复习卷C

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《C 语言程序设计》重修练习卷三
•选择题
1.
下列选项中叙述错误的是 D
A. C 程序中,各种括号应成对出现
B. C 程序中,赋值号的左边不可以是表达式
C. C 程序中,变量名的大小写是有区别的
D.
C 程序中,若未给变量赋初值,则变量的初值自动为
2. 以下可用作C 语言用户标识符的一组是
A. struct define WORD
C. For -abc Case
strcat(str1,st ⑵ 执行后,str1 的值为 ______ D _____ 。

.stude nt
C . stude ntch ina 4.
已有说明:int a[4][5];
并且已赋初值,
则下列引用合法的是
—C

A . a[4][2]
B . a[2][5]
C . a[2][1]
D
. a[0][6]
5. 执行语句 for(i=1;i<4; i++);
后,i 的值是 ______ B _____ 。

A. 3 B . 4
C . 5
D.不定
6.
执行下列程序输出的结果是
D。

main ()
{
int a[3][3]={{1} ,{2} , {3}} ;
int b[3][3]={1 ,2, 3};
printf( d \
n 〃,a[1][0] + b[0][0])

}
A . 0
B . 1
C . 2 D. 3
7 .为了避免嵌套的条件语句
if-else 的二义性,C 语言规定: ________ D _____ A . else 与缩排位置相同的if 配对B . else 与同一行上的if 配对
__B ________ 。

B . a3_b3 _123 IF D. 2a DO sizeof
3 .若 char str1[20]=
"china ”,char str2[8]=
"student ”;则语句
A . china D. chin astude nt
C . else与其后最近的if配对
D . else与其前最近的尚未配对的if配对
8. C 语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是 B 。

A.地址传递
B.单向值传递
C.双向值传递
D.由用户指定传递方式
9.以下正确的函数定义形式是___B _________ __
A. fun (float x,y)
B. fun (int x, float y)
{{
return x+y; return x+y;
}}
C. fun (int x,int y) ;
D.void fun (int x, int
y)
{
{
return x+y; return x+y;
} }
10 .C语言中, D 。

A.不能使用do-while语句构成循环
B.do-while 语句构成的循环必须用break 语句才能退出
C.do-while 语句构成的循环,当while 中的表达式值为非零时结束循环
D.do-while 语句构成的循环,当while 中的表达式值为零时结束循环
11.下面程序的输出结果是_____ C ______ 。

#include “ stdio.h ”
func (int a, int b) { int c;
c=a+b; return c;
}
main()
{ int x=6,y=7,z=8,r;
r= func ((x, y),z); printf ( “ %d n”,r);
}
A. 11
B. 20
12. x 和y 均为int 型变量,则以下语句:
A.把x和y按从小到大排序
C.无确定结果
13.若有char c[5]={ ‘a', ‘b',
printf( “ %s”,c) ;的结果是___
C. 21
D. 31
x+=y;y=x-y ;x-=y ;的功能是___ D ______
B. 把x 和y 按从小到大排序
D.交换x和y中的值
‘ 0' , ‘ c' , ‘ 0' }; 则执行语句
B _______ 。

14 .在C 语言中,二维数组在内存中的存放顺序是
D 。

A.按行存放 B .按列存放 C .由用户定义
D.由编译器决定
15 . C 语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是
_______ B ___。

A.地址传递
C.双向值传递。

即由实参传给形参,再由形参传回给实参 _D 。

; B . fun 1(int x, y)
D . double fun 1(int x, int
k 中的值是 C 。

s[0]=k; k=s[0]*10; A.不定值
B. 33
C. 30
D. 10
19 .执行下列程序输出的结果是 _______ D ______ 。

main () {char a[8]= “ morning ”,t;
int i,j=0; for(i=1;i<7;i++)
if (a[j]<a[i])
j=i;
t=a[j]; a[j]=a[7]; a[7]=t; puts(a); }
A. mogninr
B . mo
C. morning
D. mornin
二.填空题
1 .温度华氏和摄氏的关系是: C=(5/9)(F-32),将该表达式转换为 C 语言表达式
是 ___C=(5/9.0)*(F-32)_ 。

2 .已知 int a=3,b=4,c=5; 表达式(a+b)>c&&b= =c 的值是 ____________ 0 ________ 。

3 .已知int *p, a; 则语句p=&a;中的运算符&的含义是 ____________ 取地址符 ______ 4•程序中经常要使用常量 3.1
4 ,我们用符号PI 来表示,其定义格式为 _______ define
PI 3.14 ________ 。

A.
‘ a ' ‘ b ' B . ab
C. abc
D. ab\Oc
.单向值传递
D.由用户指定传递方式 16 .以下正确的函数声明形式是
A. double fun 1(int x,int y)
C. double fun 1(x,y) y)
18 .执行下面的程序段后,变量
5 .已知char str[12]={ "string"} ;贝9 strlen(str) 的值为 6
6.break 语句在switch __________ 禾口______ 循环_____ 语句中使用。

7 .已知a=4,b=3,c=2,贝U a>b? a-c : a-b 的值为__________ 2__。

-8. 9/2 的值为_4 ____________ 、9/2.0 的值 4.5 _______________ 。

-9.在数组int score[12]={1,2,3,4,5,6} 中,元素的个数有12 个,其中score[8]的值为0 _____________ 。

10.putchar ()函数的功能是向屏幕输出一个字符___________ 。

puts () 函数的功能是向屏幕输出一个字符串。

11. C语言中,实型数据分为两种类型,它们是单精度型和双精度
类型符号是float 禾廿double _______________ 。

13. int a[]={8,1,2,5,0,4,7,6,3,9}; 那么a[a[3]]的值为 4 。

三.程序填空
1.以下程序的输出结果是_1 2 3 。

void mai n()
!
:
{ int num= 0;
while (num <=2)
{ nu m++;
printf("%d " , num);
}
:
! }
2.以下程序的输出结果是_3—。

void mai n()
{ int a=3,b=2,c=1;
if (a>b)
if (a>c)
printf ("%d", a);
else
prin tf("%d", b);
}
*
3.以下程序的输出结果是_____ *_。

void mai n() ***
{ char ch='*';
int i, j;
for (i=1;i<=3;i++)
{ for(j=1;j<=i; j++)
printf("%c", ch);
printf("\n");}
}
4、下面程序的功能是从键盘上输入若干学生的成绩, 统计并输出最高成绩和最低
成绩, 当输入为负数时结束输入。

void main()
{ float x, amax, amin;
scanf("%f", &x);
amax=x; amin=x;
while ( _____ x>0 _________ )
{ if (x>amax) amax=x;
if (___x<amin___ ) amin=x; scanf ("%f", &x);
}
printf("amax=%f amin=%f\n", amax, amin);
}
四.编程题1.编写程序,从键盘任意输入10 个整数,然后按逆序输出。

(用数组实现) void main()
{int a[10],i;
for(i=0;i<10;i++) scanf("%d",&a[i]);
for(i=9;i>=0;i--)
printf("%d ",a[i]);
}
2.某班10 名学生大学英语的考试成绩分别是67、84、79、71 、85、60、93、
75、96和81 分。

编程找出考分最高的学生。

#include"stdio.h" void main()
{int s[10]={ 67,84,79,71,85,60,93,75,96,81},i,max=0;
for(i=0;i<10;i++)
if(s[i]>max)
max=s[i];
printf("max=%d\n",max);
}
3 •定义一个子函数max,用于求两个数中的较大数。

在主函数中实现从键盘输
入两个整数n1和n2,并输出最大值。

#include "stdio.h"
int max(int a,int b)
{ if(a>b)
return a;
else return b;
}
main()
{ int a,b,c;
printf(" 请输入两个整数");
scanf("%d%d",&a,&b)
c=max(a,b);
printf(" 两个数最大值为%d",c);
}
4. 实现求0-200 之间能被 2 整除的数。

#include"stdio.h"
void main()
{int i;
for(i=0;i<=200;i+=2) printf("%5d",i);
}。

相关文档
最新文档