C语言基础知识综合练习题 下载本文

内容发布更新时间 : 2024/5/19 1:34:17星期一 下面是文章的全部内容请认真阅读。

C语言课外练习题及其答案(仅作为参考)

一、 C语言基本知识和基本语句

(一)选择题

1.设a,b和c都是int型变量,且a=3,b=4,c=5则下面的表达式中,值为零的表达式是( )。

A) ‘a’&&’b’ B) a<=b

C) a || b+c&&b-c D) ! ((a

2.设ch是char型变量,其值为A字符,且有表达式:

ch= (ch >= ‘A’ && ch <=‘Z’) ? ( ch + 32):ch,则表达式ch的值是( )字符。

A) A B) a C) Z D) z

3.若x和y都是int 型变量,x=100,y=200,且有程序段:printf (“%d”,(x,y));则输出结果是( )。

A) 200 B)100 C) 100,200 D)输出格式不够,输出不确定的值 4.C语言中最简单的数据类型包括( )。

A)整型、实型、逻辑型 B) 整型、单精度型、双精度、字符型 C) 整型、字符型、逻辑型 D) 整型、实型、逻辑型、字符型 5.C语言中,运算对象必须是整型的运算符是( )。

A)% B) / C) % 和 / D) ** 6.数学关系x≥y≥z ,它对应C语言表达式是( )。

A) (x>=y)&& (y>=z ) B) (x>=y) AND (y>=z ) C) (x>=y>=z) D) (x>=y) & (y>=z ) 7. 以下说法中正确的是( )。

A)C语言程序总是从第一个定义的函数开始执行

B) 在C语言程序中,要调用的函数必须在main()函数中定义 C) C语言程序总是从main()函数开始执行

D) C语言程序中的main()函数必须放在程序的开始部分

8. 设int x=10,y=3,z;则语句printf (“%d\\n”,z=(x%y,x/y));的输出结果是( )。

A) 1 B) 0 C) 4 D) 3 9.C语言表达式10 != 9 的值是( )。

A)true B) 非零值 C) 0 D) 1 10.合法的C语言字符常量是( )。

A)’\\t’ B) “A” C) 65 D) A 11.若int类型数据占两个字节,则下列语句的输出为( )。 int k = -1 ;

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

A)- 1,- 1 B) – 1,32767 C) –1,32768 D) –1,65535

12.组成C语言程序的是( )。

A)子程序 B) 过程 C) 函数 D) 主程序和子程序

1

C语言课外练习题及其答案(仅作为参考)

13.以下的选项中,正确的赋值语句是( )。

A)i++; B)a=1,b=2; C) a=b=5 D) y=int(x); 14. 以下不符合C语言语法的语句是( )。

A)i++; B)i=j=5; C)k=2*4,k*4; D) y=float(i) 15. 下列程序的输出结果是( )。 main() { int a=9; a+=a-=a+a;

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

A) 18 B) 9 C) –18 D) –9 16. 下列语句的输出结果是( )。

printf(“%d\\n”,(int)(2.5+3.0)/3);

A)有语法错误不能通过编译 B) 2 C) 1 D) 0 17.下列程序的输出是( )。 main()

{ int a = 7,b=5;

printf(“%d\\n”,b=b/a); }

A)有语法错误不能通过编译 B) 2 C) 1 D) 0 18.请阅读程序( )。

main()

{ int a;float b,c;

scanf(“-?O”,&a,&b,&c);

printf(“\\na=%d,b=%f,c=%f\\n”,a,b,c); }

若运行时从键盘上输入9876543210(CR表示回车),则上面程序的输出结果是( )。

A)a=98,b=765,c=4321 B) a=10,b=432,c=8765 C) a=98,b=765.000000,c=4321.000000 D) a=98,b=765.0,c=4321.0

19.以下程序的输出结果是( )。

main()

{ int a=-1,b=4,k;

k=(++a<0)&&! (b - -<=0); printf (“%d%d%d\\n”,k,a,b); }

A) 1 0 4 B) 1 0 3 C) 0 0 3 D) 0 0 4 20.下列程序的输出结果是( )。

main()

{ int i,j,k,a=3,b=2;

i=(- -a= =b++)?- - a :++b;j=a++;k=b; printf (“i=%d,j=%d,k=%d\\n”,i,j,k);}

A)i=2,j=1,k=3 B) i=1,j=1,k=2 C) i=4,j=2,k=4 D) i=1,j=1,k=3

2

C语言课外练习题及其答案(仅作为参考)

(二)填空题 1.在C语言中,double类型数据占 个字节;char类型数据占 个字节。 2.设C语言中,int 类型数据占2个个字节,则long类型数据占 个字节;unsigned int类型数据占 个字节; short类型数据占 个字节; 3.表达式8/4*(int)2.5/(int)(1.25*(3.7+2.37))值的数据类型为 4.假设m是一个三位数,从左到右用a,b,c表示每一位的数字,若从左到右数字是bac的三位数,则在C语言中用m表示bac的表达式是

二、C语言选择和循环结构

1.在C语言中,能代表逻辑值“真”的是( )。

A)true B) 大于0的数 C) 非0整数 D) 非0的数

2.若给定条件表达式(M)?(a++): (a--);则其中表达式M

A) 和(M==0)等价 B) 和(M==1)等价 C) 和(M!=0)等价 D) 和(M!=1)等价 3.在C语言的if语句中,用作判断的表达式是( )。

A)关系表达式 B)逻辑表达式 C)算术表达式 D)任意表达式 4.若变量已正确定义,则以下程序段的输出为( )。

int a=2;b=3;

printf(a>b?“* * * a=%d”:“# # # b=%d”,b); A)没有正确的输出格式控制 B) * * * a=2

C) # # # b=3 D) * * * a= 2# # # # b=3

5.以下程序段的输出结果为( )。

int a=1;b=2,c=2,t=0;

while(a

printf(“%d,%d,%d”,a,b,c );

A)1,2,0 B) 2,1,0 C)1,2,1 D) 2,1,3

6.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是( )。

if (x>y) z=x;x=y;y=z;

A) x=10,y=20,z=30 B) x=20,y=30,z=30 C) x=20,y=30,z=10 D) x=20,y=30,z=20

7.以下程序的运行结果是( )。

main( ) { int m=5;

if (m++>5) printf (“%d\\n”,m);

else printf (“%d\\n”,m--); }

A)4 B) 5 C) 6 D) 7 8. 以下不正确的语句是( )。

A) if (x>y);

B) if (x=y)&&(x!=0) x+=y;

3