好文档 - 专业文书写作范文服务资料分享网站

C语言习题与答案

天下 分享 时间: 加入收藏 我要投稿 点赞

一、单选题

A)2 1 B)1,-1 C)

1、能将高级语言源程序转换成目标程序的是( C )。 2,1 D)2 -1

编译程序的基本功能是把源程序翻译成目标程序 7、以下程序的输出结果是 ( D )。 A)调试程序

B)解释程序 #include

C)编译程序

D)编辑程序 #include 2、设有以下定义:int x=10,y=3,z;则语句: main( )

printf(“%d”,z=(x%y,x/y));的结果是( D )。 {char str[12]={'s','t','r','i','n','g'};

A)1 B)0 printf(\ C)4 D)3

}求字符串的长度,strlen( )的参数必须是char* 3、若已定义x和y为整型,则表达式:x=1,y=x+3/2的值是

A)12

B)7

( B )。P56 8、以下的 for 循环( A )。 A)1

B) for (x=0,y=0;(y!=123)&&(x<4);x++); 2

C)2.0

A)执行4次D) B)是无限循环2.5 C)执行3次 D)循环次数不4、C语言中 ( B )。P115 定

A)不能使用 do - while 语句构成循环。 9、以下程序段的输出结果是( A )

B)do-while 语句, 当 while 语句中的表达式值

char a[]=”Basic”; 为零时结束循环。 char *p=a;

C)do-while 语句, 当 while 语句中的表达式值

printf(“%s”,p); 为非零时结束循环

A)Basic

B)B

D)do-while 语句必须用 break 语句才能退出循

10、以下说法中正确的是( C )。 环

A)C 语言程序总是从第一个定义的

5、设有定义 int a =3;,则执行语句 a+ = a-=a*a 后,变量 a B)在C 语言程序中,要调用的函数必须在 main( ) 函数中的值是( C ).P64

定义

(a-a*a a = 3-3*3 a = -6 a = a + a a = -6 + (-6) C)C 语言程序总是从 main( ) 函数开始执行

a=-12)

D)C 语言程序中的 main( ) 函数必须放在程序的开始部分 A)3 B)0 C)-12

D)9

11、下述对 C 语言字符数组的描述中错误的是( C ) 6、以下程序的输出结果是 ( C )。p93 A)字符数组可以存放字符串

# include B)字符数组中的字符串可以整体输入、输出 main( )

C)可以在赋值语句中通过赋值运算符“=”对字符

{int a,b,d=241; 数组整体赋值 a=d/100%9; D)不可以用关系运算符对字符数组中的字符串进

b=(-1)&&(-1);

行比较

printf (\ 12、C语言中最简单的数据类型包括( B )

}

A)整型、实型、逻辑型

1

C)11

asic

C)B)整型、实型、字符型 struct sk

C)整型、字符型、逻辑型 {int a;float b;}data,*p;

D)整型、实型、逻辑型、字符型

若有 p=&data;,则对 data 中的 a 域的正确引用是

13、阅读程序: (p->a)( A ) #include

A)(*p).a B)(*p).data.a C)p.data.a D)

#define SUB(X,Y) (X)*Y p->data.a

main( ) 18、设有说明 int (*ptr)[M]; 其中的标识符 ptr 是( C ) {int a=3,b=4;

A)M 个指向整形变量的指针

printf(\

B)指向 M 个整形变量的函数指针

} C)一个指向具有 M 个整形元素的一维数组的指

程序的输出结果是 ( B ) 针

A)15

B)12 C)16

D)具有 D)20 M 个指针元素的一维指针数组,每个元14、为表示关系x≥y≥z应使用C语言表达式( A ) 素都只能指向整形变量

A)(x>=y)&&(y>=z) B)( x>=y)and(y>=z)

19、阅读程序,程序的输出结果为( C )。 C) (x>=y>=z) D)( x>=y)&( x>=y) int x=3; 15、如下程序的运行结果是( A ) do

Main() {printf(“=”,x-=2); {int n=0; } while(n++<=1)

while(!(--x));

printf(“=”,n); A)1 B)30 C)1 -2

printf(“=\\n”,n); 20、设有10个数据进行冒泡排序,最少进行的比较次数为}

( C )。 A)1 2 3 B)3 2 1 C)0 1 2 D)2 1

A)0 B)10 C)9 D)1

0

21、设有语句 char a=’\\n’; ,则变量 a( A )。 16、设有如下定义:

A)包含1个字符

B)包含2个字

char *aa[2]={“abcd”,”ABCD”}; 符 则以下说法中正确的是( D)

C)包含3个字符 D)说明不合法

A)aa数组元素的值分别是”abcd”和”ABCD”

22、若有定义:double x,y;则表达式:x=1,y=x+3/2的值是B)aa是指针变量,它指向含有两个数组元素的字符型一( C )。 维数组

A)1 C)aa数组的两个元素分别存放的是含有4个字符的一维字

C)2.0

符数组的首地址

23、有以下程序:(注意:ch[0] 在低字节,ch[1] 在高字节。) D)aa数组的两个元素中各自存放了字符’a’和’A’的地址。 # include< stdio.h> 17、设有如下定义:

union pw{int i ;char ch[2];}a;

2

B)2 D)2.5

D)死循环 main( )

{a.ch[0]=0 ;a.ch[1]=13 ; printf(\

}

从高到低依次为( B )

(A)算术运算、赋值运算、关系运算 (B)算术运算、关系运算、赋值运算 (C)关系运算、赋值运算、算术运算 (D)关系运算、算术运算、赋值运算

B)14

29、C语言中,运算对象必须是整型数的运算符是(C)3328 D)328 A )

A)%

B)/

程序的输出结果是( C )。

A)13

24、以下程序的输出结果是 ( B )。 #include main( )

{char str[12]={'a','b','c','d','f','g',’f’}; printf(\

A)12

B)7

C)% 和

30、若数组定义为int a[10];则下列哪个表达式是错误的?( A )

(A)*a (B)a(C)&a

(D)++a

31、表达式C)11 10%2值是( A ) D)6 (A)0 (B)1 (C)5 (D)5.0

32、设有说明p=&a[0]; int (*ptr)[M]; 其中的标识符 ptr 是( C )

A)M 个指向整形变量的指针

C)(*p).n++ B)指向 M 个整形变量的函数指针D)p->n++

C)一个指向具有 M 个整形元素的一维数组的指

25、设有以下语句:

struct st{int n;struct st *next;};

static struct st a[3]={{5,&a[1]},{7,&a[2]},{9,'\\0'}},*p; 则表达式( B )的值是6。

A)p++->n

B)++(p->n)

26、对于程序段 float f1(int a) {int b;……} main( ) { int m,n; m=f1(n);…… }

char f2(int x,int y) { int a;…… }

变量m,n的作用范围是( B ) (A)整个程序段 (B)main函数 (C)main函数和f2函数 (D)mian函数和f1函数 27、若p1、p2都是指向整型的指针,p1已经指向数量x,要使p2也指向x,正确的是( A )

(A)p2=p1; (B)p2=**p1; (C)p2=&p1; (D)p2=*p1; 28、算术运算符,赋值运算符和关系运算符的运算优先级按

D)具有 M 个指针元素的一维指针数组,每个元

素都只能指向整形变量

33、初始化一维数组a正确的语句是( C ) (A)int a[10]=(0,0,0,0,0); (B)int a[10]={ }; (C)int a[ ]={10} ; (D)int a[10]={[10*1]}; 34、下列程序执行后输出的结果是 ( A )

int d = 1 ;

fun ( int p ) { int d = 5 ; d + = p + + ; printf( \} main( ) {int a = 3 ; fun ( a ) ;

3

C语言习题与答案

一、单选题A)21B)1,-1C)1、能将高级语言源程序转换成目标程序的是(C)。2,1D)2-1编译程序的基本功能是把源程序翻译成目标程序7、以下程序的输出结果是(D)。A)调试程序B)解释程序#include
推荐度:
点击下载文档文档为doc格式
33stl16msu9pg7z7ha0i
领取福利

微信扫码领取福利

微信扫码分享