C语言复习题整理 下载本文

内容发布更新时间 : 2024/5/4 21:35:13星期一 下面是文章的全部内容请认真阅读。

C.if ((a=b)>=0) m=a; D.if ((a=b;)>=0) m=a; 4.若i,j均为整型变量,则以下循环*( C )。

for (i=0,j=2; j=1; i++,j--)

printf(\

A.循环体只执行一次 B.循环体执行二次 C.是无限循环 D.循环条件不合法 5.以下程序段,执行结果为( A )。 a=1; do {a=a*a; } while(!a);

A.循环体只执行一次 C.是无限循环 6.C语言中while与do-while语句的主要区别是( A A.do-while的循环体至少无条件执行一次 B.do-while允许从外部跳到循环体内 C.while的循环体至少无条件执行一次 D.while的循环控制条件比do-while的严格 7.语句while (!a);中条件等价于( D )。

A.a!=0 B.~a 8.以下程序的运行结果为( D )。

#include main( ) {

int i=1,sum=0; while(i<=100) sum+=i; i++;

printf(\}

A.5050 B.1 9.以下程序的运行结果为( A )。

#include main( ) {

int sum,pad; sum=pad=5;

B.循环体执行二次 D.循环条件不合法 )。

C.a==1 C.0 D.a==0 D.程序陷入死循环 pad=sum++; pad++; ++pad;

printf(\}

A.7 B.6 C.5 D.4 10.以下程序的运行结果为( D )。

#include main( ) {

int a=2,b=10;

printf(\}

A.a=%2,b= B.a=2,b=10 C.a=%%d,b=%%d D.a=%d,b=%d

11.为了避免嵌套的if-else语句的二义性,C语言规定else总是( C )。

A.与缩排位置相同的if组成配对关系 B.与在其之前未配对的if组成配对关系 C.与在其之前未配对的最近的if组成配对关系 D.与同一行上的if组成配对关系

12.对于for (表达式1; ;表达式3)可理解为( B )。

A.for (表达式1; 0 ;表达式3) B.for (表达式1; 1 ;表达式3) C.for (表达式1;表达式1;表达式3) D.for (表达式1;表达式3;表达式3)

二、程序填空

1.下面程序的功能是计算n!。

#include main ( ) {

int i, n; long p;

printf ( \ scanf (\ p= 1 ; for (i=2; i<=n; i++)

p*=i或p=p*i ; printf(\}

2.下面程序的功能是:从键盘上输入若干学生的成绩,统计并输出最高和最低成绩,当输入负数时结束输入。

#include main ( ) {

float score, max, min;

printf ( \ scanf (\ max=min=score;

while ( score>=0 ) {

if (score>max) max=score;

if ( score

printf(\}

3.下面程序的功能是:计算y=

#include #include main ( ) {

float x , y=0, fz=-1, fm=-1, temp=1; printf ( \ scanf (\

while ( abs(temp)>0.00001 ) {

fz= 【6】-fz*x ; fm=fm+2; temp=fz/fm; y+=temp; }

printf(\}

的值。要求从键盘上输入x的值,精度控制在0.00001内。

4.下面的程序完成两个数的四则运算。用户输入一个实现两个数的四则运算的表达式,程序采用switch语句对其运算进行判定后执行相应

的运算并给出结果。

#include main( ) {

float x,y; char op;

printf(\ scanf(\ 【7】switch (op) {

case '+':

printf(\ 【8】x,op,y,x+y ); 【9】break ; case '-':

printf(\ break; case '*':

printf(\ break; case '/':

if ( 【10】(y>=-1e-6)&&(y<=1e-6) ) printf(\ else

printf(\ break;

default:printf(\ } }

题解4 函 数

4.1 习题 一、选择题

1.C语言中函数形参的缺省存储类型是( B )。

A.静态(static) B.自动(auto) C.寄存器(register) D.外部(extern) 2.函数调用语句function((exp1,exp2), 18)中含有的实参个数为( C )。

A.0 B.1 C.2 3.下面函数返回值的类型是( D )。 square(float x) {

return x*x; }

A.与参数x的类型相同 B.是void型 C.无法确定 D.是int型 4.C语言规定,程序中各函数之间( D )。

A.不允许直接递归调用,也不允许间接递归调用 B.允许直接递归调用,但不允许间接递归调用

D.3