一、单项选择题(每题2分,共30分)
1.以下描述正确的是( C )
A.goto语句只能用于退缩出多层循环。
B.switch语句中不能出现continue语句。
C.只能用continue语句中来终止本次循环。
D.在循环语句中break语句不独立出现。
2.一个C程序的执行是从( A )
A.C程序的main函数开始,到main函数结束。
B.本程序的第一个函数开始,到本程序最后一个函数结束。
C.本程序的main函数开始,到本程序文件的最后一个函数结束。
`D.本程序的第一个函数开始,到本程序main函数结束。
3.C语言中,要求运算数必须都是整数的运算符是( C )。
A.* B.- C.% D.+
4.假定 int i=3,j=4; 执行语句: printf("%d,%d,%d/n",i+++j,i,j); 之后,其输出结果为:( C )
A.7,4,4 B. 8,4,4 C. 7,3,4 D.7,3,5
5.对break语句的正确描述。( A )
A.break语句在while语句中,立即终止执行while语句。
B.break语句不能用于循环语句之外的语句。
C.break语句与continue语句功能相同。
D.break语句可以带参数,也可以不带。
6.在C语言中,下面那一个不是正确的概念( A )
A. 所有循环语句都要求至少要执行一次循环体。
B. goto和if语句能构成循环语句。
C.循环过程只能包含,不能交叉。
D.循环体可以是一条语句。
7.以下对二维数组a的正确说明是( C )
A. int a[ 3 ] [ ]; B. float a( 3, 4);
C. int a[ 3 ] [ 4 ] D.float a( 3, )( 4 );
8.对函数的正确描述( C )
A.在C语言中可以嵌套定义函数。
B.自定义函数和调用函数可以不在一个源文件中。
C. 函数定义都是平行的,独立的。
D. 不能嵌套调用函数。
9.若用数组名作为函数调用的实参,传给形参的是( A )
A.数组的首地址 B.数组的第一个元素值
C.数组的全部元素值 D.数组中元素的个数
10.对于 int *p; int a[]; p=a; 的合法运算( C )
A. a++;
B. p=a; p++; 相当于 a++;
C. ++p; 相当于 a[1];
D. 若p中的地址为100则p++; 运算后,则其值为100
11.假设 int x[] = {1,3,5,7,9,11}, *ptr; ptr = x; 以下那些是对数组元素的正确引用 ( D )
A. *(ptr--) B. x[6] C. *(--ptr) D. *(ptr++)
12.执行以下语句后的结果为( A )
enum weekday {sun,mon=3,tue,wed,thu};
enum weekday workday;
workday = wed;
printf("%d/n",workday);
A.5 B. 3 C.4 D.编译出错
13.要定义一个结构体类型拟包含两个成员,其中成员变量info用来存放整型数据,成员变量link是指向自身结构体的指针。则下面的定义正确的是( D )。
A.struct node{int info;struct node link;};
B.struct node{int info;node *link;};
C.struct node{int info;struct *link;};
D.struct node{int info;struct node *link;};
14.以下与函数fseek(fp,0L,SEEK_SET)有相同作用的是( D )。
A.feof(fp) B.ftell(fp) C.fgetc(fp) D.rewind(fp)
15.局部变量的作用域( A )
A.在定义的块内有效。 B.在函数外也有效。
C.在本文件内有效。 D.在所有文件内有效。
二、判断题(每题1分,共10分)
( × )1.break和continue 都可以用于switch语句中。
(√ )2.C语言不能嵌套定义函数,但可以嵌套调用。
(× )3.C语言函数的缺省类型是void型(空类型)。
(× )4.如果a>b或c<d为真,那么表达式(a>b&&c<d)为真。
(√ )5.如果有:int data[10];int *p; 则语句p=data 和 语句 p=&data[0]等价。
(√ )6.联合类型是在同一个存储空间,可以为几个不同数据类型的成员所使用。
( × ) 7.一个数组能够存储许多不同类型的值。
(√ )8.在运算时,不同类型的数据要先转换成精度高的类型之后,然后才能进行运算。
(× )9.C语言允许对数组的大小作动态定义。
(× )10.条件运算符的结合方向是从左到右。
三、分析程序给出运行结果(每题5分,共25分)
1. #include "stdio.h"
#include "string.h"
void main()
{ char s[20]="abcd";
printf("%d,%d/n",sizeof(s),strlen(s));
}
答案:20,4
2. #include "stdio.h"
void main()
{ int a[][3]={{1,2,3},{4,5,6},{7,8,9}},*p;
p=&a[0][0];
printf("%d/n",p[5]) ;
}
答案: 6
3. # include <stdio.h>
main( )
{ char s[10]={“abc”};
printf(“c1=%c,c2=%s/n”,s[2],s);
}
答案: c1=c,c2=abc
4. main( )
{
printf("%d %x %o/n",125,125,125);
printf("%d %x %o/n",045,045,045);
printf("%d %x %o/n",0x32,0x32,0x32);
}
答: 125 7d 175
37 25 45
50 32 62
5. #include <stdio.h>
int f(int a);
int main()
{ int f(int);
int a=2,i;
for(i=0;i<3;i++)
{
printf("%d ", f(a));
}
return 0;
}
int f(int a)
{ auto int b=0;
static int c=3;
b = b+1;
c = c+1;
return (a+b+c);
}
答案:7 8 9
四、完善程序填空题(每题5分,共15分)
1.程序实现:将100~200之间的素数输出。
#include <stdio.h>
int main()
{ int x=100;
int a=2;
mmm: x++;
while( x<=200 )
{ if (x%a == 0)
goto mmm;
if( a >= x/2)
{ printf("%d ",x);
a=2;
goto mmm;
}
else ++a;
}
return 0;
}
2.以下程序的功能是统计一行字符中的单词个数(单词之间用空格分隔)请完善该程序功能。
main( )
{ char str[256];
int i,num=0,word=0;
scanf(“%s”,str);
for(i=0;str[i]!= '/0';i++)
if(str[i] == ' ')
word =0 ;
else if ( word == 0 )
{ word = 1;
num++;
}
printf(“%d”,num);
}
3. 输出3到100之间的所有素数。
main()
{ int i,j;
for(i=3; i<=100 ;i++)
{ for(j=2;j<=i-1;j++)
if(i%j==0)
break;
if( i==j )
printf("%4d",i);
}
}
五、编程题 (每题10分,共20分)
1. 请编制程序实现:判断一个数能否同时被3和5整除。
答:算法如下:
#include <stdio.h>
int main()
{ int x;
printf("/n为X输入值");
scanf("%d", &x);
if (x%3==0)
{ if(x%5==0)
{ printf("/nX能被3和5整除:X=");
printf("%-5d/n",x);
}
else printf("/nX不能被5整除");
}
else printf("/nX不能被3整除");
return 0;
}
2.请编制程序实现:用递归方式计算a!+b!+c!,并要求有输出结果。
答:算法如下:
#include<stdio.h>
int fact(int);
int main()
{
int a,b,c;
printf("Enter three numbers:");
scanf("%d%d%d",&a,&b,&c);
printf("%d!+ %d!+ %d!= %d /n",a,b,c,fact(a)+fact(b)+fact(c));
return 0;
}
fact(int n)
{
int result;
if(n==1)
return(1);
result=fact(n-1)*n; /*递归调用*/
return(result);
}
来源:网络整理 免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。
相关文章:
期货公司申请金融期货结算业务资格,应当向中国证券监督04-27
期货公司停业的,应当向中国证券监督管理委员会提交的材04-27
下列关于期货公司首席风险官报告义务的表述,正确的有()。04-27
高一年级必修二生物知识点04-27
国内某出口企业3个月后将收到一笔日元出口货款,则可用04-27
高一数学上册教案范例5篇04-27
高一年级语文必修三知识点总结04-27
外汇期权合约中规定卖出的货币,其利率越高,期权持有者在04-27
高一年级必修二物理知识点04-27