当前位置:首页 >> 院校资料 >>

C语言习题2滁州学院 计算机科学与技术专升本


C 语言练习题(二) 语言练习题(
一 选择题 1.以下 C 语言用户标识符中,不合法的是(D) A)_1 B)AaBc C)a_b D)a--b

2. 若有定义:double a=22;int i=0,k=18;则不符合 C 语言规定的赋值语句是(C) A)a=a++,i++ 3. #include <stdio.h> main() { char a,b,c,d; scanf("%c%c",&a,&b); scanf(“%c”,&c); scanf(“%c”,&d); printf("%c%c%c%c\n",a,b,c,d); } 当执行程序时,按下列方式输入数据(从第一列开始,<CR>代表回车,注意:回车是一个字符) 12<CR> 34<CR> 则输出结果是:(B) A、1234 B、12 C、12 3 34 D、12 B)i=(a+k)<=(i+k) C)i=a%11 D)i=!a

4、以下关于 C 语言数据类型使用的叙述中错误的是:(D) A、若要准确无误的表示自然数,应使用整数类型。 B、若要保存带有多位小数的数据,应使用双精度类型。 C、若要处理如"人员信息"等含有不同类型的相关数据,应自定义结构体类型。 D、若只处理"真"和"假"两种逻辑值,应使用逻辑类型。

5、若 a 是数值类型,则逻辑表达式(a==1)||(a!=1)的值是:(A) A、1 B、0 C、2 D、不知道 a 的值,不能确定

6、以下选项中与 if(a==1) a=b;else a++;语句功能不同的 switch 语句是:(B) A、switch(a) { case 1:a=b;break; default : a++; } C、switch(a) { default : a++;break; case 1:a=b; } 7、有如下嵌套的 if 语句 if(a<b) if(a<c) k=a; else k=c; else if(b<c) k=b; else k=c; 以下选项中与上述 if 语句等价的语句是(C) A、k=(a<b)?a:b; k=(b<c)?b:c; B、k=(a<b)?((b<c)?a:b):((b<c)?b:c); C、k=(a<b)?((a<c)?a:c):((b<c)?b:c); D、k=(a<b)?a:b; k=(a<c)?a;c 8 有以下程序 #include <stdio.h> main() } D、switch(a==1) { case 1:a=b;break; case 0: a++; } B、switch(a==1) { case 0 : a=b;break; case 1 : a++;

{ int i,j,m=1; for(i=1;i<3;i++) { for(j=3;j>0;j--) { if(i*j>3) break m*=i*j; } } printf("m=%d\n",m) } 程序运行后的输出结果是(A) (A) m=6 (B)m=2 (C)m=4 (D)m=5 ;

9 有以下程序 #includes <stdio.h> main() { int a=1,b=2; for(;a<8;a++) {b+=a; a+=2;} printf ("%d,%d\n",a,b); } 程序运行后的输出结果是( D) (A)9,18 (B)8,11 (C)7,11 (D)10,14

10 以下选项中,能用作用户标识符的是(C) A)void B)8_8 C)_0_ D)unsigned 11 阅读以下程序 #include “stdio.h”

main() { int case; float printF; printf(“请输入 2 个数:”); scanf(“%d %f”,&case,&printF); printf(“%d %f\n”,case,printF); } 该程序编译时产生错误,其出错原因是(A) A)定义语句出错,case 是关键字,不能用作用户自定义标识符 B)定义语句出错,printF 不能用作用户自定义标识符 C)定义语句无错,scanf 不能作为输入函数使用 D)定义语句无错,printf 不能输出 case 的值 12 表达式:(int)((double)9/2)-(9)%2 的值是(B) A)0 B)3 C)4 D)5 13 若有定义语句:int x=10;,则表达式 x-=x+x 的值为(B) A)-20 B)-10 C)0 D)10 14 有以下程序 #include”stdio.h” main() { int a=1,b=0; printf(“%d,”,b=a+b); printf(“%d\n”,a=2*b);

} 程序运行后的输出结果是(D) A)0,0 B)1,0 C)3,2 D)1,2 15 设有定义:int a=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是(C) A)if(a>b) c=a,a=b,b=c; B)if(a>b) {c=a,a=b,b=c;} C)if(a>b) c=a;a=b;b=c; D)if(a>b) {c=a;a=b;b=c;} 16 有以下程序 #include “stdio.h” main() { int c=0,k; for (k=1;k<3;k++) switch (k) { default: c+=k; case 2: c++;break; case 4: c+=2;break; } printf(“%d\n”,c); } 程序运行后的输出结果是(A) A)3 B)5 C)7

D)9 17 以下程序段中,与语句:k=a>b?(b>c?1:0):0;功能相同的是(A) A)if((a>b)&&(b>c)) k=1; else k=0; B)if((a>b)||(b>c) k=1; else k=0; C)if(a<=b) k=0; else if(b<=c) k=1; D)if(a>b) k=1; else if(b>c) k=1; else k=0; 18 有以下程序(B) #include main() { char s[]={“012xy”};int i,n=0; for(i=0;s[i]!=’\0’;i++) if(s[i]>=’a’&&s[i]<=’z’) n++; printf(“%d\n”,n); } 程序运行后的输出结果是(B) A)0 B)2 C)3 D)5 19 有以下程序 #include “stdio.h” main()

{ int n=2,k=0; while(k++&&n++>2); printf(“%d %d\n”,k,n); } 程序运行后的输出结果是(D) A)0 2 B)1 3 C)5 7 D) 1 2 20 有以下程序 #include main() { char c1,c2; c1=’A’+’8’-‘4’; c2=’A’+’8’-‘5’; printf(“%c,%d\n”,c1,c2); } 已知字母 A 的 ASCII 码为 65,程序运行后的输出结果是(A) A)E,68 B)D,69 C)E,D D)输出无定值 21 有以下程序 #include void fun(int p) { int d=2; p=d++; printf(“%d”,p);}

main() { int a=1; fun(a); printf(“%d\n”,a);} 程序运行后的输出结果是(C) A)32 B)12 C)21 D)22 22 有以下程序 #include <stdio.h> main() { int x=1,y=2,z=3; if(x>y) if(y<z) printf("%d",++z); else printf("%d",++y);

printf("%d\n", x++ ); } 程序的运行结果是(D) A)331 B)41 C)2 D)1

23 有以下程序 #include <stdio.h> main() { int i=5; do { if(i%3==1) if(i%5==2) { printf(“*%d”,i); break; }

i++; } while(i!=0); printf(“\n”); } 程序的运行结果是(A) A) *7 B)*3*5 C)*5 D)*2*6

24 有以下程序 #include <stdio.h> int fun(int a,int b) { if(b==0) return a; else } main() { printf("%d\n", fun(4,2));} 程序的运行结果是(B) A) 1 B)2 C)3 D)4 return(fun(--a,--b));

25 有以下程序 #include <stdio.h> void fun( int a, int b) { int t; t=a; a=b; b=t; } main() { int c[10]={1,2,3,4,5,6,7,8,9,0}, i; for(i=0;i<10;i+=2) fun(c[i], c[i+1]); for(i=0;i<10;i++) printf("%d," ,c[i]); printf("\n");

} 程序的运行结果是(A) A)1,2,3,4,5,6,7,8,9,0 C)0,9,8,7,6,5,4,3,2,1 B)2,1,4,3,6,5,8,7,0,9 D)0,1,2,3,4,5,6,7,8,9

26 若有以下程序段,其输出是(B) int a=0, b=0,c=0; c=(a-=a-5),(a=b,b+3); printf(“%d,%d,%d ”,a,b,c); A.0,0,-10 27 有如下程序 main0 { int y=3,x=3,z=1; printf(“%d %d ”,(++x,y++),z+2); } B.0,0,5 C.-10,3,-10 D.3,3,-10

运行该程序的输出结果是(D) A) 3 4 B) 4 2 C) 4 3 D) 3 3 28 若变量已正确说明,要求语句:scanf(“a=%f,b=%f”,&a,&b);给 a 赋予 3.12、给 b 赋予 9.0,用 表示空格,用< CR>表示回车,则正确的输入形式是(C ) A、3.12 9.0<CR> B、a= 3.12b= 9<CR> C、a=3.12,b=9<CR> D、a=3.12 ,b=9 <CR> 29 假定 x 和 y 为 double 型,则表达式 x=2,y=x+3/2 的值是(D) A、3.500000 B、3 C、2.000000 D、3.000000 30 设 a,b,c,d,m 和 n 均为 int 型变量,且 a=5,b=6,c=7,m=2,n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n 的 值为(C ) A、0 B、1 C、2 D、3 31 下列表达式中和 x*=3+5 等价的是(C) A、(x*=3)+5 B、x=x*3+5 C、x=x*(3+5) D、x=x+(3+5) 32 C 程序的基本结构有(C)

A、选择、重复和模块 C、顺序、选择和循环 33 下列说法正确的是(D)

B、顺序、选择和模块 D、逻辑、物理和程序

A、main()中()可以省略; B、注释语句只能放在语句后面; C、C 语句以‘; ’结束,也可以‘, ’结束; D、main()主函数可放在程序中任何位置,但程序总是从其开始执行。 34 下列关于 C 语言说法错误的是(C) A、C 语言运算较其它语言丰富 B、C 语言以函数为程序模块单元,实现程序模块化设计 C、C 语言不能直接访问物理地址,不能实现汇编语言的部分功能 D、C 语言程序的可移植性好,执行效率高。 35 若有 x=1,y=2,z=3,则表达式(x<y?++x:++y)= = z 的值是(A) A、0 B、1 C、2 D、3 36 若 X&&Y||Z 的值为 1,则(A) A、若 Z 为 0,则 X 和 Y 必为 1 B、X,Y,Z 必定为 1 C、X,Y,Z 可能都为 0 D、若 X 为 1,则 Z 必为 0 若有说明语句:char C = ‘72’;则变量 C(D) A.包含 1 个字符 B.包含 2 个字符

37

C.包含 3 个字符 D.说明不合法 38 有语句 ch=getchar();当输入 65 时,ch 的值为(A) A.6 B.A C.a D.’6’ 39 putchar(98);执行后输出(C) A.9 B.98 ` D.’b’ 40 char a[50]; scanf(“%s”,a);printf(“%s”,a);如果输入 abc de fg 后回车,则(A) A.输出 abc B.编译通不过,无输出

C.编译能够通过,输出 abc de fg 41 下列程序的输出结果是(B) main() {int a,b,c,x; a=b=c=0; x=35; if(!a) x--; else if(b) ; if(c) x=3; else x=4; print("%d ",x) ; } A)34 B)4 C)35 D)3

D.输出 abc de fg

42 下列程序中 x 的值输入 8,那么程序输出结果是(B) #include<stdio.h> main() {float x,y; scanf("%f",&x); if(x<0.0) y=0.0; else if((x<5.0)&&(x!=2))

y=1.0/(x+2.0); else if(x<10.0) y=1.0/x; else y=10.0; printf("%f ",y) ; } A)0.000000 B)0.125000 C)0.5000000 D)1.000000 43 下列程序的输出结果是(A) main() {int x=1,a=0,b=0; switch(x) {case 0:b++; case 1:a++; case 2:a++;b++ ; } printf("a=%d,b=%d ",a,b) ; } A)a=2,b=1 B)a=1,b=1 C)a=1 b=0 D)a=2,b=2 44 若有定义 float w;int a,b;那一个正确(C) A)switch(w) {case 1.0:printf("* "); case 2.0:printf("**” );} B)switch(a); {case 1:printf("* ");

case 2:printf("**"); } C)switch(a) {case 1:printf("*"); default:printf(" "); case 1+2:printf("**"); } D)switch(a+b); {case 1:printf("* "); case 2:printf("**"); default:(" "); } 46 下列程序的输出结果是(B) main() {int i=0,a=0; while(i<20) {for(;;) if (i%10==0) break; else i--; i+=11;a+=i ; } printf("%d ",a) ; } A)21 B)32 C)33 D)11 47(1) 有以下程序 main() { int k=4,n=0; for( ; n<k ; )

{ n++; if(n%3!=0) continue; k--; } printf("%d,%d ",k,n); }

程序运行后的输出结果是(C) A)1,1 B)2,2 C)3,3 D)4,4 47(2) 若执行以下程序时从键盘上输入 9,则输出结果是(B) A、11 B、10 C、9 D、8 main( ) { int n; scanf("%d",&n); if(n++<10) printf("%d\n",n); else printf("%d\n",n--); } 48 阅读以下程序: main( ) { int x; scanf("%d",&x); if(x--<5) printf("%d",x); else printf("%d",x++);} 程序运行后,如果从键盘上输人 5,则输出结果是( C) A、3 B、4 C、5 D、6 49 以下叙述正确的是(D) A、 do-while 语句构成的循环不能用其它语句构成的循环代替。 B、 do-while 语句构成的循环只能用 break 语句退出。 C、 用 do-while 语句构成的循环,在 while 后的表达式为非零时结束循环。 D、 用 do-while 语句构成的循环,在 while 后的表达式为零时结束循环。 50 以下程序的输出结果是( D) A、10,1 9,2 B、9,8 7,6 C、10,9 9,0 D、10,10 9,1 main( ) {int x=10,y=10,i; for(i=0;x>8;y=++i) printf("%d,%d",x--,y); } 51 以下程序的输出结果是(A) A、2 0 B、3 1 C、3 2 1 D、2 1 0 main( )

{ int n=4; while(n--) printf("%d ",--n); } 52 以下程序的输出结果是(A) A、#*#*# B、#####

C、*****

D、*#*#*

main( ) { int i; for(i=1;i<6;i++) { if(i%2) {printf("#");continue;} printf("*"); } printf("\n"); } 53 以下程序的输出结果是( B) A、编译不通过,无输出 B、aceg C、acegi D、abcdefghi main( ) { int i; for(i='A';i<'I';i++,i++) printf("%c",i+32); printf(" \n"); } 54 以下循环体的执行次数是(C) A、3 B、2 C、1 main( ) { int i,j; for(i=0,j=1; i<=j+1; i+=2, j--) printf("%d \n",i); } 55 有如下程序 main( ) { int i,sum; for(i=1;i<=3;sum++) sum+=i; printf("%d\n",sum); } 该程序的执行结果是(C) A、6 B、3 C、死循环 56 有如下程序 main( ) { int x=23; do { printf("%d",x--);}while(!x);} 该程序的执行结果是(B ) A、321 B、23 C、不输出任何内容

D、0

D、0

D、陷入死循环

57 有如下程序 main( ) { int n=9; while(n>6) {n--;printf("%d",n);} } 该程序段的输出结果是(B) A、987 B、876 58 有以下程序段 int k=0; while(k=1) k++; while 循环执行的次数是(A) A、无限次 B、有语法错,不能执行 59 以下程序执行后 sum 的值是(C) A、 15 B、14 min( ) { int i,sum; for(i=1;i<6;i++) sum+=i; printf("%d\n",sum); } 60 有以下程序段

C、8765

D、9876

C、一次也不执行 C、不确定

D、执行 1 次 D、0

int x=3; do { printf("%d",x-=2);}while (!(--x));} 其输出结果是(C) A、1 B、3 0 C、1 –2 D、死循环 61 t 为 int 类型,进人下面的循环之前,t 的值为 0(B) while( t=l ) { ……} 则以下叙述中正确的是 A、循环控制表达式的值为 0 B、循环控制表达式的值为 1 C、循环控制表达式不合 D、以上说法都不对 62 以下循环中,while 循环的次数是(D) main( ) {int i=0; while(i<10) {if (i<1) continue; if(i==5) break; i++; } …… } A、1 B、10 C、6 D、死循环,不能确定次数 63 以下程序的输出结果是(A)

main( ) {int a=0,j; for(j=0;j<4;j++) { switch( j ) { case 0: case 3:a+=2; case 1: case 2:a+=3; default:a+=5; } } printf("%d\n",a); } A、36 B、13 C、10 D、20 64 下列程序的输出结果是(C) A、非法 B、a[4]的地址 C、5 D、3 main( ) { char a[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5; printf("%d",*- -p);} 65 有如下程序段 int a=14,b=15,x; char c='A'; x=(a&&b)&&(c<'B'); 执行该程序段后,x 的值为( D) A、ture B、false C、0 D、1 66 下列描述中不正确的是( C) A、 字符型数组中可以存放字符串 B、 可以对字符型数组进行整体输入、输出 C、 可以对整型数组进行整体输入、输出 D、 不能在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值 67 执行下面的程序段后,变量 k 中的值为( A) A、不定值 B、33 C、30 D、10 int k=3,s[2]; s[0]=k;k=s[1]*10; 68 设有数组定义:char array [ ]="China"; 则数组 array 所占的空间为(C) A、4 个字节 B、5 个字节 C、6 个字节 D、7 个字节 69 有如下程序 main( ) { int n[5]={0,0,0},i,k=2; for(i=0;i<k;i++) n[i]=n[i]+1; printf("%d\n",n[k]); } 该程序的输出结果是(D) A、不确定的值 B、2 C、1 D、0

70 若有以下的定义:int t[3][2];能正确表示 t 数组元素地址的表达式是(D) A、&t[3][2] B、t[3] C、t[1][2] D、t[2] 71 有如下程序 main( ) { int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0; for(i=1;i<3;i++) for(j=0;j<=i;j++) s+=a[i][j]; printf("%d\n",s); } 该程序的输出结果是(A) A、18 B、19 C、20 D、21 72 以下程序的输出结果是(B) A、20 B、21 C、22 D、23 main( ) { int i,k,a[10],p[3]; k=5; for (i=0;i<10;i++) a[i ]=i; for (i=0;i<3;i++) p[i ]=a[i *(i+1)]; for (i=0;i<3;i++) k+=p[i] *2; printf("%d\n",k); } 二.程序阅读题 1.阅读以下程序,若输入 60<回车>,写出程序运行结果。pass #include<stdio.h> void main() { int x; scanf("%d ",&x); if (x>=60) printf("pass"); else printf("fail"); } 2.阅读以下程序,若输入 5<回车>,写出程序运行结果。120.000000 #include <stdio.h> int main( ) { int i, n; double fact; scanf("%d", &n); fact=1; for(i=1;i<=n;i++) fact*=i; printf("%f\n", fact); } 3.阅读以下程序,若输入 a<回车>,写出程序运行结果。A

#include <stdio.h> int main( ) { char ch; ch=getchar(); if(ch>='a'&&ch<='z') ch=ch-‘a’+’A’; else if(ch>='A'&&ch<='A') ch=ch-'A' + 'a'; putchar(ch); } 4.阅读以下程序,若输入 2 3<回车>,写出程序运行结果。8.00 #include <stdio.h> int main( ) { int i, n; double x, mypow; scanf("%lf%d", &x, &n); mypow=1; for(i=1;i<=n;i++) mypow*=x; printf("%.2f\n", mypow); } 5.写出下面程序的运行结果。sum=6 #include <stdio.h> func(int a[][3]) { int i,j,sum=0; for (i=0;i<3;i++) for(j=0;j<3;j++) if(i==j) sum=sum+a[i][j]; return(sum); } void main() { int a[3][3]={1,1,1,2,2,2,3,3,3},sum; sum=func(a); printf("sum=%d\n",sum); } 6.写出以下程序的运行结果。11 #include<stdio.h> int fun(char *s) { char *p=s; while(*p!='\0') p++; return(p-s); } void main( )

{ printf("%d\n ",fun("hello world")); } 7.阅读以下程序,若输入 1 9 3 4 0<回车>,写出程序运行结果。4 #include <stdio.h> int main( ) { int x, sum; scanf("%d", &x); sum=0; while(x>0) { if(x%2==0) sum+=x; scanf("%d", &x); } printf("%d\n", sum); } 8.阅读以下程序,若输入 4 5 7 9 5<回车>,写出程序运行结果。min=5,index=0 #include <stdio.h> int main( ) { int i, index, n; int a[10]; scanf("%d", &n); for(i=0; i<n; i++) scanf("%d", &a[i]); index=0; for(i=1;i<n;i++) { if(a[i]<a[index]) index=i; } printf("min=%d,index=%d\n", a[index],index); } 9.写出以下程序的运行结果。0 1 2 #include<stdio.h> void main() { int num=0; while (num<=2) { printf("%d ",num); num++;} } 10.写出以下程序的运行结果。123 #include<stdio.h> void increment() { static int x=0; x+=1; printf("%d",x); } void main() { increment();

increment(); increment(); } 11.阅读以下程序,若输入 10<回车>,写出程序运行结果。1010 #include "stdio.h" int main( ) {int n; void dectobin(int n); scanf("%d",&n); dectobin(n); printf("\n"); } void dectobin(int n) { int a[16]={0}; int i=0; while(n!=0) { a[i]=n%2; i++; n/=2; } i=i-1; while(i>=0) { printf("%d",a[i]); i--; } } 12.写出以下程序的运行结果。125 #include<stdio.h> int x; void cude() { x=x*x*x; } void main() { x=5; cude(); printf("%d\n",x); } 13.写出以下程序的运行结果。9 #include<stdio.h> void main() { int a[ ]={1,3,5,7,9}; int y=0,x,*p; p=&a[0];

for(x=0; x<3; x++) y+=*(p+x); printf("%d\n",y); } 14.阅读以下程序,写出运行结果。z=3 #include<stdio.h> int add(int a,int b) { int c; c=a+b; return c; } void print(int t) { printf("z=%d\n",t); } void main() { int x,y,z; void print(int t); x=1;y=2; z=add(x,y); print(z); } 15.写出以下程序的运行结果。5 #include<stdio.h> struct mine { int qa, qb, qc; }; void main() { struct mine s[2] = {{1,2,3},{4,5,6}}; int answer; answer = s[0].qa * s[1].qb; printf("%d \n", answer); } 16.写出以下程序的输出结果。531 #include<stdio.h> void main() { int y=5; for( ; y>0; y--) { if(y%2==0) continue; printf("%d", y); } } 17.阅读以下程序,写出程序的功能。求数组里所有的正数的累加和,并计算正数的个数 #include<stdio.h> void main() { int a[10]={2,4,0,-5,10,6,-8,9,6,7};

int i,s=0,count=0; for(i=0; i<10; i++) if(a[i]>0) s+=a[i],count++; else continue; printf ("s= %d , count=%d\n", s ,count); } 18.阅读以下程序,写出程序的运行结果。 4 5 3 6 1 8 #include<stdio.h> #define N 6 void main() { int a[N]={4,5,8,3,6,1}; int j,t; for(j=0; j<N-1; j++) if(a[j]>a[j+1]) { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } for(j=0; j<N; j++) printf("%5d",a[j]); } 19.阅读以下程序,写出此程序的功能。统计字母、数字、空格和其它字符的个数 #include<stdio.h> void main() { char ch; int c=0,s=0,n=0,other=0; while ((ch=getchar())!='\n') { if ((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')) c++; else if (ch==' ') s++; else if (ch>='0'&&ch<='9') n++; else other++; } printf("Char:%d\nSpace:%d\nNumber:%d\nOther:%d\n",c,s,n,other); } 20.阅读以下程序,写出此程序的功能。用选择排序法给数组从大到小排序 #define N 10 #include<stdio.h> void main() { int k,i,p,t,a[N+1]; for (i=1; i<=N; i++) scanf("%d",&a[i]);

for (k=1; k<N; k++) { p=k; for (i=k+1; i<=N; i++) if (a[p]<a[i]) p=i; t=a[p]; a[p]=a[k]; a[k]=t; } for (i=1; i<=N; i++) printf("\n"); printf("%d ",a[i]);

} 21.阅读下面的程序,写出它的运行结果。10 #include<stdio.h> long func(int m) { long s; if (m==1) s=1; else s=m+func(m-1); return(s); } void main() { long y; y=func(4); printf( "%2d",y); } 22.阅读以下程序,写出程序运行的结果。2 #include<stdio.h> int f(int x,int y); void main() { int a=1,b=2,c; c=f(a,b); printf("%d\n",c); } int f(int x, int y) { int z; z=(x>y)?x:y ; return(z); } 23.写出以下程序输出结果。123456 #include <stdio.h>

void main() { int *p; int a[6]={1,2,3,4,5,6}; p=a; for (;p<a+6;p++) printf("%d ",*p); printf("\n"); } 24.写出以下函数的功能。把 s2 串接到 s1 串的后面 void fun1( char *s1, char *s2 ) { while ( *s1 != '\0' ) ++s1; for ( ; *s1 = *s2; s1++, s2++ ) ; } 25. 写出以下程序输出结果。 a = 1; b = 2; *p1 = 1, *p2 = 2 a = 1; b = 2; *p1 = 2, *p2 = 1 int main (void ) { int a=1, b=2; int *p1 = &a, *p2 = &b, *pt; printf ("a=%d, b=%d, *p1=%d, *p2=%d\n", a, b, *p1, *p2); pt = p1; p1 = p2; p2 = pt; printf (“a=%d, b=%d, *p1=%d, *p2=%d\n”, a, b, *p1, *p2); return 0; }



阅读填空

1.

计算球的体积。 main() {float r,v; scanf(“ %f ”,&r); ;

v=4*3.14*r*r*r/3 printf(“v=%6.2f\n”,v); } 判断质数。 #include<math.h> main()

2.

{int i,flag=1,n; scanf(“%d”,&n); for(i=2;i<=sqrt(n);i++) if( n%i= =0 ) {flag=0; break; } if( flag==1 ) printf(“%d 是质数\n”,n); else printf(“%d 不是质数\n”,n); } 计算数组中元素的平均值。 main() {float average(int a[]); int a[10],i; float aver; for(i=0;i<10;i++) scanf(“%d”,&a[i]); aver= average(a)

3.

printf(“average is %6.2f”,aver); } float average(int a[]) { int sum=0,i; float aver; for(i=0;i<10;i++) sum +=a[i] aver=sum/10; ;

return aver

;

4.

} 统计字符串中字母的个数。 main() {char s[50]; int i, j=0 ;

scanf(“%s”,s); for(i=0; s[i]!=’\0’ ;i++) if((s[i]>=’A’&&s[i]<=’Z’)||(s[i]>=’a’&&s[i]<=’z’) ) j++; printf(“j=%d\n”,j); }



编程

1.输入一单精度二维数组 a[4][3],计算该二维数组中的最大元素的值及其所在位置(行、列),并输出计算结果。 2. 编写一个函数 fun(),首先从键盘上输入一个 4 行 4 列的一个实数矩阵到一个二维数组 a[4][4]中,接着求出主 对角线上元素之和,最后返回求和结果。 3. 编写一个主函数,计算 1+3+32+...+310 的值并输出,假定分别用 i,p,s 作为循环变量、累乘变量和累加变量的标 识符。 4. 编写一个主函数,已知 6≤a≤40,15≤b≤30,求出满足不定方程 2a+5b=120 的全部整数组解。如(10,20)就是其中 的一组解。 5. 编写程序,输入一个字符串,求出这个字符串的长度(使用 strlen 函数直接求解不得分)。 6.编写一个程序,将字符串 a 复制到 b 中。(使用 strcpy 函数不得分) 7.输入 10 个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。 8.打印如图所示的图案

9. 10.

输入 6 名学生 5 门课程的成绩,分别统计出每个学生 5 门课程的平均成绩。 输入一个正整数 n (1<n≤6),根据下式生成 1 个 n*n 的方阵,然后将该方阵转置(行列互换)后输出。

a[i][j] = i * n + j + 1(0≤i≤n-1,0≤j≤n-1)

1. #include”stdi.h” void main() { float a[4][3]; float max = a[0][0]; int row,cloum; for(int i=0; i<=3; i++) for(int j=0; j<=2; j++) scanf(“%f”,&a[i][j]); for(int i=0; i<=3; i++) for(int j=0; j<=2; j++) { if(max<a[i][j]) row = i; cloum = j; } printf(“ max = %f,row = %d,cloum = %d”,max,row,cloum); }

2. double fun() { double a[4][4]; double s=0; int i,j; printf("输入一个 4*4 的数值矩阵:\n"); for(i=0;i<4;i++)

for(j=0;j<4;j++) scanf("%lf",&a[i][j]); for(i=0;i<4;i++) s+=a[i][i]; return s; } 3. #include<stdio.h> void main() { int i; //用 i 作为循环变量 int p=1; //用 p 作为累乘变量 int s=1; //用 s 作为累加循环变量 for(i=1;i<=10;i++) {p*=3; s+=p;} printf("%d\n",s); } 4. #include<stdio.h> void main() { int a,b; for(a=6;a<=40; a++) for(b=15;b<=30;b++) if(2*a+5*b==120) printf("(%d, %d)\n",a,b); 5. #include"stdio.h" void main() { int count = 0; char ch[50]; scanf("%s",ch); for(int i=0; ch[i]!='\0'; i++) count++; printf("count = %d\n",count); } 6. #include"stdio.h" void main() { char a[50] ="hello"; char b[50] = "beautiful girl"; for(int i=0; a[i]!='\0'; i++) b[i] = a[i]; b[i] = '\0'; for(i=0; b[i]!='\0'; i++)

printf("%c",b[i]); printf("\n"); } 7. #include"stdio.h" void swap(int *p1,int *p2) { int t; t = *p1; *p1 = *p2; *p2 = t; } void main() { int a[10]; int index_min = 0; int index_max = 0; for(int i=0; i<10; i++) scanf("%d",&a[i]); for(i=0; i<10; i++) { if(a[index_min]>a[i]) index_min = i; if(a[index_max]<a[i]) index_max = i; } swap(&a[0],&a[index_min]); swap(&a[9],&a[index_max]); for(i=0; i<10; i++) printf("%d ",a[i]); }

8. #include”stdio.h” void main() {int i,j; for (i=1;i<=4;i++) {for (j=1;j<=4-i;j++) printf(" ");

for (j=1;j<=2*i-1;j++) printf("*"); printf("\n"); } } 9. #define N 6 #define M 5 main() {int i,j; float g,sum,ave; for (i=1;i<=N;i++) /*i:序号 */ {sum=0; /*sum:每位学生成绩总和*/ for (j=1;j<=M;j++) {scanf("%f",&g); /*输入学生成绩*/ sum+=g; /*累加成绩*/ } ave=sum/M; /*ave:每位学生的平均分*/ printf("No.%d ave=%f\n",i,ave);/*序号和平均分*/ } } 10. #include <stdio.h> int main(void) { int i, j, n, temp; int a[6][6]; printf(“Enter n: "); scanf("%d", &n); /* 给二维数组赋值 略……*/ /* 行列互换*/ for(i = 0; i < n; i++) for(j = 0; j < n; j++) if(i <= j){ /* 只遍历上三角阵 */ temp = a[i][j]; a[i][j] = a[j][i]; a[j][i] = temp; } /* 按矩阵的形式输出 a 略…… */ return 0; }


相关文章:
安徽省普通专升本计算机科学与技术C语言考试题库及答案
安徽省普通专升本计算机科学与技术C语言考试题库及答案_IT认证_资格考试/认证_...C语言习题2滁州学院 计算... 32页 5下载券 2010年计算机科学与技术... 4...
2014《C语言程序设计》专升本练习题
72 专升本C 语言练习题一 第 1 页 第 2 页 6 10 第 3 页 第 4 ...3 种字符组成,且第一个字符 3.著名计算机科学家沃思提出的一个公式:数据结构+...
合肥学院2016年“专升本”计算机科学与技术专业《C语言...
合肥学院 2016 年“专升本计算机科学与技术专业 《C 语言程序设计》考试大纲一、适用专业:计算机科学与技术 、考试基本要求:要求考生系统了解面向过程结构化程序...
专升本C语言历年试题及答案
专升本C语言历年试题及答案_专升本_成人教育_教育专区。专升本 C 语言历年考试题及答案 一、单项选择题 1. A、 b-b B、float 2. A、a*b/c; 3. A、'n...
专升本C语言程序设计模拟试卷C2带答案
专升本C语言程序设计模拟试卷C2 计算机科学与技术专业《基础知识》模拟试卷二 ...( 小题, 单项选择题(本大题共 30 小题,每小题 2 分,共 60 分) 请读...
升本C语言练习题
天津专升本计算机C语言习... 2页 1下载券 C语言习题2滁州学院 计算... 32页...2011 年高职升本计算机基础复习材料—C 语言练习题 年高职升本计算机基础复习...
C语言程序设计(专升本)试卷附答案
专升本C语言程序设计模拟试... 15页 8财富值 2008年武汉科技学院专升本... 4...每题 2 分) 6、以下叙述中正确的是 A)构成 C 程序的基本单位是函数 B)...
C语言专升本考试试题
C语言专升本考试试题_计算机软件及应用_IT/计算机_专业资料。C语言专升本考试试题...、经典例题详解 例 2: 一个 C 程序的执行是从 ___。 ( A) 本程序的...
专升本C语言历年考试题及答案8[1]
(10 分) 专升本选拔考试《C 语言程序设计》参考答案及评分标准 一、用C语言描述下列命题(共 16 分,每小题 2 分) 1、a>c||b>c 2、(-b+sqrt(b*b-4...
C语言专升本5编程题(3月10日终版)
C语言专升本5编程题(3月10日终版)_IT认证_资格考试/认证_教育专区。C语言专升本...“建议使用神州行); } 2 计算机程序设计基础(c 语言) 习题 编程题 6、编...
更多相关标签: