当前位置:文档之家› c语言程序设计选择题库

c语言程序设计选择题库

c语言程序设计选择题库
c语言程序设计选择题库

i.C概述

2.C语言的基本单位是A

A 函数

B 源程序

C 语句

D 程序行

3..以下说法中正确的是C

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

B C语言程序中至少有一个main函数;

C C语言程序总是从main函数开始执行;

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

4.C源程序文件的扩展名为C

A .exe

B .txt

C .c

D .obj

5..以下说法中正确的是D

A C源程序可以直接运行产生结果;

B C源程序经编译后才可直接运行产生结果;

C C源程序经连接后才可直接运行产生结果;

D C源程序经编译和连接后才可直接运行产生结果;

6.在C程序中,main()函数的位置是C

A 必须作为第一个函数;

B 必须作为最后一个函数;

C 可以任意;

D 必须放在它所调用的函数之后;

7.以下叙述不正确的是D

A 一个C源程序可由一个或多个函数构成;

B 一个C源程序必须包含一个main函数;

C C程序的基本组成单位是函数;

D 在对一个C程序进行编译的过程中,可发现注释中的拼写错误;

8.C语言中,下列正确的叙述是D

A C程序中的关键字必须小写,其他标识符不区分大小写

B C程序中的所有字母都不区分大小写

C C程序中的所有字母都必须小写

D 所有的C语言关键字必须小写

9.要把高级语言编写的源程序转换为目标程序,需要使用D

A 编辑程序

B 驱动程序

C 诊断程序

D 编译程序

10.以下叙述中错误的是 D

A C语言源程序经编译后生成后缀为.obj的目标程序

B C语言经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指

令文件

C 用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文

件中

D C语言的每条可执行语句和非执行语句最终都将被转换成二进制的机器指

11.用C语言编写的代码程序B

A 可立即执行

B 是一个源程序

C 经过编译即可执行

D 经过编译解

释才能执行

12.以下叙述中正确的是B

A C语言的源程序不必通过编译就可以直接运行

B C语言中的每条可执行语句最终都将被转换成二进制的机器指令

C C源程序经编译形成的二进制代码可以直接运行

D C语言中的函数不可以单独进行编译

13.以下叙述中正确的是A

A 构成C程序的基本单位是函数

a) B 可以在一个函数中定义另一个函数

C main()函数必须放在其它函数之前

b) D 所有被调用的函数一定要在调用之前进行定义

14.能将高级语言源程序转换成目标程序的是C

A 调试程序

B 解释程序

C 编译程序

D 编辑程序

15.以下叙述中正确的是C

A C程序的基本组成单位是语句

B C程序中的每一行只能写一条语句

C 简单C语句必须以分号结束

D C语句必须在一行内写完

16.计算机能直接执行的程序是D

A 源程序

B 目标程序

C 汇编程序

D 可执行程序

17.在语言中,以下叙述不正确的是D

A 一个C源程序可由一个或多个函数组成

B 一个C源程序必须包含一个main函数

C C程序的基本组成单位是函数

D 在C程序中,注释说明只能位于一条语句的后面

18.C语言规定:在一个源程序中,main函数的位置C

A 必须在最开始

B 必须在系统调用的库函数的后面

C 可以任意

D 必须在最后

19.一个C程序的执行是从A

A 本程序的main 函数开始,到main函数结束

B 本程序文件中的第一个函数开始,到本程序文件的最后一个函数结束

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

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

函数

20.下列叙述中错误的是A

A 主函数中定义的变量在整个程序中都是有效的。

B 在其它函数中定义的变量在主函数中也不能使用。

C 形式参数也是局部变量。

D 复合语句中定义的变量只在该复合语句中有效。

21.在函数的说明和定义时若没有指出函数的类型,则A

A 系统自动地认为函数的类型为整型。

B 系统自动地认为函数的类型为字符型。

C 系统自动地认为函数的类型为实型。

D 编译时会出错。

22.下面叙述中正确的是C

A 对于用户自己定义的函数,在使用前必须加以说明。

B 说明函数时必须明确其参数类型和返回类型。

C 函数可以返回一个值,也可以什么值也不返回。

D 空函数不完成任何操作,所以在程序设计中没有用处。

23.下面正确的函数定义形式是A

A double fun(int x,int y)

B double fun(int x;int y)

C double fun(int x,int y);

D double fun(int x,y);

24.若调用一个函数,且此函数中没有return语句,则正确的说法是(D )该

函数:

A 没有返回值

B 返回若干个系统默认值;

C 能返回一个用户所希望的函数值;

D 返回一个不确定的值

25.下面说法中不正确的是(B )在C语言中

A 实参可以是常量、变量或表达式;

B 形参可以是常量、变量或表达式;

C 函数的参数是函数间传递数据的一种手段;

D 实参个数应与对应的形参个数相等,类型匹配;

26.C语言允许函数返回值类型缺省定义,此时该函数隐含的返回值类型是B

A float型

B int 型

C long 型

D double型

27.C语言规定,函数返回值的类型是由D

A return语句中的表达式类型所决定;

B 调用该函数时的主调函数类型所决定;

C 调用该函数时系统临时决定;

D 在定义该函数时所指定的函数类型所决定;

28.下面函数调用语句含有实参的个数为(B )

func((exp1,exp2),(exp3,exp4,exp5));

A 1

B 2

C 5

D 4

29.以下错误的描述是(D )函数的调用可以

A 出现在执行语句中;

B 出现在一个表达式中;

C 为一个函数的实参;

D 作为一个函数的形参;

30.下正确的说法是( A)。如果在一个函数中的复合语句中定义了一个变量,

则该变量

A 只在该复合语句中有效

B 在该函数中有效

a) C 本程序中有效 D 为非法变量

31.以下不正确的说法是D

A 在不同函数中可以使用相同的名字的变量;

B 形式参数是局部变量;

C 在函数内定义的变量只在本函数范围内有效;

D 在函数内的复合语句中定义的变量在本函数范围内有效;

32.如果一个变量在整个程序运行期间都存在,但是仅在说明它的函数内是可见

的,这个变量的存储类型应该被说明为___ A _。

A 静态变量

B 动态变量

C 外部变量

D 内部变量

33.在一个C源程序文件中,?若要定义一个只允许在该源文件中所有函数使用的

变量,则该变量需要使用的存储类别是。D

A extern

B register

C auto

D static

34.在C语言中,函数的数据类型是指A

A 函数返回值的数据类型

B 函数形参的数据类型

C 调用该函数时的实参的数据类型

D 任意指定的数据类型

35.已知如下定义的函数:

fun1(int a)

{

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

}

则该函数的数据类型是_A___。

A 与参数a的类型相同

B void型

C 没有返回值

D 无法确定

36.有如下函数调用语句

func(rec1,rec2+rec3,(rec4,rec5));

该函数调用语句中,含有的实参个数是A

A 3

B 4

C 5

D 有语法错

37.以下所列的各函数首部中,正确的是C

A void play(var :Integer,var b:Integer)

B void play(int a,b)

C void play(int a,int b)

D Sub play(a as integer,b as integer)

38.以下正确的说法是B

A 用户若需调用标准库函数,调用前必须重新定义;

B 用户可以重新定义标准库函数,若如此,该函数将失去原有含义;

C 系统根本不允许用户重新定义标准库函数;

D 用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件

包括到用户源文件中,系统自动去调;

39.函数用 return 语句返回计算 20! 的结果,此函数的类型应说明为_D_____。

A int

B long

C unsigned long

D 其它三个答案都不对

40.若有以下程序

#include "stdio.h"

void f(int n);

main()

{

void f(int n);

f(5);

}

void f(int n)

{

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

}

则以下叙述中不正确的是C

A 若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f

B 若在主函数前对函数f进行说明,则在主函数和其后的其它函数中都可以

正确调用函数f

C 对于以上程序,编译时系统会提示出错信息:提示对f函数重复说明

D 函数f无返回值,所以可用void将其类型定义为无值型

41.在C语言中,形参的缺省存储类是A

A auto

B register

C static

D extern

42.以下叙述中错误的是 D

A C程序必须由一个或一个以上的函数组成

B 函数调用可以作为一个独立的语句存在

C 若函数有返回值,必须通过return语句返回

D 函数形参的值也可以传回对应的实参

43.在C语言中关于函数的正确叙述是B

A 函数的定义和调用均可以嵌套

B 函数的定义不可以嵌套,但函数的调用可以嵌套

C 函数的定义和调用均不可以嵌套

D 函数的定义可以嵌套,但函数的调用不可以嵌套

44.有以下程序

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

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

main()

{

int a=4,b=3,c=5,d=2,e,f,g;

e=f2(f1(a,b),f1(c,d));

f=f1(f2(a,b),f2(c,d));

g=a+b+c+d-e-f;

printf("%d,%d%d ",e,f,g);

}

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

A 4,3,7

B 3,4,7

C 5,2,7

D 2,5,7

45.以下关于函数的叙述中正确的是B

A 每个函数都可以被其它函数调用(包括main函数)

B 每个函数都可以被单独编译

C 每个函数都可以单独运行

D 在一个函数内部可以定义另一个函数

46.设函数fun的定义形式为

void fun(char ch, float x ) { … }

则以下对函数fun的调用语句中,正确的是(D )。

A fun("abc",3.0);

B t=fun(''D'',16.5);

C fun(''65'',2.8);

D fun(32,32);

47.若程序中定义了以下函数

double myadd(double a,double B)

{ return (a+B) ;}

并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是(A )。

A double myadd(double a,B) ;

B double myadd(double,double);

C double myadd(double b,double A) ;

D double myadd(double x,double y);

48.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是D

A 函数调用可以作为独立的语句存在

B 函数调用可以作为一个函数的实参

C 函数调用可以出现在表达式中

D 函数调用可以作为一个函数的形参

49.有以下函数定义:

void fun(int n, double x) { …… }

若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语

句是(C)。

A fun(int y,double m);

B k=fun(10,12.5);

C fun(x,n);

D void fun(n,x);

50.有以下函数定义:

void fun(int n, double x) { …… }

若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语

句是(C)。

A fun(int y,double m);

B k=fun(10,12.5);

C fun(x,n);

D void fun(n,x);

51.在一个C程序中B

A main函数必须出现在所有函数之前

B main函数可以在任何地方出现

C main函数必须出现在所有函数之后

D main函数必须出现在固定位置

52.有以下程序

int fl(int x,int y)

{ return x>y?x:y; }

int f2(int x,int y)

{ return x>y?y:x; }

main()

{ int a=4,b=3,c=5,d,e,f;

d=f1(a,b); d=f1(d,c);

e=f2(a,b); e=f2(e,c);

f=a+b+c-d-e;

printf("%d,%d,%d\n",d,f,e);

}

执行后输出结果是(C)。

A 3,4,5

B 5,3,4

C 5,4,3

D 3,5,4

53.以下叙述中正确的是B

A 全局变量的作用域一定比局部变量的作用域范围大

B 静态(static)类别变量的生存期贯穿于整个程序的运行期间

C 函数的形参都属于全局变量

D 未在定义语句中赋初值的auto变量和static变量的初值都是随机值

54.C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是B

A void

B int

C float

D double

55.有以下程序

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

}

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

A 编译出错

B 9

C 21

D 9.0

56.以下函数值的类型是(A)。

fun ( float x )

{ float y;

y= 3*x-4;

return y;

}

A int

B 不确定

C void

D float

57.下列叙述中正确的是D

A C语言编译时不检查语法

B C语言的子程序有过程和函数两种

C C语言的函数可以嵌套定义

D C语言所有函数都是外部函数

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

fun(int x, int y, int z)

{ z=x*x+y*y; }

main()

{ int a=31;

fun(5,2,a);

printf(“%d”,a);

}

A 0

B 29

C 31

D 无定值

59.有如下程序

int runc(int a,int b)

{ return(a+b);}

main( )

{ int x=2,y=5,z=8,r;

r=func(func(x,y),z);

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

}

该程序的输出的结果是(D)。

A 12

B 13

C 14

D 15

60.以下叙述中不正确的是D

A 在不同的函数中可以使用相同名字的变量

B 函数中的形式参数是局部变量

C 在一个函数内定义的变量只在本函数范围内有效

D 在一个函数内的复合语句中定义的变量在本函数范围内有效

61.有以下程序

viod fun (int a,int b,int c)

{ a=456; b=567; c=678;}

main()

{ int x=10,y=20,z=30;

fun (x,y,z);

printf("%d,%d,%d\n",z,y,x);

}

输出结果是( A)。

A 30,20,10

B 10,20,30

C 456,567,678

D 678,567,456

62.以下叙述中不正确的是C

a) A 在C中,函数中的自动变量可以赋初值,每调用一次,赋一次初值。

B 在C中,在调用函数时,实在参数和对应形参在类型上只需赋值兼容。

C 在C中,外部变量的隐含类别是自动存储类别。

D 在C中,函数形参可以说明为register变量。

63.若有以下函数调用语句: fun(a+b,(x,y),fun(n+k,d,(a,b)));在此函数调

用语句中实参的个数是A

A 3

B 4

C 5

D 6

64.C语言中,函数的隐含存储类别是C

A auto

B static

C extern

D 无存储类别

65.以下说法中正确的是C

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

B 在C语言程序中,要调用的函数必须在main()函数中定义

C C语言程序总是从main()函数开始执行

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

66.下面说法中不正确的是D

A 全局变量一定是外部变量

B 局部变量一定是内部变量。

C 全局变量作为函数间传递数据的手段时,与文件的作用类似,都是通过共

享某种资源来传递数据。

D 全局变量与局部变量不可以重名

67.C 语言允许函数返回值类型缺省定义,此时该函数返回值默认的类型是B

a) A float 型 B int 型 C long 型 D double 型

68.关于流程控制语句,下列说法正确的一项是C

A 一个自定义函数中的return语句只能出现一次;

B break语句只适用于几种循环语句格式,表示终止当前层的循环;

C 在循环体中遇到continue,表示结束本次循环,直接进行下次循环条件的

判断;

D 在自定义函数的执行过程中,return语句可能被多次执行。

69.若有定义语句:char s[10]="1234567\0\0";,则strlen(s)的值是A

A 7

B 8

C 9

D 10

a)指针

70.若有定义:int x,*pb; 则以下正确的赋值表达式是( C)

A *pb=&x;

B pb=x;

C pb=&x;

D *pb=*x;

71.执行以下程序后,a的值为

main()

{ int a,b,k=4,m=6,*p1=&k,*p2=&m;

a=p1==&m;

b=(-*p1)/(*p2)+7;

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

printf(“b=%d”,b);

}

A -1

B 1

C 0

D 4

72.下面程序中调用scanf 函数给变量a输入数值的方法是错误的,其错误原因

是(B )

main()

{ int *p,q,a,b;

p=&a;

scanf(“%d”,*p);

……

}

A *p表示的是指针变量p的地址;

B *p表示的是变量a的值,而不是变量a的地址

C *p表示的是指针变量p的值

D *p只能用来说明p是一个指针变量

73.若有int k=2,*ptr1,*ptr2;且ptr1和ptr2均已指向变量k,下面不能正确

执行的语句是B

A k=*ptr1+*ptr2;

B ptr2=k;

C ptr1=ptr2;

D k=*ptr1*(*ptr2);

74.若有语句int *point a=4;和point &a;下面均代表地址的一组选项是(

A a,point,*&a

B &*a,&a,*point

C *&point,*point,&a

D &a,&*point,point

75.若有说明:int *p,m=5,n;下面正确的程序段是D

a) A p=&n; scanf(“%d”,&p);

B p=&n;scanf(“%d”,*p);

C scanf(“%d”,&n); *p=n;

D p=&n;*p=m

76.下面能正确进行字符串赋值操作的是C

A char s[5]={“ABCDE”};

B char s[5]={‘A’,’B’,’C’,’D’,’E’};

C char *s s="ABCDE";

D char *s; scanf(“%s”,s);

77.设有下面的程序段:

char s[]=”china”; char *p; p=s;

则下列叙述正确的是( C

A s和p完全相同

B 数组s中的内容和指针变量p中的内容相等

C *P与s[0]相等

D s数组长度和p所指向的字符串长度相等

78.下面程序段的运行结果是C

char *format=”%s,a=%d,b=%d\n”;

int a=1,b=10;

a+=b;

printf(format,”a+=b”,a,b);

A for,”a+=b”,ab

B format,”a+=b”

C a+=b,a=11,b=10

D 以上结果都不对

79.若有语句:char s1[]=”string”,s2[8],*s3,*s4=”string2”;则对库

函数strcpy()的正确调用是D

A strcpy(s1,”string2”);

B strcpy(s4,”string1”);

C strcpy(s3,”string1”);

D strcpy(s2,s4);

80.下面说明不正确的是D

a) A char a[10]=”china”;

B char a[10],*p=a;p=”china”;

C char *a; a=”china”;

D char a[10],*p; p=a=”china”;

1.循环控制

81.语句while(!e);中的条件!e等价于A

A e==0

B e!=0

C e!=1

D ~e

82.以下程序的输出结果是(C )

main()

{ int num=0;

while(num<=2)

{ num++;

printf(“%d,”,num);

}

}

A 1,

B 1,2,

C 1,2,3,

D 1,2,3,4,

83.以下程序段是(C )

x=-1;

do

{ x=x*x;} while(!x);

A 死循环

B 循环执行两次

C 循环执行一次

D 有语法错误

84.以下不正确的描述是B

a) A break语句不能用于循环语句和switch语句外的其它语句

B 在switch语句中使用break语句或continue语句的作用相同

C 在循环语句中使用continue语句是为了结束本次循环

D 在循环语句中使用break语句是为了使流程跳出循环体

85.对于for(表达式1;;表达式3)可理解为B

a) A for(表达式1;0;表达式3)

B for(表达式1;1;表达式3)

C for(表达式1;表达式1;表达式3)

D for(表达式1;表达式3;表达式3)

86.C语言中D

a) A 不能使用do-whi1e语句构成的循环;

B do-while语句构成的循环必须用break语句才能退出;

C do-while语句构成的循环,当while语句中的表达式值为非零时结束

循环;

D do-while语句构成的循环,当while语句中的表达式值为零时结束循

环;

87.C语言中while和do-while循环的主要区别是A

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

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

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

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

88.若i为整型变量,则以下循环执行的次数是(B )

for(i=2;i==0;) printf(“%d”,i--);

A 无限次

B 0次

C 1次

D 2次

89.以下for 循环的执行次数是(C )

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

A 是无限循环

B 循环次数不定

C 执行4次

D 执行3次

90.下列循环语句中有语法错误的是D

A while(x=y) 5;

B while(0) ;

C do 2;while(x==b);

D do x++ while(x==10);

91.有关语句for(;;);执行过程的描绘中,正确的是 C

a) A 不执行任何操作

B 空循环一次

C 无休止地执行循环体

D 上都不对

92.下面有关for循环的正确描述是D

A for循环只能用于循环次数已经确定的情况

B for循环是先执行循环体语句,后判定表达式

C 在for循环中,不能用break语句跳出循环体

D for循环体语句中,可以包含多条语句,但要用花括号括起来

93.与语句 while(!x);等价的语句是A

A while(x==0);

B while(x!=0);

C while(x!=1);

D while(~x);

94.以下for循环是( D)

for(x=0,y=0;(y!=123)&&(x<3);x++);

A 无限循环

B 循环次数不定

C 执行4次

D 执行3次

95.下列关于switch语句和break语句的结论中,正确的是B

A break语句是switch语句中的一部分

B 在switch语句中可以根据需要使用或不使用break语句

C 在switch语句中必须使用break语句

D switch语句是break语句的一部分

96.以下叙述中正确的B

A 调用printf函数时,必须要有输出项

B 使用putchar函数时,必须在之前包含头文件stdio.h

C 在C语言中,整数可以以十二进制、八进制或十六进制的形式输出

D 调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码

97.有以下程序段

int n,t=1,s=0;

scanf("%d",&n);

do{ s=s+t; t=t-2; }while (t!=n);

为使此程序段不陷入死循环,从键盘输入的数据应该是D。

A 任意正奇数

B 任意负偶数

C 任意正偶数

D 任意负奇数

98.若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值

(c大于0)

s=a;

for(b=1;b<=c;b++) s=s+1;

则与上述程序段功能等价的赋值语句是B

A s=a+b;

B s=a+c;

C s=s+c;

D s=b+c;

99.有如下程序 B

main( )

{ int x=23;

do

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

while(!x);

}

该程序的执行结果是

A 321

B 23

C 不输出任何内容

D 陷入死循环

100.以下循环体的执行次数是(C)。

main()

{ int i,j;

for(i=0,j=1; i<=j+1; i+=2, j--)printf("%d \n",i);

}

A 3

B 2

C 1

D 0

101.以下不是死循环的语句为(A)

A for(y=1,x=1;x>=++y;x++)

B for(;;x++)

C while(1){x++;}

D for(i=10;;i--)

102.在C语言中,假定a和b为int型变量,则执行以下语句后b的值为D( )。 a=1; b=10; do { b-=a; a++; } while (b--<0);

A 9

B -2

C -1

D 8

103.在C语言中,以下的for循环( )。for(x=0,y=0;

(y!=123)&&(x<4); x++ );C

A 是无限循环

B 循环次数不定

C 执行4次

D 执行3次

104.在TC中,与语句 "while(!x)" 等价的语句是(A)。

A while (x==0)

B while (x!=0)

C while (x!=1)

D while (~x)

105.在C语言中,设已定义k为int整型变量,则有下面while循环执行(C)次。k=10;while(k==0) k=k-1;

A 10

B 无限

C 0

D 1

106.在C语言中,当do-while语句中的条件为(C)时,结束该循环。

A TURE

B 1

C 0

D 非0

结构体、共用体

107.下列说法中正确的是B

A 在程序中定义一个结构体类型,将为此类型分配存储空间。

B 结构体类型的成员名可与结构体以外的变量名相同。

C 结构体类型必须有名称。

D 结构体内的成员不可以是结构体变量。

108.当说明一个结构体变量时系统分配给它的内存是A

A 各成员所需内存量的总和;

B 结构体中第一个成员所需的内存量;

C 成员中内存量最大者所需的容量;

D 结构体中最后一个成员所需的内存量;

109.当说明一个共用体变量时系统分配给它的内存是C

A 各成员所需内存量的总和;

B 第一个成员所需的内存量;

C 成员中内存量最大者所需的容量;

D 最后一个成员所需的内存量;

110.设有以下说明语句

typedef struct

{ int n;

char ch[8];

}PER;

则下面叙述中正确的是B

A PER 是结构体变量名

B PER是结构体类型名

C typedef struct 是结构体类型

D struct 是结构体类型名

111.以下选项中不能正确把cl定义成结构体变量的是B

A typedef struct

{ int red;

int green;

int blue;

} COLOR;

COLOR cl;

B struct color cl

{ int red;

int green;

int blue;};

C struct color

{ int red;

int green;

int blue;

} cl;

D struct

{ int red;

int green;

int blue;

} cl;

112.设有如下定义:

struck sk

{ int a;

float b;

}data;

int *p;

若要使P指向data中的a域,正确的赋值语句是(C)。

A p=&a;

B p=data.a;

C p=&data.a;

D *p=data.a;

113.设有以下说明语句

struct ex

{ int x ; float y; char z ;} example;

则下面的叙述中不正确的是B

A struct结构体类型的关键字

B example是结构体类型名

C x,y,z都是结构体成员名

D struct ex是结构体类型

114.有如下定义

struct person{char name[9]; int age;};

strict person class[10]={“Johu”, 17,

“Paul”, 19

“Mary”, 18,

“Adam 16,};

根据上述定义,能输出字母M的语句是 D

A prinft(“%c\n”,class[3].mane);

B pfintf(“%c\n”,class[3].name[1]);

C prinft(“%c\n”,class[2].name[1]);

D printf(“%^c\n”,class[2].name[0]);

115.若程序中有下面的说明和定义

struct abc

{int x;char y;}

struct abc s1,s2;

则会发生的情况A

A 编译出错

B 程序将顺利编译`连接`执行

C 能顺利通过编译`连接`但不能执行

D 能顺利通过编译`但连接出错

116.设有定义:

struct complex

{ int real,unreal;} data1={1,8},data2;

则以下赋值语句中错误的是B

A data2=data1;

B data2=(2,6);

C data2.real=data1.real;

D data2.real=data1.unreal;

i.逻辑运算

117.C语言中,逻辑“真”等价于C

A 大于零的数

B 大于零的整数

C 非零的数

D 非零的整数

118.C语言的 switch 语句中,case 后B

A 只能为常量

B 只能为常量或常量表达式

C 可为常量及表达式或有确定值的变量及表达式

D 可为任何量或表达式

119.main()

{ int a,b,d=241;

a=d/100%9;

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

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

}B

A 6,1

B 2,1

C 6,0

D 2,0

120.若有int x=10,y=20,z=30;以下语句执行后x,y,z的值是( B)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

121.

以下程序段的输出结果是。B

int 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=30 c=10

C a=50 b=30 c=10

D a=50 b=30 c=50

122.已知int i=10;表达式"20-0<=i<=9"的值B

A 0

B 1

C 19

D 20

123.设有int i, j, k; 则表达式i=1,j=2,k=3, i&&j&&k 的值为A

A 1

B 2

C 3

D 0

124.逻辑运算符两侧运算对象的数据类型D

A 只能是0或1

B 只能是0或非0正数

C 只能是整型或字符型数据

D 可以是任何类型的数据

125.能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假”

的表达式是C

A (x>=1)&&(x<=10)&&(x>=200)&&(x<=210)

B (x>=1)||(x<=10)||(x>=200)||(x<=210)

C (x>=1)&&(x<=10)||(x>=200)&&(x<=210)

D (x>=1)||(x<=10)&&(x>=200)||(x<=210)

126.已知x=43,ch=’a’,y=0;则表达式(x>=y&&ch<’b’&&!y)的值B

A 0

B 1

C 语法错误

D 假

127.执行下列语句后a的值为B

int a=5,b=6,w=1,x=2,y=3,z=4;

(a=w>x)&&(b=y>z);

A 5

B 0

C 2

D 1

128.若w=1,x=2,y=3,z=4,则表达式w

A 4

B 3

C 2

D 1

129.设有int a=2,b;则执行b=a&&1;语句后,b的结果是B

A 0

B 1

C 2

D 3

130.当a=5,b=2时,表达式a= =b的值为C

A 2

B 1

C 0

D 5

131.下列表达式中能表示a在0到100之间的B

A a>0&a<100

B !(a<0||a>100)

C 0

D !(a>0&&a<100)

132.已知:int x,a,b;下列选项中错误的if语句是B

A if(a=b) x++;

B if(a<=b) x++;

C if(a-b) x++;

D if(x) x++;

133.当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是(D)。

A k%2

B k%2==1

C (k%2)!=0

D !k%2==1

134.设有定义:int a=2,b=3,c=4;,则以下选项中值为0的表达式是A

A (!a==1)&&(!b==0)

B a

C a && b

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

135.以下4个选项中,不能看作一条语句的是D

A {;}

B a=0,b=0,c=0;

C if(a>0);

D if(b==0) m=1;n=2;

136.以下非法的赋值语句是C

A n=(i=2,++i);

B j++;

C ++(i+1);

D x=j>0;

137.已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2的值是D

A 6

B 0

C 2

D 1

138.有如下程序

main0

{ int a=2,b=-1,c=2;

if(a

if(b<0) c=0;

else c++

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

}

该程序的输出结果是C

A 0

B 1

C 2

D 3

139.能表示x为偶数的表达式是A

A x%2==0

B x%2==1

C x%2

D x%2!=0

140.下面的程序段中共出现了几处语法错误?C

int a,b;

scanf("%d",a);

C语言程序设计试题及答案

C语言程序设计 一、选择题(共40分,每小题2分) 1、以下叙述不正确的是(D) A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个main函数 C、C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 2、下列四个选项中,是不合法的用户标识符的选项是(B) A、abc B、12AC C、sun D、A 3、设有语句inta=4;则执行了语句a+=a-=a*a后,变量a的值是(A) A、-24 B、0 C、4 D、16 4、下列运算符中优先级最高的是(B) A、< B、+ C、&& D、== 5、在C语言中,运算对象必须是整型数的运算符是(A) A、% B、/ C、%和/ D、+ 6、以下关于运算符的优先顺序的描述正确的是(C) A、关系运算符<算术运算符<赋值运算符<逻辑与运算符 B、逻辑与运算符<关系运算符<算术运算符<赋值运算符 C、赋值运算符<逻辑与运算符<关系运算符<算术运算符 D、算术运算符<关系运算符<赋值运算符<逻辑与运算符 7、在C语言中,如果下面的变量都是int类型,则输出的结果是(C) sum=pad=5;pAd=sum++,pAd++,++pAd; printf(“%d\n”,pad); A、7 B、6 C、5 D、4 8、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是(B)

A、INPUTx、y、z; B、scanf(“%d%d%d”,&x,&y,&z); C、scanf(“%d%d%d”,x,y,z); D、read(“%d%d%d”,&x,&y,&z); 9、假定从键盘输入23456<回车>,下面程序的输出结果是:(C)voidmain() {intm,n; scanf(“%2d%3d”,&m,&n); printf(“m=%dn=%d\n”,m,n); } A、m=23n=45 B、m=234n=56 C、m=23n=456 D、语句有错误 10、若运行时,给变量x输入12,则以下程序的运行结果是(A)main() {intx,y; scanf(“%d”,&x); y=x>12?x+10:x-12; printf(“%d\n”,y); } A、0B、22C、12D、10 11、C语言中while和do-while循环的主要区别(A) A、do-while的循环体至少执行一次 B、while的循环控制条件比do-while的循环控制条件严格 C、do-while允许从外部转到循环体内 D、do-while的循环体不能是复合语句 12、以下对二维数组的正确说明的语句是(C) A、inta[3][] B、floata(3,4) C、doublea[3][4] D、floata(3)(4) 13、以下程序的输出结果是(C) main()

C语言程序设计第三版习题库答案

C 语言程序设计(第三版)习题库 1、设圆半径r=,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf 输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。 #include<> main(){ floatr,h,C1,Sa,Sb,Va,Vb; scanf(__”%f ”__,&r); scanf(”%d ”,__&h _);; C1=2**r; Sa=*r*r; Sb=4*Sa; Va=4**r*r*r/3; Vb=Sa*h; printf(___”Cl=%.2fSa=%.2fSb=%.2fVa=%.2fVb=%.2f ”,Cl,Sa,Sb,Va,Vb ); } 2、输入一个华氏温度,要求输出摄氏温度。公式为c=5(F-32)/9 输出要求有文字说明,取位2小数。 #include<> main(){ floatF,c; scanf("%f",&F); ____c=5*(F-32)/9______; printf("c=%.2f",c); } 3、有一函数:?? ???≥-<≤-<=10113101121x x x x x x y 写一程序,输入x 值,输出y 值。 #include<> main(){ intx,y; printf("输入x :"); scanf("%d",&x); if(x<1){/*x<1*/ y=x; printf("x=%3d,y=x=%d\n",x,y);

}elseif(____x<10_______){/*1≤x-10*/ _____y=2*x-1_______; printf("x=%3d,y=2*x-1=%d\n",x,y); }else{/*x≥10*/ y=3*x-11; printf("x=%3d,y=3*x-11=%d\n",x#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d\n",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }scanf("%d",&x);

C语言常见复习题(选择填空)及参考答案

C语言常见复习题及参考答案 一、选择题 1.下述标识符中,()是合法的用户标识符。 A.A#C B.getch C.void D.ab* 2.在C语言中,字符型数据在内存中是以()形式存放的。 A.原码 B.BCD码 C.反码 D.ASCII码 3.以下选项中不合法的用户标识符是()。 A.abc.c B.file C.Main D.PRONTF 4.以下选项中不合法的用户标识符是()。 A.123 B.printf C.Anbsp; D.Dim 5.可以在C语言程序中用做用户标识符的一组标识符是()。 A.void B.as-b3 C.for D.2c define -123 -abc Do WORD If cas SIG 6.在以下各组标识符中,合法的用户标识符是(1)、(2)、(3)。 (1)A.001 B.table_1 C.0_t D.k% Int t*.1 W10 point (2)A.Fast_ B.void C.pbl D. Fast+Big abs fabs beep (3)A.xy_ B.longdouble C.*p D.CHAR 变量1 signed history Float 7.()是构成C语言的基本单位。 A.函数 B.过程 C.子程序 D.子例程 8.若有说明:char s1='\067';char s2="1";char s3='1';则s1中(1),s2中(2),s3中(3)。

(1).A.包含3个字符 B.包含2个字符 C.包含1个字符 D.无定值,说明不合法 (2).A.包含1个字符 B.包含2个字符 C.包含3个字符 D.无定值,说明不合法 (3).A.包含1个字符 B.包含2个字符 C.包含3个字符 D.无定值,说明不合法 9.若x为int型变量,则执行以下语句后,x的值为 x=6; x+=x-=x*x A.36 B.-60 C.60 D.-24 10.在C语言中,char 型数据在内存中是以()形式存储的。 A.原码 B.补码 C.ASCII码 D.反码 11.以下运算符中优先级最低的算符为(),优先级最高的为()。 A.&& B.& C.|= D.|| E.?: F.!= 12.若有运算符>、*=、<<、%、sizeof,则它们按优先级(由低至高)的正确排列顺序为 A.*= << > % sizeof B.<< *= > % sizeof C.*= > << sizeof % D.*= > << % sizeof 13.若有以下类型说明语句 char w; int x; float y; double z; 则表达式w*x+z-y 的结果是()类型。 A.float B.char C.int D.double 14.若w,x,y,z 均为int 型变量,则执行下面的语句后, w=(1), x=(2), y=(3), z=(4)。 w=5; x=4; y=w++*w++*w++; z=--x*=--x*--x;

c语言程序设计试题答案

习题7 7.1选择题。 (1)下列对字符串的定义中,错误的是: A 。 A) char str[7] = "FORTRAN"; B) char str[] = "FORTRAN"; C) char *str = "FORTRAN"; D) char str[] = {'F','O','R','T','R','A','N',0}; (2)以下程序段的输出结果是:____D_________ char a[] = "ABCDE" ; char *p = NULL; for (p=a; p main() { static char a[5]; a = "abcde" ; printf("%s\n", a); }

B) #include <> main() { static char a[7]= "goodbye!"; printf("%s\n", a) ; } C) #include <> main() { char a[5] = "abcde"; printf("%s\n", a) ; } D) #include <> main() { static char a[]="abcde"; printf("%s\n", a) ; } (4)阅读下列函数,函数功能为___A_____。 void Exchange(int *p1, int *p2) { int p; p = *p1; *p1 = *p2; *p2 = p; } A)交换*p1和*p2的值B)正确,但无法改变*p1和*p2的值 C)交换*p1和*p2的地址 D)可能造成系统故障

C语言程序设计试题集

第一章基础知识 一.填空 1. 每个C程序都必须有且仅有一个________ 函数。 2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C语言是由________组成的。 7. C语言的函数可分为主函数main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。

程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对 象,也可以用标号和符号来代替地址、常量和变量。 13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14. C程序的执行均是由执行_________开始。 15. 函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C 语句 组成的执行部分。 16. C语言程序中一条简单语句是以________字符作为结束符的。 17. C语言是结构化、________的程序设计语言。

C语言程序设计程序填空题库及答案

程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【】下面程序的功能是不用第三个变量,实现两个数的对调操作。#include <> main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ①; b= ②; a= ③; printf("a=%d,b=%d\n",a,b); }

【】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include <> double pi(long n) { double s=; long i; for(i=1;i<=n;i++) s=s+ ①; return( ②); } 【】下面的程序的功能是求一维数组中的最小元素。 findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p

C语言考试题库及答案复习整理

C 语言理论上机考试选择题部分(共200题) 1、下面程序的输出是___D______ #include void main() { int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k); } A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=b 2、在下列选项中,不正确的赋值语句是__D______. A) ++t; B) n1=(n2=(n3=0)); C) k=i=j; D) a=b+c=1; 3、下面合法的C 语言字符常量是______A____. A) '\t' B) "A" C) 65 D) A 4、表达式: 10!=9的值是 ________D____. A) true B) 非零值 C) 0 D) 1 5、C 语言提供的合法的数据类型关键字是_____B____. A) Double B) short C) integer D) Char 6、字符(char)型数据在微机内存中的存储形式是__D__. A) 反码 B) 补码 C) EBCDIC 码 D) ASCII 码 7、C 语言程序的基本单位是_____C______. A) 程序行 B) 语句 C) 函数 D) 字符 8、设 int a=12,则执行完语句

a+=a-=a*a 后,a 的值是____D____ A) 552 B) 264 C) 144 D) -264 9、执行下面程序中的输出语句后,输出结果是____B__. #include void main() {int a; printf("%d\n",(a=3*5,a*4,a+5)); } A) 65 B) 20 C) 15 D) 10 10、下面程序的输出是____B______. #include void main() {int x=023; printf("%d\n",--x); } A) 17 B) 18 C) 23 D) 24 11、下面程序的输出的是_____C____. #include void main() {int x=10,y=3; printf("%d\n",y=x/y); } A) 0 B) 1 C) 3 D) 不确定的值 12、已知字母A 的ASCII 码为十进制的65,下面程序的输出是______A_____. #include void main() {char ch1,ch2; ch1='A'+'5'-'3'; ch2='A'+'6'-'3'; printf("%d,%c\n",ch1,ch2); } A) 67,D B) B,C C) C,D D) 不确定的值 13、若要求在if 后一对圆括号中表示a 不等于0的关系,则能正确表示这一关系的表达式为____D__. A) a<>0 B) !a C) a=0 D) a

C语言程序设计期末考试选择题题库

第一章1、一个C程序可能出现的错误有(A)A,以上都包括 B,逻辑错误 C,运行错误 D,语法错误 2、C程序中一般可以包含几个函数(D) A.1个 B.多个 C.0个 D.至少一个 3.C语言属于程序设计语言的哪个类别(B) A.机器语言 B.高级语言 C.面向对象语言 D.汇编语言 4.以下关于C语言描述错误的是(B) A.一个C程序总是从main函数开始执行 B.一个C程序可以包含多个main函数 C.每个语句的最后必须有一个分号 D.C语言的注释符是以"/*"开始并以"*/"结束

5、在调试过程中,逻辑错误是指(C) A.所书写的语句,不符合C的语法。 B.在从obj生成exe文件的过程中,如果函数名书写错误,可能产生的错误。 C.程序的运行结果不符合题目要求。 D.在exe文件的执行过程中,产生运行异常。 第二章 1、16位的二进制数可以表示的整数的范围是(C) A.[-32768,32768] B.[-32767,32768] C.[-32768,32767] D.[-32767,32767] 2、C语言中的实型数据包括(A) A.float和double B.int和float C.float和char D.int和double 3、以下不合法的字符常量是(C) A.'2' B.'A' C.'ab'

4、在以下各组标识符中,均是合法的C语言标识符是(A) A.abc,A_4d,_student,xyz_abc B.auto,12-a,a_b,ab5.x C.A_4d,_student,xyz_abc,if D.abc,a_b,union,scan 5、若有定义:chara;intb;floatc;doubled; 则表达式a*b+d-c值的类型为(A) A.char B.float C.double D.int 6、类型修饰符unsigned不能修饰(D) A.char B.longint C.int D.float 7、若有定义:doublex=1,y; 执行语句,则y的值是(B) A,1 B,2.0

C语言程序设计习题集(3)

指针 一单项选择题(每题2分,共40分) 1 以下叙述中错误的是_B__。 A 在程序中凡是以“#”开始的语句行都是预处理命令行 B 预处理命令行的最后不能以分号表示结束 C #define MAX是合法的宏定义命令行 D C程序对预处理命令行的处理是在程序执行的过程中进行的 2 若程序中有宏定义行:#define N 100 ,则以下叙述中正确的是__B_。 A 宏定义行中定义了标识符N的值为整数100 B 在编译程序对C源程序进行预处理时用100替换标识符N C 对C源程序进行编译时用100替换标识符N D 在运行时用100替换标识符 3 若有如下宏定义: #define N 2 #define y(n) ((N+1)*n) 则执行下列语句:z=4*(N+y(5));后的结果是_B__。 A 语句有错误 B z值为68 C z值为60 D z值为180 4 以下程序运行后的输出结果是_A__。 #define F(X,Y) (X)*(Y) main() { int a=3,b=4; printf("%d\n",F(a++,b++)); } A 12 B 15 C 16 D 20 5 以下程序运行后的输出结果是_C__。 #define f(x) (x*x) main() { int i1,i2; i1=f(8)/f(4); i2=f(4+4)/f(2+2); printf("%d,%d\n",i1,i2); } A 64,28 B 4,4 C 4,3 D 64,64 6 若已定义a为int型变量,则__D_是对指针变量p的正确说明和初始化。 A int p=&a; B int *p=a; C int *p=*a; D int *p=&a; 7 已知下列说明语句: static int a[]={2,4,6,8} static int *p[]={a,a+1,a+2,a+3}; int **q; q=p; 则表达式**(q+2)的值是_A__。 A 6 B 2 C 4 D 8 8 下面是一个初始化指针的语句:int *px=&a;,其中指针变量的名字应该__C_。 A *px B a C px D &a 9 若指针px为空指针,则_B__。。

C语言程序设计 复习题库

一、填空 1. break 语句通常用于switch // 循环中。 2. C 语言对数组下标的引用一般从0 开始。 3. C 语言中,一个函数一般由两个部分组成,它们是函数首部和函数体。 4. C 标准库函数中,字符串的处理函数包含在string.h 头文件中,数学函数包含在 math.h 头文件中。 5. C 程序的运行需要经过编译和链接两步进行。 6. C 程序中用/**/ 括起来的内容是程序的注释语句。 7. C 语言函数是由函数首部和函数体两部分组成。其中,函数首部包括函数类型、函数 名和函数参数。 8. C 语言提供的三种逻辑运算符是& ,// ,!。 9. C 语言源程序经过编译后,生成文件的后缀名是.c 。 10. C 语言源程序经过连接后,生成文件的后缀名是.exe 。 11. C 语言中,关系表达式和逻辑表达式的值是1//0 。 12. C 语言中的标识符只能由三种字符组成,他们是字母,数字,下划线。 13. C 语言中的每条基本语句以;作为结束符,每条复合语句以} 作为结束符。 14. C 语言中函数返回值的类型是由函数类型决定的。 15. C 源程序的基本单位是函数。 16. int a = 2, b = 3; 表达式 a > b ? a ++ : ++ b 的值为 4 。 17. int x=1,y=1,z=1; x+=y+=z; 则表达式xb>c 的值是0 。 19. 定义一个指针p,它指向一个有 6 个整型元素的一维数组,定义语句为int *p=a[6] ; 。 20. 定义一个指针数组p ,它有 4 个元素,每个指针指向一个整型数据,定义语句为int *p[4]; 。 21. 赋值语句是由= 加上一个分号构成。 22. 构成数组的各个元素必须具有相同的类型。 23. 关系表达式x+y>5 的相反表达式为x+y !>5 。 24. 函数strlen("1234\0xy") 的值为:9 。 25. 函数的形参在未被调用前不分配空间,函数形参的数据类型要和实参相同。 26. 函数体用{ 开始,用} 结束。 27. 结构化设计中的三种基本结构是顺序,选择,循环。

c语言程序设计期末试题B(含答案)

c语言程序设计期末试题B(含答案) 一单项选择题(每小题1分,共10分) 1. A 2. C 3. D 4. A 5. B 1.以下4组用户定义标识符中,全部合法的一组是() A)_total clu_1 sum B)if -max turb C)txt REAL 3COM D)int k_2 _001 2.以下程序的输出结果是() #include main( ) { int a = 1, b = 2, c = 3; printf(“%d”, c>b>a); } A) 2 B) 1 C) 0 D) 3 3.以下正确的叙述是() A) 在C语言中,main函数必须位于文件的开头 B) C语言每行中只能写一条语句 C) C语言本身没有输入、输出语句 D) 对一个C语言进行编译预处理时,可检查宏定义的语法错误 4.设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据的是() A)scanf("%d",pa); B)scanf("%d",a); C)scanf("%d",&pa); D)scanf("%d",*pa); 5.若有以下程序段, int c1=1,c2=2,c3; c3=1.0/c2*c1; 则执行后,c3中的值是() A) 0 B) 0.5 C) 1 D) 2 6. D 7. D 8. A 9. C 10. D 6.能正确表示逻辑关系:“a≥=10或a≤0”的C语言表达式是() A) a>=10 or a<=0 B)a>=0|a<=10 C)a>=10 &&a<=0 D)a>=10‖a<=0 7.执行下面的程序时,将1、2、3、4分别赋给a、b、c、d,正确的输入是() main( ) { int a,b,c,d; scanf(“%d,%d,%d%d”,&a,&b,&c,&d); … } A)1 2 3 4 B)1 2 3,4 C) 1,2,3,4 D) 1,2,3 4

大学C语言考试题库及答案

精选考试类应用文档,如果您需要使用本文档,请点击下载,另外祝您生活愉快,工作顺利,万事如意! 大学C语言考试题库及答案 姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题库吧。加油! 一单项选择题库 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’ ’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行

B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是(B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是(C )。 A)%x B)a+b C)a123 D)123 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。

C语言程序设计模拟试题1附答案

《C语言程序设计》模拟试卷一 一、单项选择题(每题2分,共30分) 1、下列有关C语言的叙述中错误的是()。 A) C语句必须以分号结束 B) 任何一个C程序中有且只有一个主函数 C) 复合语句在语法上可被看作一条语句 D) C程序中对数据的任何操作都可由运算符实现 2、以下不能定义为用户标识符的是()。 A) MAIN B) _HJ C) 2ong D) LINE1 3、下列符号中用来表示C语言中的回车换行的是()。 A) \r B) \n C) \b D) \t 4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为()。 A) 1, 1 B) 1, 2 C) 2, 2 D) 2, 1 5、已知ch为字符型变量,下面表达式中正确的是()。 A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ” 6、以下能正确定义一维数组的是()。 A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”; C) char a[ ]=”012345”;D) char a[5]={0,1,2,3,4,5}; 7、以下语句中能正确定义变量并赋初值的是()。 A) char c=65; B) float f=f+1.1; C) double x=12.3e3.6; D) int m=n=2.0; 8、在执行下列程序时输入:1357924,则程序的运行结果为()。 main( ) { int x, y; scanf(“%2d%2d”,&x,&y); printf(“%2d”,x*y); } A) 13 B) 1357 C) 74 D) 741 9、执行下列程序段后输出的结果是()。

C语言程序设计期末考试试题(含答案)

C语言程序设计 期末考试试题及其答案 一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是( ) A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是( ) A、ABC B、abc C、a_bc D、ab.c 3、一个C语言程序是由( ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( ) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( ) A、int B、float C、double D、不确定 6、在C语言中,char型数据在内存中的存储形式是( ) A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是( ) 。 #include main(){ int x; float y; scanf("%3d%f",&x,&y); } A、12345 B、123 C、45 D、345 8、若有以下定义int a,b; float x,则正确的赋值语句是( ) A、a=1,b=2 B、b++; C、a=b=5 D、b=int(x); 9、以下程序的执行结果是( )

#include { int i=10,j=10; printf("%d,%d\n",++i,j--); } A、11,10 B、9,10 C、11,9 D、10,9 10、巳知字母A的ASCII码是65,以下程序的执行结果是( ) #include main() { char c1='A',c2='Y'; printf("%d,%d\n",c1,c2); A、A,Y B、65,65 C、65,90 D、65,89 11、下列运算符中优先级最高的是( ) A、< B、十 C、% D、!= 12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。 A、’x’&&’y’ B、x<=y C、x||y+z&&y-z D、!((x<y)&&!z ||1) 13、判断char型变量cl是否为小写字母的正确表达式为( ) A、’a’<=c1<=f’z’ B、(c1>=a)&&(c1<=z) C、(‘a’>=c1) (‘z’<=c1) D、(c1>=’a’)&&(c1<=’z’) 14、字符串"a"在内存中占据的字节个数为( ) A、0 B、 1 C、 2 D、 3 15、下面有关for循环的正确描述是( ) A、for循环只能用于循环次数已经确定的情况 B、for循环是先执行循环体语句,后判定表达式 C、在for循环中,不能用break语句跳出循环体 D、for循环体语句中,可以包含多条语句,但要用花括号括起来 16、下面程序的运行结果是( ) #include main() {int num=0; while(num<=2) {num++; printf(“%d ,num); } } A、 1 B、 1 2 C、 1 2 3

(完整版)C语言程序设计选择题库及答案

单项选择题 导读:单项选择题要求从给出的四个备选答案中,选出一个最符合题意的答案。本类习题主要检查对C语言基本概念的掌握情况,读者可根据学习进度选做部分习题。在完成习题的过程中,不但要选出正确的答案,而且要清楚不正确的选项错在何处,以加深对概念的理解。对于掌握不准的问题, 应该通过上机实验来检验。 【1.1】以下不正确的C语言标识符是____。 A) int B) a_1_2 C) ab1exe D) _x 【1.2】以下是正确的C语言标识符是____。 A) #define B) _123 C) %d D) \n 【1.3】下列四组字符串中都可以用作C语言程序标识符的一组是。 ??? A) print B) i\am C) Pxq D) str_l ??? _3d one_half My->book Cpp ??? oodb start$it line# pow ??? aBc 3pai His.age while

【1.4】下面各选项组中,均是C语言关键字的组是。 A) auto,enum,include B) switch,typedef,continue C) signed,union,scanf D) if,struct,type 【1.5】下列不属于C语言关键字的是。A) default B) register C) enum D) external 【1.6】C语言程序从main()函数开始执行,所以这个函数要写在____。 A) 程序文件的开始B) 程序文件的最后 C) 它所调用的函数的前面D) 程序文件的任何位置 【1.7】下列关于C语言的叙述错误的是____ A) 大写字母和小写字母的意义相同 B) 不同类型的变量可以在一个表达式中 C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型 D) 同一个运算符号在不同的场合可以有不同的含义

C语言程序设计试题集与答案解析

一.填空 1. 每个C程序都必须有且仅有一个________ 函数。 2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C语言是由________组成的。 7. C语言的函数可分为主函数main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10. 程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对 象,也可以用标号和符号来代替地址、常量和变量。

13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14. C程序的执行均是由执行_________开始。 15. 函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C 语句 组成的执行部分。 16. C语言程序中一条简单语句是以________字符作为结束符的。 17. C语言是结构化、________的程序设计语言。 18. 由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19. 用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以 说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。 20.

C语言程序设计考试题库

一、判断题 1、所谓常量,就是在程序运行过程中其值可以改变的量。() 2、一个C程序可以由多个源程序文件构成,但其中只能有一个main()函数。() 3、在C语言中do-while 语句和for循环均是先执行循环体语句,再判断表达式。() 4、在函数调用中将变量的地址作为实参传递给对应形参时,实现的是单向的值传递。() 5、C语言中所有字符串都是以‘\0’结束的。() 6、do-while构成的循环语句中的循环体最少执行1次。() 7、数组名在C语言中表示的是数组的首地址。() 8、使用gets()函数输入字符串时可以在字符串中输入空格。() 9、算术运算符中‘/’的优先级高于‘%’。() 10、char a[5];该语句表明数组a中的第五个元素为a[5]。() 11、C语言源程序文件的扩展名均为.c。() 12、char a[5];数组a中有a[1]、a[2]、a[3]、a[4]、a[5]共5个元素。() 13、C语言程序区分大小写,字符常量必须定义为大写。() 14、若int i=10,j=2;则执行i*=j+8;后i的值为28。() 15、若int x=100,y=200;则语句printf("%d",(x,y));输出结果为100。() 16、c语言中的标识符只能由字母,数字和下划线三种字符组成。() 17、函数getchar()的作用是:输出一个字符。() 18、一个C语言程序总是从第一个函数开始执行。() 19、在c语言中,char型数据在内存中是以ASCII码形式存储的。() 20、在C语言中switch语句必须使用break语句。() 二、选择题 1、以下说法正确的是()。 A、C语言程序总是从第一个函数开始执行。 B、C语言程序中要调用的函数必须在main()函数中定义。 C、C语言程序总是从main()函数开始执行。

(完整版)C语言选择题(附答案)

第一单元C语言概述 一、选择题 1、C语言中主函数的个数为(A)个。 A)1 B)2 C)无穷个D)任意个 2、以下关于C语言描述错误的是(D)。 A)一个C程序总是从main函数开始执行T B)每个语句和数据声明的最后必须有一个分号T C)C语言的注释符是以“/*”开始并以“*/”结束的T D)一个C程序可以包含多个main函数F 3、C 语言源程序文件后缀为(C )。 A).EXE B).OBJ C).C D).ASM 4、C语言是由(C )组成的。 A)子程序B)主程序与子程序C)函数D)过程 5、C语言属于(B )语言 A)机器语言B)汇编语言C)高级语言D)面向对象语言 第二单元C语言基础 一、选择题 1、C语言中普通整型变量int在内存中占(B )字节。 A)1 B)2 C)3 D)4 2、下列不是C语言基本数据类型的是(A )。 A)字符型B) 整型 C) 浮点型D) 结构体 3、有关自增、自减运算,以下只有(D )是正确的。 A) ---f B) ++78 C) a—b++ D) d++ 4、已知A=7.5,B=2,C=3.6,表达式(A>B && C>A) || (AB)的值是(A )。 A)0 B)10 C)1 D)5

5、若有x=1,y=2,z=3,则表达式(x=‘A’)&(ch<=‘Z’) C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch) 7、判断整型变量digit是否为数字的正确表达式是(C )。 A) ‘0’<=ch<=‘9’B) (ch>=‘0’)&(ch<=‘9’) C) (ch>=‘0’)&&(ch<=‘9’) D) (‘0’<= ch)AND(‘9’>= ch) 8、一个C程序的执行是从(A )。 A)本程序的main函数开始,到main函数结柬 B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C)本程序的main函数开始,到本程序文件的最后一个函数结束 D)本程序文件的第一个函数开始,到本程序main函数结束 9、在以下标识符中,合法的是(C ) A)if B)0xy C)_xy D)case 10、C语言中各种类型的数据其实决定了占用内存的字节数。float占(C )。 A)一字节B)二字节C)四字节D)八字节 11、下列各选项中,(A )是有效的标识符。 A)ab B)3day C)day-3 D)#abc 12、以下叙述正确的是(C ) A) 在C程序中,每行只能写一条语句 B) 若a是实型变量,C程序中不允许a=10这种赋值。 C) 在C程序中,%是只能用于整数运算的运算符 D) 在C程序中,无论是整数还是实数,没有什么区别 13、有输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,则正确的数据输入方式是( B )。 A)132↙B)1,3,2↙ C)a=1 b=3 c=2↙D)a=1,b=3,c=2↙ 14、设整型变量a为5,使b不为2的表达式是( C )。 A)b = a/2 B)b = 6-(--a) C)b=a%2 D)b=a>3?2:1

相关主题
文本预览
相关文档 最新文档