C语言模拟试题1答案
《C语言程序设计》模拟试题(一)
选择(每题2分,共30分)
1.以下叙述中正确的是______。AA) 构成C程序的基本单位是函数B) 可以在一个函数中定义另一个函数 C) main()函数必须放在其它函数之前 D) 所有被调用的函数一定要在调用之前进行定义
2.以下选项中合法的实型常数是______。CA) 5E2.0 B) E-3 C) .2E0 D) 1.3E3.以下选项中合法的用户标识符是______。BA) long B) _2Test C) 3Dmax D) A.dat
4.已知i、j、k为int型变量,若从键盘输入:1,2,3,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是______。CA) scanf("%2d%2d%2d",&i,&j,&k);B) scanf(""%d %d %d",&i,&j,&k); C) scanf("%d,%d,%d",&i,&j,&k); D) scanf("i=%d,j=%d,k=%d",&i,&j,&k);5以下程序的输出结果是_______C
main( )
{
int a=1,b=2,c=3;
printf(“%d”,c>b>a);
}
A)2 B)1 C)0 D)3
6.判断char型变量c是否为小写字母的表达式是____ D _____
A)’a’<=c<=’z’ B)(c>=a)&&(c<=z)
C)(‘a’>=c)||(‘z’<=c) D)(c>=’a’)&&(c<=’z’)
7.以下选项中,与k=n++完全等价的表达式是__A_____。A) k=n,n=n+1 B) n=n+1,k=n C) k=++n D) k+=n+1
8.C语言中,函数值类型的定义可以缺省,此时函数值的
隐含类型是___B___。A) void B) int C) float D) double9.若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是___D___。A) p=q; B) *p=*q; C) n=*q; D) p=n;10.函数调用:strcat (strcpy (str1,str2), str3)的功能是____C____
A)将串str1复制到串str2中后再连接到串str3之后
B)将串str1连接到串str2中后再复制到串str3之后
C)将串str2复制到串str1中后再将串str3连接到串str1之后
D) 将串str1连接到串str1中后再将串str1复制到串str3之后
11.以下叙述中正确的是___C___
A) 由于do---while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
B) do---while循环由do开始,用while结束,在while(表达式)后面不能写分号
C) 在do----while循环体中,一定要有能使while后面表达式的值变为零的操作
D) do---while循环中,根据情况可以省略while
12.对两个数组a和b进行如下初始化
char a[]=”ABCDEF”;
char b[]={‘A’,’B’,’C’,’D’,E’,’F’};
则以下叙述正确的是__D____
A) a与b数组完全相同 B) a与b长度相同
C) a与b中都存放字符串 D)a数组比b数组长度大
13.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是__B____
A) 地址传递 B) 单向值传递
C) 由实参传给形参,再由形参传回给实参
由用户指定传递方式
14.若有下列说明和语句:int?a[4][5],?(*p)[5];??p?=?a;?则对a数组元素的正确引用是___D___。A)?p+1?? ???B)?*(p+3)????
C)?*(p+1)+3????? D)?*(*p+2)15.设有以下说明语句,则下面的叙述中不正确的是___B___。struct?ex?{?int?x;??float?y;?char?z?;}?example;A)?struct结构体类型的关键字?
B)?example是结构体类型名C)?x,y,z都是结构体成员名???????????
D)?struct?ex是结构体类型
二、填空(每空1分,共15分)
编写好一个C程序到完成运行一般经过编辑、____编译______、___链接_______、运行四个步骤。
2.一个算法应该具有以下特点:有穷性、___确定性_____、_有零个或多个输入__、有一个或多个输出、有效性。
3.若a=3,b=5,