zoukankan      html  css  js  c++  java
  • 半小时C语言题目

    每个5分共100分。错选、多选、少选或不选均不得分。     
    1.[单选题]一个C程序的执行是从(   )     
    A:本程序的main函数开始,到main函数结束
    B:本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
    C:本程序的main函数开始,到本程序文件的最后一个函数结束
    D:本程序文件的第一个函数开始,到本程序main函数结束    
    2.[单选题]在C语言中,要求运算数必须是整型的运算符是(   )     
    A:/
    B:++
    C:!=
    D:%    
    3.[单选题]C语言中,逻辑“真”等价于(   )     
    A:大于零的数
    B:大于零的整数
    C:非零的数
    D:非零的整数    
    4.[单选题]若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式为(   )     
    A:A%2 == 1
    B:! (A%2==0)
    C:! (A%2)
    D:A%2    
    5.[单选题]以下程序的运行结果是(   )。
    int main( void ){
    int m = 5;
    if ( m++ > 5) printf(“%d
    ”, m);
    else printf(“%d
    ”, --m);
    }    
    A:4
    B:5
    C:6
    D:7    
    6.[单选题]以下对一维整型数组a的正确说明是(   )     
    A:int  a(10)
    B:int n = 10, a[n]
    C:int n
    scanf(“%d”, &n)
    int a[n]
    D:#define SIZE 10
    int a[SIZE]    
    7.[单选题]若有说明:int a[3][4];则对a数组元素的非法引用是(   )     
    A:a[0][2*1]
    B:a[1][3]
    C:a[4-2][0]
    D:a[0][4]    
    8.[单选题]若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为(    )     
    A:i * m + j
    B:j * m + i
    C:i * m + j - 1
    D:i * m + j + 1    
    9.[单选题]以下程序的功能是将字符串s中所有的字符c删除,那么空白处缺少的语句为:(    )。
    #include 
    int main(void)
    {
    char s[80] ;
    int i, j ;
    gets(s) ;
    for ( i = j = 0 ; s [i] != ‘0’ ; i++ )
    if ( s [i] != ‘c’ )
                 ;
    s [ j ] = ‘0’ ;
    puts ( s ) ;
    return 0 ;
    }    
    A: s [ j++] = s [ i ]
    B:s [ ++j ] = s [ i ]
    C:s [ j ] = s [ i ]; j++
    D:s [ j ] = s [ i ]    
    10.[单选题]下面程序的功能是将已按升序排好序的两个字符串a和b中的字符,按升序归并到字符串c中,请为程序中的空白处选择适当的语句。  第一空答案( )
    #include 
    int main(void)
    {
    char a[ ] = “acegikm”;
    char b[ ] = “bdfhjlnpq”;
    char c[80], *p;
    int i = 0, j= 0, k = 0;
    while( a[i] != ’0’ && b[j] != ‘0’ )
    {
    if ( a[i] < b[j] )  { (  ①  ) }
    else { (  ②  ) }
    k++;
    }
    c[k] = ‘0’;
    if (  ③  )  p = b + j;
    else  p = a + i;
    strcat ( c , p );
    puts ( c );
    }    
    A:c[k] = a[i]; i++
    B:c[k] = b[j]; i++
    C:c[k] = a[i]; j++
    D:c[k] = a[j]; j++    
    11.[单选题]下面程序的功能是将已按升序排好序的两个字符串a和b中的字符,按升序归并到字符串c中,请为程序中的空白处选择适当的语句。第二空答案( )  
    #include 
    int main(void)
    {
    char a[ ] = “acegikm”;
    char b[ ] = “bdfhjlnpq”;
    char c[80], *p;
    int i = 0, j= 0, k = 0;
    while( a[i] != ’0’ && b[j] != ‘0’ )
    {
    if ( a[i] < b[j] )  { (  ①  ) }
    else { (  ②  ) }
    k++;
    }
    c[k] = ‘0’;
    if (  ③  )  p = b + j;
    else  p = a + i;
    strcat ( c , p );
    puts ( c );
    }    
    A:c[k] = a[i]; i++
    B:c[k] = b[j]; i++
    C:c[k] = a[i]; j++
    D:c[k] = b[j]; j++    
    12.[单选题]在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是(   )     
    A:extern
    B:register
    C:auto
    D:static    
    13.[单选题]以下程序的正确运行结果是(   )。
    #include 
    int f(int a);
    int main(void)
    {
    int a = 2, i;
    for( i = 0; i < 3; i++ ) printf(“%4d”,f(a));
    }
    int f(int a)
    {
    int b = 0;
    static int c = 3;
    b++; c++;
    return(a+b+c);
    }    
    A:7   7   7
    B:7   10   13
    C:7   9   11
    D:7   8   9    
    14.[单选题]以下程序的运行结果为(   )。
    void sub(int x, int y, int *z)
    { *z = y – x ; }
    int main(void)
    {
    int a,b,c ;
    sub(10, 5, &a) ;
    sub(7, a, &b) ;
    sub(a, b, &c) ;
    printf( “%4d,%4d, %4d
    ”,a,b,c);
    }    
    A:5,   2,   3
    B:-5, -12,  -7
    C:-5, -12, -17
    D:5,  -2,  -7    
    15.[单选题]有如下语句int a = 10, b = 20, *p1, *p2; p1 = &a; p2 = &b;变量与指针的关系如图1所示;若要实现图2所示的存储结构,可选用的赋值语句为(    )     
    A:*p1 = *p2
    B:p1 = p2
    C:p1 = *p2
    D:*p1 = p2    
    16.[单选题]若已建立下面的链表结构,指针p、q分别指向图中所示结点,则不能将q所指的结点插入到链表末尾的一组语句是(    )     
    A:q -> next = NULL; p = p -> next; p -> next = q
    B:p = p -> next; q -> next = p -> next; p -> next = q
    C:p = p -> next; q -> next = p; p -> next = q
    D:p = (*p).next; (*q).next = (*p).next; (*p).next = q    
    17.[单选题]以下程序的功能是:读入一行字符(如:a,b,… y,z),按输入时的逆序建立一个链接式的结点序列,即先输入的位于链表尾(如下图),然后再按输入的相反顺序输出,并释放全部结点。请在空白处为程序选择适当的代码。 第一空答案( )
    #include 
    #define getnode(type)     ①    malloc(sizeof(type))
    int main(void)
    {
    struct node{
    char info;
    struct node *link;
    }*top,*p;
    char c;
    top = NULL;
    while( ( c = getchar( )    ②  )
    {
    p = getnode ( struct node );
    p -> info = c;
    p -> link = top;
    top = p;
    }
    while ( top )
    {
        ③   ;
    top = top -> link;
    putchar ( p -> info );
    free ( p );
    }
    }    
    A:(type)
    B:(type *)
    C:type
    D:type *    
    18.[单选题]以下程序的功能是:读入一行字符(如:a,b,… y,z),按输入时的逆序建立一个链接式的结点序列,即先输入的位于链表尾(如下图),然后再按输入的相反顺序输出,并释放全部结点。请在空白处为程序选择适当的代码。第二空答案( )
     
    #include 
    #define getnode(type)     ①    malloc(sizeof(type))
    int main(void)
    {
    struct node{
    char info;
    struct node *link;
    }*top,*p;
    char c;
    top = NULL;
    while( ( c = getchar( )    ②  )
    {
    p = getnode ( struct node );
    p -> info = c;
    p -> link = top;
    top = p;
    }
    while ( top )
    {
        ③   ;
    top = top -> link;
    putchar ( p -> info );
    free ( p );
    }
    }    
    A:==’0’
    B:!=’0’
    C:==’
    ’
    D:!=’
    ’    
    19.[单选题]以下程序的功能是:读入一行字符(如:a,b,… y,z),按输入时的逆序建立一个链接式的结点序列,即先输入的位于链表尾(如下图),然后再按输入的相反顺序输出,并释放全部结点。请在空白处为程序选择适当的代码。第三空答案( )
     
    #include 
    #define getnode(type)     ①    malloc(sizeof(type))
    int main(void)
    {
    struct node{
    char info;
    struct node *link;
    }*top,*p;
    char c;
    top = NULL;
    while( ( c = getchar( )    ②  )
    {
    p = getnode ( struct node );
    p -> info = c;
    p -> link = top;
    top = p;
    }
    while ( top )
    {
        ③   ;
    top = top -> link;
    putchar ( p -> info );
    free ( p );
    }
    }    
    A:top = p
    B:p = top
    C:p == top
    D:top == p    
    20.[单选题]以下程序的输出结果是( )
    #include 
    #define  M 5
    #define  N M+M
    main()
    { int k;
     k=N*N*5; printf(“%d
    ”,k);
    }    
    A:500
    B:125
    C:55
    D:100

    1A 2D 3C 4C 5B 6D 7D 8C 9A 10A 11D 12D 13D 14B 1516没图干不了,17B 18D 19B 20C

  • 相关阅读:
    PHP foreach 循环
    C#导出Excel时间格式问题
    vs2015 key
    C# 的Chart
    线程暂停与继续实现
    CCNA网络工程师学习进程(2)基本的网络设备
    CCNA网络工程师学习进程(1)网络的基本概述
    安卓学习进程(3)安卓开发工具的简介
    安卓学习进程(2)Android开发环境的搭建
    安卓学习进程(1)移动平台开发的简介
  • 原文地址:https://www.cnblogs.com/Zblogs/p/3308494.html
Copyright © 2011-2022 走看看