Dotcpp  >  试卷列表  >  大连交通大学五年制C语言试卷七

大连交通大学五年制C语言试卷七


第1题

C语言源程序文件经过C编译程序编译后生成的目标文件的后缀为( )。

共 1 分 

第2题

下列程序段的输出结果为( )。

1
2
float k=0.8567;
printf("%4.1f%%",k*100);
共 1 分 

第3题

已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是( )。

共 1 分 

第4题

若k是整型,则以下程序段的执行结果是( )。

1
2
3
4
k=-3;
if(k<=0)
    printf("####")
else printf("&&&&");
共 1 分 

第5题

以下for循环的执行次数是( )。

1
for(x=0,y=0;(y=123)&&(x<4);x++);
共 1 分 

第6题

下面合法的语句定义是( )。

共 1 分 

第7题

在所有函数之前,定义一个外部变量的形式为static int x;那么错误的叙述是( )。

共 1 分 

第8题

在“文件包含”的预处理中,被包含的文件应是( )。

共 1 分 

第9题

以下程序的输出结果是( )。

1
2
3
4
5
6
7
8
9
10
11
12
#include<stdio.h>
f(char *s)
{
    char *p=s;
    while(*p!='\0')
        p++;
    return(p-s);
}
void main()
{
    printf("%d\n",f("ABCDEF"));
}
共 1 分 

第10题

定义结构体的关键字是( )。

共 1 分 

第11题

在C程序中,main函数必须位于程序的最前面。

共 1 分 

第12题

语句scanf("%7.2f",&a);是合法的。

共 1 分 

第13题

格式字符%o用来以十六进制形式输出整数。

共 1 分 

第14题

C语言的输入、输出功能是由系统提供的输入、输出语句实现的。

共 1 分 

第15题

逻辑表达式4>2&&1||5<3-!0的值为1。

共 1 分 

第16题

运算符的级别由高向低依次为!->算术运算符->逻辑运算符->关系运算符->赋值运算符。

共 1 分 

第17题

do-while的循环体不能是复合语句。

共 1 分 

第18题

continue语句能够终止包含该语句的最内层循环。

共 1 分 

第19题

数组整体不参加数据处理(即不参加各种运算),参加数据处理的只能是数组的元素。

共 1 分 

第20题

如果不对静态数组赋初值,则计算机默认静态数组初始值为0。

共 1 分 

第21题

C语言数组的下标从0开始。

共 1 分 

第22题

函数strlen("ASDFG\n")的值是7。

共 1 分 

第23题

在程序中的第二个函数之后定义了某全局变量,则该程序的所有函数均可使用它。

共 1 分 

第24题

在C语言中,不允许函数嵌套定义,但函数可以嵌套调用。

共 1 分 

第25题

宏定义不是C语句,不必在行末加分号。

共 1 分 

第26题

C语言中,_____是程序的基本组成部分。

共 1 分 

第27题

已知i=5,写出语句i+=012;执行后整型变量i的十进制值是_____。

共 1 分 

第28题

1
2
int x=2;
z=++x+1;

则z的值为_____。

共 1 分 

第29题

在微机中,字符的比较就是对它们的_____进行比较。

共 1 分 

第30题

设x=4<4-!0,x的值为_____。

共 1 分 

第31题

当a=3,b=2,c=1时,执行以下程序段后c=_____。

1
2
3
4
5
6
if(a>b)
    a=b;
if(b>c)
    b=c;
else c=b;
c=a;
共 1 分 

第32题

当a=1,b=2,c=3时,执行以下程序段后a=_____。

1
2
3
4
if(a>c)
    b=a;
a=c;
c=b;
共 1 分 

第33题

若int x=6;则x+=x-=x*x表达式最后x的值是_____。

共 1 分 

第34题

以下程序段要求从键盘输入字符,当输入字母为'Y' 时,执行循环体,则下划线处应填写_____。

1
2
3
ch=getchar();
while(ch _____ 'Y')/*在括号中填写*/
    ch=getchar();
共 1 分 

第35题

C语言中,二维数组在内存中的存放方式为按_____优先存放。

共 1 分 

第36题

字符串的结束标志是_____。

共 1 分 

第37题

函数调用语句func((e1,e2),(e3,e4,e5))中含有_____个实参。

共 1 分 

第38题

预处理命令行都必须以_____号开始。

共 1 分 

第39题

将数组a的首地址赋给指针变量p的语句是_____。

共 1 分 

第40题

设有以下共用体类型说明和变量定义,则变量a在内存所占字节数是_____。

1
2
3
4
5
6
7
union stud
{
    char num[6];
    float s[4];
    double ave;
}
a,*p;
共 1 分 

第41题

功能:在键盘上输入一个3行3列矩阵的各个元素的值(值为整数),然后输出矩阵第一行与第三行元素之和,设计fun()函数求这个和。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include<stdio.h>
void main()
{
    int i,j,s,a[3][3];
    int fun(int a[3][3]);
    void TestFunc();
    for(i=0;i<3;i++)
    {
        for(j=0;j<3;j++)
            scanf("%d",&a[i][j]);
    }
    s=fun(a);
    printf("Sum=%d\n",s);
    TestFunc();
}
int fun(int a[3][3])
{
    int sum;
    int i,j;
    _____1_____
    for(_____2_____)
        for(_____3_____)
            _____4_____
    _____5_____
}
void TestFunc()
{
    FILE *IN,*OUT;
    int m;
    int n;
    int i[3][3];
    int o;
    IN=fopen("in.dat","r");
    if(IN==NULL)
    {
        printf("Read File Error");
    }
    OUT=fopen("out.dat","w");
    if(OUT==NULL)
    {
        printf("Write File Error");
    }
    for(m=0;m<3;m++)
    {
        for(n=0;n<3;n++)
            fscanf(IN,"%d",&i[m][n]);
    }
    o=fun(i);
    {
        fprintf(OUT,"%d\n",o);
    }
    fclose(IN);
    fclose(OUT);
}
共 30 分 

第42题

功能:求出二维数组外围元素之和,作为函数值返回。二维数组的值在主函数中赋予。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#define M 4
#define N 5
#include<stdio.h>
int fun(int a[M][N])
{
    int s=0;
    int i,j;
    for(_____1_____)
        _____2_____
    for(_____3_____)
        _____4_____
    _____5_____
}
void TestFunc()
{
    FILE *IN,*OUT;
    int iIN[M][N],iOUT;
    int i,j,k;
    IN=fopen("14.in","r");
    if(IN==NULL)
    {
        printf("Please Verify The Currernt Dir..It May Be Changed");
    }
    OUT=fopen("14.out","w");
    if(OUT==NULL)
    {
        printf("Please Verify The Current Dir.. It May Be Changed");
    }
    for(k=0;k<10;k++)
    {
        for(i=0;i<M;i++)
            for(j=0;j<N;j++)
                fscanf(IN,"%d",&iIN[i][j]);
        iOUT=fun(iIN);
        fprintf(OUT,"%d\n",iOUT);
    }
    fclose(IN);
    fclose(OUT);
}
void main()
{
    int a[M][N]={{1,3,5,7,9},{2,4,6,8,10},{2,3,4,5,6},{4,5,6,7,8}};
    int y;
    y=fun(a);
    printf("s=%d\n",y);
    TestFunc();
}


共 30 分