c语言综合练习题及问题详解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
模拟试题一
一、选择题(本大题30分,每小题2分)
1.下列说确的是。
A)main函数必须放在C程序的开头
B)main函数必须放在C程序的最后
C)main函数可以放在C程序的中间部分,但在执行C程序时是从程序开头执行的
D)main函数可以放在C程序的中间部分,但在执行C程序时是从main函数开始的
2.在下面几组数据类型中, 全为最常用的基本数据类型的是哪一组:。
A)整型实型字符型 B)整型数组指针
C)数组结构体共用体 D)指针逻辑型空类型
3.若有说明语句:char c= ‘\64’ ; 则变量C包含:。
A)1个字符 B)2个字符
C)3个字符 D)说明不合法,C值不确定
4.设有如下定义和执行语句,其输出结果为:。
int a=3,b=3;
a = --
b + 1; printf(“%d %d”,a,b);
A)3 2 B)4 2 C)2 2 D)2 3
5.C语言中,运算对象必须是整型数的运算符是。
A)% B)\ C)% 和 \ D)**
6.能正确表示x的取值围在[0,100]和[-10,-5]的表达式是。
A)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)
B)(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100)
C)(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100)
D)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)
7.程序段如下
int k=0;
while(k++<=2); printf("last=%d\n",k);
则执行结果是last= 。
A)2 B)3 C)4 D)无结果
8.下面有关for循环的正确描述是。
A)for循环只能用于循环次数已经确定的情况
B)for循环是先执行循环体语句,后判断表达式
C)在for循环中,不能用break语句跳出循环体
D)for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
9.若二维数组a有m列,则a[I][j]元素前的数组元素个数为:。
A)j*m+i B)i*m+j C)i*m+j-2 D)i*m+j+1
10.C语言中变量的指针指的是:。
A)变量类型 B)变量值 C)变量值 D)变量地址
11.设有两字符串“Beijing”、“China”分别存放在字符数组str1[10],str2[10]中,下面语句中能把“China”连接到“Beijing”之后的为:。
A)strcpy(str1,str2);
B)strcpy(str1, “China”);
C)strcat(str1,“China”)
D)strcat(“Beijing”,str2);
12.以下程序的运行结果是:。
main( )
{ int a=2, i ;
for(i=0;i<3;i++) printf(“%4d”,f(a) ) ; }
f( int a)
{ int b=0,c=3;
b++; c++; return(a+b+c); }
A)7 10 13 B)7 7 7
C)7 9 11 D)7 8 9
13.在C语言程序中,若未在函数定义时说明函数类型,则函数默认的类型为:。 A)
void B)double C)int D)char
14.在说明一个结构体变量时系统分配给它的存储空间是。
A)该结构体中第一个成员所需存储空间
B)该结构体中最后一个成员所需存储空间
C)该结构体中占用最大存储空间的成员所需存储空间
D)该结构体中所有成员所需存储空间的总和
15.使用fseek函数可以实现的操作是。
A)改变文件的位置指针的当前位置
B)文件的顺序读写
C)文件的随机读写
D)以上都不对
二、判断题(本大题10分,每小题1分)
1、C程序可以由若干个源文件组成,因此最小的功能单位是源文件,最小编译单位的是函数。()
2、C程序有三种结构化程序设计方法,分别顺序结构、选择结构和循环结构。()
3、在if语句中,if子句与else子句都可以单独使用,构成了if语句的两种缺省形式。()
4、for语句作为循环控制语句时,其括号各个表达式及其后的分号都可缺省。()
5、C程序中函数不可以嵌套定义但可以嵌套调用。()
6、字符串可以用来给数组赋值,在C程序的执行语句中可以直接用字符串给数组名赋值。()
7、数组名也可作为函数参数使用,此时数组名代表数组的起始地址。()
8、在函数的复合语句中定义的变量在本函数围有效。()
9、声明一个结构体类型的一般形式为struct 结构体名 {成员表列};。()
10、ANCI C规定了标准输入输出函数库,用fseek()函数来实现打开文件。()
三、程序填空题(本大题12分,每小题2分)
1.下面程序可求出1~1000的自然数中所有的完数(因子和等于该数本身的数)请填空。
main( )
{ int m, n, s;
for(m=2;m<1000;m++)
{ ____(1)____;
for(n=1;n<=m/2;n++)
if(__(2)___) s+=n;
if(__(3)___) printf(“%d\n”, m); } }
2.. 用起泡法对十个数由大到小排序。
main( )
{ int a[11], i, j, t;
printf(“input 10 numbers: \n”);
for(i=1;i<11;i++)
scanf(“%d”,&a[i]);
printf(“\n”);
for (j=1;j<=9;j++)
for(i=1; _(1)__; i++)
if (__(2)___)
{t=a[i]; a[i]=a[i+1]; __(3)__ ;}
printf(“the sorted numbers: \n”);
for ( i=1; i<11; i++)
printf(“%d”,a[i]);
}
四、写出下面程序的执行结果(本大题24分,每小题4分)
1.#include
main( )
{ char c=‘A’+‘10’-‘5’;
printf(“c=%c\n”,c); }
2.#include
main( )
{ int a,b,c;
a=1;b=2;c=3;
if(a>b)
if(a>c)
printf(“%d\n”,a);
else printf(“%d\n”,b);
printf(“over\n”); }
3. main( )
{ char a[6][6], i, j;
for(i=0;i<6;i++)
for(j=0;j<6;j++)
{ if ( i