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

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


第1题

C语言的注释定界符是( )。

共 1 分 

第2题

字符串"\\\"ABC\"\\"所占内存字节的长度是( )。

共 1 分 

第3题

用scanf函数输入数据,使得x=9.6,y=81.73,选择正确的输入语句( )。

共 1 分 

第4题

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void main()
{
    int i=2,p;
    p=f(i,i+1);
    printf("%d",p);
}
int f(int a,int b)
{
    int c;
    c=a;
    if(a>b)
        c=1;
    else if(a==b)
        c=0;
    else c=-1;
    return c;
}
共 1 分 

第5题

下面程序是从键盘输入4位正整数,输入0或负数时结束循环,A处填写内容是( )。

1
2
3
4
5
6
7
8
#include<stdio.h>
void main()
{
    int num;
    do{
        scanf("%d",&num);
    }while(___A___);
}
共 1 分 

第6题

以下不能正确定义二维数组的选项是( )。

共 1 分 

第7题

设函数的调用形式如下:f((x1,x2),(y1,y2,y3)),则函数有( )个形参。

共 1 分 

第8题

设有宏定义#define PI 3.14和#define S(r) PI*r*r,则S(2)的值为( )。

共 1 分 

第9题

定义int a[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;,其中0≤i≤9,则对a数组元素的引用不正确的是( )。

共 1 分 

第10题

设有如下定义:

1
2
3
4
5
struct sk {
    int a;
    float b;
}
data,*p;

若要使p指向data中的a域,正确的赋值语句是( )。

共 1 分 

第11题

一个C程序的执行是从本程序的main函数开始,到main函数结束。

共 1 分 

第12题

C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线。

共 1 分 

第13题

putchar函数的原型(函数说明)在stdio.h内。

共 1 分 

第14题

getchar函数的原型(函数说明)在string.h内。

共 1 分 

第15题

条件表达式x?'a':'b'中,若x=0时,表达式的值为b。

共 1 分 

第16题

已知a=3,b=4,c=5,则逻辑表达式a||b+c&&b-c的值为0。

共 1 分 

第17题

for循环语句的三个表达式不能同时省略。

共 1 分 

第18题

for循环语句不能用于循环次数未知的情况下。

共 1 分 

第19题

二维数组在内存中存贮时,是按行的顺序进行存储的。

共 1 分 

第20题

数组的首地址一定是第一个数组元素的地址。

共 1 分 

第21题

对于字符数为n个的字符串,其占用的内存为n+1个字节空间。

共 1 分 

第22题

数组名可作为函数的实参,但不能作为函数的形参。

共 1 分 

第23题

在C语言中,函数名代表函数的入口地址。

共 1 分 

第24题

在C语言中,主函数可以调用其它函数,同时,其它函数也可以调用主函数。

共 1 分 

第25题

一个include命令可以指定多个被包含的文件。

共 1 分 

第26题

一个C程序总是从_____开始执行。

共 1 分 

第27题

1
2
int x;
x=-3+4%-5*3;

则x的值为_____。

共 1 分 

第28题

设k=(a=2,b=3,a*b),则k的值为_____。

共 1 分 

第29题

1
int a=1,b=2,c=3;

执行语句a=b=c;后a的值是_____。

共 1 分 

第30题

以下程序的输出结果为_____。

1
2
3
4
5
6
#include<stdio.h>
void main()
{
    int a=010,j=10;
    printf("%d,%d\n",++a,j--);
}
共 1 分 

第31题

已知a=10,b=15,c=1,d=2,e=10,则表达式a++&&e++&&c++的值为_____。

共 1 分 

第32题

假设所有变量都为整型,表达式(a=2,b=5,a>b?a++:b++,a+b)的值是_____。

共 1 分 

第33题

为了避免嵌套条件语句的二义性,C语言规定else与其前面最近的_____语句配对。

共 1 分 

第34题

设x和y均为int型变量,则以下for循环中的scanf语句最多可执行的次数是_____。

1
2
for(x=0,y=0;y!=123&&x<3;x++)
    scanf("%d",&y);
共 1 分 

第35题

求字符串长度的库函数是_____,只写函数名即可。

共 1 分 

第36题

若有以下数组a,数组元素:a[0]~a[9],其值为9 4 12 8 2 10 7 5 1 3该数组的元素中,数值最小的元素的下标值是_____。

共 1 分 

第37题

静态变量和外部变量的初始化是在_____阶段完成的,而自动变量的赋值是在_____时进行的。

共 1 分 

第38题

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

共 1 分 

第39题

将函数funl的入口地址赋给指针变量p的语句是_____。

共 1 分 

第40题

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

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

第41题

功能:不用递归方式,编写函数fun,求任一整数m的n次方。

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
#include<stdio.h>
void main()
{
    int m,n;
    long s;
    long fun(int,int);
    void TestFunc();
    printf("输入m和n的值:");
    scanf("%d%d",&m,&n);
    s=fun(m,n);
    printf("s=%ld\n",s);
    TestFunc();
}
long fun(int m,int n)
{
    long int x=1;
    int i;
    for(_____1_____)
        _____2_____
    _____3_____
}
void TestFunc()
{
    FILE *IN,*OUT;
    int n;
    int i[2];
    long 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(n=0;n<2;n++)
    {
        fscanf(IN,"%d",&i[n]);
    }
    o=fun(i[0],i[1]);
    fprintf(OUT,"%ld\n",o);
    fclose(IN);
    fclose(OUT);
}
共 30 分 

第42题

功能:计算出k以内最大的10个能被13或17整除的自然数之和。(k<3000)

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
#include<stdio.h>
#include<conio.h>
int fun(int k)
{
    int a=0,b=0;
    while(_____1_____)
    {
        if(_____2_____)
        {
            _____3_____
            _____4_____
        }
        _____5_____
    }
    _____6_____
}
void main()
{
    int m;
    void TestFunc();
    printf("Enter m: ");
    scanf("%d",&m);
    printf("\nThe result is %d\n",fun(m));
    TestFunc();
}
void TestFunc()
{
    FILE *IN,*OUT;
    int s;
    int t;
    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(s=1;s<=5;s++)
    {
        fscanf(IN,"%d",&t);
        o=fun(t);
        fprintf(OUT,"%d\n",o);
    }
    fclose(IN);
    fclose(OUT);
}
共 30 分