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

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


第1题

以下叙述中正确的是( )。

共 1 分 

第2题

执行下列语句后,a和b的值分别为( )。

1
2
3
int a,b;
a=1+'a';
b=2+7%-4-'A';
共 1 分 

第3题

1
printf("a\rHappi\by");

在屏幕上正确的输出形式是( )。

共 1 分 

第4题

执行下面程序段后,s的值是( )。

1
2
3
4
5
6
7
8
int s=5;
switch(++s)
{
    case 6:
    case 7:s+=2;
    case 8:
    case 9:s+=2;
}
共 1 分 

第5题

t为int类型,进人下面的循环之前,t的值为0。

1
2
3
4
while(t=1)
{
    ……
}

则以下叙述中正确的是( )。

共 1 分 

第6题

对以下说明语句int a[10]={6,7,8,9,10};的正确理解是( )。

共 1 分 

第7题

用户定义的函数不可以调用的函数是( )。

共 1 分 

第8题

设有宏定义#define MAX(x,y) (x)>(y)?(x):(y),则F=4*MAX(2,3)的值为( )。

共 1 分 

第9题

设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下不能正确执行的赋值语句是( )。

共 1 分 

第10题

对结构体类型的变量的成员的访问,无论数据类型如何都可使用的运算符是( )。

共 1 分 

第11题

printf函数的一般格式为:printf(格式控制,输出表列);。

共 1 分 

第12题

C语言中"%"运算符的运算对象必须是整型。

共 1 分 

第13题

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

共 1 分 

第14题

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

共 1 分 

第15题

设x=1,y=2,z=3,则逻辑表达式x-y>z&&y!=z的值为0。

共 1 分 

第16题

下面程序段的输出结果为A。

1
2
3
4
5
6
int i=20;
switch(i/10)
{
    case 2:printf("A");
    case 1:printf("B");
}
共 1 分 

第17题

break语句不能终止正在进行的多层循环。

共 1 分 

第18题

while和do…while循环不论什么条件下它们的结果都是相同的。

共 1 分 

第19题

1
char c[]="Very Good";

是一个合法的为字符串数组赋值的语句。

共 1 分 

第20题

若有语句:char a[]="string";,则a[6]的值为'\0'。

共 1 分 

第21题

对任何一个二维数组的元素,都可以用数组名和两个下标唯一地加以确定。

共 1 分 

第22题

如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准。

共 1 分 

第23题

在C程序中,函数既可以嵌套定义,也可以嵌套调用。

共 1 分 

第24题

每次调用函数时,都要对静态局部变量重新进行初始化。

共 1 分 

第25题

计算机编译系统对宏定义在编译时进行语法检查。

共 1 分 

第26题

C语言源程序的基本单位是_____。

共 1 分 

第27题

设x=2.5,a=7,y=4.7,算术表达式x+a%3*(int)(x+y)%2/4的值为_____。

共 1 分 

第28题

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

则x的值为_____。

共 1 分 

第29题

设x和y均为int型变量,且x=1,y=2,则表达式1.0+x/y的值为_____。

共 1 分 

第30题

下列语句输出的结果是_____。

1
2
3
int a=-1;
printf("%x",a);
//在vc环境下
共 1 分 

第31题

C语言表达式5>2>7>8的值是_____。

共 1 分 

第32题

设a,b,c,t为整型变量,初值为a=3,b=4,c=5,执行完语句t=!(a+b)+c-1&&b+c/2后,t的值是_____。

共 1 分 

第33题

设char a,b;,若想通过a&&b运算保留a的第1位和第6位的值,则b的二进制数是_____。

共 1 分 

第34题

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

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

第35题

定义int a[2][3];,表示数组a中的元素个数是_____个。

共 1 分 

第36题

数组在内存中占一段连续的存储区,由_____代表它的首地址。

共 1 分 

第37题

C语言中一个函数由函数首部和_____两部分组成。

共 1 分 

第38题

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

共 1 分 

第39题

在C程序中,只能给指针变量赋NULL值和_____值。

共 1 分 

第40题

结构体是不同数据类型的数据集合,作为数据类型,必须先说明结构体_____,再说明结构体变量。

共 1 分 

第41题

功能:编写函数fun(str,i,n),从字符串str中删除第i个字符开始的连续n个字符(注意:str[0]代表字符串的第一个字符)。

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
#include<stdio.h>
#include<string.h>
void main()
{
    char str[81];
    int i,n;
    void fun(char str[],int i,int n);
    void TestFunc();
    printf("请输入字符串str的值:\n");
    scanf("%s",str);
    printf("你输入的字符串str是:%s\n",str);
    printf("请输入删除位置i和待删字符个数n的值:\n");
    scanf("%d%d",&i,&n);
    while (i+n-1>strlen(str))
    {
        printf("删除位置i和待删字符个数n的值错!请重新输入i和n的值\n");
        scanf("%d%d",&i,&n);
    }
    fun(str,i,n);
    printf("删除后的字符串str是:%s\n",str);
    TestFunc();
}
void fun(char str[],int i,int n)
{
    while(_____1_____)
    {
        _____2_____
        _____3_____
    }
    _____4_____
}
void TestFunc()
{
    FILE *IN,*OUT;
    char i[200];
    /*char o[200];*/
    IN=fopen("in.dat","r");
    if(IN==NULL)
    {
        printf("Read File Error");
    }
    OUT=fopen("out.dat","w");
    if(OUT==NULL)
    {
        printf("Write File Error");
    }
    fscanf(IN,"%s",i);
    fun(i,2,8);
    fprintf(OUT,"%s\n",i); 
    fclose(IN);
    fclose(OUT);
}
共 30 分 

第42题

功能:用函数求N个[10,60]上的整数中能被5整除的最大的数,如存在则返回这个最大值,如果不存在则返回0。

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
55
#include<stdio.h>
#define N 30
#include<stdlib.h>
int find(int arr[],int n)
{
    int m=0;
    int i;
    for(_____1_____)
        if(_____2_____)
            _____3_____
    return(m);
void main()
{
    int a[N],i,k;
    void TestFunc();
    for(i=0;i<N;i++)
        a[i]=rand()%50+10;
    for(i=0;i<N;i++)
    {
        printf("%5d",a[i]);
        if((i+1)%5==0) printf("\n");
    }
    k=find(a,N);
    if(k==0)
        printf("NO FOUND\n");
    else
        printf("the max is:%d\n",k);
    TestFunc();
}
void TestFunc()
{
    FILE *IN,*OUT;
    int n;
    int i[5];
    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(n=0;n<5;n++)
    {   
        fscanf(IN,"%d",&i[n]);
    }
    o=find(i,5);
    fprintf(OUT,"%d\n",o);
    fclose(IN);
    fclose(OUT);
}
共 30 分