C语言程序设计----复习题
一、 填空
1. 一个C源程序中至少应包含一个   main    函数。
2. a是整型变量,则执行表达式a=25/3%3后a的值为。  2 
3. C语言中的数组必须先   定义    ,然后使用。
4. 如果需要从被调用函数返回一个函数值,被调用函数必须包含  return   语句。
5.   一个C语言程序的执行起点是____ main函数(或主函数)_______
6.   设int x=3,y=5; 则执行printf("%d\n",x&&y);后输出___1___。
7.   定出公式对应的C语言表达式_1.0/2*(x+sqrt(x+y)/(5*x))__。
8.   若函数调用语句为f(a,b,f(a+b,a-b,b));,则函数f的参数个数是___3____。
9.   设int a=2;,则执行a+=a*=15;后,变量a的值是___60____
10. 设double y[4][5];,则数组y中元素的个数是__20_____。
11. 设int x=7,y=3; 则表达式x%y+x/y的值是____3____。
12. 设char s[ ]={"apple"};,则执行printf("%d\n",strlen(s));后输出的值是__5_  。
13. 若有定义int a[3][5];则排列在数组中的第9个元素是( a[1][3] )。
14. strlen("How are you\n")的值是( 12  )。
15. C语言中字符串结束的标志是( '\0' )。
16. 写出一个名为s的单精度实型一维数组,长度是6,所有元素初值均为0,其数组定义语句是(    float s[6]={0};    )。
17. strcmp("how","How")的值是(    32 或>0 )。
18. 若a=2.8+7%3*11%2/4,a的值是( 2.8 )
19. 若a= 5/2+5.0/2+7%6,a的值是( 5.5 )
20. 若a=12,a*=2+3  a的值是( 60 )
21. 若a=3,b=4,c=5,a+b>c&&b= =c  表达式的值是 (  0  )
22. 设a=1,b=2,c=3,d=4,m=n=1,有表达式(m=a>b)&&(n=c>d),表达式后m,n的值是( m=0, n=1 )
23. 设int b=7;float a=2.5,c=4.7;求下面表达式的值是 (  4.5      )
a+(int)(b/2*(int)(a+c)/2)%4
二、 判断题
1. 若定义的函数没有参数,则函数名后的圆括号可以省略。()
2. 函数的函数体可以是空语句()。
3. 只有main函数才能调用其他函数。()
4. return语句中表达式的类型必须与函数定义的类型一致。()
5. 函数的实参和形参可以是相同的名字。()
6. 函数调用中,形参与实参的类型和个数必须保持一致。()
7. 外部类型的变量只能定义一次,但可在不同地方声明多次。()
8. 外部类型的变量作用范围大,编程中应多用外部变量。()
9. 预处理命令行必须以#开头,且最后要用分号结尾。()
10. 宏命令的处理占用编译时间,而不占用运行时间。()
三、 选择题(单选)
1. 已知字符'a' ASCII码为 97 ,执行下列语句的输出是__D___
    printf ("%d, %c", 'b', 'b'+1 ) ;
(A) 98, b        (B)语句不合法    (C) 98, 99      (D) 98, c
2. 有定义语句:int a=1,b=2,c=3,x;则以下选项中各程序段执行后,x的值不为3的是    C     
(A) if(c<a)x=1;else if(b<a)x=1;else x=3;
(B) if(a<3)x=3;else if(a<2)x=2;else x=1;
(C) if(a<3)x=3;if(a<2)x=2 ;if(a<1)x=1;
(D) if(a<b)x=b;if(b<c)x=c;if(c<a)x=a;
3. 以下程序段的输出结果是____D____。
  char ch[3][5]={“AAAA”,“BBB”,“CC”};
printf(“%s\n”,ch[2]);
(A) BBB        (B) AAAA        (C) BBBCC      (D) CC
4. 下面程序的输出结果是____D______。
int main()
  {
int i;
  for (i=0;i<10;i++);
printf (“%d”,i);
return 0;
}
(A) 0        (B) 123456789        (C) 023456789      (D) 10
5. 表达式 x&&y 等价于__C__
(A) x==0&&y==0  (B) x==1&&y==1
(C).x != 0&&y!=0  (D). x != 1&&y!=1
c语言库函数6. 下列语句中符合C语言语法的语句是___C____
(A) abc7ef;      (B) gh7b++=a7
(C) ac+d,++ba7      (D) a==bc==d
7. 以下符号中___A____可以作C语言的用户标识符
(A) Break        (B) #define  (C)double    (D) float
8. 下列属于C语言合法的字符常数是___B____
(A) “\t”    (B)’\n’    (C) ‘48’    (D) “\30”
9. 若已定义x和y为double类型,则表达式:x=1,y=x*5/2的值是    B  (A)2        (B)2.5        (C)3        (D)1
10. 设int x=0,y=1;表达式(x--&&y--)执行后y的值为___A___。
(A)1        (B)0        (C)-1          (D)不确定
11. 一个算法应该具有“确定性”等五个特性,下面对另外4个特性的描述中错误的是(B)
 A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 
12. C语言中最简单的数据类型包括(B) 
A、整型、实型、逻辑型     B、整型、实型、字符型 
C、整型、字符型、逻辑型   D、整型、实型、逻辑型、字符型   
13. 设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是(D) 
A、 6.500000  B 、6 C、 5.500000 D、 6.000000
14. 若有说明:int  a[3][4];则对a数组元素的非法引用是( D)。 
A、a[0][2*1]   B、a[1][3]   C、a[4-2][0]   D、a[0][4] 
15. 程序char c[5]={‘a’,’b’,’\0’,’c’c,’\0’}; printf(“%s”,c);}的运行结果是( D  )。 
A、'a''b'  B、ab0  C、ab c  D、ab 
16. 判断字符串a是否大于b,应当使用( D)。 
A、if (a>b) B、if(strcmp(a,b)) C、if (strcmp(b,a)>0) D、if (strcmp(a,b)>0)
17. 使用语句scanf(“a=%f,b=%d”,&a,&b);输入数据时,正确的数据输入是:(A)
 A、a=2.2,b=3  B、a=2.2 b=3  C、2.2 3  D、2.2,3
18. 表示关系12<=x<=y的C语言表达式为:(B) 
A、(12<=x)&(x<=y)  B、(12<=x)&&(x<=y) 
C、(12<=x)|(x<=y)  D、(12<=x)||(x<=y) 
19. 语句for(a=0,b=0;b!=100&&a<5;a++)scanf(“%d”,&b); scanf最多可执行次数为:(C) 
A、4   B、6   C、5   D、1 
20. 设有如下定义:struct jan{int a;float b;}c2,*p;若有p=&c2;则对c2中的成员a的正确引用是:
(B) 
A、(*p).c2.a   B、(*p).a   C、p->c2.a   D、p.c2.a 
21. 一个C语言程序是由(  C  )  组成的。
  A.主程序      B.子程序      C.函数        D.过程
22. 2.转换说明符%x的输出形式是(  C  )。
  A.十进制    B.八进制  C.十六进制      D.二进制
23. 若a、b均为int型变量,且a=100,则关于循环语for(b=100;a!=b;++a,++b)printf (“------------”);的正确说法是(C)。
  A.循环体只执行一次                B.死循环
  C.循环体一次也不执行              D.输出-----------
24. 若x、y、z均为int 型变量,则执行下列语句后的z值为 (  A  )。  x=1; y=2; z=3; z=(x>y)
?z :y ; z = (z<y)?z:x;
  A.1        B.4      C.2            D.3
25. 下面标识符中,合法的用户标识符为(  D  )。
  A.P#Ad      B.12a      C.char          D._int
26. ‘A’ + 3 的结果是(  B  )。
  A.’A’      B.’D’的ASCⅡ码      C.65          D.3
27. 语句char str[20];说明str是一个字符串,最多能表示 (  B  ) 。
  A.20个字符  B.19个字符  C.18个字符  D.21个字符
28. 将int 型变量n转换成float型变量的方法是 (  B  )。
A.float n      B.(float)n    C.float(n)    D.21个字符
29. 以下不正确的描述是 (  C  )。
A. 使用while和do-while循环时,循环变量初始化的操作应在循环语句之前完成
B. while循环是先判断表达式后执行循环体语句
C. do-while和for循环均是先执行循环体语句,后判断表达式

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。