C语言综合练习题-1

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、单项选择题

1 在C程序中,main()的位置( )。

A) 必须作为第一个函数 B) 必须作为最后一个函数

C) 可以任意 D) 必须放在它所调用的函数之后

2计算机能直接执行的程序是()

A)源程序B)目标程序C)汇编程序D)可执行程序

3以下C语言用户标识符中,不合法的是( )

A)_1 B) Abcd C)a_b D) c—d

4以下所列的C语言常量中,错误的是()

A) 0xFF B) 1.2e0.5 C) 2L D) ’\72’

5下列运算符中优先级最高的是()

A) < B) + C) && D) !=

6在C语言中,五种基本数据类型存储空间长度的排列顺序是()

A) char

B) char

C) char

D) char

7在C语言中,下面合法的长整型数是: ()

A) 0L B) 4962710

C) 0.054838743 D) 2.1869e10

8以下选项中正确的定义语句是( )

A)double a;b; B)double a=b=7; C)double a=7,b=7; D)double ,a,b;

9设x为int型变量,则执行语句x=10和x+=x-=x-x后,x的值为()

A) 10 B) 20

C) 40 D) 30

10设原来a=12,以下哪一个表达式的值为0()

A)a+=a B)a-=2 C)a*=2+3 D)a/=a+a

11若有声明:int a=7; float x=2.5, y=4.7; 则表达式: x+a%3*(int)(x+y)%2/4的值是: A) 2.500000 B) 2.7500000

C) 3.500000 D) 0.000000

12 若有表达式(a)?(--x):++y),则其中与a等价的表达式是()

A)a==1 B)a==0 C)a!=1 D)a!=0

13设a=1,b=2,c=3,d=4,则表达式a

A) 4 B) 3

C) 2 D) 1

14已知x=43,ch='A',y=0,则表达式(x>=y&&c h<'B'&&!y)的值是:

A) 0 B) 语法错

C) 1 D) "假"

15若已声明int a=3,b=4,c=5,以下哪一个表达式的值为0()

A)a+b>c&&b==c B)a||b+c&&b-c

C)!(a>b)&&!c||1 D)!(a+b)+c-1&&b+c/2

16 putchar函数可以向终端输出一个()

A)整型变量表达式的值 B)实型变量的值

C)字符串 D)字符或字符型变量的值

17以下对一维整型数组a的正确说明是( )

A) int a(20);

B) int n=20,a[n];

C) int n; scanf(“%d”,&n); int a[n];

D) #define SIZE 30 int a[SIZE];

18 C语言中while和do-while循环的主要区别是()

A) do-while的循环体至少无条件执行一次

B) while的循环控制条件比do-while的循环控制条件严格

C) do-while允许从外部转到循环体内

D) do-while的循环体不能是复合语句

19有以下程序段

int x,y,z;

x=10; y=50; z=30;

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

printf(“x=%d y=%d z=%d \n”,x,y,z);

程序的输出结果是()

A) x=10 y=50 z=10 B) x=10 y=50 z=30 C) x=10 y=30 z=10 D) x=50 y=30 z=50 20已知'A'的ASCII的值为65, 下面的程序运行后,

#include

void main()

{ char c1,c2;

c1=getchar();

c2=c1+3;

printf("%c,%d\n",c2,c2);

}

如果从键盘上输入:D<回车>,则程序的运行结果是()

A) D,68 B) D,71 C) G,68 D) G,71

21下面程序的运行结果是()

#include

void main( )

{ int i,j,m,n;

i=8; j=10;

m=++I; n=j++;

printf(“%d,%d,%d,%d\n”,i,j,m,n);

}

A) 8,10,9,10 B)9,11,9,10 C)9,11,9,11,22 D)9,10,9,10

22 以下程序中的变量已正确定义( )

for(i=0;i<4;i++,i++)

for(k=1;k<3;k++)

printf(“*”);

程序段的输出结果是

A)******** B)**** C)** D)*

23有以下程序

void main()

{

int p[8]={11,12,13,14,15,16,17,18},i=0,j=0;

while(i++<7)

if(p[i]%2)

j+=p[i];

printf(“%d\n”,j);

}

程序运行后的输出结果是( )。

A)42 B)45 C)56 D)60

24有以下程序

void main( )

{ char k;

int i;

for(i=1;i<=2;i++)

{ scanf(“%c”,&k);

switch(k)

{ case ‘0’: printf(“another\n ”);

case ‘1’: printf(“number\n ”);

}

}

}

程序运行时,从键盘输入:01<回车>,程序执行后的输出结果是( )

A)another B)another C) another D)number

number number number

another number

25有以下程序片段:

int i = 0;

while(i++ <= 2);

printf("%d", i);

则正确的执行结果是( )

A) 2 B) 3 C) 4 D) 程序陷入死循环

二、填空题

1. 已有声明int a=7,b=9;现要求按以下格式输出a和b的值:

a=7

b=9

请完成输出语句:printf(“__________________”,a,b);

相关文档
最新文档