您好,欢迎来到意榕旅游网。
搜索
您的当前位置:首页C语言复习题

C语言复习题

来源:意榕旅游网
在 C 语言中,每个语句必须以( D )结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号

语言中,输入操作是由库函数 scanf 完成的,输出操作是由库函 数 printf 完成的。

6、C 语言的标识符只能由字母、数字和 下划线 三种字符组成。

4、若x、i、j和k都是int型变量,则计算下面表达式后,x的值是( C )。 x=(i=4,j=16,k=32)

A. 4 B. 16 C.32 D.52

设整型变量 m,n,a,b,c,d 均为1,执行 (m=a>b)&&(n=c>d)后, m,n 的值是( A)。 A. 0,0 B. 0,1 C. 1,0 D. 1,1

9、 设有语句 int a=3;,则执行了语句 a+=a-=a*=a;后,变量 a 的值是( B )。 A. 3 B. 0 C. 9 D. -12

若已定义 x 和 y为double 类型,则表达式 x=1,y=x+3/2 的值是( C )。 A. 1 B. 2 C. 2.0 D. 2.5

表达式18/4*sqrt(4.0)/8值的数据类型是( C )。 A. int B. float C. double D. 不确定

18、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句 C2=’A’+’6’-‘3’;后c2中的值是( A )。 A. D B. 68 C. 不确定的值 D. C

1、C 语言中的逻辑值“真”是用 1 表示的,逻辑值“假”是用 0 表示的。 2、若x和n都是int型变量,且x的初值为12,n的初值为5,则计算表达式x%=(n%=2)后x的值为 0 。

3、设 c='w',a=1,b=2,d=-5, 则表达式 'x'+1>c, 'y'!=c+2, -a-5*b<=d+1, b==a=2的值分别为 1 、 0 、 1 、 1 。

4、设 float x=2.5,y=4.7; int a=7;,表达式 x+a%3*(int)(x+y)%2/4的值为 2.5 。

5、判断变量 a、b 的值均不为 0 的逻辑表达式为a!=0&&b!=0 。 6、求解赋值表达式 a=(b=10)%(c=6),表达式值、a、b、c 的值依次为 4,4,10,6 。

7、求解逗号表达式 x=a=3,6*a 后,表达式值、x、a 的值依次为18,3,3 。 三、编程题:

1、 编写一个程序,将大写字母 A转换为小写字母 a。 (1) int a[4]={5,3,8,9};其中 a[3]的值为( )。D A. 5 B. 3 C. 8 D. 9

若有以下数组说明,则数值最小的和最大的元素下标分别是( )。 B int a[12] ={1,2,3,4,5,6,7,8,9,10,11,12}; A. 1,12 B. 0,11 C. 1,11 D. 0,12

(8) 设有定义:char s[12] = \"string\" ; 则printf( \"%d\\n\输出是( )。 A

A. 6 B. 7 C. 11 D. 12

(15) 数组定义为 int a[3][2]={1,2,3,4,5,6},值为6的数组元素是( )B

A. a[3][2] B. a[2][1] C. a[1][2] D. a[2][3] (4) 设有定义语句 static int a[3][4] ={{1},{2},{3}}; 则 a[1][0]值为 ,a[1][1] 值为 ,a[2][1]的值为 。 2,0,0 4、以下程序的输出结果是(C) A、4 B、6 C、8 D、10 #include void main() {

的。 int k=2,m=4,n=6; int *pk=&k,*pm=&m,*p; *(p=&n)=*pk*(*pm); printf(“%d\\n”,n); }

以下程序的输出结果是(D)。 A、23 B、24 C、25 D、26 #include void prtv(int *x) {printf(“%d\\n”,++*x);} void main() {

int a=25;prtv(&a); }

(26)有以下程序 #include main()

{int m=1,n=2,*p=&m,*q=&n,*r; r=p;p=q;q=r;

printf(“%d,%d,%d,%d\\n”,m,n,*p,*q); } 程序运行后的输出结果是

A)1,2,1, B)1,2,2,1 C)2,1,2, D)2,1,1,2 有以下程序

#include main()

{ char c1,c2;

c1=‟A‟+‟8‟-„4‟; c2=‟A‟+‟8‟-„5‟;

printf(“%c,%d\\n”,c1,c2); }

已知字母A的ASCII码为65,程序运行后的输出结果是 A)E,68 B)D,69 C)E,D D)输出无定值 有以下程序

#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);

} 程序运行后的输出结果是 A)0 B)2 C)3 D)5 21)有以下程序

#include main()

{ int n=2,k=0;

while(k++&&n++>2); printf(“%d %d\\n”,k,n);

} 程序运行后的输出结果是 A)0 2 B)1 3 C)5 7 24)有以下程序

#include void fun(int p) { int d=2;

p=d++; printf(“%d”,p);} main() { int a=1;

fun(a); printf(“%d\\n”,a);} 程序运行后的输出结果是 A)32 B)12 C)21 D)22 (26)有以下程序 #include main()

{int m=1,n=2,*p=&m,*q=&n,*r; r=p;p=q;q=r;

printf(“%d,%d,%d,%d\\n”,m,n,*p,*q); } 程序运行后的输出结果是

A)1,2,1, B)1,2,2,1 C)2,1,2, D)2,1,1,2 29)有以下程序

#include main()

{ int a[ ]={2,3,5,4},i; for(i=0;i<4;i++) switch(i%2)

{ case 0:switch(a[i]%2)

{case 0:a[i]++;break; case 1:a[i]--; }break; case 1:a[i[=0;

}

for(i=0;i<4;i++) printf(“%d”,a[i]); printf(“\\n”);

}

A)3 3 4 4 B)2 0 5 0 C)3 0 4 0 D)0 3 0 4 30)有以下程序

#include

#include main()

{ char a[10]=”abcd”;

printf(“%d,%d\\n”,strlen(a),sizeof(a); } 程序运行后的输出结果是

A)7,4 B)4,10 C)8,8 D)10,10 38)有以下程序

#include #include struct A

{ int a; char b[10]; double c;}; struct A f(struct A t); main() { struct A

a={1001,”ZhangDa”,1098.0};

a=f(a);jprintf(“%d,%s,%6.1f\\n”,a.a,a.b,a.c); }

struct A f(struct A t)

( t.a=1002;strcpy(t.b,”ChangRong”);t.c=1202.0;return t; ) 程序运行后的输出

结果是

A)1001,ZhangDa,1098.0 B)1001,ZhangDa,1202.0 C) 1001,ChangRong,1098.0 D)1001,ChangRong,1202.0

8)以下程序运行后的输出结果是 1 0 。

#include main() { int x=20;

printf(“%d”,0printf(“%d\\n”,0#include main() { int a=1,b=7; do {

b=b/2;a+=b; } while (b>1);

printf(“%d\\n”,a);} 10)有以下程序

#include main()

{ int f,f1,f2,i; f1=0;f2=1;

printf(“%d %d”,f1,f2); for(i=3;i<=5;i++)

{ f=f1+f2; printf(“%d”,f); f1=f2; f2=f; }

printf(“\\n”);

} 程序运行后的输出结果是 0 112 3 。 12)设有定义: struct person

{ int ID;char name[12];}p;

请将scanf(“%d”, &p.ID );语句补充完整,使其能够为结构体变量p的成员ID正确读入数据。 13)有以下程序

#include main()

{ char a[20]=”How are you?”,b[20]; scanf(“%s”,b);printf(“%s %s\\n”,a,b);

} 程序运行时从键盘输入:How are you?<回车> 则输出结果为 【13】 。 15)有以下程序

#include fun(int x)

{ if(x/2>0) run(x/2); printf(“%d ”,x); }

main() { fun(6);printf(“\\n”); } 程序运行后的输出结果是 1 。

(15)程序段:int x=12;

double y=3.141593; printf(“%d%8.6f”,x,y);的输出结果是 A)123.141593 B)123.141593 C)12,3.141593 D)123.141593 (21)有以下程序 #include main() {char

*s=(“ABC); do

{printf(“%d”,*s%10);s++;

}while(*s);} 注意,字母A的ASCII码值为65。程序运行后的输出结果

A)5670 B)656667 C)567 D)ABC (20)有以下程序段 int a, b, c; a=10; b=50; c=30; if (a>b) a=b, b=c; c=a;

printf(\"a=%d b=%d c=%d\\n”, a, b, c); 程序的输出结果是( )。

A)a=10 b=50 c=10 B)a=10 b=50 c=30 C)a=10 b=30 c=10 D)a=50 b=30 c=50 #include main() { int i, j;

for(i=3; i>=l; i--)

{ for(j=1; j<=2; j++) printf(\"%d\printf(\"\\n\");

} } 程序的运行结果是( )。

A)2 3 4 B)4 3 2 3 4 5 5 4 3 C)2 3 D)4 5 3 4 3 4 4 5 2 3 (8)以下程序的输出结果是 【8】 。 #include main()

{ int i,j,sum; for(i=3;i>=1;i--) { sum=0;

for(j=1;j<=i;j++) sum+=i*j;} printf(\"%d\\n\

(7) 以下程序的功能是:输出a、b、c三个变量中的最小值.请填空。 #include main()

{ int a,b,c,t1,t2;

scanf(\"%d%d%d1=a t2=c

printf(\"%d\\n\

30)若有以下程序 main()

{int y=10;while(y- -); printf(“y=%d\\n”y);}程序运行后的输出结果是 A)y=0 B)y=-1 C) y=1 D)while构成无限循环 31)有以下程序

main()

{int a=0,b=0,c=0,d=0; if(a=1) b=1;c=2;

else d=3;printf(“%d,%d,%d,%d\\n”,a,b,c,d);}程序输出 A)0,1,2,0 B) 0,0,0,3 C)1,1,2,0 D)编译有错 34)有以下程序main() {int i,t[][3]={9,8,7,6,5,4,3,2,1};

for(i=0;i<3;i++) printf(“%d”,t[2-i][i]);} 程序的执行后的输出结果是 A)7 5 3 B) 3 5 7 C)3 6 9 D)7 5 1 36有以下程序main()

{int i,s=0,t[]={1,2,3,4,5,6,7,8,9};

for(i=0;i<9;i+=2) s+=*(t+i);printf(“%d\\n”,s);}程序执行后的输出结果是 A)45 B)20 C)25 D)36 int fun(int n) {if(n==1) return 1; else

return (n+fun(n-1));} main() {int x;

scanf(“%d”,&x); x=fun(x);

printf(“%d\\n”,x);}程序执行时,给变量x输入10,程序的输出结果是

7)以下程序用于判断a,b,c能否构成三角形,若能输出YES,若不能输出NO。

当a,b,c输入三角形三条边长时,确定 a,b,c能构成三角形的条件是需要同时满足三条件:a+b>c,a+c>b,b+c>a。 请填空。 main() {float a,b,c;

scanf(“%f%f%f”,&a,&b,&c);if(__[7]__)printf(“YES\\n”);/*a,b,c能构成三角形*/ else printf(“NO\\n”);/*a,b,c不能构成三角形*/} 8)以下程序的输出结果是__30____ main()

{int a[3][3]={{1,2,9},{3,4,8},{5,6,7}},i,s=0;

for(i=0;i<3;i++) s+=a[i][i]+a[i][3-i-1];printf(“%d\\n”,s);}

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- yrrf.cn 版权所有 赣ICP备2024042794号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务