二级C语言笔试试卷(A)
20074
      注意事项:1.一、二题为客观题,请将答案涂在机读答题卡上
                2. 三、四、五、六题为主观题,请将答案做在答题纸上
一、单项选择题。(每小题1分,共20分)
1C程序的函数调用时,主调函数中的实参和被调函数中的形参(    )。
(A) 个数、次序必须相同,但数据类型可以不考虑
(B) 个数、次序和对应参数的数据类型都应该相同
(C) 个数、次序和数据类型均可以不相同
(D) 对应参数数据类型应相同,但个数和次序可以不考虑
2aint型,则与表达式a等价的C语言关系表达式是( 
(A) a>0      (B) a!=0        (C) a==0          (D) a<0
3.循环语句for(a=0,b=0;(b!=45)||(a<5);a++);的循环次数是( 
(A) 4          (B) 3            (C) 5            (D) 无数多次
4设有字符数组a,则正确的输入语句是(  )。
(A) gets('a');                    (B) scanf("%c",a);
(C) scanf("%s",a);              (D) gets("a");
5. enum  color{red,green,yellow=5,white,black};定义了一枚举类型。编译程序为值表中各标识符分配的枚举值依次为(    )。
(A12345                (B01523
(C01567                (D34567
6运行完下列程序后,在屏幕上的内容是(    )。
void main ()
{     int a=0;
    a+=(a=12);
    printf ("%d\n",a);
}
(A0        (B6              (C12            (D24
7x,y为实数类型的变量,要判断x,y相等,最好使用下列关系表达式(    )。
(Ax==y                        (Bx-y==0
(C) fabs(x-y)<1e-8                (Dlabs(x-y)<1e-8
8若有以下的定义、说明和语句,则值为101的表达式是(  )。
struct CW
{    int a;
int *b;
}*p;
int x0[]={11,12},x1[]={31,32};
struct CW x[2]={100,x0,300,x1};
p=x;
(A) *p->b    (B) p->a      (C) ++(p->a)      (D) (p++)->a
9以下程序的输出结果是(    )。
int x=3,y=4;
void main( )
{      int x,y=5;
      x=y++;
    printf("%d",x);
}
(A3            (B) 4          (C) 5          (D) 6
10C语言中,函数默认的存储类型为(    )。
(A) auto        (B) register    (C)static         (D) extern
11有定义:float y,*p=&y;,假定变量y在内存中所占地址为100~103。那么p的值为(    )。
(A) 100            (B) 101            (C) 102            (D) 103
12. 有定义:int a[10], n, *p1=a,*p2=&a[9];,则正确的赋值语句为(  )。
(A) n=p2-p1;    (B) n=p2*p1;    (C) n=p2+p1;     (D) n=p1/p2;
13调用strlen("abcd\0ef\ng\0")的结果为(    )
      (A) 4            (B) 5            (C) 8              (D) 10
14执行下面程序中输出语句后,a的值是(    )
#include<stdio.h>
main( )
{    int a;
    printf("%d\n",(a=3*5,a*4,a));
}
(A)65            (B)20            (C)15              (D)10
15若有定义int a,b,x;且变量都已正确赋值,下面选项中合法的if语句是(    )。
(A)if(a==b) x++;                  (B)if(a=<b) x++;
(C)if(a<>b) x++;                (D)if(a=>b) x++;
16执行下面的程序后,变量a的值是(    )。
#include<stdio.h>
#define SQR(X) X*X
void main()
{    int a=10,k=2,m=3;
    a/=SQR(m)/SQR(k);
    printf("%d \n",a);
}
      (A)10            (B)1            (C)5              (D)0
17若变量tdouble类型,表达式(t=1,t+5,t)的值是(    )
    (A)1            (B)6.0          (C)1.0            (D)6
18C语言中,下面关于数组的描述中正确的是(    )
(A)数组的大小是固定的,但可以有不同类型的数组元素
(B)数组的大小是可变的,但所有数组元素的类型必须相同
(C)数组的大小是固定的,所有数组元素的类型必须相同
(D)数组的大小是可变的,可以有不同的类型的数组元素
19下述程序的输出结果是(    )。
#include <stdio.h>
void main()
{    int a,b,c=241;
    a=c/100%9;
    b=-1&&-1;
    printf("%d,%d\n",a,b);
}
(A)2,0            (B)2,1            (C)6,1          (D)0,-1
20.若有以下说明和语句,则下列引用方式中不正确的是(    )。
      struct worker
      {    int no;
char *name;
}work,*p=&work;
(      (B)(*p).no      (C)p->no          (D)work->no
二、基本概念选择填空题(本大题后面有若干备选项,请选择合适的备选项并将其号码填入各小题的空白处。每空2分,共10
1C语言中,函数一般由两个部分组成,它们是函数首部和       
2任何程序都可调用标准函数exit(),当它被调用时就        程序的执行。
3一个C语言程序在可以被执行之前,需要经过的4个处理程序是:编辑程序、预处理程序、编译程序和         
4C计算机二级c语言选择题库语言中无固有的输入和输出语句,但是用C语言编写的程序可以用函数调用的形式来实现输入、输出,这些函数由        提供。
5C标准库函数rewind的作用是         
备选项:
(A) 主函数
(B) 函数体
(C) 函数首部
(D) 用户自定义函数
(E) 终止
(F) 使读写指针指向文件的开头
(G) 标准I/O/系统
(H) 连接程序
(J) 判断文件指针是否指向文件末尾
三、程序填空题。(每空2分,共20分)
1. 下面程序的功能是从键盘上输入一行字符,将其中的小写字母转换为大写字母后输出。请填空完善程序。
#include <stdio.h>
void main()
{    char c;
    while((c=        )!='\n')
        if(c>='a'&&c<='z')
            printf("%c",c-32);
}
2.下面程序的功能是从当前目录下的文本文件“f1.txt”中读取前10个字符,依次显示在屏幕
上;如果文本文件中不足10个字符,则读完为止;请填空完善程序。
#include <stdio.h>
void main()
{    FILE *fp;
    int i;
    char c;
    if(        ==NULL)
    {    printf("Can't open this file!\n");
        return;
    }
    for(i=0;i<10;i++)
    {    if(feof(fp))
            break;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。