一、单项选择题(本大题共20小题,每小题2分,共40分。在每小题给出的四个备选项中,选出一个正确的答案,并将所选项前的字母填写在答题纸的相应位置上。)
1.下列叙述中正确的是()。
A.用C程序实现的算法必须要有输入和输出操作
B.用C程序实现的算法可以没有输出但必须要有输输入
C.用C程序实现的算法可以没有输入但必须要有输出
D.用C程序实现的算法可以既没有输入也没有输出
2.C语言中标识符只能由字母、数字和下划线组成,且第一个字符( )。
A.必须为字母
B.必须为字母或下划线
C.必须为下划线D.可以是字母、数字和下划线中任一种字符
3.C语言的编译系统对宏命令的处理()
۔A.在程序运行时进行的
B.在对源程序中其他语句正式编译之前进行的
C.在程序连接时进行的
D.和C程序中的其他语句同时进行编译的
4. 下面正确的字符常量是()
A. "a"
B.'\'
'C. "n"
D. "376"
5,设以下变量均为int类型,表达式的值不为9的是()
A. (x=y=8,x+y, x+1)
B. (x=y=8, x+y, y+1)
C. (x=8, x+1, y=8, x+y)
D. (y=8, y+1, x=y, x+1)
6,下列两条语句”int cl=1,e2=2, c3;c3=1.0/c2*cl; “执行后变量e3中的值是()
A.0
B.0.5
C.1
D.2
7.C语言的长整形数据值在计算机中所占的字节个数是()。
A.1
B.2
C.4
D.8
8.已知ch是字符型变量,下面不正确的赋值语句是()
A. ch='a+b';
B. ch='#';
C. ch=";
D. ch='n';
9.字符电常量”abnllede\125”包含字符个数是()。
A.13
B.8
C.9
D. 12
10.有输入语句: scanf("a=%d,b=%d,c=%d",&a,&b,&c);为使变量a的值为1,b为3,c为2,从键盘输人数据的正确形式应当是( )。(注:表示空格)
A. 132<回车>
B. 1,3,2<回车>
C. a=1空格b=3空格c=2<回车>
D.a=1,b=3,c=2<回车>
11 有定义语句“mta1,b2.3“,则以下各程序段执行后,×的值不为3的是()。
A.
B.i
f(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
12. 下列程序段的功能是()。
#include
{
int main 0;
for (i = 1;i< 10; i += 2)
s+=i+1;
printf("%d\n", s);
return 0;
}
A. 自然数 1-9的累加和
B. 自然数 1-10的累加和
C. 自然数 1~9中的奇数之和
D.自然数1-10中的偶数之和
13,假定int类型变量占用两个字节,其有定义:int x[10]=(0, 2,4);则数组x在内存中所占字节数是()。
A.3
B.6
C.10
D.20
14.以下关于数组的描述正确的是()。
A.数组的大小是固定的,但可以有不同的类型的数组元素。
B.数组的大小是可变的,但所有数组元素的类型必须相同。
C.数组的大小是固定的,但所有数组元素的类型必须相同。
D.数组的大小是可变的,但可以有不同的类型的数组元素。
15. 设有数组定义:char array []="China";则数组 array所占的空间为()。
A.4个字节
B.5个字节
C.6个字节
D.7个字节
16.C语言中函数返回值的类型是由()决定的。\
A. returm 语句中的表达式类型
B.调用该函数的主调函数的类型
C.调用函数时临时决定
D.定义函数时所指定的函数类型
17. 以下()不是正确的函数原型。
A. int f0;
B. int f(int i);
C. int f(int);
D. int f0
18. 设变量定义为 int a[2]=(1,3),*p=&a[0]+1;,则*p的值是()。
A. 2
B.3
C.4
D. &a[0]+1
19,假设seanf语句执行时输入ABCDE<回车>,能使puts(s)语句正确输出ABCDE字符串的程序段是( )。
A. char s[5]=("ABCDE"); puts(s);
B. char s[5]={'A', 'B', 'C', 'D', 'E'); puts(s);
C. char *s; scanf("%s", s); puts(s);
D. char *s; s="ABCDE"; puts(s);
20.设有如下说明:
Typedef struct ST
{long a: int b; char c[4];}NEW;
则以下叙述正确的是()。
A. 以上的说明非法
B. ST是一个结构体类型
C.NEW 是一个结构体类型
D. NEW 是一个结构体变量
二、程序阅读题(本大题共5小题,每小题6分,共30分。请将程序的运行结构填写在答题纸的相应位置上。
1______
- #include
- void main()
- {
- unsigned char x=255,y='\1';
- switch(!!x)
- {
- case 0: printf("*0*#");break;
- case 1: switch(y)
- {
- case 0: printf("*1*#");break;
- case 1: printf("*2*#");break;}
- default: printf("*3*#"); }
- }
2._________
- #include
- int f2(int n)
- {
- if(n==1) return 1;
- else return n*f2(n-1);
- }
- void main()
- {
- int i;
- for(i=1; i<=5; i++)
- printf("%d", f2(i));
- }
3._________
- #include
- int func(int a,int b)
- {
- static int m=0,i=2;
- i+=m+1;
- m=i+a+b;
- return(m);
- }
- int main()
- {
- int k=4,m=1,p;
- p=func(k,m);
- printf("%d",p);
- p=func(k,m);
- printf("%d",p);
- return 0;
- }
4.___________
- #include
- void Func(int b[])
- {
- int j;
- for (j=0; j<4; j++)
- {
- b[j]=j+1;
- }
- }
- int main()
- {
- static int a[4]={5,6,7,8},i;
- Func(a);
- for (i=0; i<4; i++)
- {
- printf("%d,", a[i]);
- }
- return 0;
- }
5_________
字符0的ASCII码的十进制数为48,且数组的第0个元素在低位。
- #include
- int main()
- {
- union
- {
- int i[2];
- long k;
- char c[4];
- }r,*s=&r;
- s->i[0]=0x39;
- s->i[1]=0x38;
- printf("%c\n",s->c[0]);
- return 0;
- }
三、程序填空题(每空5分,共35分。请将答案填写在答题纸的相应位置上。)
- #include
-
- void main()
-
- {
-
- int i,j;
-
- char str[81];
-
- i =j= 0;
-
- gets(str);
-
- while (str[i] != 10')
-
- {
-
- if(_________)
-
- {
-
- str[j] = str{i];
-
- ________;
-
- }
-
- i++
-
- }
-
- _____________;
-
- ;puts(str);
-
- }
2. 统计字符串中0-9的出现次数。
- #include
-
- #include
-
- void main()
-
- {
-
- char s[80];
-
- static int count[10];
-
- int i;
-
- scanf("%s",s);
-
- for(i=0;i<______;i++)
-
- if(s[i]>='0'&&s[i]k='9')_________;
-
- for(i=0;i<10;i++)
-
- printf("%d",count[i]);
-
- }
3.该程序计算10名学生的平均成绩。
- #include
-
- struct student{
-
- int num;
-
- char name[20];
-
- int score;);
-
- };
-
- struct student stud[10];
-
- void main()
-
- {
-
- int i, sum = 0 ;
-
- for(i = 0; i < 10; i++){
-
- scanf("%d%s%d", &stud[i].num,________, &stud[i].score);
-
- __________= stud[i].score;
-
- }
-
- printf("aver=%dn", sum/10);
-
- }
四、编程题(本大题共3小题,每小题15分,共45分。请在答题纸的相应位置上作答。)
1,小球重量。三个球A、B、C,大小形状相同且其中有一个球与其他球重量不同。要求编程找出这个不一样的球。
2,在全校系1000学中,征集慈善募捐,当总数达到10万元时就结束,统计此时捐款的人数以及平均每人捐款的数目。
3.用递归的方法将一个整数n转换成字符串。例如,输入256,应输出“256”。