1. 以下对C语言函数的描述中,正确的是(B).
AC函数既可以嵌套定义又可以递归调用
BC程序必须由一个或一个以上的函数组成
CC程序中有调用关系的所有函数必须放在同一个程序文件中
D、函数必须有返回值,否则不能使用函数
2. 用C语言编写的代码程序(B)
A、可立即执行
B、是一个源程序
C、经过编译解释才能执行
D、经过编译即可执行
3. 以下字符中不是转义字符的是(A).
A\c'
B\t'
C\\'
D\n'
4. 若有说明:int *p,m=5,n;以下正确的程序段是(A).
Ap=&n;*p=m;
Bp=&n;scanf("%d",*p)
Cp=&n;scanf("%d",&p);
Dscanf("%d",&n);*p=n;
5. 以下程序的运行结果是(A).
main()
{  int n;
    for(n=1;n<=10;n++)
        {
          if(n%3==0) continue;
          printf("%d",n);
      }
}
A12457810
B12
C369
D1234567890
6. 有以下定义语句  double  a,b;  int w; long c;各变量已正确赋值,则下列选项中正确的表达式是(D)
Aw=a==b;
Ba=a+b=b++
Cw%((int)a+b)
D(c+w)%(int)a
7. 已知字母AASCII码为十进制数65,c2为字符型,则执行语句C2='A'+'6'-'3';c2中的值是(A)
AD
B、不确定的值
CC
D68
8. 一个C语言程序是由(A).
A、函数组成
B、一个主程序和若干子程序组成
C、若干子程序组成
D、若干过程组成
9. C语言中用于结构化程序设计的三种基本结构是(A)
A、顺序结构、选择结构、循环结构
Bifswitchbreak
Cifforcontinue
Dforwhiledo-while
10. 设以下变量均为int类型,则值不等于7的表达式是(D).
A(y=6,y+1,x=y,x+1)
B(x=y=6,x+y,y+1)
C(x=y=6,x+y,x+1)
D(x=6,x+1,y=6,x+y)
11. C语言能正确处理的指数是(B).
Ae-32
B1.23e-5
C4.5e-5.6
D8.5e4288
12. 逻辑运算符两侧运算对象的数据类型(B)
A、只能是0或非0正数
B、可以是任何类型的数据
C、只能是01
D、只能是整型或字符型数据
13. fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是(B).
A、答案BC都正确
B、读或读写
C、只写
D、追加
14. 下面的叙述中不正确的是(B)
A、宏名无类型,其参数也无类型
B、宏定义命令必须写在文件开头
C、宏替换只是字符替换
D、宏定义不是C语句,不必在行末加分号
15. 以下叙述中不正确的是(B).
A、在程序中凡是以#号开始的语句行都是预处理命令行
BC程序在执行过程中对预处理命令行进行处理
C、预处理命令行都必须以#号开始
D、以下是正确的宏定义      #define IBM_PC
16. 若变量ai已正确定义,i已正确赋值,合法的语句是(A).
A++i;
Ba=a++=5;
Ca==1
Da=int(i);
17. 以下符合C语言语法的赋值表达式是(A)
AB) d=9+e,f=d+9
BD)d=9e++=d7
CA)d=9+e+f=d+9
DC)d=9e,e++,d9
18. 以下说法正确的是(D)
AA)输入项可以为一实型常量,scanf("%f",3.5);
BC)当输入一个实型数据时,格式控制部分应规定小数点后的位数scanf("%4.2f",&f);
CB)只有格式控制,没有输入项,也能进行正确输入,scanf("a=%d,b=%d");
DD)当输入数据时,必须指明变量的地址,scanf("%f",&f);
19. fwrite函数的一般调用形式是(C).
Afwrite(fp,count,size,buffer);
Bfwrite(buffer,count,size,fp);
Cfwrite(buffer,size,count,fp);
Dfwrite(fp,size,count,buffer);
20. 用语句scanf("x=%f,y=%f",&x,&y);使x,y的值均为1.25,正确的输入是(C)
A1.25,1.25
B1.251.25
Cx=1.25,y=1.25
Dx=1.25y=1.25
21. 输入某字符串时,不可使用的函数是(B).
Ascanf()
Bgetchar()
Cfread()
Dgets()
22. 算术运算符、赋值运算符和关系运算符的运算优先级从高到低依次为(B)
A、关系运算、赋值运算、算术运算
B、算术运算、关系运算、赋值运算
C、算术运算、赋值运算、关系运算
D、关系运算、算术运算、赋值运算
23. 执行以下程序段后,输出结果和a的值是(C).
int a=10; printf("%d",a++);
A11 11
B10   10
C10 11
D11   10
24. 在位运算中,操作数每左移一位,其结果相当于(A).
A、操作数乘以2
B、操作数乘以4
C、操作数除以4
D、操作数除以2
25. 下列四个选项中,均是C语言关键字的选项是(C).
Aauto  enum    include
Bsigned  union  scanf
Cswitch  typedef  continue
Dif  struct  type
26. 以下选项中合法的实型常数是(B).
A1.3E
B.2E0
C5E2.0
DE-3
27. 设有定义:int a=3,b=4; 执行语句printf("%d,%d",(a,b) ,(b,a));的输出是(C)
A3,3
B3,4
C4,3
D4,4
28. 关于建立函数的目的,以下正确的说法是(D).
A、减少程序文件所占内存
B、提高程序的执行效率
C、减少程序的篇幅
D、提高程序的可读性
29. 下列关于单目运算符++--的叙述中正确的是(D)
A、它们的运算对象可以是int型变量,但不能是double型变量和float型变量
B、它们的运算对象可以是char型变量、int型变量和float型变量
C、它们的运算对象可以是任何变量和常量
D、它们的运算对象可以是char型变量和int型变量,但不能是float型变量
30. 以下不正确的叙述是(D)
AC)ab类型相同,在执行了赋值表达式a=bb中的值将放人a,b中的值不变.
BB)C程序中,APHfloat型和aph是两个不同的变量
CA)C程序中,逗号运算符的优先级最低
DD)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值.
31. 在C语言中,char型数据在内存中的存储式是(A)
AASCII
B、原码
C、反码
D、补码
32. 切换编辑窗和信息窗的命令键是(B).
AF3
BF6
CF9
DF2
33. 以下正确的描述是(D)
Acontinue语句的作用是结束整个循环的执行
B、在循环体内使用break语句或continue语句的作用相同
C、从多层循环嵌套中退出时,只能使用goto语句
D、只能在循环体内和switch语句体内使用break语句
34. 以下叙述中正确的是(D).
A、在程序的一行上可以出现多个有效的预处理命令行
B、在以下定义中 C R 是称为"宏名"的标识符    #define C R  045
C、使用带参的宏时,参数的类型应与宏定义时的一致
D、宏替换不占用运行时间
35. double x;scanf("%lf",&x);不可以赋值给x变量的常量是(A).
A"abc"
B123
C100000
DA'
36. 打开文件时,方式"w"决定了对文件进行的操作是(C).
A、只读盘
B、追加写盘
C、只写盘
D、可读可写盘
37. 在C语言中,合法的长整型常数是(A)
A0L
B216D
C324562&
D4962710
38. 若x,i,jk都是int型变量,则执行下面表达式后x的值为x=(i=4,j=16,k=32)    (D)
AA)4
BB)16
CD)52
DC)32
39. 一个C程序的执行是从(C).
A、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
B、本程序的main函数开始,到本程序文件的最后一个函数结束
C、本程序的main函数开始,main函数结束
D、本程序文件的第一个函数开始,到本程序main函数结束
40. C语言的if语句嵌套时,ifelse的配对关系是(A).
A、每个else总是与它上面的最近的没有配对的if配对
B、每个else总是与最外层的if配对
C、每个elseif的配对是任意的
D、每个else总是与它上面的if配对
【程序设计】
--------------------------------------------------
1.题目:编写函数fun,求任一整数mn次方。
--------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数
      main和其它函数中的任何内容,仅在函
      fun的花括号中填入所编写的若干语句。
------------------------------------------------*/
#include "stdio.h"
main()
{ int m,n;
  long  s;
  long fun(int,int);
  printf("输入mn的值:");
  scanf("%d,%d",&m,&n);
  s=fun(m,n);
  printf("s=%ld\n",s);