大连外国语大学往年C语言程序设计测试卷
本试卷为大连外国语大学往年C语言程序设计测试卷,题目包括:单项选择题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,程序题,结构体,文件。
本卷包括如下题型:
C语言程序设计测试卷
一、单项选择题 (共50题,每题2分,共计100分)
( C )
1、有以下程序
#include <stdio.h>
main()
{
int a = 1, b = 0;
if (--a)
b++;
else if (a == 0)
b += 2;
else
b += 3;
printf("%d\n", b);
}
程序运行后的输出结果是________。
( B )
2、当变量c的值不为2、4、6时,值也为"真"的表达式是________。
( C )
3、以下叙述中正确的是________。
( A )
4、表达式"~0x11"的值是________。
( A )
5、若变量已正确定义,在语句"if(w)printf("%d\n",k);"中,以下不可替代w的是________。
( A )
6、在c语言中对于实型数组,其每个数组元素的类型是________。
( D )
7、c语言的程序一行写不下时,可以 ( ) 。
( C )
8、以下函数的功能是:求x的y次方,请填空。
main( )
{
int i,x,y;
double z;
scanf("%d %d",&x,&y);
for(i=1,z=x;i<y;i++) z=z*________ ;
printf("x^y=%e\n",z);
}
( A )
9、有定义语句:int x, y; 若要通过scanf("%d,%d",&x,&y); 语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是________。
( C )
10、若在定义语句:int a,b,c*p=&c; 之后,接着执行以下选项中的语句,则能正确执行的语句是________。
( D )
11、char *s="\t\\name\\address\n"; 指针 s 所指字符串的长度为: 。
( B )
12、以下描述错误的是_________。
( C )
13、以下程序输出的结果是 __________.
#include <stdio.h>
void main( )
{
int a[ ]={5,4,3,2,1},i,j;
long s=0;
for(i=0;i<5;i++) s=s*10+a[i];
printf("s=%ld\n",s);
}
( C )
14、在定义 int a[5][4]; 之后 , 对 a 的引用正确的是__________。
( D )
15、下列关于do…while语句的叙述中正确的是________。
( D )
16、下列四个叙述中,正确的是______。
( C )
17、表达式sizeof(double)是________。
( C )
18、若已定义x为int型变量,说明指针变量p的正确语句是________。
( A )
19、在循环结构中,______可以使得同一组语句一次也不执行。
( B )
20、如果将布尔常量值true赋值给一个整型变量,则整型变量的值为________。
( C )
21、下面单位换算中,正确的是________。
( C )
22、假定a为一个整型数组名,则元素a[4]的字节地址为
( C )
23、下列哪个语句是声明一个含有10个string对象的数组 ( )
( C )
24、以下定义数组中错误的是________。
( B )
25、设 void f1 (int *m,long & n); int a; long b; 则以下调用合法的是______ 。
( B )
26、以下选项中表示一个合法的常量是(说明:符号∏表示空格)
( B )
27、下列二维数组初始化语句中,正确且与语句int a[][3]= { 1,2,3,4,5 }等价的是________。
( B )
28、在c语言中,'a'和"a"存储所占用的字节数分别是________。
( A )
29、有以下程序:
int a=3;
main()
{
int s=0;
{
int a=5;
s+=a++;
}
s+=a++;
printf("%d\n",s);
}
程序运行后的输出结果是________。
( B )
30、有以下程序:
#include<stdio.h>
int f(int t[],int n);
main() {
int a[4]=1,2,3,4,s;
s=f(a,2);
printf("%d\n",s);
}
int f(int t[],int n) {
if((n>0)&&(n<5))
return t[n+1]+f(t,n-1);
else return 0;
}
程序运行后的输出结果是________。
( C )
31、下列选项中,表示字符串末尾的结束标志是________。
( B )
32、宏定义用于将一个标识符定义为一个
( B )
33、有如下程序段int *p,a=6,b=2; p=&a; a=*p+b; 执行该程序段后,a的值为______。
( D )
34、以下选项中不属于c语言类型的是______。
( A )
35、以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下:
main()
{
int n,k;
float score,sum,ave;
sum=0.0;
for(n=1;n<=10;n++)
{
for(k=1;k<=4;k++)
{
scanf("%f",&score);
sum+=score;
}
ave=sum/4.0;
printf("no%d:%f\n",n,ave);
}
}
上述程序运行后结果不正确,调试中发现有一条语句出现在程序的位置不正确。这条语句是______。
( A )
36、以下能正确定义二维数组的是______。
( A )
37、以下选项中不能作为c语言合法常量的是______。
( C )
38、有关c语言的主函数描述正确的是________。
( D )
39、文件中定义的全局变量的作用域为________。
( C )
40、下列if语句中,不正确的是________。
( A )
41、以下叙述中错误的是________。
( C )
42、下面哪个不是关键字?
( B )
43、以下叙述中正确的是________。
( B )
44、为了提高程序的运行速度,在函数中对于整型或指针可以使用()型的变量。
( C )
45、enum a
{
sum=9,mon=-1,tue
}
;
定义了________。
( A )
46、若使用一维数组名作函数实参,则以下正确的说法是________。
( A )
47、当定义一个结构体变量时,系统分配给它的内存是________。
( B )
48、执行以下语句后,a,b,c 的值分别为________。 int a,b,c; a=b=c=1; ++a||++b&&++c;
( C )
49、a,b 为整型变量,二者均不为 0,以下关系表达式中恒成立的是()。
( B )
50、设 j 和 k 都是 int 类型,则 for 循环语句
for(j=0,k=-1;k=1;j++,k++) printf("****\n");()。
相关标签:
- C语言
- 大连外国语大学
- 测试卷