欲穷千里目,更上一层楼!
其输出结果是 B A)0,0 B)0,1 C)1,1 D)程序进入无限循环 2.有以下程序段 D ?? int n,t=1,s=0; ?? scanf(\
?? do{ s=s+t; t=t-2; }while (t!=n);
为使此程序段不陷入死循环,从键盘输入的数据应该是
A)任意正奇数 B)任意负偶数 C)任意正偶数 D)任意负奇数
3.以下程序的功能是:将输入的正整数按逆序输出。例如,若输入135,则输出531,请填空。n/=10
#include
int n,s;
printf(\ scanf(\ printf(\ do {
s=n; printf(\ _____;
} while(n!=0); printf(\}
第三节 for语句 习题
1.有以下程序 #include
int x=8;
for( ; x>0; x--) {
if(x%3) {
printf(\ continue; }
printf(\ } }
程序的运行结果是 D A)7,4,2 B)8,7,5,2 C)9,7,6,4 2.以下不构成无限循环的语句或者语句组是 A
11
D)8,5,4,2 欲穷千里目,更上一层楼!
A)n=0; B)n=0;
do{++n;}while(n<=0); while(1){n++;}
C)n=10; D)for(n=0,i=1; ;i++) n+=i; while(n); {n--;}
第四节 循环结构的嵌套 习题
1.有以下程序 main( ) {
int i,n=0;
for(i=2;i<5;i++) { do {
if(i%3) continue; n++;
} while(!i); n++; }
printf(\ }
程序执行后的输出结果是 D A)n=5 B)n=2 C)n=3 2.有以下程序 main() {
int i,j,x=0;
for(i=0;i<2;i++) { x++;
for(j=0;j<=3;j++) {
if(j%2) continue; x++; } x++; }
printf(\ }
程序执行后的输出结果是 B
A)x=4 B)x=8 C)x=6 3.下面程序的功能是输出以下形式的金字塔图案 *
12
D)n=4 D)x=12 欲穷千里目,更上一层楼!
*** ***** ******* main( ) { int i,j;
for(i=1;i<=4;i++) {
for(j=1;j<=4-i;j++) printf(\ \ for(j=1;j<=_______;j++) printf(\ printf(\ } }
在下划线处应填入的是 B
A)i B)2*i-1
第五节 循环结构的分析方法 习题
1.以下程序段中的变量已正确定义 for(i=0;j<4;i++,i++)
for(k=1;k<3;k++); printf(\ 程序段的输出结果是( ) D
A)******** B)****
C)2*i+1 D)i+2
C)** D)*
第五章 函 数
第一节 函数的定义、库函数 习题
1.在C语言中,函数返回值的类型最终取决于A A)函数定义时在函数首部所说明的函数类型 B)return语句中表达式值的类型
C)调用函数时主函数所传递的实参类型 D)函数定义时形参的类型 2.有以下函数
int fun(char *s) { char *t=s;
while(*t++); return(t-s); }
该函数的功能是 B
A)比较两个字符的大小 B)计算s所指字符串占用内存字节的个数
13
欲穷千里目,更上一层楼!
C)计算s所指字符串的长度 D)将s所指字符串复制到字符串t中 3.程序中对fun函数有如下说明 C ??void *fun();
??此说明的含义是 A)fun函数无返回值
B)fun函数的返回值可以是任意的数据类型 C)fun函数的返回值是无值型的指针类型
D)指针fun指向一个函数,该函数无返回值 ?
第二节 函数的调用与函数说明 习题
1.有以下程序 #include
int y;
if(x==0||x==1) return (3); y=x*x-f(x-2); return y; }
main() {
int z; z=f(3);
printf(\ }
程序的运行结果是 C
A)0 B)9 C)6 D)8 2.以下叙述中错误的是 C
A)改变函数形参的值,不会改变对应实参的值 B)函数可以返回地址值
C)可以在函数内部定义函数
D)调用sin函数需要包含头文件math.h 3.若程序中定义了以下函数 double myadd(double a, double b) {
return (a+b); }
并将其放在调用语句之后,则在调用之前应进行函数声明,以下选项中错误的是 A A)double myadd(double a, b); B)double myadd(double, double); C)double myadd(double b, double a); D)double myadd(double x, double y);
第三节 函数的数据传递 习题
14
欲穷千里目,更上一层楼!
1.有以下程序 void f(int v , int w) { int t;
t=v;v=w;w=t; }
main( ) {
int x=1,y=3,z=2; if(x>y) f(x,y);
else if(y>z) f(y,z); else f(x,z);
printf(\ }
执行后输出结果是 C
A)1,2,3 B)3,1,2 C)1,3,2 D)2,3,1 2.以下程序的输出结果是_________。 1 3 #include
if(x/2>0) fun(x/2);
printf(\ }
main() {
fun(3); printf(\}
第六章 指 针
第一节 变量的地址和指针 习题
1.以下叙述中错误的是 C
A)改变函数形参的值,不会改变对应实参的值 B)函数可以返回地址值
C)可以给指针变量赋一个整数作为地址值
D)当在程序的开头包含文件stdio.h时,可以给指针变量赋NULL 2.以下定义语句中正确的是 D
15