问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

谁有C语言的复习资料。。。我明天要考试啊。。。帮忙呐。。。

发布网友 发布时间:2023-01-15 14:42

我来回答

1个回答

热心网友 时间:2023-11-12 05:55

填空:
1.一个C程序的执行是从( A )
A 本程序的main函数开始,到main函数结束
B 本程序的第一个函数开始,到本程序文件的最后一个函数结束
C 本程序的main函数开始,到本程序文件的最后一个函数结束
D 本程序的第一个函数开始,到本程序main函数结束
2.以下能正确地定义整型变量a,b Bint a和c并为其赋初值5的语句是( A )
A int a=5, b=5, B.c=5;,b,c=5; C a=5,b=5,c=5; D a=b=c=5;
3.为了避免在嵌套的条件语句if-else中产生二义性,C语言规定else子句总是与( B )配对。
A 缩排位置相同的if B 其之前最近的if
C 其之后最近的if D 同一行上的if
4.以下正确的描述是:( C )
A while、do-while、for循环中的循环体语句都至少被执行一次(有时while循环一次也不执行)
B do-while循环中,while(表达式)后面的分号可以省略(while循环中分号可以省略,do-while循环不能省略)
C while循环体中,一定要有能使while后面表达式的值变为“假”的操作
D do-while循环中,根据情况可以省略while
5.C语言规定,简单变量作为实参时,它和对应形参之间的数据传递方式是( D )。
A 地址传递 B 由用户指定传递方式
C 由实参传给形参,再由形参传回给实参 D 单向值传递(实参传给形参)
6.凡是函数中未指定存储类别的局部变量,其隐含的存储类别为( A )。
A 自动(auto)B 静态(static)
C 外部(extern)D 寄存器(register)
7.以下关于宏的叙述中正确的是( C )。
A 宏名必须用大写字母表示 B 宏替换时要进行语法检查
C 宏替换不占用运行时间 D 宏定义中不允许引用已有的宏名
8.说明一个结构体变量时,系统分配给它的内存是( A )
A 各成员所需内存量的总和 B结构中第一个成员所需内存量
C 成员中占内存量最大都所需的容量 D结构中最后一个成员所需内存量
9.表达式0x13&0x17的值是( B )(这两个十六进制数先化为十进制,再化为二进制,进行运算,再将二进制结果化为十进制,再化为十六进制)
A 0x17 B 0x13 C 0x f8 D 0xec
10.若要用fopen函数打开一个新的二进制文件,该文件既要能读也要能写,则文件方式字符串应是( B )
A "ab+" B "wb+" C "rb+" D "ab"
11.以下叙述中正确的是 ( C )
A C语言比其他语言高级
B C语言可以不用编译就能被计算机识别执行
C C语言以接近英语国家的自然语言和数学语言作为语言的表达形式
D C语言出现得最晚,具有其他语言的一切优点
12.定义:int a=8,b=5,c;,执行语句c=a/b+0.4;后,c的值为( B )
A 1.4 B 1 C 2.0 D 2
13.以下非法的赋值语句是( C )
A. n=(i=2,++i); B. j++; C. ++(j+1); D. x=j>0;
14.以下不能正确定义二维数组的选项是( D )
A. int a[2][2]={{1},{2}};
B. int a[][2]={1,2,3,4};
C. int a[2][2]={{1},{2,3}};
D. int a[][]={{1,2},{3,4}};
15.若有说明语句:int a,b,c,*d=&c;,则能正确从键盘读入3个整数分别赋给变量a、b、c的语句是( A )
A.scanf(%d%d%d”,&a,&b,d);
B.scanf(%d%d%d”,&a,&b,&d);
C.scanf(%d%d%d”, a, b,d);
D.scanf(%d%d%d”,a,b,*d);
16.以下程序段中,b的值是( B )
int a[10]={1,2,3,4,5,6,7,8,9,10},*p,b;
p=&a[0]; b=p[5];
A. 5 B. 6 C. 8 D. 9
17.以下哪一个表达式取值是正确的?( D )
A.6>5结果为6 B.6&&5结果为7
C.6||5结果为7 D.6<5结果为0
18.下列C语言标识符不合法的是: ( C )(C语言的标识符第一个字符必须为字母或下划线)
A. PERFECT B. perfectname
C. 8_number D. _number1
19.有以下程序结果 ( C )
main( )
{ int x=102,y=012;
printf(“%2d,%2d\n”,x,y);}(012是八进制,转化为十进制是10)
A. 10,01 B. 02,12
C. 102,10 D. 02,10
20.设有如下程序
char str[]=”hello”;
char *ptr;
ptr=str;
执行完上面的程序段后,*(ptr+5)的值为 ( B )
A. ‘0’ B. ‘\0’
C.不确定的值 D. ‘0’的地址
21.C语言中,定义PI为一个符号常量,正确的是 ( A )
A.#define PI 3.14 B.define PI 3.14
C.#include PI 3.14 D.include PI 3.14
22.关于c表达式5||(a=b+c)==3的值,正确的说法为( A )
A.值为1 B.值为5 C.值为0 D.3

填空
1.若有定义语句:int x=3,y=2;float a=2.5,b=3.5;
则表达式(x+y)%2+(int)a/(int)b 的值为( 1 )。
2.设a、b、c均为int型变量且a=6,b=4,c=2,
则表达式 !(a-b)+c-1&&b+c/2的值是( 1 )。
3.若有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]得到的初值是( 0)。
4.从函数的形式看,函数分( 无参函数 )和(有参函数 )两类。
5.结构化程序由( 顺序程序 )、( 选择程序 )和( 循环 )。
6.在C语言中,&作为双目运算符时表示的是( 按位与运算符 ),而作为单目运算符时表示的是( 取地址运算符 )。
7.static对局部变量来说,它使变量由( 动态 )存储方式改变为( 静态 )存储方式。
8.C语言的标识符只能有三种字符组成,它们是( 字母 )、( 数字 )和( 下划线 )。
9.给以下程序输入2个数值给a,b变量,b中的值给a,变量a中的值给b,实现a,b交换,输出a,b的值。
#include <stdio.h>
main()
{int a,b,__t___;
printf("enter a,b,");scanf("%d%d",&a,&b);
____t=a____; __a=b____;_ b=t ;
printf("%d%d",a,b);
}
10.设int a[2][3]={{5},{6}};则数组元素( a[0][0] )的值为5。
11.若定义结构体变量
struct student
{ int num;
char name[10];
int age;
}student1;
则结构体变量student1在内存中占 14 字节。

读程序写结果

1.写出下列程序的执行结果。
#include <stdio.h>
void main( )
{
int i, j, m, n;
i=6; j=9;
m=++i; n=j++;
printf(“%d,%d,%d,%d\n”, i, j, m, n);
} 71079
2.写出下列表达式的值:
(1) x+a%3*(int)(x+y)%2/4 设x=5.2,a=7, y=7.4
=5.2+7%3*(int)(5.2+7.4)%2/4
=5.2+1*12%2/4
=5.2
(2) (float)(a+b)/2+(int)x%(int)y 设a=2, b=3, x=5.3, y=5.2
=(float)(2+3)/2+(int)5.3%(int)5.2
=2.5+5%5
=2.5
3.写出下列程序的执行结果。
#include <stdio.h>
void main( )
{
int x=2, y=-1, z=2;
if(x<y)
if(y<0) z=0;
else z+=1;
printf(“z=%d\n”, z);
} z=2
4.写出下列语句的执行结果。
#include <stdio.h>
void main( )
{
int i;
for(i=1; i<=5; i++)
switch(i%5)
{
case 0: printf("*"); break;
case 1: printf("#"); break;
default: printf("\n");
case 2: printf("&");
}
}

#
&
&
&
*

5.写出下列语句的执行结果。
#include <stdio.h>
void main( )
{
int a[6][6], i, j;
for(i=1; i<6; i++)
for(j=1; j<6; j++)
a[i][j]=(i/j)*(j/i);

for(i=1; i<6; i++)
{ for(j=1; j<6; j++)
printf(“%2d”,a[i][j]);
printf(“\n”);
}
}

1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1

6.写出下列程序的执行结果。
#include <stdio.h>
void main( )
{
char a[ ]="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]=a[j];
puts(a);
}
mo
7.写出下列语句的执行结果。
#include <stdio.h>
#define MAX 10
int a[MAX], i;
void sub1( )
{ for(i=0; i<MAX; i++) a[i]=i+i; }
void sub2( )
{ int a[MAX], i, max;
max =5;
for(i=0; i<max; i++) a[i]=i;
}
void sub3(int a[])
{ int i;
for(i=0; i<MAX; i++) printf("%d,", a[i]);
printf("\n");
}
void main( )
{ printf("\n"); sub1( ); sub3(a); sub2( ); sub3(a); }

空一行
0,2,4,6,8,10,12,14,16,18,
0,2,4,6,8,10,12,14,16,18,

8.写出下列语句的执行结果。
#include <stdio.h>
void main( )
{ int a=2, i;
for(i=0; i<3; i++) printf(“%4d”, f(a));
}
f(int a)
{ int b=0; static int c=3;
b++; c++;
return (a+b+c);
}
9.写出下列程序的执行结果。
#include <stdio.h>
void swap(int *pt1, int *pt2)
{ int temp;
temp=*pt1; *pt1=*pt2; *pt2=temp;
}
void exchange(int *q1, int *q2, int *q3)
{ if(*q1<*q2) swap(q1, q2); //if(a<b) a b zuojiaohuan
if(*q1<*q3) swap(q1, q3); //a<c
if(*q2<*q3) swap(q2, q3); //b<c ----
}
void main( )
{
int a=5, b=7, c=9, *p1, *p2, *p3;
p1=&a; p2=&b; p3=&c;
exchange(p1, p2, p3);
printf(“\n%d,%d,%d\n”, a, b, c);
}
空一行
9,7,5
10.写出下列程序的执行结果。
#include <stdio.h>
int *p;
void pp(int a, int *b)
{ int c=4;
*p=*b+c;
a=*p-c;
printf(“(2):%d,%d,%d\n”, a, *b, *p);
}
void main( )
{ int a=1, b=2, c=3;
p=&b; pp(a+c, &b);
printf(“(1):%d,%d,%d\n”, a, b, *p);
}

(1):2,6,6
(2):1,6,6
11.以下程序的输出结果是:( 2 )
main( )
{ int a=2,b=-1,c=2;
if(a<b)
if(b<0) c=0;
else c+=1;
printf(“%d\n”,c);
}
12.有以下程序输出结果是: 6
main( )
{ int a=5,b=4,c=6,d;
printf( “%d\n”, d=a>b ? (a>c ? a:c):(b));
}
13.有以下程序执行后的结果是 25

main()
{ int i, s=0;
for (i=0;i<10;i+=2)
s+=i+1;
printf (“%d\n”,s);
}
14.执行以下程序后,输出的是( ###### )
main( )
{ int i, j;
for( i=1;i<3;i++)
for (j=2;j<=4; j++)
printf (“#”);
}
15.有以下程序,执行结果为: 24
main( )
{
int p[7]={11,13,14,15,16,17,18},i=0,k=0;
while(i<7 && p[i]%2) {k=k+p[i];i++;}

printf(“%d\n”,k);
}

16.有以下程序的输出结果是: 543
void f(int x, int y)
{ int t;
if (x<y) { t=x; x=y; y=t;}
}
main()
{ int a=4,b=3,c=5;
f(a,b); f(a,c); f(b,c);
printf(“%d,%d,%d\n”,a,b,c);
}
17.有以下程序执行后的输出结果是 3 6 9
main()
{ int m[][3]={1,4,7,2,5,8,3,6,9};
int i,k=2;
for(i=0;i<3;i++)
{ printf(“%d ”,m[k][i]);}
}
18.有以下程序执行后的输出结果是 8,7,7,8
main( )
{ int a=7,b=8,*p,*q,*r;
p=&a; q=&b;
r=p; p=q; q=r;
printf(“%d,%d,%d\n”,*p,*q,a,b);
}
19.以下程序的输出结果是
int m=13;
int fun2(int x,int y)
{ int n=3;
return(x*y-n);
}
main( )
{ int a=7,b=5;
printf(“%d\n”,fun2(a,b)/m);
}
2
20.有以下程序,执行结果为:
main( )
{ int a=2,b=3,*P;
P=&a; b= *P+4;
printf(“%d\n”,b);
*P=4;
printf(“%d,%d\n”,a, *P);
}
6
4,4
21.以下程序的输出结果
main( )
{ int i=1,j=3;
printf(“%d,”,i++);
{ int i=0;
i+=j*2;
printf(“%d,%d,”,i,j);
}
printf(“%d,%d\n”,i,j);
}

1,6,3,2,3
编程题
1.从键盘输入12个整数,用起泡法对这12个整数进行由小到大的排序。(课本134页)
2.有一分数序列如下,求出这个数列的前40项之和。(课本129页)
2/1,3/2,5/3,8/5,13/8,21/13,……
3.从键盘输入10个整数保存在一个一维数组中,利用指针编写程序,将该数组中的10个整数按相反顺序存放。(课本237页)
4.有一个4×5的矩阵如下,求所有元素中的最大值、最小值及其相应的下标。(课本139页)

5.用弦截法求方程f(x)=3x3+2x2-5x-6的根(课本168页)
6.用π/4≈1-1/3+1/5-1/7+∙∙∙公式求π的近似值,直到某一项的绝对值小于10-7为止。(课本124页)
7.利用指针编写程序,将数组a中n个整数按相反顺序存放。(同上例3)
8.通过循环按行顺序为一个5X5的二维数组a赋1~25的自然数,然后输出该数组的左下三角

编程题答案
(1)
#include<stdio.h>
void main()
{
int a[12];
int i,j,t;
printf(“input 12 numbers:\n”);
for(i=0;i<12;i++)
scanf(“%d”,&a[i]);
printf(“\n”);
for(j=0;j<11;j++)
for(i=0;i<11-j;i++)
if(a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
printf(“the sorted numbers :\n”);
for(i=0;i<12;i++)
printf(“%d”,a[i]);
printf(“\n”);
}

(2)
#include<stdio.h>
void main()
{
int i,t,n=40;
float a=2,b=1,s=0;
for(i=1;i<=n;i++)
{
s=s+a/b;
t=a;
a=a+b;
b=t;
}
printf(“sum=%9.6f\n”,s);
}

(3)
#include<stdio.h>
void main()
{
void inv(int x[],int n);
int i,a[10]={3,7,9,11,0,6,7,5,4,2};
prinf(“the oringal array:\n”);
for(i=0;i<10;i++)
printf(“%d”,a[i]);
printf(“\n”);
inv(a,10);
printf(“the array has been inverted:\n”);
for(i=0;i<=10;i++)
printf(“%d”,a[i]);
printf(“\n”);
}
void inv(int x[],int n)
{
int temp,i,j,m=(n-1)/2;
for(i=0;i<=10;i++)
{
j=n-1-i;
temp=x[i];
x[i]=x[j];
x[j]=temp;
}
return;
}

(4)
#include<stdio.h>
void main()
{
int i,j,row=0,colum=0,max;
int a[4][5]={{1,3,5,7,9},{2,4,6,8,10},{-5,-4,-3,-2,-1},{15,17,19,21,0}};
max=a[0][0];
for(i=0;i<=2;i++)
for(j=0;j<=3;j++)
if(a[i][j]>max)
{
max=a[i][j];
row=i;
colum=j;
}
printf(“max=%d,row=%d,colum=%d\n”,max,row,colum);
}

(5)
#include<stdio.h>
#include<math.h>
float f(float x)
{
float y;
y=((x+2/3)*x-5/3)*x-2.0;
return(y);
}
float xpoint(float x1,floatx2)
{
float y;
y=(x1*f(x2)-x2*f(x1))/(f(x2)-f(x1)); (此程序运行无错误,有两警告)
return(y);
}
float root(float x1.float x2)
{
float x,y,y1;
y1=f(x1);
do
{
x=xpoint(x1,x2);
y=f(x);
If(y*y1>0)
{
y1=y;
x1=x;
}
else
x2=x;
}
while(fabs(y)>=0.0001);
return(x);
}
void main()
{
float x1,x2,f1,f2,x;
do
{
printf(“input x1,x2:\n”);
scanf(“%f,%f”,&x1,&x2);
f1=f(x1);
f2=f(x2);
}
while(f1*f2>=0);
x=root(x1,x2);
printf(“A root of equation is%8.4\n”,x);
}

(6)
#include<stdio.h>
#include<math.h>
void main()
{
int s;
float n,t,pi;
t=1;
pi=0;
n=1.0;
s=1;
while(fabs(t)>1e-6)
{
pi=pi+t;
n=n+2;
s=-s;
t=s/n;
}
pi=pi*4;
printf(“pi=%10.6f\n”,pi);
}

热心网友 时间:2023-11-12 05:55

填空:
1.一个C程序的执行是从( A )
A 本程序的main函数开始,到main函数结束
B 本程序的第一个函数开始,到本程序文件的最后一个函数结束
C 本程序的main函数开始,到本程序文件的最后一个函数结束
D 本程序的第一个函数开始,到本程序main函数结束
2.以下能正确地定义整型变量a,b Bint a和c并为其赋初值5的语句是( A )
A int a=5, b=5, B.c=5;,b,c=5; C a=5,b=5,c=5; D a=b=c=5;
3.为了避免在嵌套的条件语句if-else中产生二义性,C语言规定else子句总是与( B )配对。
A 缩排位置相同的if B 其之前最近的if
C 其之后最近的if D 同一行上的if
4.以下正确的描述是:( C )
A while、do-while、for循环中的循环体语句都至少被执行一次(有时while循环一次也不执行)
B do-while循环中,while(表达式)后面的分号可以省略(while循环中分号可以省略,do-while循环不能省略)
C while循环体中,一定要有能使while后面表达式的值变为“假”的操作
D do-while循环中,根据情况可以省略while
5.C语言规定,简单变量作为实参时,它和对应形参之间的数据传递方式是( D )。
A 地址传递 B 由用户指定传递方式
C 由实参传给形参,再由形参传回给实参 D 单向值传递(实参传给形参)
6.凡是函数中未指定存储类别的局部变量,其隐含的存储类别为( A )。
A 自动(auto)B 静态(static)
C 外部(extern)D 寄存器(register)
7.以下关于宏的叙述中正确的是( C )。
A 宏名必须用大写字母表示 B 宏替换时要进行语法检查
C 宏替换不占用运行时间 D 宏定义中不允许引用已有的宏名
8.说明一个结构体变量时,系统分配给它的内存是( A )
A 各成员所需内存量的总和 B结构中第一个成员所需内存量
C 成员中占内存量最大都所需的容量 D结构中最后一个成员所需内存量
9.表达式0x13&0x17的值是( B )(这两个十六进制数先化为十进制,再化为二进制,进行运算,再将二进制结果化为十进制,再化为十六进制)
A 0x17 B 0x13 C 0x f8 D 0xec
10.若要用fopen函数打开一个新的二进制文件,该文件既要能读也要能写,则文件方式字符串应是( B )
A "ab+" B "wb+" C "rb+" D "ab"
11.以下叙述中正确的是 ( C )
A C语言比其他语言高级
B C语言可以不用编译就能被计算机识别执行
C C语言以接近英语国家的自然语言和数学语言作为语言的表达形式
D C语言出现得最晚,具有其他语言的一切优点
12.定义:int a=8,b=5,c;,执行语句c=a/b+0.4;后,c的值为( B )
A 1.4 B 1 C 2.0 D 2
13.以下非法的赋值语句是( C )
A. n=(i=2,++i); B. j++; C. ++(j+1); D. x=j>0;
14.以下不能正确定义二维数组的选项是( D )
A. int a[2][2]={{1},{2}};
B. int a[][2]={1,2,3,4};
C. int a[2][2]={{1},{2,3}};
D. int a[][]={{1,2},{3,4}};
15.若有说明语句:int a,b,c,*d=&c;,则能正确从键盘读入3个整数分别赋给变量a、b、c的语句是( A )
A.scanf(%d%d%d”,&a,&b,d);
B.scanf(%d%d%d”,&a,&b,&d);
C.scanf(%d%d%d”, a, b,d);
D.scanf(%d%d%d”,a,b,*d);
16.以下程序段中,b的值是( B )
int a[10]={1,2,3,4,5,6,7,8,9,10},*p,b;
p=&a[0]; b=p[5];
A. 5 B. 6 C. 8 D. 9
17.以下哪一个表达式取值是正确的?( D )
A.6>5结果为6 B.6&&5结果为7
C.6||5结果为7 D.6<5结果为0
18.下列C语言标识符不合法的是: ( C )(C语言的标识符第一个字符必须为字母或下划线)
A. PERFECT B. perfectname
C. 8_number D. _number1
19.有以下程序结果 ( C )
main( )
{ int x=102,y=012;
printf(“%2d,%2d\n”,x,y);}(012是八进制,转化为十进制是10)
A. 10,01 B. 02,12
C. 102,10 D. 02,10
20.设有如下程序
char str[]=”hello”;
char *ptr;
ptr=str;
执行完上面的程序段后,*(ptr+5)的值为 ( B )
A. ‘0’ B. ‘\0’
C.不确定的值 D. ‘0’的地址
21.C语言中,定义PI为一个符号常量,正确的是 ( A )
A.#define PI 3.14 B.define PI 3.14
C.#include PI 3.14 D.include PI 3.14
22.关于c表达式5||(a=b+c)==3的值,正确的说法为( A )
A.值为1 B.值为5 C.值为0 D.3

填空
1.若有定义语句:int x=3,y=2;float a=2.5,b=3.5;
则表达式(x+y)%2+(int)a/(int)b 的值为( 1 )。
2.设a、b、c均为int型变量且a=6,b=4,c=2,
则表达式 !(a-b)+c-1&&b+c/2的值是( 1 )。
3.若有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]得到的初值是( 0)。
4.从函数的形式看,函数分( 无参函数 )和(有参函数 )两类。
5.结构化程序由( 顺序程序 )、( 选择程序 )和( 循环 )。
6.在C语言中,&作为双目运算符时表示的是( 按位与运算符 ),而作为单目运算符时表示的是( 取地址运算符 )。
7.static对局部变量来说,它使变量由( 动态 )存储方式改变为( 静态 )存储方式。
8.C语言的标识符只能有三种字符组成,它们是( 字母 )、( 数字 )和( 下划线 )。
9.给以下程序输入2个数值给a,b变量,b中的值给a,变量a中的值给b,实现a,b交换,输出a,b的值。
#include <stdio.h>
main()
{int a,b,__t___;
printf("enter a,b,");scanf("%d%d",&a,&b);
____t=a____; __a=b____;_ b=t ;
printf("%d%d",a,b);
}
10.设int a[2][3]={{5},{6}};则数组元素( a[0][0] )的值为5。
11.若定义结构体变量
struct student
{ int num;
char name[10];
int age;
}student1;
则结构体变量student1在内存中占 14 字节。

读程序写结果

1.写出下列程序的执行结果。
#include <stdio.h>
void main( )
{
int i, j, m, n;
i=6; j=9;
m=++i; n=j++;
printf(“%d,%d,%d,%d\n”, i, j, m, n);
} 71079
2.写出下列表达式的值:
(1) x+a%3*(int)(x+y)%2/4 设x=5.2,a=7, y=7.4
=5.2+7%3*(int)(5.2+7.4)%2/4
=5.2+1*12%2/4
=5.2
(2) (float)(a+b)/2+(int)x%(int)y 设a=2, b=3, x=5.3, y=5.2
=(float)(2+3)/2+(int)5.3%(int)5.2
=2.5+5%5
=2.5
3.写出下列程序的执行结果。
#include <stdio.h>
void main( )
{
int x=2, y=-1, z=2;
if(x<y)
if(y<0) z=0;
else z+=1;
printf(“z=%d\n”, z);
} z=2
4.写出下列语句的执行结果。
#include <stdio.h>
void main( )
{
int i;
for(i=1; i<=5; i++)
switch(i%5)
{
case 0: printf("*"); break;
case 1: printf("#"); break;
default: printf("\n");
case 2: printf("&");
}
}

#
&
&
&
*

5.写出下列语句的执行结果。
#include <stdio.h>
void main( )
{
int a[6][6], i, j;
for(i=1; i<6; i++)
for(j=1; j<6; j++)
a[i][j]=(i/j)*(j/i);

for(i=1; i<6; i++)
{ for(j=1; j<6; j++)
printf(“%2d”,a[i][j]);
printf(“\n”);
}
}

1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1

6.写出下列程序的执行结果。
#include <stdio.h>
void main( )
{
char a[ ]="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]=a[j];
puts(a);
}
mo
7.写出下列语句的执行结果。
#include <stdio.h>
#define MAX 10
int a[MAX], i;
void sub1( )
{ for(i=0; i<MAX; i++) a[i]=i+i; }
void sub2( )
{ int a[MAX], i, max;
max =5;
for(i=0; i<max; i++) a[i]=i;
}
void sub3(int a[])
{ int i;
for(i=0; i<MAX; i++) printf("%d,", a[i]);
printf("\n");
}
void main( )
{ printf("\n"); sub1( ); sub3(a); sub2( ); sub3(a); }

空一行
0,2,4,6,8,10,12,14,16,18,
0,2,4,6,8,10,12,14,16,18,

8.写出下列语句的执行结果。
#include <stdio.h>
void main( )
{ int a=2, i;
for(i=0; i<3; i++) printf(“%4d”, f(a));
}
f(int a)
{ int b=0; static int c=3;
b++; c++;
return (a+b+c);
}
9.写出下列程序的执行结果。
#include <stdio.h>
void swap(int *pt1, int *pt2)
{ int temp;
temp=*pt1; *pt1=*pt2; *pt2=temp;
}
void exchange(int *q1, int *q2, int *q3)
{ if(*q1<*q2) swap(q1, q2); //if(a<b) a b zuojiaohuan
if(*q1<*q3) swap(q1, q3); //a<c
if(*q2<*q3) swap(q2, q3); //b<c ----
}
void main( )
{
int a=5, b=7, c=9, *p1, *p2, *p3;
p1=&a; p2=&b; p3=&c;
exchange(p1, p2, p3);
printf(“\n%d,%d,%d\n”, a, b, c);
}
空一行
9,7,5
10.写出下列程序的执行结果。
#include <stdio.h>
int *p;
void pp(int a, int *b)
{ int c=4;
*p=*b+c;
a=*p-c;
printf(“(2):%d,%d,%d\n”, a, *b, *p);
}
void main( )
{ int a=1, b=2, c=3;
p=&b; pp(a+c, &b);
printf(“(1):%d,%d,%d\n”, a, b, *p);
}

(1):2,6,6
(2):1,6,6
11.以下程序的输出结果是:( 2 )
main( )
{ int a=2,b=-1,c=2;
if(a<b)
if(b<0) c=0;
else c+=1;
printf(“%d\n”,c);
}
12.有以下程序输出结果是: 6
main( )
{ int a=5,b=4,c=6,d;
printf( “%d\n”, d=a>b ? (a>c ? a:c):(b));
}
13.有以下程序执行后的结果是 25

main()
{ int i, s=0;
for (i=0;i<10;i+=2)
s+=i+1;
printf (“%d\n”,s);
}
14.执行以下程序后,输出的是( ###### )
main( )
{ int i, j;
for( i=1;i<3;i++)
for (j=2;j<=4; j++)
printf (“#”);
}
15.有以下程序,执行结果为: 24
main( )
{
int p[7]={11,13,14,15,16,17,18},i=0,k=0;
while(i<7 && p[i]%2) {k=k+p[i];i++;}

printf(“%d\n”,k);
}

16.有以下程序的输出结果是: 543
void f(int x, int y)
{ int t;
if (x<y) { t=x; x=y; y=t;}
}
main()
{ int a=4,b=3,c=5;
f(a,b); f(a,c); f(b,c);
printf(“%d,%d,%d\n”,a,b,c);
}
17.有以下程序执行后的输出结果是 3 6 9
main()
{ int m[][3]={1,4,7,2,5,8,3,6,9};
int i,k=2;
for(i=0;i<3;i++)
{ printf(“%d ”,m[k][i]);}
}
18.有以下程序执行后的输出结果是 8,7,7,8
main( )
{ int a=7,b=8,*p,*q,*r;
p=&a; q=&b;
r=p; p=q; q=r;
printf(“%d,%d,%d\n”,*p,*q,a,b);
}
19.以下程序的输出结果是
int m=13;
int fun2(int x,int y)
{ int n=3;
return(x*y-n);
}
main( )
{ int a=7,b=5;
printf(“%d\n”,fun2(a,b)/m);
}
2
20.有以下程序,执行结果为:
main( )
{ int a=2,b=3,*P;
P=&a; b= *P+4;
printf(“%d\n”,b);
*P=4;
printf(“%d,%d\n”,a, *P);
}
6
4,4
21.以下程序的输出结果
main( )
{ int i=1,j=3;
printf(“%d,”,i++);
{ int i=0;
i+=j*2;
printf(“%d,%d,”,i,j);
}
printf(“%d,%d\n”,i,j);
}

1,6,3,2,3
编程题
1.从键盘输入12个整数,用起泡法对这12个整数进行由小到大的排序。(课本134页)
2.有一分数序列如下,求出这个数列的前40项之和。(课本129页)
2/1,3/2,5/3,8/5,13/8,21/13,……
3.从键盘输入10个整数保存在一个一维数组中,利用指针编写程序,将该数组中的10个整数按相反顺序存放。(课本237页)
4.有一个4×5的矩阵如下,求所有元素中的最大值、最小值及其相应的下标。(课本139页)

5.用弦截法求方程f(x)=3x3+2x2-5x-6的根(课本168页)
6.用π/4≈1-1/3+1/5-1/7+∙∙∙公式求π的近似值,直到某一项的绝对值小于10-7为止。(课本124页)
7.利用指针编写程序,将数组a中n个整数按相反顺序存放。(同上例3)
8.通过循环按行顺序为一个5X5的二维数组a赋1~25的自然数,然后输出该数组的左下三角

编程题答案
(1)
#include<stdio.h>
void main()
{
int a[12];
int i,j,t;
printf(“input 12 numbers:\n”);
for(i=0;i<12;i++)
scanf(“%d”,&a[i]);
printf(“\n”);
for(j=0;j<11;j++)
for(i=0;i<11-j;i++)
if(a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
printf(“the sorted numbers :\n”);
for(i=0;i<12;i++)
printf(“%d”,a[i]);
printf(“\n”);
}

(2)
#include<stdio.h>
void main()
{
int i,t,n=40;
float a=2,b=1,s=0;
for(i=1;i<=n;i++)
{
s=s+a/b;
t=a;
a=a+b;
b=t;
}
printf(“sum=%9.6f\n”,s);
}

(3)
#include<stdio.h>
void main()
{
void inv(int x[],int n);
int i,a[10]={3,7,9,11,0,6,7,5,4,2};
prinf(“the oringal array:\n”);
for(i=0;i<10;i++)
printf(“%d”,a[i]);
printf(“\n”);
inv(a,10);
printf(“the array has been inverted:\n”);
for(i=0;i<=10;i++)
printf(“%d”,a[i]);
printf(“\n”);
}
void inv(int x[],int n)
{
int temp,i,j,m=(n-1)/2;
for(i=0;i<=10;i++)
{
j=n-1-i;
temp=x[i];
x[i]=x[j];
x[j]=temp;
}
return;
}

(4)
#include<stdio.h>
void main()
{
int i,j,row=0,colum=0,max;
int a[4][5]={{1,3,5,7,9},{2,4,6,8,10},{-5,-4,-3,-2,-1},{15,17,19,21,0}};
max=a[0][0];
for(i=0;i<=2;i++)
for(j=0;j<=3;j++)
if(a[i][j]>max)
{
max=a[i][j];
row=i;
colum=j;
}
printf(“max=%d,row=%d,colum=%d\n”,max,row,colum);
}

(5)
#include<stdio.h>
#include<math.h>
float f(float x)
{
float y;
y=((x+2/3)*x-5/3)*x-2.0;
return(y);
}
float xpoint(float x1,floatx2)
{
float y;
y=(x1*f(x2)-x2*f(x1))/(f(x2)-f(x1)); (此程序运行无错误,有两警告)
return(y);
}
float root(float x1.float x2)
{
float x,y,y1;
y1=f(x1);
do
{
x=xpoint(x1,x2);
y=f(x);
If(y*y1>0)
{
y1=y;
x1=x;
}
else
x2=x;
}
while(fabs(y)>=0.0001);
return(x);
}
void main()
{
float x1,x2,f1,f2,x;
do
{
printf(“input x1,x2:\n”);
scanf(“%f,%f”,&x1,&x2);
f1=f(x1);
f2=f(x2);
}
while(f1*f2>=0);
x=root(x1,x2);
printf(“A root of equation is%8.4\n”,x);
}

(6)
#include<stdio.h>
#include<math.h>
void main()
{
int s;
float n,t,pi;
t=1;
pi=0;
n=1.0;
s=1;
while(fabs(t)>1e-6)
{
pi=pi+t;
n=n+2;
s=-s;
t=s/n;
}
pi=pi*4;
printf(“pi=%10.6f\n”,pi);
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
关于电视剧《黄真伊》的插曲 韩剧 黄真伊 片尾曲的中文意思和中文音译 我在淘宝办理退款,接到一个电话喊我登录一个网站,是真的还是假的 藏茶和安化黑茶最注重保存 藏茶和安化黑茶的定义 lq-635k打印机后进纸不吃纸 为什么我在网吧登英雄联盟女朋友马上就知道了 ...我玩过英雄联盟吗?为什么我爸总能知道我什么时候玩的,该怎么删除... 为什么我去网吧玩英雄联盟,我爸都知道?或者说我几点上的电脑都知道... 电信营业厅欺骗手段办理了宽带合约到账现在无法注销。一个月259元 在下列有关宏替换的叙述中,正确的说法是 A)宏替换占用运行时间 生意兴隆通四海,财源茂盛达三江的意思 60v12安的锂电动自行车能跑多少公里(车身重35kg人72kg)是内平路 学生综合素质评价柠檬实践的地点填什么 《微信读书》设置字体方法介绍 《微信读书》字体大小设置教程 乐视s50 用同轴线连接奋达soundbar,音频设置为同轴输出,播放mkv格式视频时,声音为杂音 乐视70电视上有同轴输出,功放有SPDIF接口, 用同轴线连上后,音响没有声音。求解。谢谢。 手机版本的QQ,如何给QQ好友发送EMAIL? 亚星客车(600213)在2011年12月31日每股收益是多少? 化纤和雪尼尔哪个好 怎么从支付宝付钱给日本的手机号 彩色鞋带很粗叫什么牌子 鞋面是黑色的底是白色鞋带是绿色这是什么牌子的 一款帆布鞋鞋带是歪的是什么牌子 雪地鞋带俩眼睛叫什么牌子 三年封闭式基金有风险吗? 大型酒店如何装中央空调 19.9抢手机平台在哪里 《哔哩哔哩》up主小助手消息关闭方法 下面关于宏的说法中,哪一个是不正确的? 下列excel中的宏的叙述不正确的是 财大三江的意思是什么?急啊 生生意兴隆通四海,财源茂盛达三江。横联是什么? 给别人开陌陌旗舰会员怎么送 压力英语pressure可数吗 stress和pressure可数吗 五维赖氨酸口服溶液功效和作用 这些你都知道吗 五维赖氨酸口服溶液说明书简介 4岁孩子掉头发喝五维赖氨酸口服液有用吗 孩子有些挑食,医生给开的阿福乐牌五维赖氨酸口服溶液,要吃吗? 七个月的宝宝能喝五维赖氨酸口服溶液吗 五维赖氨酸口服溶液好吗?_百度拇指医生 keep的运动记录已绑定是什么意思 keep手环售后申请怎么撤销啊 仗义 是什么意思 词语仗义的意思是什么 闺女本命年应该送什么 驱赶邪佞避凶好运连连 怎么加盟携程 这样的人让我敬佩作文开头结尾