5)printf("%d\\n",x);else     printf("%d\\n",x--);}A、7          " />
最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

C语言程序设计复习题

来源:动视网 责编:小OO 时间:2025-09-24 08:49:06
文档

C语言程序设计复习题

一、选择题:1、以下能正确定义数组并正确赋初值的语句是(D)。A、intN=5,b[N][N];B、inta[1][2]={{1},{3}};C、intc[2][]={{1,2},{3,4}};D、intd[][2]={{1,2},{3,4}};2、执行下面的程序时若从键盘上输入6,则输出结果是(D)。main(){intx;scanf("%d",&x);if(x++>5)printf("%d\\n",x);else     printf("%d\\n",x--);}A、7          
推荐度:
导读一、选择题:1、以下能正确定义数组并正确赋初值的语句是(D)。A、intN=5,b[N][N];B、inta[1][2]={{1},{3}};C、intc[2][]={{1,2},{3,4}};D、intd[][2]={{1,2},{3,4}};2、执行下面的程序时若从键盘上输入6,则输出结果是(D)。main(){intx;scanf("%d",&x);if(x++>5)printf("%d\\n",x);else     printf("%d\\n",x--);}A、7          
一、选择题:

1、以下能正确定义数组并正确赋初值的语句是( D  )。

A、int N=5,b[N][N];                     B、int a[1][2]={{1},{3}};

C、int c[2][]={{1,2},{3,4}};         D、int d[][2]={{1,2},{3,4}};

2、执行下面的程序时若从键盘上输入6,则输出结果是( D    )。

main()

{ int x;

  scanf("%d",&x);

if(x++>5) printf("%d\\n",x);

  else      printf("%d\\n",x--);  }

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

3、下列四组选项中,不合法的用户标识符的选项是(   D )。

A、P_0          B、 _A         C、temp_123      D、b-a 

4、若x、i、j和k都是int型变量,则计算下面表达式后,x的值为( C   )。

   x=(i=4,j=16,k=32)

A、 4        B、 16        C、 32        D、 52

5、下列选项中哪个是合法的标识符(   B )。

A、 int       B、 _a2       C、 b#        D、 7b   

6、下列选项定义了整型变量a和b,并为这两个变量赋初值为5,不正确的语句是(   B )。

A、 int a=5,b=5;                   B、 int a=b=5;

C、 int a,b;                       D、 int a=5,b;

a=5;b=5;                           b=5;

7、若变量已正确定义并赋值,下面不符合C语言语法的表达式是(  A)。

A、a=a+7;    B、a=7+b+c,a++  C、int 12.3%4 D、a=a+7=a+b

8、执行下面的程序时若从键盘上输入6,则输出结果是(   C   )。

main()

{ int x;

  scanf("%d",&x);

  if(x-->5) printf("%d\\n",x);

  else      printf("%d\\n",++x);  }

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

9、设有程序段  int k=10;

while(k==0) k=k-1;

则下面描述中正确的是(  B  )。

A、 while循环 10次              B、 循环体一次也不执行

C、 循环是无限循环               D、 循环体只执行一次

10、以下对数组的定义方式哪个是正确的?(  A )

A、 #define size 10              B、 int n=2;  

int a[size] ;                    int a[n]; 

C、 char name(-10);              D、 float weight[10.3];

11、以下对二维数组a的正确说明是(   C )。

A、 int a[7][];                  B、 float a[7,7];    

C、 double a[7][7];              D、 float a(7)(7);

12、以下程序的运行结果是(   A )。

main()

{   int x=1,a=0,b=0; 

switch(x)

{  case 0: b++; 

case 1: a++; 

case 2: a++;b++; 

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

A、 a=2,b=1       B、 a=1,b=1      C、 a=1,b=0      D 、a=2,b=2

13、下列字符中,ASCⅡ码值最小的是(  A  )。

A、 A             B、 a            C、 Z            D 、x

14、设a、b和c都是int型变量,且a=3,b=4,c=5;则以下的表达式中,值为1的表达式是:(    C  )

A、!c&&1        B、a>=b C、!a||b+c&&b-c   D、!a||!b

15、设有定义int a,b;当执行scanf(“%d,%d”,&a,&b);语句时,若要求a、b的值分别为2、3,则正确的输入格式为(   D   )。    

A、 a=2,b=3     B、 a=2 b=3      C、 2 3        D、 2,3  

16、若有定义int i=3,j=3;  printf("%d, %d",++i ,j++); 其运行结果为(  A  )。

A、 4,3        B、 3,3       C、 4,4      D、 3,4  

17、以下不正确的语句是(  B  )。

A、 if(x>y) ;           

B、 if(x=y)&&(x!=0)  x+=y;       

C、 if(x!=y) scanf(“%d”,&x); else scanf(“%d”,&y) ;        

D、 if(x18、在调用函数时,如果用数组名作为函数调用的实参,传递给形参的是(  A  )。

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

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

19、若有定义char array[]="hello";则数组array所占存储空间的字节数为 (  C  )。

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

20、C语言规定:源程序中main函数的位置(  C )。

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

C、 可以任意            D、 必须在后面

21、以下叙述不正确的是( D   )。

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

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

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

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

22、下列选项中哪个是合法的标识符( C   )。

A、 3days       B、 char       C、 _above    D、 a>b   

23、设int n=3;则有表达式++n,n的结果是(    C )。

A、2            B、3           C、4          D、5

24、从循环体内某一层跳出,继续执行循环外的语句是(  A  )。

A、 break语句                 B、 return语句  

C、 continue语句              D、 空语句

25、下面for 循环的正确描述是(   A )。

A、for循环体语句中,可以包含多条语句,但必须用花括号括起来

B、for循环只能用于循环次数已经确定的情况,不能用于无限循环

C、for循环是先执行循环体语句后判断表达式

D、在for循环中,不能用break语句结束循环

26、下列实型常量用指数形式表示正确的是(   A )。  

A、 123E2        B、 .e4           C、 e-5        D、 1.2E-3.5 

27、a是int类型变量,c是字符变量。下列输入语句中错误的是(  B  )。

A、 scanf("%d,%c",&a,&c);          B、 scanf("%d%c",a,c);

C、 scanf("%d%c",&a,&c);           D、 scanf("d=%d,c=%c",&a,&c);

28、执行下列语句后输出结果是(   C   )。 

int i,x[3][3]={1,2,3,4,5,6,7,8,9};

for(i=0;i<3;i++) printf(″%d″,x[i][2-i]);                 

A、 147         B、 159         C、 357         D、 369

29、设有int a=1,b=2,c=3,d=4,m=2,n=2;

执行(m=a>b)&&(n=c>d)后n的值(  D  )。

A、 1            B、 2             C、 3          D、 0

30、C语言中while和do-while循环的主要区别是(   A )。

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

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

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

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

31、下列运算符中优先级最高的是(   B )。

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

32、执行以下程序段后的输出结果是(  C    )。

main()

{   int a=4;    float b=9.5;

printf(“a=%d,b=%4.2f\\n”,a,b);    }

A、 a=%d,b=%f\\n                  B、a=%d,b=%f 

C、 a=4,b=9.50                   D、 a=4,b=9.5

33、下列选项定义了整型变量a,b和c,并为这三个变量赋初值为2,不正确的语句是( A   )。

A、 int a=b=c=2;              B、 int a=2,b=2,c=2;    

C、 int a,b,c;                D、 int a=2,c=2,b;

a=2;b=2;c=2;                  b=2;

34、在C语言中,要求运算对象必须是整型的运算符是(   D )。

A、 /           B、 +         C、 ==          D、 %        

35、若t为double类型,表达式t=1,t+5,t++的值是(   C  )。

A、1            B、6.0        C、2.0          D、1.0

36、在调用函数时,如果实参是简单变量,则它与对应形参之间的数据传递方式是(  A  )。

A、 单向值传递                          

B、 地址传递    

C、 由实参传给形参,再由形参传给实参    

D、 传递方式由用户指定

37、不能把字符串“Hello!”赋给数组b的语句是(  B  )。

A、 char b[10]={'H','e','l','l','o','!'};        

B、 char b[10] ;b="Hello!";

C、 char b[10] ;strcpy(b,"Hello!");          

D、 char b[10]="Hello!";

38、以下正确的函数声明形式是(     C  )。

A、 float  fun( int x, int  y )    

B、 float  fun( int x; int y);

C、 float  fun( int, int) ;     

D、 float  fun( int x, y ) ;

39、以下对二维数组a的正确说明是(  C  )。

A、 int a[3][];                B、 float a[3,4];    

C、 double a[3][4];            D、 float a(3)(4);

40、下列关于C语言中注释的叙述中错误的是(   D   )。

A、 注释部分可以出现在程序中任意合适的地方    

B、 以“/*”开头并以“*/”结尾的字符串为C语言的注释符

C、 程序编译时,不对注释作任何处理

D、 程序编译时,需要对注释进行处理

41、下列各组字符序列中,全部为合法标识符的一组是( D     )。

A、 X.O , sum , _above           B、 class , lotus_1 , 2day

C、 #md , month , student_n1     D、 D56 , r_1_2 , st_1

42、表达式“!5 || 6 && 8”的值是(   A   )。 

A、 1            B、 0            C、 5            D、 8 

43、若定义int  a[5];则对a数组元素的引用错误的有(     C )。 

A、a[3]         B、a[5-2]       C、a(0)     D、a[0]    

44、假设所有变量均为整数,则表达式(a=2,b=5,b++,a+b)的值是(  B    )。

A、 7            B、 8            C、 6            D、 2

45、下面不正确的字符常量是( A  )。

A、“C”        B、‘?’       C、‘W’      D、‘\101’

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

A、 2.500000      B、2.750000    C、 3.500000      D、 0.000000

47、以下程序的输出结果是(  D    )。

main( )

{    int   x=11,y=11;

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

A、 11,11        B、 10,10        C、10,11        D、 11,10

48、以下不正确的描述是(   B )

A、 break 语句能够用于循环语句和switch语句

B、 continue语句的作用是结束整个循环的执行

C、 在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环的执行

D、 在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环

49、C语言程序是由(  D    )组成。

A、 过程                         B、 子程序 

C、主程序和子程序               D、 函数

50、执行以下程序段后的输出结果是( B     )。

int x=7,y=8,z=9;

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

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

A、 x=7,y=8,z=7                  B、 x=7,y=9,z=7

C、 x=8,y=9,z=7                  D、 x=8,y=9,z=8

51、执行以下程序段后的输出结果是(   C   )。

main()

{   int n=3;

while(n- -!=0) ;

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

}

A、 0            B、 1            C、 -1           D、 死循环

52、逻辑运算符两侧运算对象的数据类型是 (   D   )。

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

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

53、下面能正确表示八进制数的是(  D    )。

A、 0x16         B、 029          C、 -114         D、 033

54、C语言中主函数的个数是(  A    )。 

A、 1            B、 2            C、 3            D、 任意个 

55、以下描述中正确的是(    D  )。

A、 while、do-while、for循环中的循环体语句都至少被执行一次

B、 do-while循环中,while(表达式)后面的分号可以省略

C、 while循环体中,一定要有能使while后面表达式的值变为“假”的操作

D、 do-while循环中,根据情况可以省略while

56、下面正确的字符常量是(   B   )。

A、 'abc'        B、 'a'          C、 "a"          D、 "ab2"

57、下列实型常量用指数形式表示正确的是(   B   )。  

A、.e6        B、 123E4     (C、e-6        D、 2.1E-5.3 

58、以下程序的输出结果是(   B   )。

main()

 {      int i, a[10];

       for(i=9;i>=0;i--) a[i]=10-i;

       printf("%d%d%d",a[3],a[6],a[9]);     }

 A、 258           B、 741         C、 852           D、 369

59、设有以下程序段,则下面描述中正确的是(   B   )。

  int k=2;

while(k==0) k=k-1;

A、 while循环 2次               B、 循环体一次也不执行

C、 循环是无限循环               D、 循环体只执行一次

60、下列实型常量用指数形式表示正确的是(   B   )。  

A、3E         B、1.23E4         C、E         D、1.2E-3.4 

61、设x,y和z均为int型变量,则执行语句“x=(y=(z=10)+5)- 5;”后,x,y和z的值是(   A   )。

A、 x=10        B、 x=10          C、 x=10         D、 x=10

  y=15           y=10             y=10            y=5

z=10           z=10             z=15            z=10

62、以下程序的输出结果是(  D     )。

main( )

{    int   x=5,y=5;

        printf(“%d,%d\\n” ,--x,y++);    

}

A、 4,6         B、 6,5          C、 5,5         D、 4,5

63、若用数组名作为函数调用的实参,传递给形参的是(    A  )

A、数组的地址                     B、数组中第一个元素的值 

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

、下列四组选项中,属于C语言合法标识符的选项是( C     )。

A、2ab          B、 @f          C、_a12         D、?b

65、执行以下语句后,则x,y和z的值分别为(    B   )。

int  x=1,y=2,z=3;

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

A、 x=1,y=2,z=3                  B、 x=2,y=3,z=3     

C、 x=2,y=3,z=1                  D、 x=2,y=3,z=2  

66、以下叙述正确的是(  C  )。

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

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

C、 C语言本身没有输入输出语句,输入输出需要调用库函数

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

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

    int k,a,b;

    unsigned long w=5;

    double x=1.42;

则以下不符合C语言语法的表达式是(   A   )。

A、x%(-3)     B、w+=-2        C、k=(a=2,b=3,a+b)  D、a+=a-=(b=4*3)

68、设有定义int a,b;当执行scanf(“%d,%d”,&a,&b);语句时,若要求a、b的值分别为3、5,则正确的输入格式为(   C   )。    

A、a=3,b=5      B、a=3 b=5      C、3,5      D、3  5  

69、判断char型变量ch是否为小写字母的正确表达式是(  C    ) 。 

A、‘a’<=ch<=‘z’             B、(ch>=‘a’)&(ch<=‘z’) 

C、(ch>=‘a’)&&(ch<=‘z’)    D、(‘a’<= ch)AND(‘z’>= ch)

70、下列选项中,正确的字符常量是(  C  )。

A、“F”    B、’\\\\’’        C、’W ’    D、””

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

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

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

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

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

72、以下程序的运行结果是(   A )。

main()

{   int k=4,a=3,b=2,c=1;

printf(“%d\\n”,k}

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

73、以下选项中可作为C语言合法整数的是(  C  )。

A、10110B      B、0386     C、0xffa       D、x2a2

74、以下叙述错误的是(  D    )。

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

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

C、C程序的基本组成单元是函数。

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

75、下列运算符中优先级最低的是( A   )

A、? :        B、&&       C、+           D、!=

76、设有定义int a,b;当执行scanf(“%d  %d”,&a,&b);语句时,若要求a、b的值分别为12、24,则正确的输入格式为(   D   )。    

A、a=12,b=24   B、a=12 b=24   C、12,24            D、12  24  

77、下列运算符中,不属于关系运算符的是( C )。

A、< B、> = C、 !          D、 ! = 

78、若定义int  a[10];则对a数组元素的正确引用的有(  D    )。 

A.a[10]        B.a[5.5]        C.a(9)        D.a[5-5]    

79、已知字母A的ASCⅡ值为65,且c2为字符型,则执行以下语句后,c2中的值为(  A  )。printf(“%c”,c2=’A’+’6’-‘3’); 

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

80、能正确表示逻辑关系:“a<10并且 a>0”的C语言表达式是(C )。 

A、a<10 and a>0 B、a<10| a>0  C、a<10 && a>0 D、a<10||a>0

81、字符串“Aabc”的长度为( C  )。

A、1          B、5            C、4         D、6

82、下列程序段运行后,x的值是(  D)。

int a=1,b=0,x=4; 

if(a==0)++x; 

else if(b!=0)x=7; 

else x=13;

A、4           B、5           C、7         D、13

83、设 a、b、c、d、m、n均为 int型变量,且 a=5、b=6、c=7、d=8、m=0、n=0,则逻辑表达式(m=ad)运算后,表达式的值为(    B  )。

A、0             B、1              C、2            D、3

84、以下选项中,符合C语言标识符命名规则的是( B )。 

A、Aa_!       B、abc        C、for          D、3a

85、若希望当A的值为奇数时,表达式的值为真,A的值为偶数时,表达式的值为假,则以下不能满足要求的表达式是( C )。

A、A%2= =1    B、!(A%2= =0)  C、!(A%2)      D、A%2

86、以下程序段运行后,循环体执行( A )。

int n=3;  

while(n==0)

{ n/=5; 

 n--;  }

printf(“%d”,n);

A、0次        B、1次         C、2次       D、3次

87、结构化程序设计语言的基本结构中不包括( D )。

A、顺序结构   B、选择结构   C、循环结构    D、指针结构

88、C语言程序中,主函数有( A )。

A、1个       B、可以一个都没有 C、可以有多个  D、2个

、设n=10,i=4,则赋值运算 n%=i+1执行后,n的值是( A )。.

A、 0          B、 3         C、 2        D、 1

90、当x、y、z的值分别为3、4、5时,执行以下各语句:

if(x>z){x=y;y=z;z=x;}

   else   {x=z;z=y;y=x;}

   则x,y,z的值为(  B )。

A、5 5 4       B、5 4 5      C、3 4 5     D、5 4 4

91、下面有关for循环的正确描述是( D )。

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

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

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

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

92、以下不正确的叙述是(   D )。

A、在C程序中,逗号运算符的优先级最低

B、在C程序中,APH和aph是两个不同的变量

C、若变量a和b类型相同,在计算了赋值表达式a=b后b 中的值将放入a中,而b 中的值不变

D、当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值

93、关于C程序循环语句说法不正确的是(A  )。

A、只能构成单个循环       B、while语句中可以有continue语句  

C、可以进行多重循环嵌套   D、for语句中可以有break语句

94、一个C程序的执行是从(    A  )。

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

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

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

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

95、下面不正确的字符串常量是(    A  )。

A、 'abc'        B、 "12'12"      C、 "0"          D、 "  "

96、有以下程序

main()

{int x,i;

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

{x=i;

if(x%2==0)

  if(x%3==0)

    if(x%7==0)

   printf("%d ",x);

}}                 (    B   )。

A、39 81          B、42 84         C、26 68          D、28 70

97、若有定义char array[]="CHINA";则数组array所占存储空间的字节数为 (   C    )。

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

98、以下能正确定义数组并正确赋初值的语句是(    D  )。

A、int N=5,b[N][N];                 B、int a[1][2]={{1},{3}};

C、int c[2][]={{1,2},{3,4}};         D、int d[3][2]={ 1,2,3,4};

99、以下变量均为整型,则值不等于7的表达式是(  C  )。

A、(m=n=6,m+n,m+1)      B、(m=n=6,m+n,n+1)

C、(m=6,m+1,n=6,m+n)    D、(m=6,m+1,n=m,n+1)

100、以下(   D   )是八进制数。

A、0x12  二进制        B、123 十进制          C、1001 十六进制         D、0123

101、以下程序的输出结果是( B )。

main()

{  int x=2,y=-1,z=2;

if(x if(y<0) z=0;

     else    z+=1;

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

}

A、 3            B、 2             (C、 1          D、 0

二、判断题:

1、若定义一个数组int a[3][3]; 则可引用a[3][3]这一元素。     ( F)

2、定义数组时,所有数组元素类型必须相同。                    ( T )

3、关系运算符的运算对象可以是任意类型。                      (  T  )

4、a+2=b;是合法的赋值语句。                                 (   F )

5、字符型变量用来存放字符常量,最多只能放2个字符。          (    F)

6、只有一个“;”的语句,即空语句,在C语言中是不合法的。     (    F)                 

7、算术运算符%两边的运算对象只能为整型数据。                 ( T )    

8、编译时不会发现注释中的错误。                              (  T )

9、一维数组初始化的数据个数允许少于数组的长度,但不能多于数组的长度。( T )

10、++和--运算符不仅可以用于变量,还可以用于常量和表达式。    (  F  )

11、函数的定义和声明不是一回事。                              (   T )

12、在C程序中,注释说明只能位于一条语句的后面。              (  F)

13、若定义一个数组int a[3][3]; 则可引用a[3][3]这一元素。     (  F  )

14、= =是关系运算符,=是赋值运算符。                          ( T )

15、一个C源程序可以由一个或多个函数组成。                    (  T)

16、自定义函数只能在主函数之后。                              ( F )

17、for语句的一般形式中,三个表达式都可以省略。               (  T)                         

18、+ +和- -运算符可以用于常量和变量。                        ( F )                     

19、定义数组时,所有数组元素类型必须相同。                    ( T )

20、形参可以是变量、常量、表达式。                            (   F ) 

21、在scanf("%d,%d",&a,&b)函数中,可以使用一个或多个空格作为两个输入数之间的间隔。                                                ( F )

22、C语言规定,可以在定义变量时,同时使变量初始化。           ( T )   

23、a=a+2=b;是合法的赋值语句。                               ( F ) 

24、凡是表达式都有一个值。                                    ( T )

25、C语言中可以把一个字符串赋给一个字符变量。                ( F )

三、填空题:

1、一个C语言源程序中至少应含有一个      主     函数。

2、无返回值的函数应定义为  void   类型。

3、C语言提供的三种逻辑运算符是   &&  、 ||  、  !   。

4、一维数组的下标从  0   开始。

5、设int x=10;有表达式x+=3+x%(-3),则x=________14____。

6、定义int a[3][3]={{0,1,2},{3,2,4},{0}};则初始化后a[2][1]的值是 0 。

7、表达式(int)(2.0/7.0)的值是   0   。

8、若x为int型变量,则执行以下语句后x的值是    -4  。

x=2;x+=x-=x+x;

9、假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为   9   ,       

    a的值为     3     。

10、C语言中,表示“假”值用   0  表示。

11、若s是int型变量,且s=6,则表达式s%2+(s+1)%2的值为  1   。

12、若x为int型变量,则执行以下语句后x的值是  -14   。

x=7;

x+=x-=x+x;

13、若a是int型变量,且a的初值为3,则表达式a+=a-=a*a后a 的值为 -12     。

14、表达式3>2>1的值为     0    ,表达式1<2<3的值是  1        。

15、定义int a[3][5]={{0,1,2,3,4},{3,2,1,0},{0}};则初始化后a[1][1]的值是    2      。

16、表达式1<3<9的值是     1     ,表达式9>3>1的值是    0      。

17、执行以下的程序段后,a=       3      ,b=   3      。

    int x=3,y=2,a,b,c;  

    a=((x==y++)?x--:y++);

    b=x++;

18、表达式(int)(7.0/2.0)的值是     3     。

19、有表达a=(b=4)+(c=2),若a,b,c均是int型变量,则计算表达式后a的值为       6     ,b值为   4         ,c值为    2       。

20、在Turboc 2.0中,一个char型数据在内存中所占的字节数为   1      ;

一个float型数据在内存中所占的字节数为    4     。

21、执行以下的程序段后,a=      4      ,x=       12    。

     x=(a=4,6*2)

22、结构化程序设计语言的三种基本结构是_ 顺序结构__、_选择结构 _、_循环结构_ _。

23、条件“x≤0或1010&&x<20          。

24、C提供的三种逻辑运算符是 &&, ||,__!__ ____。

25、C程序的开发过程有编辑、   编译__、_链接  __、_运行_  。

26、程序的三种基本结构是__选择  __  ____、__  __顺序  ____和__循环  __  ____结构。

27、所有运算符中优先级最低的为  逗号           运算符。

28、从用户使用角度看,函数分为两类:      系统库   函数和   用户自定义      函数。

29、若x为int型变量,则执行以下语句后x的值是___-16_  _____。

x=8;

x+=x-=x+x;。

30、若x,y为int型变量,则表达式(y=6,y+1,x=y,x+1)的值是      7      。    

四、读程序,写出运行结果

1、以下程序的运行结果为(  *#*#*#$  )。

main()

{   int i;

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

          {  if(i%2!=0)printf(“*”);

             else continue;

printf(“#”);}

printf(“$\\n”);    }

2、运行结果为( 4 )  

main()

{    char  a;

     a=’C’-’A’+’2’;

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

3、运行结果为(  132  )

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;

                default:  k++; n++;

            }

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

}

4、运行结果为( A+B=9   )

       plus(int x, int y)  

        {        int z;  

             z=x+y;  

             return(z);  

     } 

main()  

       {     int a=4,b=5,c ;  

        c=plus(a,b);  

         printf("A+B=%d\\n",c);  

     } 

5、以下程序的运行结果为(  3  )。

main()

    {   int x=100,a=10,b=20;

        int v1=5,v2=0;

if(a           if(b!=15)

               if(v1= =0)                

                  x=1;

               else

                 if(v2!=0)  x=10;      

          x=3;

        printf(“%d”,x);         }

6、以下程序的运行结果为(  Fail!   )。

main()

    {     int    score=2;

          switch(score)

           {  case  3:    printf(“Pass!”) ;

              case  2:    printf(“Fail!”) ;break;

              default :   printf(“data error!”) ;   }     }

7、若运行以下程序时,则下面程序的运行结果是(4,10 )。

#include

main()

{int a,b;

for(a=1,b=1;a<=100;a++)

{ if(b>=10)break;

       if(b%3==1)

      {b+=3; 

        continue;    

      }  

      b=b+5;

   }     

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

}         

8、运行结果为(  741  ) 。

main()

  { int i, a[10];

   for(i=9;i>=0;i--) a[i]=10-i;

    printf("%d%d%d",a[3],a[6],a[9]);  

}    

9、运行结果为( mo )

#include

main()

{   char a[]=“morning”,t;

int i,j=0;

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

if(a[j]t=a[j];

a[j]=a[7];

a[7]=a[j];

printf(“%s”,a);

}

10、运行结果为(4,13)。  

main( )                          

{     int a,b;                            

for(a=1,b=1;a<=100;a++)            

     { if(b>=10) break;

         if(b%4= =1)  {  b+=4;   continue;}  

         b=b-5;

}

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

11、运行结果为    30       。

main( )

{      int a[3][3]={{1,2,9},{3,4,8},{5,6,7}},i,s=0;               for(i=0;i<3;i++)

s+=a[i][i]+a[i][2-i];

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

}

12、运行结果为(   c  ) 。

    main()

{    char  a;

     a=’A’+2;

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

13、运行结果为(  120  ) 。

sub(int x,int y)

{ int t;

t=x+y;

return t;   }

main()

{ int x1=100,x2=20,f;

f=sub(x1,x2);

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

 }

14、运行结果为(  2,1  ) 。

main() 

   { int x=1,a=0,b=0;                        

     switch(x)                             

{ case 0: b++;                         

case 1: a++;                         

case 2: a++;b++; break; } 

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

15、以下程序的运行结果为(   3 )。

main()

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

if(a>b)

if(b>0) c=0;

     else c++;

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

}

16、以下程序的运行结果为(   13,4   )。

main()

{int x,y;

for(y=1,x=1;y<=50;y++)

{ if(x>=10)break;

if (x%2==1)

{ x+=4; continue;}

 x+=3;

}

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

}

17、运行结果为     30      。

sub(int x,int y)

{   

return x+y;  

}

main( )

{      int x1=10,x2=20,t;

t=sub(x1,x2);

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

}

18、运行结果为(  3 ) 。  

main()

{

int a=1,b=3,c=5,d=5; 

         if(a             if(c             else

                if(a                    if(b                    else   x=4;

                else   x=5;

             else   x=6;

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

}

      

19、运行结果为(  200  ) 。

sub(int x,int y)

{    return x*y ;   }

main()

{ int x1=10,x2=20,t;

t=sub(x1,x2);

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

20、以下程序的运行结果为(   15 )。

main()

{  int i,a[3][3]={ 1,2,3,4,5,6,7,8,9 },s=0;

for(i=0;i<3;i++)

    s=s+a[i][2-i] ;

printf("%d,",s );

}

21、运行结果为( 12   ) 。

main()

 {int a[3][3]={{1,2,9},{3,4,8},{5,6,7}},i,s=0; for(i=0;i<3;i++)s=s+a[i][i];

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

22、运行结果为(  10,20  ) 。

sub(int x,int y)

{ int t;

t=x;  x=y;  y=t;   }

main()

{ int x1=10,x2=20;

sub(x1,x2);

printf("%d,%d\\n",x1,x2);     }

23、运行结果为(   5,3,4  ) 。

main()

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

 if(a if(a printf("%d,%d,%d\\n",a,b,c);}

五、编写下列程序

1、有一个数列前三项分别为 1,2,3,从第四项开始为前三项之和,如1,2,3,6,11,20……,求出这个数列前15项。

#include"stdio.h"

main()

{

int i,f1=1,f2=2,f3=3;

printf("%6d%6d%6d\\n",f1,f2,f3);

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

    {

    f1=f1+f2+f3;

    f2=f2+f3+f1;

    f3=f3+f2+f1;

    printf("%6d%6d%6d\\n",f1,f2,f3);

    }

}

2、从键盘输入三个整数,求三个数中的最大值。

#include"stdio.h"

main()

{

int a,b,c,max;

printf("输入三个整数:");

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

if(a>b)max=a;

else max=b;

if(max>c)printf("max=%d\\n",max);

else printf("max=%d\\n",c);

}

y=

3、       有一函数:            x      (x<0)

                               3x+2    (x≥0)

请编写一个程序,输入x,输出y值。

#include"stdio.h"

main()

{

int x,y;

printf("x=");

scanf("%d",&x);

if(x<0)printf("y=%d\\n",x);

else printf("y=%d\\n",3*x+2);

}

4、试编程判断输入的正整数是否既是3又是5的整倍数。若是,则输出yes,否则输出no.。

#include"stdio.h"

main()

{

int x,y;

printf("输入一个正整数:");

scanf("%d",&x);

if(x%3==0&&x%5==0)printf("yes\\n");

else printf("no\\n");

}

5、求100到1000之间的所有水仙花数。(水仙花数是各位数的立方之和等于该数本身)。

#include"stdio.h"

main()

{

int i,j,k;

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

for(j=0;j<=9;j++)

     for(k=0;k<=9;k++)

            if(i*i*i+j*j*j+k*k*k==i*100+j*10+k)

                printf("%d ",i*100+j*10+k);

}

6、输出所有100—200之间能被3整除的数。

#include"stdio.h"

main()

{

int i;

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

    if(i%3==0)

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

}

7、请编写一个程序,利用循环语句实现打印下列图案。        

*

* *

* * *

* * * *

* * * * *  

#include"stdio.h"

main()

{

int i,j;

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

    {

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

        printf("* ");

        printf("\\n");

    }

}

8、求1+1/2+1/3+1/4+…..+1/100之和。

#include"stdio.h"

main()

{

float i,sum=0;

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

    sum+=1/i;

printf("%f\\n",sum+1);

}

9、 有一函数:  

x (x<1)

y=  2x-1 (x>=1&&x<=10)

3x-11 (x>=10)

#include"stdio.h"

main()

{

int x,y;

printf("x=");

scanf("%d",&x);

if(x<1)printf("y=%d\\n",x);

else if(x>=1&&x<=10)printf("y=%d\\n",2*x-1);

else printf("y=%d\\n",3*x-11);

}

10、请编写一个程序,利用循环语句实现打印下列图案。     

***** 

****

***

**

*

#include"stdio.h"

main()

{

int x,y;

printf("x=");

scanf("%d",&x);

if(x<1)printf("y=%d\\n",x);

else if(x>=1&&x<=10)printf("y=%d\\n",2*x-1);

else printf("y=%d\\n",3*x-11);

}

文档

C语言程序设计复习题

一、选择题:1、以下能正确定义数组并正确赋初值的语句是(D)。A、intN=5,b[N][N];B、inta[1][2]={{1},{3}};C、intc[2][]={{1,2},{3,4}};D、intd[][2]={{1,2},{3,4}};2、执行下面的程序时若从键盘上输入6,则输出结果是(D)。main(){intx;scanf("%d",&x);if(x++>5)printf("%d\\n",x);else     printf("%d\\n",x--);}A、7          
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top