本卷共有3道大题:
一、单项选择题(40道小题,共45分)
1、下列不合法的字符常量是(  )。(1分)
A、'\018' B、'\"'
C、'\\' D、'\xcc'
2、以下说法中正确的是( )。(1分)
A、C语言程序的执行都是从程序的第一个函数开始 B、在C语言程序中,要调用的函数必须在main()函数中声明
C、任何C语言程序的执行都是从main()函数开始 D、C语言程序中的main()函数必须放在程序的最前面
3、存储字符串"\\\'abc\376"需要的字节数是()(1分)
A、11 B、13
C、6 D、7
4、# include<stdio.h> main() {  int m=5,n=10;  printf(“%d,%d\n”,m++,--n); } 以上程序的运行结果是( )。(1分)
A、5,9 B、6,9
C、5,10 D、6,10
5、以下选项中不合法的用户标识符是()(1分)
A、abc.c B、file
C、Main D、PRINTF
6、可在C程序中用作用户标识符的一组是( )。(1分)
A、and  _2007 B、date  y-m-d
C、hi    dr.tom D、case  big1
7、下面那个式子在b为奇数时结果为假()(1分)
A、a%2==1 B、!(a%2==0)
C、!(a%2) D、a%2
8、若变量已正确定义并赋值,下列合法的语句是( )。(1分)
A、x=y==5 B、x=n%2.5
C、x+n=i D、x=5=1+4
9、表达式3.6-5/2+1.2+5%2的值是( )。(1分)
A、4.3 B、4.8
C、3.3 D、3.8
10、以下程序段的输出结果是() float a=3.1415; printf("|%6.0f|\n",a);(1分)
A、|3.1415| B、|  3.0|
C、|  3| D、|  3.|
11、在执行完下面的C语句段之后,则B的值是(  )。 char a='A'; int b; B=((34&&56)&&(a<'b'));(1分)
A、0 B、1
C、TRUE D、FALSE
12、有下列程序: main() {  int m,n,p;    scanf("m=%dn=%dp=%d",&m,&n,&p);    printf("%d%d%d",m,n,p); } 若想从键盘上输入数据,使变量m的值为123,n的值为456,p的值为789,则正确的输入是( )。(1分)
A、m=123 n=456 p=789 B、m=123  n=456  p=789
C、m=123,n=456,p=789 D、123 456 789
13、以下程序的运行结果是( )。 #include<stdio.h> main() {  int a=3,b=4,c=8,d=4,m=1,n=3;    printf("%d\n",(m=a>b)&&(n=c>d)); }(1分)
A、0 B、1
C、2 D、3
14、定义int i=1; 执行语句"while (i++<5);"后,i的值为(1分)
A、3 B、4
C、5 D、6
15、当变量c的值不为2、4、6时,值也为真的表达式是()。(1分)
A、(c==2)||(c==4)||(c==6) B、(c>=2&&c<=6)||(c!=3)||(c!=5)
C、(c>=2&&c<=6)&&!(c%2) D、(c>=2&&c<=6)&&(c%2!=1)
16、main( )  {int n=4;   while(n)printf("%d ",--n);  } 以上程序的输出结果是( )。(1分)
A、2 0 B、3 1
C、3 2 1 0 D、2 1 0
17、若a=3,b=4,c=5,d=6,则条件表达式a<b?a:c<d?c:d的值是()。(1分)
A、4 B、3
C、2 D、1
18、下列关于逻辑运算符两侧运算对象的叙述中正确的是()。(1分)
A、只能是整数0或1 B、只能是整数0或非0
C、可以是结构体类
型的数据 D、可以是任意合法的表达式
19、以下对一维整型数组a的正确说明是(1分)
A、int a(10); B、int n=10,a[n];
C、int n; scanf("%d",&n);  int a[n]; D、#define SIZE 10  int a[SIZE];
20、下列能正确定义一维数组的选项是()。(1分)
A、int a[5]={0,1,2,3,4,5}; B、char a[]={0,1,2,3,4,5};
C、char a={'A','B','C'}; D、int a[5]="0123";
21、下列二维数组初始化语句中,不正确的是( )。(1分)
A、int b[][2]={1,2,3,4,5,6,7}; B、int b[3][5]={0,0,0};
C、int b[][4]={{1,2},{3,4,5},{6}}; D、int b[3][2]={(1,2),(3,4),(5,6)};
22、下列关于字符串的叙述中正确的是()。(1分)
A、C语言中有字符串类型的常量和变量 B、两个字符串中的字符个数相同时才能进行字符串大小的比较
C、可以用关系运算符对字符串的大小进行比较 D、空串一定比空格打头的字符串小
23、以下对一维整型数组 a 的正确说明是( )。(1分)
A、int a(10) ;  B、int n=10,a[n]; 
C、int n; D、#define SIZE 10      int a[SIZE];
24、C程序的执行从哪里开始( )。(1分)
A、第一条语句 B、第一个函数
C、最后一个函数 D、主函数
25、在C语言中,函数调用时()。(1分)
A、实参和形参各占独立的存储单元 B、实参和形参共用存储单元
C、由系统自动确定实参和形参是否共用存储单元 D、由用户指定实参和形参是否共用存储单元
26、以下函数值的类型是()。 fun(double x) { float y;  y=3*x-4;  return y; }(1分)
A、int B、不确定
C、void D、float
27、凡在函数中未指定存储类别的变量,其隐含的存储类别为(1分)
A、自动(auto) B、静态(static)
C、外部(extern)  D、寄存器(register)
28、已知p,p1为指针变量,a为数组名,i为整型变量,下列赋值语句中不正确的是( )。(1分)
A、p=&i B、p=p1
C、p=&a[i] D、p=10
29、若有以下定义,则正确引用数组元素的是( )。 int a[5],*p=a;(1分)
A、*&a[5] B、*a+2
C、*(p+5) D、*(a+2)
30、若有以下定义,则对a数组元素的正确引用是(  )。(1分)
A、int a[5],*p=a; B、*&a[5]
C、*a+1 D、*(p+5)
31、C语言的编译系统对宏命令的处理是()。(1分)
A、在系统对源程序进行编译前 B、和其他语句的编译同时进行
C、在程序连接时进行 D、在程序运行时进行
32、以下叙述中不正确的是()。(1分)
A、预处理命令行都必须以“#”号开始,结尾不加分号 B、在程序中凡是以“#”开始的语句行都是预处理命令行
C、C程序在执行过程中对预处理命令进行处理 D、预处理命令可以放在程序的任何位置
33、fwrite函数的一般调用形式是( )。(1分)
A、fwrite(buffer,count,size,fp) B、fwrite(fp,size,count,buf
fer)
C、fwrite(fp,count,size,buffer) D、fwirte(buffer,size,count,fp)
34、若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则文件方式字符串应是()(1分)
A、"ab++" B、"wb+"
C、"rb+" D、"ab"
35、若执行fopen函数时发生错误,则函数的返回值是()(1分)
A、地址值 B、0
C、1 D、EOF
36、已知学生记录描述为 struct student {int no; char name[20]; char sex; struct {int year; int month; int day;}birth;}; struct student s; 设变量s中的“生日”应该是“1984年11月11日”,下列对“生日”的正确赋值方式是( )。(2分)
A、year=1984; B、ar=1984; month=11; h=11;day=11; birth.day=11;
C、s.year=1984;  D、ar=h=11; h=11;s.day=11; s.birth.day=11;
37、有以下程序: main() {int aa[5][5]={{1,2,3,4},{5,6,1,8},{5,9,10,2},{1,2,5,6}}; int s=0,i; for(i=0;i<4;i++) s+=aa[i][2]; printf("%d",s); } 程序运行后的输出结果是( )。(2分)
A、26 B、19
C、10 D、20
38、main() {struct date {int year,month,day;}today; printf("%d\n",sizeof(struct date));} 以上程序的运行结果是( )。(2分)
A、6 B、8
C、10 D、12
39、有以下程序: main() {int i,t[][3]={9,8,7,6,5,4,3,2,1}; for(i=0;i<3;i++)  printf("%d",t[2-i][i]); } 程序执行后的输出结果是( )。(2分)
A、7 5 3 B、3 5 7
C、3 6 9 D、7 5 1
40、执行以下语句段后,xy的值是( )。 int *pt,xy; xy=200; pt=&xy; xy=*pt+30;(2分)
A、200 B、170
C、260 D、230
二、填空题(11道小题,共20分)
1、C语言所提供的基本数据类型包括:单精度型、双精度型、整型、和枚举类型。
(1分)
--------------------------------------------------------------------------------
2、若a是int型变量,则计算表达式后,a的值为
a=25/3%3
(1分)
--------------------------------------------------------------------------------
3、复合语句在语法上被认为是。
(1分)
--------------------------------------------------------------------------------
4、在C语言中,表示逻辑"真"值使用整型值
(1分)
--------------------------------------------------------------------------------
5、设int a[2][3]={{5},{6}}; 则数组元素的值为5。
(1分)
--------------------------------------------------------------------------------
6、C语言中构成数组各个元素具有相同的。
(1分)
--------------------------------------------------------------------------------
7、全局的外部变量和函数体内定义的局部变量重名时,变量优先。
(1分)
--------------------------------------------------------------------------------
8、"*"称为运算符.
(1分)
--------------------------------------------------
------------------------------
9、下列程序的功能是:求出数组x中各相临两个元素的和依次存放到数组a中,然后输出。请填空。
main()
{int x[10],a[9],i;
for(i=0;i<10;i++)
scanf("%d",&x[i]);
for(;i<10;i++)
a[i-1]=x[i]+;
for(i=0;i<9;i++)
printf("%d",a[i]);
printf("\n");
}
(4分)
--------------------------------------------------------------------------------
10、下列程序用于判断a、b、c能否构成三角形,若能输出YES,否则输出NO。请填空。
main()
{float  a,b,c;
scanf("&f&f&f",&a,&b,&c);
if() printf("YES\n");
else  printf("NO\n");
}
(4分)
--------------------------------------------------------------------------------
11、从键盘输入一个小写字母,改用大写字母输出,完成填空。
main()
{char c1,c2;
c1=;
c2=;
putchar(c2);
(4分)
-
-------------------------------------------------------------------------------
三、编程题(3道小题,共35分)
1、输入三角形的三边长,求三角形面积。求三角形面积的公式为scanf输入整型数组
area=sqrt(s(s-a)(s-b)(s-c)),其中s=(a+b+c)/2
(10分)
(本题不要求填写运行结果)
请将你解答本题所写的源程序粘贴到下面或者上载源程序
#include<stdio
--------------------------------------------------------------------------------
2、一个数如果恰好等于它的因子之和,这个数就称为完数。例如,6的因子为1、2、3,而6=1+2+3,因此6是完数。编程求1000以内所有完数。
(10分)
(本题不要求填写运行结果)
请将你解答本题所写的源程序粘贴到下面或者上载源程序
--------------------------------------------------------------------------------
3、将一个二维数组行和列的元素互换,存到另外一个二维数组中。
(15分)
(本题不要求填写运行结果)
请将你解答本题所写的源程序粘贴到下面或者上载源程序
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
考号:200948410104 

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