C语言试题集锦及答案

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

1.若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是________。

A) 1 B) 2 C) 2.0 D) 2.5

2.以下选项中,与k=n++完全等价的表达式是_________.

A) k=n,n=n+1 B) n=n+1,k=n C) k=++n D) k+=n+1

C)本程序的main函数开始,到本程序文件的最后一个函数结束

D)本程序文件的第一个函数开始,到本程序main函数结束

4.若定义:int a=11, *b=&a; 则printf("%d\n",b);的输出结果为。

A) 无确定值 B) a的地址 C) 11 D) 语法错误

5. 有以下程序

float fun(int x,int y)

{ return(x+y); }

main()

{ int a=2,b=5,c=8;

printf(“%3.0f\n”,fun(int)fun(a+c,b),a-c));

}

程序运行后的输出结果是

A) 编译出错B) 9 C) 21 D) 9.0

6.若用数组名作为函数调用的实参,传递给形参的是。

A) 数组的首地址 B) 数组的第一个元素的值

C) 数组中全部元素的值D) 数组元素的个数

7.执行下面的程序段后,变量k中的值为

int k=3, s[2];

s[0]=k; k=s[1]*10;

A) 不定值 B) 33 C) 30 D) 10

8.有以下程序

void fun(char *c,int d)

{ *c=*c+1;d=d+1;

printf(“%c,%c,”,*c,d);

}

main()

{ char a=’A’,b=’a’;

fun(&b,a); printf(“%c,%c\n”,a,b);

}

程序运行后的输出结果是

A)B,a,B,a B) a,B,a,B C) A,b,A,b D) b,B,A,b

9.有以下程序段

int x=3

do

{ printf(“%d”,x-=2); }

while (!(--x));

其输出结果是

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

死循环

10.已有定义 int ( * p ) ( ) ; , 则指针 p 可以。

A) 代表函数的返回值 B) 指向函数的入口地址

C) 代表函数的类型 D) 代表函数返回值的类型

11.设有如下说明语句:

struct stud

{ int a ; float b ; } studtype ;

则下面的叙述中,不正确的是。

A) struct 是结构体类型的关键字 B) struct stud 是用户定义的结构体类型名

C) a 和 b 都是结构体成员名 D) studtype是用户定义的结构体类型名

12. 有以下程序

#include

main()

{ char *p=“abcde\0fghjik\0”;

pr intf(“%d\n”,strlen(p));

}

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

A) 12 B) 15 C) 6 D) 5

13

C)本程序的main函数开始,到本程序文件的最后一个函数结束

D)本程序文件的第一个函数开始,到本程序main函数结束

14.一个C语言程序是由。

A) 若干主程序和若干子程序组成B) 函数组成

C) 若干过程组成D) 若干子程序组成

15.以下不能定义为用户标识符是。

A) Main B) _0 C) _int D) sizeof

16.合法的C语言赋值语句是。

A) a=b=58 B) i++;C) a=58,b=58 D) k=int(a+b); 17.以下所列的C语言常量中,错误的是。

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

18.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是。

A) 1 B) 2 C) 2.0 D) 2.5

19.若有说明语句:

int a=5; a++;

此时表达式a++的值是。

A) 7 B) 6 C) 5 D) 4 20.putchar函数可以向终端输出一个。

A) 整型变量表达式值B) 实型变量值C) 字符串D) 字符或字符型

变量值

21.以下叙述中错误的是。

A) 对于double类型数组,不可以直接用数组名对数组进行整体输入或输出

B) 数组名代表的是数组所占存储区的首地址

C) 当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出"下

标越界"的出错信息

D) 可以通过赋初值的方式确定数组元素的个数

22.设a=5,b=6,c=7,d=8,m=2,n=2, 执行(m=a>b)&&(n=c>d)后n的值为______。

A) 1B) 2C) 3 D) 4

23.以下程序的输出结果是______。

main()

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

while(i<8)

{ if(p[i]%2) j+=p[i]; i++; }

printf("%d\n",j);

}

A) 42 B) 45 C) 56D) 60 24.以下能正确定义一维数组的选项是______。

A) int a[5]={0,1,2,3,4,5}; B) char a[]={0,1,2,3,4,5};

C) char a={'A','B','C'};D) int a[5]="0123";

25.以下程序的输出结果是______。

int f1(int x,int y){ return x>y?x:y; }

int f2(int x,int y){ return x>y?y:x; }

main(){

相关文档
最新文档