admin 管理员组

文章数量: 887021


2023年12月16日发(作者:将汇编语言编写的程序)

C语言试题库(成教版2012)

一、填空题

1、一个C程序有且只有一个 main 函数

2、表达式10%3的结果为 1

3、表达式10/3的结果为 3

4、表达式15%7的结果为 1

5、设int m=1,n=2,则++m==n的结果是 1

6、在16位PC环境下,字符常量‘a’在内存中应占1 个字节,字符串常量“a”应占 2

个字节。

7、一个C语言的语句至少应包含一个 分号 。

8、若有以下定义,则执行表达式y+=y-=m*=y后的y值是 -16

int m=5,y=2;

9、程序设计的三大结构是 顺序结构 、 选择结构 、 循环结构 。

10、执行下列语句后,a=12,a+=a-=a*a,a的值是 -264

11、C 程序注释是由 /* 和 */ 所界定的文字信息组成的。

12、C源程序的基本单位是 函数 。

13、函数是具有相对独立功能的 程序段 。

14、C语言中的标识符可以由3种字符组成,它们是:英文字母、下划线、数字 ,并且第一个字符必须是字母或 下划线 。

15、以下程序执行后的输出结果是 -4 。

#include

void main()

{

}

16、以下程序执行后的输出结果是 5,0,3 。

#include

void main()

{

int n=0,m=1,x=2;

if(!n) x=x-1;

if(m) x=x-2;

if(x) x=x-3;

cout<

}

int a=4,b=3,c=5,t=0;

if(a

if(a

cout<

17、以下程序执行后的输出结果是 20,0 。

#include

void main()

{

}

18、若运行程序时输入数据为:60,则以下程序执行后的输出结果是 60 60 60 。

#include

void main()

{

}

19、以下程序执行后的输出结果是 0 。

#include

void main()

{ int a=5,b=4,c=3,d; d=(a>b>c);cout<

20、以下程序执行后的输出结果是 0 。

void main()

{ int t=1,i=5; for(; i>=0;i--) t*=i; cout<

21、以下程序执行后的输出结果是 1,3,2 。

#include

void main()

{ int i,m=0,n=0,k=0;

for(i=9;i<=11;i++)

switch(i/10)

{

case 0:m++;n++;break;

case 10:n++;break;

int a;

cin>>a;

if(a>50) cout<

if(a>40) cout<

if(a>30) cout<

int x=10,y=20,t=0;

if(x==y) t=x;x=y;y=t;

cout<

}

default:k++;n++;

cout<

}

22、执行以下程序后,输出’#’号的个数是 6个 。

#include

void main()

{

}

23、以下程序执行后的输出结果是 17 。

#include

void main()

{ int x=15;

while(x>10 && x<50) {x++;if(x/3) {x++;break;} else continue;}

cout<

}

24、以下程序执行后的输出结果是 5 。

#include

void main()

{

}

int s,i;for(s=0,i=1;i<3;i++,s+=i);cout<

int i,j; for(i=1;i<5;i++) for(j=2;j<=i;j++)cout<<'#';

二、选择题(50分)

1、一个C语言程序是由 C 组成。

A.主程序 B.子程序 C.函数 D.过程

2、一个C语言程序总是从 C 开始执行。

A.主程序 B.子程序 C.主函数 D.函数

3、以下叙述正确的是 D 。

A. 在C程序中,main函数必须位于子程序的最前面

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

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

D. C语言本身没有输入输出语句

4、一个C语言程序是由 B

A.一个主程序和若干子程序组成 B.函数组成

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

5、以下叙述不正确的是: D

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

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

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

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

6、C语言中,最简单的数据类型是 B 。

A.整形、实型、逻辑型 B.整型、实型、字符型

C.整型、字符型、逻辑型 D.整型、实型、逻辑型、字符型

7、下列关于c语言用户标识符的叙述中正确的是 B 。

A. 用户标识符中可以出现下划线和中划线(减号)

B. 用户标识符中不可以出现中划线,但可以出现下划线

C. 用户标识符中可以出现下划线,但不可以放在用户标识符的开头

D. 用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头

8、C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符 C

A.必须为字母 B.必须为下划线

C.必须为字母或下划线 D.可以是字母,数字和下划线中任-种字符

9、已知各变量的类型说明如下:

int i=8,k,a,b;

unsigned long w=5;

double x=1.42,y=5.2;

则以不下符合C语言语法的表达式是: B

A.a+=a-=(b= 4)*(a=3) B.a=a*3=2

C.x%(-3)

10、以下正确的叙述是: D

A.在C程序中,每行中只能写-条语句

B.若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数

C.在C程序中,无论是整数还是实数,都能被准确无误地表示

D.在C程序中,%是只能用于整数运算的运算符

D.y=f1oat(i)

11、若有说明语句:char c='72'则变量c A

A.包含1个字符 B.包含2个字符

C.包含3个字符 D.说明不合法,c的值不确定

12、sizeof(float)是: C

A.一个双精度型表达式 B.一个整型表达式

C.一种函数调用 D.一个不合法的表达式

13、有以下程序段:

int m=0,n=0;char c=’a’;

cin>>m>>c>>n;

cout<

若从键盘上输入:10A10,则输出结果是 A 。

A.10,A,10 B.10,a,10 C.10,a,0 D.10,A,0

14、下面标识符中,不合法的用户标识符为 D 。

A. Pad B. a_10 C. _124 D. a#b

15、 B 是C语言提供的合法的数据类型关键字。

A. Float B. signed C. integer D. Char

17、不正确的字符串常量是 A 。

A. ‘abc’ B. “12’12” C.”0” D.” “

18、若定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是 B 。

A.7 B.2.50000 C.3.500000 D.0.00000

19、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=’A’+’6’-’3’;后,c2中的值为 A 。

A.D B.68 C.C D.不确定的值

20、对于int型变量k1,k2,k3,k4,若用以下语句:

cin>>k1>>k2;

cin>>k3>>k4;

将10赋给k1,k3,将20赋给k2,k4,则应按 B 格式输入数据。

A.1020 1020 B.10 20 10 20

C.10,20 10,20 D.10 20 10,20

21、有定义语句:int x,y;,若要通过cin>>x>>y;语句使变量x得到数值11,变量y得到数值12,下面4组输入形式中,正确的是 C 。

A. 1112 B.12,11

C.11 12 D.11, 12

22、设有以下定义:

#define d 2

int a=0;double b=1.25;char c=’A’;

则下面语句中错误的是 D 。

A.a++; B.b++; C.c++; D.d++;

23、若以下变量均是整型,且num=sum=7;则执行表达式sum=num++,sum++,++num后sum的值为: B

A. 7 B. 8 C. 9

24、能正确表示“当X的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是 B 。

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)

25、执行下列程序段后,变量m的值是 D 。

int w=1,x=2,y=3,z=4,m;

m=(w

m=(m

m=(m

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

26、判断char型变量ch是否为大写字母的正确表达式是 C 。

A. ‘A’<=ch<=’Z’ B. (ch>=’A’)&(ch<=’Z’)

C. (ch>=’A’)&&(ch<=’Z’) D. (ch>=’A’)and(ch<=’Z’)

27、设x、y、z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是 D 。

A.’x’&&’y’ B.x<=y C.x||y+z&&y-z D. !((x

28、为表示关系x≥y≥z,应使用C语言表达式 A 。

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

C. x>=y>=z D.(x>=y)||(y>=z)

29、有定义语句:int a=1,b=2,c=3,x;,则以下选项中各程序段执行后,x的值不为3 D.10

的是 B 。

A. if(c

B. if(a>3) x=3; else if(a<2) x=2;else x=1;

C. if(a<3) x=1; else (a<2) x=2; if(a,1) x=3;

D. if(a

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

A. 6 B.0 C.2 D.1

31、以下运算符中优先级最低的运算符 。

A. && B.& C.!= D.||

32、下列表达式中, B 不满足“当x的值为偶数时值为真,为奇数时值为假“的要求。

A. x%2==0 B. !x%2!=0 C.(x/2*2-x)==0 D. !(x%2)

33、在C语言中,要求运算数必须是整型的运算符是 D 。

A. / B. ++ C. != D. %

34、设有说明::char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为D

A. float B. char C. int D. double

35 下面正确的字符常量是 C 。

A. “c” B. ‘’’ C.‘ ’ D. ‘KK’

36、C语言中while和do—while循环的主要区别是 A

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

B、While的循环控制条件比do—while的循环控制条件严格

C、do—while允许从外部转到循环体内

D、do—while循环体不能是复合语句

37、若i为整型变量,则以下循环执行次数是 B

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

A、无限次 B、0次 C、1次 D、2次

38、执行下面程序后的输出为 D

#include

main()

{ int y=10;

while(y--);

printf(“y=%dn”,y) ;

}

A、y=0 B、while构成无限循环 C、y=1 D、y=-1

39、下列程序中,判断i>j共执行了 D 次。

#include

void main()

{ int i=0,j=10,k=2,s=0;

for(; ;)

{i+=k;

if(i>j){cout<

s+=i;

}

}

A. 4 B.7 C.5 D.6

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

A. 必须在最开始 B. 必须在系统调用的库函数的后面

C. 可以任意 D. 必须在最后

41、以下程序执行后的输出结果是 B 。

#include

void main()

{ int i=0,a=0;

while (i<20)

{for(; ;) {if((i%10)==0) break;else i--;}

i+=11;a+=i;

}

cout<

}

A. 21 B.32 C. 33 D.11

42、设C语言中,一个int型数据在内存中占2个字节,则int 型数据的取值范围为 B 。

A、 0~255 B、 0~32767 C、0~65535 D、 -32768~32767

43、逻辑运算的结果_ A 。

A、只能是0和1 B、只能是0或非0正数

C、只能是整型或字符型数据 D、可以是任何类型的数据

44、以下下关于C语言中数组的描述正确的是 C 。

A. 数组的大小是固定的,但可以有不同的类型的数组元素。

B. 数组的大小是可变的,但所有数组元素的类型必须相同。

C. 数组的大小是固定的,所有数组元素的类型必须相同。

D. 数组的大小是可变的,可以有不同的类型的数组元素。

45、以下一维数组a的正确定义是 D 。

A. int a(10);

B. int n=10,a[n];

C. int n; cin>>n; int a[n];

D. #define SIZE 10

int a[SIZE];

46、在定义int a[10];之后,对a的引用正确的是 D 。

A.a[10] B. a[6.3] C. a(6) D. a[10-10]

47、以下对二维数组a进行不正确初始化的是 D 。

A. int a[2][3]={0};

B. int a[][3]={{3,2,1},{1,2,3}};

C. int a[2][3]={{3,2,1},{1,2,3}};

D. int a[][]={{3,2,1},{1,2,3}};

48、在执行int a[][3]={1,2,3,4,5,6};语句后, a[1][1]的值是 D 。

A.4 B. 1 C. 2 D. 5

49、为了判断两个字符串s1和s2是否相等,应当使用 D 。

A. if (s1==s2)

B. if (s1=s2)

C. if (strcpy(s1,s2))

D. if (strcmp(s1,s2)==0)

50、在C语言中,引用数组元素时,其数组下标的数据类型允许是 B 。

A、整型常量 B、整型表达式

C、整型变量

D、任何类型的表达式

三、判断题(正确的填A,错误的填B)

1.在C语言中,逗号运算符的优先级最低。(A)

2.在C语言可执行程序的开始执行点是程序中第一个函数。(B)

3.“5ch”是合法的变量名。(B)

4.C语言程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上。(A)

5.当输入数据时,必须指明变量的地址,如scanf("%f",&f) (A)

N6.表达式i++与++i在任何场合功能完全相同。(B)

7.在赋值表达式中,赋值号左边的变量和右边的表达式之值的数据类型可以不相同。(A)

R8.C语言程序中,语句以逗号结尾。( B )

9.在 C 程序中,APH 和aph 代表不同的变量。( A )

10. a-=7等价于a=a-7。( A )

N11. printf函数中用到格式符%5s ,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按原字符长从左向右全部输出。(A )

12.如果x>y为真或ay)&&(a

13.C语言程序的变量必须先定义再使用。( A )

14.若a和b是同类型变量,在执行了赋值语句a=b;后b中的值将放入a中,b中的值将丢失。( B )

15.程序的执行总是从main函数开始,在程序的最后一个函数中结束。(B )

16.变量的三个属性是指变量的名字、变量的值和变量在内存中的地址。(A)

17. 运算符优先顺序:赋值运算符<逻辑运算符<关系运算符<算术运算符(B)

18.对应float类型的变量,也可以用等号“==”进行数值的判断。(B)

19.表达式:1 && 3.14 和 1 & 3 的值一样大。(B)

20. 为了正确计算表达式既要考虑运算符的优先级,也要考虑其结合性。(A)

21、任何C程序都是从main函数开始和结束;(A)

22. 在C程序中,使用分号“;”表示语句的结束。(A )

23. C程序中的必须要有至少一个main的函数,可以有多个。( B )

24. 在C程序中,无论是整数还是实数,都能准确无误的表示。( B )

25. 在C程序中,赋值运算符的优先级最低。(B )

26. 当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值。( B )

27. 在C程序中,变量可以一边定义一边使用。( B )

28. C程序中的注释部分可有可无,可以省略。( A)

29.字符型变量可以存放多个字符。( B )

30.在对一个C程序进行编译的过程中,可发现注释中的拼写错误。( B )

31.在C程序中,无论是整数还是实数,都能被准确无误地表示。(B )

32.一个C程序的执行是从本程序的main函数开始,到main函数结束。(A)

33.运算符优先顺序:赋值运算符<逻辑运算符<关系运算符<算术运算符(B)

四、程序设计题

1、在屏幕中显示“hello,world”

#include "stdio.h"

main()

{

printf("hello,world");

}

2、输入两个整数a,b将它们的值交换后输出

#include "stdio.h"

main()

{

int a,b,temp;

printf(“请输入a,b的值:”);

scanf("%d,%d”,&a,&b);

temp=a;

a=b;

b=temp;

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

}

3、输入2个数a,b将最大的数打印出来

#include "stdio.h"

main()

{

int a,b,max;

printf(“请输入a,b的值:”);

scanf("%d,%d”,&a,&b);

if(a>b)

max=a;

else

max=b;

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

}

4、输入2个数a,b将最小的数打印出来

#include "stdio.h"

main()

{

int a,b,mix;

printf(“请输入a,b的值:”);

scanf("%d,%d”,&a,&b);

if(a

mix=a;

else

mix=b;

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

}

5、输入3个数a,b,c将最大的数打印出来

#include "stdio.h"

main()

{

int a,b,max;

printf(“请输入a,b,c的值:”);

scanf("%d,%d,%d”,&a,&b,&c);

if(a>b)

max=a;

else

max=b;

if(max

max=c;

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

}

6、输入3个数a,b,c将最小的数打印出来

#include "stdio.h"

main()

{

int a,b,mix;

printf(“请输入a,b,c的值:”);

scanf("%d,%d,%d”,&a,&b,&c);

if(a

mix=a;

else

mix=b;

if(mix>c)

mix=c;

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

}

7、输入一个数x,如果x>=0,则输出y=1,否则输出y=-1

#include "stdio.h"

main()

{

float x;

int y;

printf(“请输入x的值:”);

scanf(“%d”,&x);

if(x>=0)

y=1;

else

y=-1;

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

}

8、输入一个数x,如果x>0,则输入y=1,如果y=0,则输出y=0,否则y=-1

#include "stdio.h"

main()

{

float x;

int y;

printf(“请输入x的值:”);

scanf(“%d”,&x);

if(x>=0)

y=1;

else if(x==0)

y=0;

else

y=-1

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

}

9、计算1+2+3+……+10(用循环来实现)

#include "stdio.h"

main()

{

int i,sum;

sum=0;

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

{

sum+=i;

}

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

}

10、计算5!

#include "stdio.h"

main()

{

int i,n;

n=1;

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

{

n*=i;

}

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

}

11、找出1到100之间能够被3整除的数

#include "stdio.h"

main()

{

int i;

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

{

if(i%3==0)

{

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

}

}

}

12、找出1到100之间能够被5整除的数

#include "stdio.h"

main()

{

int i;

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

{

if(i%5==0)

{

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

}

}

}

13、找出1到100之间能够被3,又能被5整除的数

#include "stdio.h"

main()

{

int i;

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

{

if(i%3==0 && i%5==0 )

{

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

}

}

}

14、找出1到100之间能够被3,但是不能被5整除的数

#include "stdio.h"

main()

{

int i;

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

{

if(i%3==0 && i%5!=0 )

{

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

}

}

}

15、找出1到100之间能够被3,或者能被5整除的数

#include "stdio.h"

main()

{

int i;

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

{

if(i%3==0 || i%5==0 )

{

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

}

}

}


本文标签: 程序 变量 运算符 C语言 语句