c语言题目及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
考试题型
一、单项选择题(30分)
二、填空题(20分)
三、阅读程序写结果(20分)
四、编程序题(30)
复习题一
一、选择题
1.下列说法中正确的是。
A.C语言程序由主函数和0个或多个函数组成
B.C语言程序由主程序和子程序组成
C.C语言程序由子程序组成
D.C语言程序由过程组成
2.执行语句“x=(a=3,b=a--)”后,x,a,b的值依次为。
A.3,3,2 B.3,2,2 C.3,2,3 D.2,3,2
3.设有int i=010,j=10;则printf("%d,%d\n",++i,j--); 的输出的是。
A.11,10 B.9,10 C.010,9 D.10,9 4.设a、b为字符型变量,执行scanf("a=%c,b=%c",&a,&b); 后使a为'A', b为'B',从键盘上的正确输
入是。
A.'A' 'B' B.'A','B' C.A=A,B=B D.a=A,b=B
5.已知int x=12, y=3;执行下述程序后,变量x的值是____。
do{ x/=y--;}while(x>y);
A.1 B.2 C.3 D.程序运行有错误
6.C语言中while和do-while循环的主要区别是。
A.do-while的循环体至少无条件执行一次
B.while的循环控制条件比do-while的循环控制条件严格
C.do-while允许从外部转到循环体内
D.do-while的循环体不能是复合语句
7.设x和y均为int型变量,则执行下面的循环后,y的值为。
for (y=1,x=1;y<=50;y++) {
if (x>=10 ) break;
if (x%2==1) {x+=5;continue;}
x - =3;
}
A.2 B.4 C.6 D.8
8.以下正确的说法是____。
A.用户若需调用标准函数,调用前必须重新定义
B.用户可以重新定义标准库函数,若如此,该函数将失去原有含义
C.系统根本不允许用户重新定义标准函数
D.用户若需要调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统
自动去调
9.若调用一个函数,且此函数中没有return语句,则关于该函数正确的说法是__ _。
A.没有返回值
B.能返回若干个系统默认值
C.能返回一个用户所希望的函数值
D.返回一个不确定的值
10.已知函数定义如下:
float fun1(int x,int y)
{ float z;
z=(float)x/y;
return(z);
}
主调函数中有int a=1,b=0;可以正确调用此函数的语句是____。
A.printf("%f",fun1(a,b)); B.printf("%f",fun1(&a,&b));C.printf("%f",fun1(*a,*b)); D.printf("%f",fun1(b,a));
11.宏定义:#define PI 31.14159中,宏名PI代替______。
A.单精度 B.双精度 C.常量 D.字符串
12.若有以下数组说明,则数值最小和最大的元素下标分别是。
int a[12] ={1,2,3,4,5,6,7,8,9,10,11,12};
A.1,12 B.0,11 C.1,11 D.0,12
13.以下合法的数组定义是。
A.int a[3][ ]={0,1,2,3,4,5}; B.int a[ ][3] ={0,1,2,3,4};
C.int a[2][3]={0,1,2,3,4,5,6}; D.int a[2][3]={0,1,2,3,4,5,};
14.函数调用:strcat(strcpy (str1,str2),str3); 的功能是。
A.将字符串str1复制到字符串str2中后再连接到字符串str3 之后。
B.将字符串str1连接到字符串str2之后再复制到字符串str3 之后。
C.将字符串str2复制到字符串str1中后再将字符串str3 连接到字符串str1之后。D.将字符串str2连接到字符串str1之后再将字符串str1 复制到字符串str3中。15.设有二维数组定义如下,则不正确的数组元素引用是。
int a[3][4] ={1,2,3,4,5,6,7,8,9,10,11,12};
A.a[2][3] B.a[a[0][0]][1] C.a[7] D.a[2][‘c’-‘a’]
16.若用数组名作为函数调用时的实参,则实际上传递给形参的是。
A.数组首地址 B.数组的第一个元素值
C.数组中全部元素的值 D.数组元素的个数
17.以下对指针变量进行操作的语句,正确的选项是。
A.int *p,*q; q=p; B.int a,*p,*q; q=&a; p=*q;
C.int a=b=0,*p; p=&a; b=*p; D.int a=20,*p,*q=&a; p=q;
18.若有以下定义和语句:
int s[4][5],(*ps)[5];ps=s;
则对s数组元素的正确引用形式是。
A.ps+1 B.*(ps+3)
C.ps[0][2] D.*(ps+1)+3
19.当说明一个共用体变量时系统分配给它的存储容量是。
A.共用体中最后一个成员所需的存储容量
B.共用体中第一个成员所需的存储容量
C.成员中占存储量最大者所需的存储容量
D.各成员所需存储容量的总和
20.有定义如下: