答案)
一、填空题
1、一个C语言源程序由若干函数组成,其中至少应含有一个________ 2、下面程序段的运行结果是_______。 x=2;
do{printf(\"*\");x--;)while(!x==0);
3、函数swap(arr,n)可对arr数组从第1个元素到第n个元素分别进行两两元素交换。在运行调用函数中的如下语句后,a[o]和a[1]的值分别为_______,原因是_______。
a[0]=1;a[1]=2;swap(a,2);
4、假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。请填空。
a+=_______;b=a-_______;a-=_______;
5、已有定义int a;float b,x;char cl,c2;为使a=3、b=6.5、x=12.6、cl='a'、c2='A',正确的scanf函数调用语句是_______,数据输入的形式应为_______。
6、若有定义语句:int x=3,y=2;float a=2.5,b=3.5;则表达式(x+y)%2+(int)a/(int)b的值为_______。 7、下面程序段的运行结果是_______。 int i=5;char c[6]=\"abcd\"; do{c[i]=c[i-1];}while(--i>0); puts(c);
8、设main函数的说明为:int main(int argc,char*argv[]),且有命令行为: FILE1123<回车>,则argc的值是_______,argv[1]的值是_______。
9、若想输出b数组的10个元素,则下面存在错误的程序行是_______。(每个程序行前面的数字代表行号。)
1 int main()
2 {int b[10]={1,3,5,7,9,2,4,6,8,10},k; 3 for(k=0;k<10;k++,b++) 4 printf(\"%4d\",*b); 5 return0; 6 }
10、若x=0123,则表达式(5+(int)(x))&(~2)的值是_______。
二、选择题
11、下面4个选项中,是合法转义字符的选项是( )。 A.’\\\" B. '\\ ' C. ' \\018' D. '\\\\o' '\\\\ ' ' \\017' '\\f' '\\10l' '\\n' '\\ \" ' xab' ' xlf'
12、下面4个选项中,是不合法的整型常量的选项是 ( )。 A.--0f1 B.-0Xcdf C.-018 D.-0x48eg
0xfff 017 999 -0680 011 12.456 5e2 03f 13、以下叙述正确的是
A.在C程序中,main函数必须位于程序的最前面
B.C程序的每行中只能写一条语句 C.C语言本身没有输入输出语句
D.在对一个C程序进行编译的过程中,可以发现注释中的拼写错误 14、一个C程序的执行是从( )
A.本程序的main函数开始,到main函数结束
B.本程序的第一个函数开始,到本程序文件的最后一个函数结束 C.本程序的main函数开始,到本程序文件的最后一个函数结束 D.本程序的第一个函数开始,到本程序main函数结束
15、在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是( ) A.extern B.register C.auto D.static
16、已知ch是字符型变量,下面正确的赋值语句是( ) A.ch='123'; B.ch='\\xff'; C.ch='\\08'; D.ch=\\\";
17、以下不是无限循环的语句为( )。 A.for(y=0,x=1;x>++y;x=i++)i=x; B.for(;;x++=i): C.while(1){x++;}
D.for(i=10;;i-一)sum+=i;
18、有两个字符数组a、b,则以下正确的输人格式是( )。 A.gets(a,B.; B.scanf(\"%s%s\",a,B.; C)scanf(\"%s%s\
19、若有说明语句,则以下不正确的叙述是( )。
char a[]=\"It is mine\";char*p=\"It is mine\"; A.a+1表示的是字符t所在存储单元的地址 B.p指向另外的字符串时,字符串的长度不受 C.p变量中存放的地址值可以改变 D.a中只能存放10个字符
20、若有定义:int(*p)[4];则标识符p( )。 A.是一个指向整型变量的指针 B.是一个指针数组名
C.是一个指针,它指向一个含有四个整型元素的一维数组 D.说明不合法
21、若变量都已正确定义,则以下程序段的输出是( )。 a=10;b=50;c=30; if(a>B.a=b,b=c; c=a;
printf(\"a=%db=%dc=%d\\n\".a,b,C.;
A.a=10 b=30 c=10 B.a=10 b=50 c=10 C.a=50 b=30 c=10 D.a=50 b=30 c=50
22、定义如下变量和数组:
int k;int a[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是( )。
for(k=0;k<3;k++)printf(\"%d\",a[k][2-k]);
A)3 5 7 B)3 6 9 C)1 5 9 D)1 4 7
23、当运行以下程序时,从键盘输入:AhaMA Aha<回车>,则下面程序的运行结果是( )
#include int main(){char s[80],c='a';int i=0; scanf(\"%s\ while(s[i]!= '\\0') {if(s[i]==c) s[i]=s[i]-32;else if(s[i]==c-32) s[i]=s[i]+32: i++; } puts(s); return 0;}A)ahAMa B)AhAMa C)AhAMa ahA D)ahAMa ahA 24、下面程序段的运行结果是( )。x=y=0;while(x<15)y++,x+=++y; printf(\"%d,%d',y,x);A.20,7 B.6,12 C.20,8 D.8,2025、折半查找法的思路是:先确定待查元素的范围,将其分成两半,然后测试位于中间点元素的值。如果该待查元素的值大于中间点元素,就缩小待查范围,只测试中点之后的元素;反之,测试中点之前的元素,测试方法同前。函数binary的作用是应用折半查找法从存有10个有序整数的a数组中对关键字m进行查找,若找到,返回其下标值;反之,返回-1。请选择填空。int binary(int a[10],int m) {int low=0,high=9,mid; while(low<=high) {mid=(low+high)/2; if(ma[mid])【】; else return(miD.; return(一1); }A.high=mid-1 B.low=mid+1 C.high=mid+1 D.low=mid-1三、读程序填空26、已有定义float d1=3.5,d2=-3.5;执行以下语句后的输出结果是_______。 printf(\"*d(1)=%e*d(2)=%.4e*d(3)=%10.4e*\\n\",dl,dl,d1); printf(\"*d(4)=%e*d(5)=%.6e*d(6)=%-12.5e*\\n\",d2,d2,d2); 27、以下程序的输出结果为_______.#include int main(){printf(\"*%f,%4.3f*\\n\",3.14,3.1415);return0; }28、以下程序的运行结果是_______,其算法是_______。#include void sort(int a[]); int main(){int a[5]={5,10,一7,3,7},i,t,j; sort(a);for(i=0;i<=4;i++) printf(\"%d\",a[i]); return(0); void sort(inta[]) {int i,j,t;for(i=0;i<4;i++) for(j=0;j<4一i;j++) if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;} }29、以下程序可计算1门课程中10名学生成绩的平均分。请填空。#include float average(float array[10]){int i;float aver, sum=array[o];for(i=1;_______;i++) sum+=_______; aver=sum/10; return(aver); }int main(){float score[10],aver;int i; printf(\"\\ninput 10 scores:\");for(i=0;i<10;i++)scanf(\"%f\",&.score[i]); aver=_______;printf(\"\\naverage score is%5.2f\\n\",aver); return(0); }30、以下程序的运行结果是_______。#include int main() {int a=-10,b=-3; printf(\"%d,\",一a%b); printf(\"%d,\",(a-b,a+b));printf(\"%d\\n\",a-b?a-b:a+b); return 0;}31、下面程序的功能是从键盘输入一个大写英文字母,要求按字母的顺序打印出3个相邻的字母,指定的字母在中间。若指定的字母为Z,则打印YZA;若为A,则打印ZAB。请填空。#include int main() {char a[3],c;int i; c=getchar();a[1]=c;if(c==Z'){a[2]='A';_______;) else if(c=='A'){a[0]='Z';_______;) else{a[0]=c-1;a[2]=c+1;} for(i=0;i<3;i++) putchar(a[i]): return 0; }32、下面程序的功能是打印100以内个位数为6且能被3整除的所有数。请填空。#include int main() {inti,j;for(i=0;_______;i++) {j=i*10+6;if(_______)continue; printf(\"%d\",j); } return0; }33、以下程序的运行结果是_______。#include #define N9void fun(int*a,int*max,int*min) {int i;*max=*min=*(a+0); for(i=1;i{if(*max<*(a+i))*max=*(a+i); if(*min>*(a+i))*min=*(a+i); } }int main(){int a[N]={76,78,45,90,34,52,12,66,38},fun(a,&.max,&.min);printf(\"max=%d,min=%d\\n\",max,min); return(0);,min; max }四、编程题34、用switch语句编程实现以下函数关系: −1 (x<0) y={0 (x=0)1 (x>0)35、编写程序实现功能:输入一个复数,输出其共扼复数。例如,输入2+3i<回车>时,输出2-3i;输入2-3i<回车>时,输出2+3i。参一、填空题1、主函数(或main函数) 2、**3、【1】a[0]=2a[1]=1【2】因实参是地址,已对指定地址中的内容进行了交换。 4、【1】b【2】b【3】b5、【1】scanf(\"%d%f%f%c%c”,&a,&.b,8.c1,8.c2); 【2】3囗6.5囗12.6aA<回车> (注:答案中的囗代表空格) 6、1 7、aabcd 8、【1】4【2】1 9、第3行10、0130或88或0x58二、选择题11、A 12、D13、C 14、A15、D 16、B 17、A 18、B 19、D 20、C 21、B 22、A 23、A 24、D 25、C三、读程序填空26、*d(1)=3.50000e+00*d(2)=3.500e+00*d(3)=囗3.500e+00* *d(4)=一3.50000e+00*d(5)=-3.50000e+00*d(6)=-3.5000e+00囗x(注:答案中的囗代表空格) 27、*3.140000,3.142*28、【1】-735710【2】冒泡法排序29、【1】i<10【2】array[i]【3】average(score) 30、1,-13,-731、【1】a[0]=c-1【2】a[2]=c+132、【1】break【2】i<=10 33、max=90,min=12四、编程题34、#include int main() {float x;int y; printf(\\n input x:\"); scanf(\"%f\",8.x); switch(x<0){case 1:y=-1;break; case 0:switch(x==0){case 1:y=0; break; default:y=1; } }printf(\\n y=%d',y); return 0; }35、#include int main(){ int a,b; char symbol;printf(\"Please enter:\");scanf(\"%d%c% di\\n\ printf(\"Original value:%d%c% di\\n\ if(symbol=='-') symbol='+'; else symbol='-';printf(\"New value:%d%c% di\\n\ return 0; }
{char s[80],c='a';int i=0; scanf(\"%s\ while(s[i]!= '\\0') {if(s[i]==c) s[i]=s[i]-32;
else if(s[i]==c-32) s[i]=s[i]+32: i++; } puts(s); return 0;
}
A)ahAMa B)AhAMa C)AhAMa ahA D)ahAMa ahA 24、下面程序段的运行结果是( )。
x=y=0;
while(x<15)y++,x+=++y; printf(\"%d,%d',y,x);
A.20,7 B.6,12 C.20,8 D.8,20
25、折半查找法的思路是:先确定待查元素的范围,将其分成两半,然后测试位于中间点元素的值。如果该待查元素的值大于中间点元素,就缩小待查范围,只测试中点之后的元素;反之,测试中点之前的元素,测试方法同前。函数binary的作用是应用折半查找法从存有10个有序整数的a数组中对关键字m进行查找,若找到,返回其下标值;反之,返回-1。请选择填空。
int binary(int a[10],int m) {int low=0,high=9,mid; while(low<=high) {mid=(low+high)/2; if(ma[mid])【】; else return(miD.; return(一1); }A.high=mid-1 B.low=mid+1 C.high=mid+1 D.low=mid-1三、读程序填空26、已有定义float d1=3.5,d2=-3.5;执行以下语句后的输出结果是_______。 printf(\"*d(1)=%e*d(2)=%.4e*d(3)=%10.4e*\\n\",dl,dl,d1); printf(\"*d(4)=%e*d(5)=%.6e*d(6)=%-12.5e*\\n\",d2,d2,d2); 27、以下程序的输出结果为_______.#include int main(){printf(\"*%f,%4.3f*\\n\",3.14,3.1415);return0; }28、以下程序的运行结果是_______,其算法是_______。#include void sort(int a[]); int main(){int a[5]={5,10,一7,3,7},i,t,j; sort(a);for(i=0;i<=4;i++) printf(\"%d\",a[i]); return(0); void sort(inta[]) {int i,j,t;for(i=0;i<4;i++) for(j=0;j<4一i;j++) if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;} }29、以下程序可计算1门课程中10名学生成绩的平均分。请填空。#include float average(float array[10]){int i;float aver, sum=array[o];for(i=1;_______;i++) sum+=_______; aver=sum/10; return(aver); }int main(){float score[10],aver;int i; printf(\"\\ninput 10 scores:\");for(i=0;i<10;i++)scanf(\"%f\",&.score[i]); aver=_______;printf(\"\\naverage score is%5.2f\\n\",aver); return(0); }30、以下程序的运行结果是_______。#include int main() {int a=-10,b=-3; printf(\"%d,\",一a%b); printf(\"%d,\",(a-b,a+b));printf(\"%d\\n\",a-b?a-b:a+b); return 0;}31、下面程序的功能是从键盘输入一个大写英文字母,要求按字母的顺序打印出3个相邻的字母,指定的字母在中间。若指定的字母为Z,则打印YZA;若为A,则打印ZAB。请填空。#include int main() {char a[3],c;int i; c=getchar();a[1]=c;if(c==Z'){a[2]='A';_______;) else if(c=='A'){a[0]='Z';_______;) else{a[0]=c-1;a[2]=c+1;} for(i=0;i<3;i++) putchar(a[i]): return 0; }32、下面程序的功能是打印100以内个位数为6且能被3整除的所有数。请填空。#include int main() {inti,j;for(i=0;_______;i++) {j=i*10+6;if(_______)continue; printf(\"%d\",j); } return0; }33、以下程序的运行结果是_______。#include #define N9void fun(int*a,int*max,int*min) {int i;*max=*min=*(a+0); for(i=1;i{if(*max<*(a+i))*max=*(a+i); if(*min>*(a+i))*min=*(a+i); } }int main(){int a[N]={76,78,45,90,34,52,12,66,38},fun(a,&.max,&.min);printf(\"max=%d,min=%d\\n\",max,min); return(0);,min; max }四、编程题34、用switch语句编程实现以下函数关系: −1 (x<0) y={0 (x=0)1 (x>0)35、编写程序实现功能:输入一个复数,输出其共扼复数。例如,输入2+3i<回车>时,输出2-3i;输入2-3i<回车>时,输出2+3i。参一、填空题1、主函数(或main函数) 2、**3、【1】a[0]=2a[1]=1【2】因实参是地址,已对指定地址中的内容进行了交换。 4、【1】b【2】b【3】b5、【1】scanf(\"%d%f%f%c%c”,&a,&.b,8.c1,8.c2); 【2】3囗6.5囗12.6aA<回车> (注:答案中的囗代表空格) 6、1 7、aabcd 8、【1】4【2】1 9、第3行10、0130或88或0x58二、选择题11、A 12、D13、C 14、A15、D 16、B 17、A 18、B 19、D 20、C 21、B 22、A 23、A 24、D 25、C三、读程序填空26、*d(1)=3.50000e+00*d(2)=3.500e+00*d(3)=囗3.500e+00* *d(4)=一3.50000e+00*d(5)=-3.50000e+00*d(6)=-3.5000e+00囗x(注:答案中的囗代表空格) 27、*3.140000,3.142*28、【1】-735710【2】冒泡法排序29、【1】i<10【2】array[i]【3】average(score) 30、1,-13,-731、【1】a[0]=c-1【2】a[2]=c+132、【1】break【2】i<=10 33、max=90,min=12四、编程题34、#include int main() {float x;int y; printf(\\n input x:\"); scanf(\"%f\",8.x); switch(x<0){case 1:y=-1;break; case 0:switch(x==0){case 1:y=0; break; default:y=1; } }printf(\\n y=%d',y); return 0; }35、#include int main(){ int a,b; char symbol;printf(\"Please enter:\");scanf(\"%d%c% di\\n\ printf(\"Original value:%d%c% di\\n\ if(symbol=='-') symbol='+'; else symbol='-';printf(\"New value:%d%c% di\\n\ return 0; }
A.high=mid-1 B.low=mid+1 C.high=mid+1 D.low=mid-1
三、读程序填空
26、已有定义float d1=3.5,d2=-3.5;执行以下语句后的输出结果是_______。 printf(\"*d(1)=%e*d(2)=%.4e*d(3)=%10.4e*\\n\",dl,dl,d1); printf(\"*d(4)=%e*d(5)=%.6e*d(6)=%-12.5e*\\n\",d2,d2,d2); 27、以下程序的输出结果为_______.
#include int main(){printf(\"*%f,%4.3f*\\n\",3.14,3.1415);return0; }28、以下程序的运行结果是_______,其算法是_______。#include void sort(int a[]); int main(){int a[5]={5,10,一7,3,7},i,t,j; sort(a);for(i=0;i<=4;i++) printf(\"%d\",a[i]); return(0); void sort(inta[]) {int i,j,t;for(i=0;i<4;i++) for(j=0;j<4一i;j++) if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;} }29、以下程序可计算1门课程中10名学生成绩的平均分。请填空。#include float average(float array[10]){int i;float aver, sum=array[o];for(i=1;_______;i++) sum+=_______; aver=sum/10; return(aver); }int main(){float score[10],aver;int i; printf(\"\\ninput 10 scores:\");for(i=0;i<10;i++)scanf(\"%f\",&.score[i]); aver=_______;printf(\"\\naverage score is%5.2f\\n\",aver); return(0); }30、以下程序的运行结果是_______。#include int main() {int a=-10,b=-3; printf(\"%d,\",一a%b); printf(\"%d,\",(a-b,a+b));printf(\"%d\\n\",a-b?a-b:a+b); return 0;}31、下面程序的功能是从键盘输入一个大写英文字母,要求按字母的顺序打印出3个相邻的字母,指定的字母在中间。若指定的字母为Z,则打印YZA;若为A,则打印ZAB。请填空。#include int main() {char a[3],c;int i; c=getchar();a[1]=c;if(c==Z'){a[2]='A';_______;) else if(c=='A'){a[0]='Z';_______;) else{a[0]=c-1;a[2]=c+1;} for(i=0;i<3;i++) putchar(a[i]): return 0; }32、下面程序的功能是打印100以内个位数为6且能被3整除的所有数。请填空。#include int main() {inti,j;for(i=0;_______;i++) {j=i*10+6;if(_______)continue; printf(\"%d\",j); } return0; }33、以下程序的运行结果是_______。#include #define N9void fun(int*a,int*max,int*min) {int i;*max=*min=*(a+0); for(i=1;i{if(*max<*(a+i))*max=*(a+i); if(*min>*(a+i))*min=*(a+i); } }int main(){int a[N]={76,78,45,90,34,52,12,66,38},fun(a,&.max,&.min);printf(\"max=%d,min=%d\\n\",max,min); return(0);,min; max }四、编程题34、用switch语句编程实现以下函数关系: −1 (x<0) y={0 (x=0)1 (x>0)35、编写程序实现功能:输入一个复数,输出其共扼复数。例如,输入2+3i<回车>时,输出2-3i;输入2-3i<回车>时,输出2+3i。参一、填空题1、主函数(或main函数) 2、**3、【1】a[0]=2a[1]=1【2】因实参是地址,已对指定地址中的内容进行了交换。 4、【1】b【2】b【3】b5、【1】scanf(\"%d%f%f%c%c”,&a,&.b,8.c1,8.c2); 【2】3囗6.5囗12.6aA<回车> (注:答案中的囗代表空格) 6、1 7、aabcd 8、【1】4【2】1 9、第3行10、0130或88或0x58二、选择题11、A 12、D13、C 14、A15、D 16、B 17、A 18、B 19、D 20、C 21、B 22、A 23、A 24、D 25、C三、读程序填空26、*d(1)=3.50000e+00*d(2)=3.500e+00*d(3)=囗3.500e+00* *d(4)=一3.50000e+00*d(5)=-3.50000e+00*d(6)=-3.5000e+00囗x(注:答案中的囗代表空格) 27、*3.140000,3.142*28、【1】-735710【2】冒泡法排序29、【1】i<10【2】array[i]【3】average(score) 30、1,-13,-731、【1】a[0]=c-1【2】a[2]=c+132、【1】break【2】i<=10 33、max=90,min=12四、编程题34、#include int main() {float x;int y; printf(\\n input x:\"); scanf(\"%f\",8.x); switch(x<0){case 1:y=-1;break; case 0:switch(x==0){case 1:y=0; break; default:y=1; } }printf(\\n y=%d',y); return 0; }35、#include int main(){ int a,b; char symbol;printf(\"Please enter:\");scanf(\"%d%c% di\\n\ printf(\"Original value:%d%c% di\\n\ if(symbol=='-') symbol='+'; else symbol='-';printf(\"New value:%d%c% di\\n\ return 0; }
{printf(\"*%f,%4.3f*\\n\",3.14,3.1415);
return0; }
28、以下程序的运行结果是_______,其算法是_______。
#include void sort(int a[]); int main(){int a[5]={5,10,一7,3,7},i,t,j; sort(a);for(i=0;i<=4;i++) printf(\"%d\",a[i]); return(0); void sort(inta[]) {int i,j,t;for(i=0;i<4;i++) for(j=0;j<4一i;j++) if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;} }29、以下程序可计算1门课程中10名学生成绩的平均分。请填空。#include float average(float array[10]){int i;float aver, sum=array[o];for(i=1;_______;i++) sum+=_______; aver=sum/10; return(aver); }int main(){float score[10],aver;int i; printf(\"\\ninput 10 scores:\");for(i=0;i<10;i++)scanf(\"%f\",&.score[i]); aver=_______;printf(\"\\naverage score is%5.2f\\n\",aver); return(0); }30、以下程序的运行结果是_______。#include int main() {int a=-10,b=-3; printf(\"%d,\",一a%b); printf(\"%d,\",(a-b,a+b));printf(\"%d\\n\",a-b?a-b:a+b); return 0;}31、下面程序的功能是从键盘输入一个大写英文字母,要求按字母的顺序打印出3个相邻的字母,指定的字母在中间。若指定的字母为Z,则打印YZA;若为A,则打印ZAB。请填空。#include int main() {char a[3],c;int i; c=getchar();a[1]=c;if(c==Z'){a[2]='A';_______;) else if(c=='A'){a[0]='Z';_______;) else{a[0]=c-1;a[2]=c+1;} for(i=0;i<3;i++) putchar(a[i]): return 0; }32、下面程序的功能是打印100以内个位数为6且能被3整除的所有数。请填空。#include int main() {inti,j;for(i=0;_______;i++) {j=i*10+6;if(_______)continue; printf(\"%d\",j); } return0; }33、以下程序的运行结果是_______。#include #define N9void fun(int*a,int*max,int*min) {int i;*max=*min=*(a+0); for(i=1;i{if(*max<*(a+i))*max=*(a+i); if(*min>*(a+i))*min=*(a+i); } }int main(){int a[N]={76,78,45,90,34,52,12,66,38},fun(a,&.max,&.min);printf(\"max=%d,min=%d\\n\",max,min); return(0);,min; max }四、编程题34、用switch语句编程实现以下函数关系: −1 (x<0) y={0 (x=0)1 (x>0)35、编写程序实现功能:输入一个复数,输出其共扼复数。例如,输入2+3i<回车>时,输出2-3i;输入2-3i<回车>时,输出2+3i。参一、填空题1、主函数(或main函数) 2、**3、【1】a[0]=2a[1]=1【2】因实参是地址,已对指定地址中的内容进行了交换。 4、【1】b【2】b【3】b5、【1】scanf(\"%d%f%f%c%c”,&a,&.b,8.c1,8.c2); 【2】3囗6.5囗12.6aA<回车> (注:答案中的囗代表空格) 6、1 7、aabcd 8、【1】4【2】1 9、第3行10、0130或88或0x58二、选择题11、A 12、D13、C 14、A15、D 16、B 17、A 18、B 19、D 20、C 21、B 22、A 23、A 24、D 25、C三、读程序填空26、*d(1)=3.50000e+00*d(2)=3.500e+00*d(3)=囗3.500e+00* *d(4)=一3.50000e+00*d(5)=-3.50000e+00*d(6)=-3.5000e+00囗x(注:答案中的囗代表空格) 27、*3.140000,3.142*28、【1】-735710【2】冒泡法排序29、【1】i<10【2】array[i]【3】average(score) 30、1,-13,-731、【1】a[0]=c-1【2】a[2]=c+132、【1】break【2】i<=10 33、max=90,min=12四、编程题34、#include int main() {float x;int y; printf(\\n input x:\"); scanf(\"%f\",8.x); switch(x<0){case 1:y=-1;break; case 0:switch(x==0){case 1:y=0; break; default:y=1; } }printf(\\n y=%d',y); return 0; }35、#include int main(){ int a,b; char symbol;printf(\"Please enter:\");scanf(\"%d%c% di\\n\ printf(\"Original value:%d%c% di\\n\ if(symbol=='-') symbol='+'; else symbol='-';printf(\"New value:%d%c% di\\n\ return 0; }
{int a[5]={5,10,一7,3,7},i,t,j; sort(a);
for(i=0;i<=4;i++) printf(\"%d\",a[i]); return(0); void sort(inta[]) {int i,j,t;
for(i=0;i<4;i++) for(j=0;j<4一i;j++) if(a[j]>a[j+1])
{t=a[j];a[j]=a[j+1];a[j+1]=t;} }
29、以下程序可计算1门课程中10名学生成绩的平均分。请填空。
#include float average(float array[10]){int i;float aver, sum=array[o];for(i=1;_______;i++) sum+=_______; aver=sum/10; return(aver); }int main(){float score[10],aver;int i; printf(\"\\ninput 10 scores:\");for(i=0;i<10;i++)scanf(\"%f\",&.score[i]); aver=_______;printf(\"\\naverage score is%5.2f\\n\",aver); return(0); }30、以下程序的运行结果是_______。#include int main() {int a=-10,b=-3; printf(\"%d,\",一a%b); printf(\"%d,\",(a-b,a+b));printf(\"%d\\n\",a-b?a-b:a+b); return 0;}31、下面程序的功能是从键盘输入一个大写英文字母,要求按字母的顺序打印出3个相邻的字母,指定的字母在中间。若指定的字母为Z,则打印YZA;若为A,则打印ZAB。请填空。#include int main() {char a[3],c;int i; c=getchar();a[1]=c;if(c==Z'){a[2]='A';_______;) else if(c=='A'){a[0]='Z';_______;) else{a[0]=c-1;a[2]=c+1;} for(i=0;i<3;i++) putchar(a[i]): return 0; }32、下面程序的功能是打印100以内个位数为6且能被3整除的所有数。请填空。#include int main() {inti,j;for(i=0;_______;i++) {j=i*10+6;if(_______)continue; printf(\"%d\",j); } return0; }33、以下程序的运行结果是_______。#include #define N9void fun(int*a,int*max,int*min) {int i;*max=*min=*(a+0); for(i=1;i{if(*max<*(a+i))*max=*(a+i); if(*min>*(a+i))*min=*(a+i); } }int main(){int a[N]={76,78,45,90,34,52,12,66,38},fun(a,&.max,&.min);printf(\"max=%d,min=%d\\n\",max,min); return(0);,min; max }四、编程题34、用switch语句编程实现以下函数关系: −1 (x<0) y={0 (x=0)1 (x>0)35、编写程序实现功能:输入一个复数,输出其共扼复数。例如,输入2+3i<回车>时,输出2-3i;输入2-3i<回车>时,输出2+3i。参一、填空题1、主函数(或main函数) 2、**3、【1】a[0]=2a[1]=1【2】因实参是地址,已对指定地址中的内容进行了交换。 4、【1】b【2】b【3】b5、【1】scanf(\"%d%f%f%c%c”,&a,&.b,8.c1,8.c2); 【2】3囗6.5囗12.6aA<回车> (注:答案中的囗代表空格) 6、1 7、aabcd 8、【1】4【2】1 9、第3行10、0130或88或0x58二、选择题11、A 12、D13、C 14、A15、D 16、B 17、A 18、B 19、D 20、C 21、B 22、A 23、A 24、D 25、C三、读程序填空26、*d(1)=3.50000e+00*d(2)=3.500e+00*d(3)=囗3.500e+00* *d(4)=一3.50000e+00*d(5)=-3.50000e+00*d(6)=-3.5000e+00囗x(注:答案中的囗代表空格) 27、*3.140000,3.142*28、【1】-735710【2】冒泡法排序29、【1】i<10【2】array[i]【3】average(score) 30、1,-13,-731、【1】a[0]=c-1【2】a[2]=c+132、【1】break【2】i<=10 33、max=90,min=12四、编程题34、#include int main() {float x;int y; printf(\\n input x:\"); scanf(\"%f\",8.x); switch(x<0){case 1:y=-1;break; case 0:switch(x==0){case 1:y=0; break; default:y=1; } }printf(\\n y=%d',y); return 0; }35、#include int main(){ int a,b; char symbol;printf(\"Please enter:\");scanf(\"%d%c% di\\n\ printf(\"Original value:%d%c% di\\n\ if(symbol=='-') symbol='+'; else symbol='-';printf(\"New value:%d%c% di\\n\ return 0; }
float average(float array[10])
{int i;float aver, sum=array[o];
for(i=1;_______;i++) sum+=_______; aver=sum/10; return(aver); }
int main()
{float score[10],aver;int i; printf(\"\\ninput 10 scores:\");
for(i=0;i<10;i++)scanf(\"%f\",&.score[i]); aver=_______;
printf(\"\\naverage score is%5.2f\\n\",aver); return(0); }
30、以下程序的运行结果是_______。
#include int main() {int a=-10,b=-3; printf(\"%d,\",一a%b); printf(\"%d,\",(a-b,a+b));printf(\"%d\\n\",a-b?a-b:a+b); return 0;}31、下面程序的功能是从键盘输入一个大写英文字母,要求按字母的顺序打印出3个相邻的字母,指定的字母在中间。若指定的字母为Z,则打印YZA;若为A,则打印ZAB。请填空。#include int main() {char a[3],c;int i; c=getchar();a[1]=c;if(c==Z'){a[2]='A';_______;) else if(c=='A'){a[0]='Z';_______;) else{a[0]=c-1;a[2]=c+1;} for(i=0;i<3;i++) putchar(a[i]): return 0; }32、下面程序的功能是打印100以内个位数为6且能被3整除的所有数。请填空。#include int main() {inti,j;for(i=0;_______;i++) {j=i*10+6;if(_______)continue; printf(\"%d\",j); } return0; }33、以下程序的运行结果是_______。#include #define N9void fun(int*a,int*max,int*min) {int i;*max=*min=*(a+0); for(i=1;i{if(*max<*(a+i))*max=*(a+i); if(*min>*(a+i))*min=*(a+i); } }int main(){int a[N]={76,78,45,90,34,52,12,66,38},fun(a,&.max,&.min);printf(\"max=%d,min=%d\\n\",max,min); return(0);,min; max }四、编程题34、用switch语句编程实现以下函数关系: −1 (x<0) y={0 (x=0)1 (x>0)35、编写程序实现功能:输入一个复数,输出其共扼复数。例如,输入2+3i<回车>时,输出2-3i;输入2-3i<回车>时,输出2+3i。参一、填空题1、主函数(或main函数) 2、**3、【1】a[0]=2a[1]=1【2】因实参是地址,已对指定地址中的内容进行了交换。 4、【1】b【2】b【3】b5、【1】scanf(\"%d%f%f%c%c”,&a,&.b,8.c1,8.c2); 【2】3囗6.5囗12.6aA<回车> (注:答案中的囗代表空格) 6、1 7、aabcd 8、【1】4【2】1 9、第3行10、0130或88或0x58二、选择题11、A 12、D13、C 14、A15、D 16、B 17、A 18、B 19、D 20、C 21、B 22、A 23、A 24、D 25、C三、读程序填空26、*d(1)=3.50000e+00*d(2)=3.500e+00*d(3)=囗3.500e+00* *d(4)=一3.50000e+00*d(5)=-3.50000e+00*d(6)=-3.5000e+00囗x(注:答案中的囗代表空格) 27、*3.140000,3.142*28、【1】-735710【2】冒泡法排序29、【1】i<10【2】array[i]【3】average(score) 30、1,-13,-731、【1】a[0]=c-1【2】a[2]=c+132、【1】break【2】i<=10 33、max=90,min=12四、编程题34、#include int main() {float x;int y; printf(\\n input x:\"); scanf(\"%f\",8.x); switch(x<0){case 1:y=-1;break; case 0:switch(x==0){case 1:y=0; break; default:y=1; } }printf(\\n y=%d',y); return 0; }35、#include int main(){ int a,b; char symbol;printf(\"Please enter:\");scanf(\"%d%c% di\\n\ printf(\"Original value:%d%c% di\\n\ if(symbol=='-') symbol='+'; else symbol='-';printf(\"New value:%d%c% di\\n\ return 0; }
printf(\"%d\\n\",a-b?a-b:a+b); return 0;
31、下面程序的功能是从键盘输入一个大写英文字母,要求按字母的顺序打印出3个相邻的字母,指定的字母在中间。若指定的字母为Z,则打印YZA;若为A,则打印ZAB。请填空。
#include int main() {char a[3],c;int i; c=getchar();a[1]=c;if(c==Z'){a[2]='A';_______;) else if(c=='A'){a[0]='Z';_______;) else{a[0]=c-1;a[2]=c+1;} for(i=0;i<3;i++) putchar(a[i]): return 0; }32、下面程序的功能是打印100以内个位数为6且能被3整除的所有数。请填空。#include int main() {inti,j;for(i=0;_______;i++) {j=i*10+6;if(_______)continue; printf(\"%d\",j); } return0; }33、以下程序的运行结果是_______。#include #define N9void fun(int*a,int*max,int*min) {int i;*max=*min=*(a+0); for(i=1;i{if(*max<*(a+i))*max=*(a+i); if(*min>*(a+i))*min=*(a+i); } }int main(){int a[N]={76,78,45,90,34,52,12,66,38},fun(a,&.max,&.min);printf(\"max=%d,min=%d\\n\",max,min); return(0);,min; max }四、编程题34、用switch语句编程实现以下函数关系: −1 (x<0) y={0 (x=0)1 (x>0)35、编写程序实现功能:输入一个复数,输出其共扼复数。例如,输入2+3i<回车>时,输出2-3i;输入2-3i<回车>时,输出2+3i。参一、填空题1、主函数(或main函数) 2、**3、【1】a[0]=2a[1]=1【2】因实参是地址,已对指定地址中的内容进行了交换。 4、【1】b【2】b【3】b5、【1】scanf(\"%d%f%f%c%c”,&a,&.b,8.c1,8.c2); 【2】3囗6.5囗12.6aA<回车> (注:答案中的囗代表空格) 6、1 7、aabcd 8、【1】4【2】1 9、第3行10、0130或88或0x58二、选择题11、A 12、D13、C 14、A15、D 16、B 17、A 18、B 19、D 20、C 21、B 22、A 23、A 24、D 25、C三、读程序填空26、*d(1)=3.50000e+00*d(2)=3.500e+00*d(3)=囗3.500e+00* *d(4)=一3.50000e+00*d(5)=-3.50000e+00*d(6)=-3.5000e+00囗x(注:答案中的囗代表空格) 27、*3.140000,3.142*28、【1】-735710【2】冒泡法排序29、【1】i<10【2】array[i]【3】average(score) 30、1,-13,-731、【1】a[0]=c-1【2】a[2]=c+132、【1】break【2】i<=10 33、max=90,min=12四、编程题34、#include int main() {float x;int y; printf(\\n input x:\"); scanf(\"%f\",8.x); switch(x<0){case 1:y=-1;break; case 0:switch(x==0){case 1:y=0; break; default:y=1; } }printf(\\n y=%d',y); return 0; }35、#include int main(){ int a,b; char symbol;printf(\"Please enter:\");scanf(\"%d%c% di\\n\ printf(\"Original value:%d%c% di\\n\ if(symbol=='-') symbol='+'; else symbol='-';printf(\"New value:%d%c% di\\n\ return 0; }
a[1]=c;if(c==Z'){a[2]='A';_______;) else if(c=='A'){a[0]='Z';_______;) else{a[0]=c-1;a[2]=c+1;} for(i=0;i<3;i++) putchar(a[i]): return 0; }
32、下面程序的功能是打印100以内个位数为6且能被3整除的所有数。请填空。
#include int main() {inti,j;for(i=0;_______;i++) {j=i*10+6;if(_______)continue; printf(\"%d\",j); } return0; }33、以下程序的运行结果是_______。#include #define N9void fun(int*a,int*max,int*min) {int i;*max=*min=*(a+0); for(i=1;i{if(*max<*(a+i))*max=*(a+i); if(*min>*(a+i))*min=*(a+i); } }int main(){int a[N]={76,78,45,90,34,52,12,66,38},fun(a,&.max,&.min);printf(\"max=%d,min=%d\\n\",max,min); return(0);,min; max }四、编程题34、用switch语句编程实现以下函数关系: −1 (x<0) y={0 (x=0)1 (x>0)35、编写程序实现功能:输入一个复数,输出其共扼复数。例如,输入2+3i<回车>时,输出2-3i;输入2-3i<回车>时,输出2+3i。参一、填空题1、主函数(或main函数) 2、**3、【1】a[0]=2a[1]=1【2】因实参是地址,已对指定地址中的内容进行了交换。 4、【1】b【2】b【3】b5、【1】scanf(\"%d%f%f%c%c”,&a,&.b,8.c1,8.c2); 【2】3囗6.5囗12.6aA<回车> (注:答案中的囗代表空格) 6、1 7、aabcd 8、【1】4【2】1 9、第3行10、0130或88或0x58二、选择题11、A 12、D13、C 14、A15、D 16、B 17、A 18、B 19、D 20、C 21、B 22、A 23、A 24、D 25、C三、读程序填空26、*d(1)=3.50000e+00*d(2)=3.500e+00*d(3)=囗3.500e+00* *d(4)=一3.50000e+00*d(5)=-3.50000e+00*d(6)=-3.5000e+00囗x(注:答案中的囗代表空格) 27、*3.140000,3.142*28、【1】-735710【2】冒泡法排序29、【1】i<10【2】array[i]【3】average(score) 30、1,-13,-731、【1】a[0]=c-1【2】a[2]=c+132、【1】break【2】i<=10 33、max=90,min=12四、编程题34、#include int main() {float x;int y; printf(\\n input x:\"); scanf(\"%f\",8.x); switch(x<0){case 1:y=-1;break; case 0:switch(x==0){case 1:y=0; break; default:y=1; } }printf(\\n y=%d',y); return 0; }35、#include int main(){ int a,b; char symbol;printf(\"Please enter:\");scanf(\"%d%c% di\\n\ printf(\"Original value:%d%c% di\\n\ if(symbol=='-') symbol='+'; else symbol='-';printf(\"New value:%d%c% di\\n\ return 0; }
for(i=0;_______;i++) {j=i*10+6;
if(_______)continue; printf(\"%d\",j); } return0; }
33、以下程序的运行结果是_______。
#include #define N9void fun(int*a,int*max,int*min) {int i;*max=*min=*(a+0); for(i=1;i{if(*max<*(a+i))*max=*(a+i); if(*min>*(a+i))*min=*(a+i); } }int main(){int a[N]={76,78,45,90,34,52,12,66,38},fun(a,&.max,&.min);printf(\"max=%d,min=%d\\n\",max,min); return(0);,min; max }四、编程题34、用switch语句编程实现以下函数关系: −1 (x<0) y={0 (x=0)1 (x>0)35、编写程序实现功能:输入一个复数,输出其共扼复数。例如,输入2+3i<回车>时,输出2-3i;输入2-3i<回车>时,输出2+3i。参一、填空题1、主函数(或main函数) 2、**3、【1】a[0]=2a[1]=1【2】因实参是地址,已对指定地址中的内容进行了交换。 4、【1】b【2】b【3】b5、【1】scanf(\"%d%f%f%c%c”,&a,&.b,8.c1,8.c2); 【2】3囗6.5囗12.6aA<回车> (注:答案中的囗代表空格) 6、1 7、aabcd 8、【1】4【2】1 9、第3行10、0130或88或0x58二、选择题11、A 12、D13、C 14、A15、D 16、B 17、A 18、B 19、D 20、C 21、B 22、A 23、A 24、D 25、C三、读程序填空26、*d(1)=3.50000e+00*d(2)=3.500e+00*d(3)=囗3.500e+00* *d(4)=一3.50000e+00*d(5)=-3.50000e+00*d(6)=-3.5000e+00囗x(注:答案中的囗代表空格) 27、*3.140000,3.142*28、【1】-735710【2】冒泡法排序29、【1】i<10【2】array[i]【3】average(score) 30、1,-13,-731、【1】a[0]=c-1【2】a[2]=c+132、【1】break【2】i<=10 33、max=90,min=12四、编程题34、#include int main() {float x;int y; printf(\\n input x:\"); scanf(\"%f\",8.x); switch(x<0){case 1:y=-1;break; case 0:switch(x==0){case 1:y=0; break; default:y=1; } }printf(\\n y=%d',y); return 0; }35、#include int main(){ int a,b; char symbol;printf(\"Please enter:\");scanf(\"%d%c% di\\n\ printf(\"Original value:%d%c% di\\n\ if(symbol=='-') symbol='+'; else symbol='-';printf(\"New value:%d%c% di\\n\ return 0; }
void fun(int*a,int*max,int*min) {int i;
*max=*min=*(a+0); for(i=1;i{if(*max<*(a+i))*max=*(a+i); if(*min>*(a+i))*min=*(a+i); } }int main(){int a[N]={76,78,45,90,34,52,12,66,38},fun(a,&.max,&.min);printf(\"max=%d,min=%d\\n\",max,min); return(0);,min; max }四、编程题34、用switch语句编程实现以下函数关系: −1 (x<0) y={0 (x=0)1 (x>0)35、编写程序实现功能:输入一个复数,输出其共扼复数。例如,输入2+3i<回车>时,输出2-3i;输入2-3i<回车>时,输出2+3i。参一、填空题1、主函数(或main函数) 2、**3、【1】a[0]=2a[1]=1【2】因实参是地址,已对指定地址中的内容进行了交换。 4、【1】b【2】b【3】b5、【1】scanf(\"%d%f%f%c%c”,&a,&.b,8.c1,8.c2); 【2】3囗6.5囗12.6aA<回车> (注:答案中的囗代表空格) 6、1 7、aabcd 8、【1】4【2】1 9、第3行10、0130或88或0x58二、选择题11、A 12、D13、C 14、A15、D 16、B 17、A 18、B 19、D 20、C 21、B 22、A 23、A 24、D 25、C三、读程序填空26、*d(1)=3.50000e+00*d(2)=3.500e+00*d(3)=囗3.500e+00* *d(4)=一3.50000e+00*d(5)=-3.50000e+00*d(6)=-3.5000e+00囗x(注:答案中的囗代表空格) 27、*3.140000,3.142*28、【1】-735710【2】冒泡法排序29、【1】i<10【2】array[i]【3】average(score) 30、1,-13,-731、【1】a[0]=c-1【2】a[2]=c+132、【1】break【2】i<=10 33、max=90,min=12四、编程题34、#include int main() {float x;int y; printf(\\n input x:\"); scanf(\"%f\",8.x); switch(x<0){case 1:y=-1;break; case 0:switch(x==0){case 1:y=0; break; default:y=1; } }printf(\\n y=%d',y); return 0; }35、#include int main(){ int a,b; char symbol;printf(\"Please enter:\");scanf(\"%d%c% di\\n\ printf(\"Original value:%d%c% di\\n\ if(symbol=='-') symbol='+'; else symbol='-';printf(\"New value:%d%c% di\\n\ return 0; }
{int a[N]={76,78,45,90,34,52,12,66,38},fun(a,&.max,&.min);
printf(\"max=%d,min=%d\\n\",max,min); return(0);
,min; max }
四、编程题
34、用switch语句编程实现以下函数关系: −1 (x<0) y={0 (x=0)
1 (x>0)
35、编写程序实现功能:输入一个复数,输出其共扼复数。例如,输入2+3i<回车>时,输出2-3i;输入2-3i<回车>时,输出2+3i。
参
1、主函数(或main函数) 2、**
3、【1】a[0]=2a[1]=1
【2】因实参是地址,已对指定地址中的内容进行了交换。 4、【1】b【2】b【3】b
5、【1】scanf(\"%d%f%f%c%c”,&a,&.b,8.c1,8.c2); 【2】3囗6.5囗12.6aA<回车> (注:答案中的囗代表空格) 6、1 7、aabcd 8、【1】4【2】1 9、第3行
10、0130或88或0x58
11、A 12、D
13、C 14、A
15、D 16、B 17、A 18、B 19、D 20、C 21、B 22、A 23、A 24、D 25、C
26、*d(1)=3.50000e+00*d(2)=3.500e+00*d(3)=囗3.500e+00* *d(4)=一3.50000e+00*d(5)=-3.50000e+00*d(6)=-3.5000e+00囗x
(注:答案中的囗代表空格) 27、*3.140000,3.142*
28、【1】-735710【2】冒泡法排序
29、【1】i<10【2】array[i]【3】average(score) 30、1,-13,-7
31、【1】a[0]=c-1【2】a[2]=c+1
32、【1】break【2】i<=10 33、max=90,min=12
34、#include int main() {float x;int y; printf(\\n input x:\"); scanf(\"%f\",8.x); switch(x<0){case 1:y=-1;break; case 0:switch(x==0){case 1:y=0; break; default:y=1; } }printf(\\n y=%d',y); return 0; }35、#include int main(){ int a,b; char symbol;printf(\"Please enter:\");scanf(\"%d%c% di\\n\ printf(\"Original value:%d%c% di\\n\ if(symbol=='-') symbol='+'; else symbol='-';printf(\"New value:%d%c% di\\n\ return 0; }
{case 1:y=-1;break; case 0:switch(x==0)
{case 1:y=0; break; default:y=1; } }
printf(\\n y=%d',y); return 0; }
35、#include int main(){ int a,b; char symbol;printf(\"Please enter:\");scanf(\"%d%c% di\\n\ printf(\"Original value:%d%c% di\\n\ if(symbol=='-') symbol='+'; else symbol='-';printf(\"New value:%d%c% di\\n\ return 0; }
{ int a,b; char symbol;
printf(\"Please enter:\");
scanf(\"%d%c% di\\n\ printf(\"Original value:%d%c% di\\n\ if(symbol=='-') symbol='+'; else symbol='-';
printf(\"New value:%d%c% di\\n\ return 0; }
因篇幅问题不能全部显示,请点此查看更多更全内容