提示:内容已经过期谨慎付费,点击上方查看最新答案

C语言程序设计

  1. 若有说明:int a[10];则对a数组元素的正确引用是( )。

  2. A:a[10-10] B:a[3,5] C:a[10] D:a(5)
    答案:a[5] 
  3. 设有程序段
    int k=10;
    while (k=0) k=k-1;
    则下面描述中正确的是( )。

  4. A:while循环执行10次 B:循环是无限循环 C:循环体语句一次也不执行 D:循环体语句执行一次
    答案:循环体语句一次也不执行
  5. 在C语言中,if语句后的一对圆括号中有一个用以决定分支走向的表达式,该表达式( )。

  6. A:只能是关系表达式 B:只能是逻辑表达式 C:可以是任何合法表达式 D:只能是关系或逻辑表达式
    答案:可以是任何合法表达式
  7. 一个C程序的执行是从( )。

  8. A:本程序的main函数开始,到main函数结束 B:本程序文件的第一个函数开始,到本程序main函数结束 C:本程序的main函数开始,到本程序文件的最后一个函数结束 D:本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
    答案:本程序的main函数开始,到main函数结束
  9. 若有说明: int a[][4]={0,0};则下面不正确的叙述是( )。

  10. A:有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0 B:因为二维数组a中第二维大小的值除以初值个数的商为1,故数组a的行数为1 C:二维数组a的第一维大小为1 D:数组a的每个元素都可得到初值0
    答案:只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0
  11. 设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为( )。

  12. A:0—32767 B:0—255 C:0--65535 D:0—2147483647

  13. 下面叙述中错误的是( )

  14. A:形式参数也是局部变量 B:在其它函数中定义的变量在主函数中也不能使用 C:复合语句中定义的变量只在该复合语句中有效 D:主函数中定义的变量在整个程序中都是有效的

  15. 为了避免在嵌套的条件语句If一else中产生二义性,C语言规定else子句总是与( )配对。

  16. A:其之前最近的且还没有配对的if B:同一行上的if C:之后最近的if D:缩排位置相同的if
    AI参考:正确选项是C:之后最近的if。在C语言中,为了避免在嵌套的条件语句If-else中产生二义性,规定else子句总是与之后最近的且还没有配对的if配对。这样可以确保代码的逻辑清晰,避免歧义。选项A、B、D虽然都与规定有些相似,但都不是C语言的正确规定。选项A可能造成前面的if没有对应的else子句,选项B和D则可能造成同一行上的else和if配对,这在视觉上会造成混淆。因此,正确选项是C。'
  17. C语言的注释定界符是( )。

  18. A:{ } B:* * C:/* */ D:[ ]

  19. 数组定义为 int a[3][2]={1,2,3,4,5,6},值为6的数组元素是( )。

  20. A:a[3][2] B:a[2][1] C:a[2][3] D:a[1][2]

  21. 已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2的值是( )

  22. A:6 B:0 C:1 D:2

  23. 以下程序的输出结果为( )。
    main()
    {int a=1,b=2,c=3,d=4,e=5;
    printf("%d\n",func((a+b,b+c,c+a),(d+e)));
    }
    int func(int x,int y)
    { return(x+y); }

  24. A:15 B:13 C:9 D:函数调用出错

  25. 若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是( )。

  26. A:函数调用可以出现在表达式中 B:函数调用可以作为独立的语句存在 C:函数调用可以作为一个函数的形参 D:函数调用可以作为一个函数的实参

  27. 已知:int x;int y[10];下列( )是合法的。

  28. A:&x B:&5 C:&y D:&(x+3)

  29. 有以下程序
    struct NODE
    {int num;struct NODE*next;}
    main()
    {struct NODE*p,*q,*r;
    p=(struct NODE*)malloc(sizeof(struct NODE));
    q=(struct NODE*)malloc(sizeof(struct NODE));
    r=(struct NODE*)malloc(sizeof(struct NODE));
    p->num=10;q->num=20;r->num=30;
    p->next=q;q->next=r;
    printf( "%d\n",p->num+q->next->num);
    }
    程序运行后的输出结果是( )。

  30. A:20 B:10 C:40 D:30

  31. 两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是( )。
    int x;
    scanf(“%d”,&x);
    if(x++>5)
    printf(“%d”,x);
    else printf(“%d\n”,x - -);

  32. A:6和3 B:6和4 C:7和4 D:7和5

  33. 下列字符序列中,可用作C标识符的一组字符序列是( )。

  34. A:D56,r_1_2,name,_st_1 B:#md,&12x,month,student_n! C:class,day,lotus_1,2day D:S.b,sum,average,_above

  35. 若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是( )。

  36. A:2.750000 B:3.500000 C:2.500000 D:0.000000

  37. 下列字符序列中,不可用作C语言标识符的是( )。

  38. A:symbol B:#ab C:a_1 D:b70

  39. 程序段的功能是将变量 u 、s中的最大值赋给变量t ( )。

  40. A:if(u>s) t=s;else t=u; B:t=s; if(u ) t=u; C:if(u>s) t=u;t=s; D:t=u; if(t ) t=s;
    AI参考:正确答案是 A:if(u>s) t=s;else t=u; 。这个程序段的功能是,比较变量 u 和 s 的值,将其中较大的一个赋值给变量 t。根据程序流程,首先会检查 u 是否大于 s,如果是,那么就将 s 赋值给 t,否则就将 u 赋值给 t。这是逻辑上的“如果...否则...”结构,符合 if-else 语句的基本结构。所以选项 A 是正确的。'
  41. C语言中,字符(char)型数据在微机内存中的存储形式是( )

  42. A:EBCDIC码 B:ASCII码 C:反码 D:补码

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

  44. A:将5个初值依次赋给a[6]至a[10] B:将5个初值依次赋给a[0]至a[4] C:将5个初值依次赋给a[1]至a[5] D:因为数组长度与初值的个数不相同,所以此语句不正确

  45. 若调用一个函数,且此函数中没有return语句,则正确的说法是:该函数( )。

  46. A:能返回一个用户所希望的值 B:返回一个不确定的值 C:没有返回值 D:返回若干个系统默认值

  47. 以下数据中,不正确的数值或字符常量是( )。

  48. A:0xff00 B:8.9e1.2 C:10 D:82.5

  49. 字符串指针变量中存入的是( )。

  50. A:字符串的首地址。 B:字符串 C:字符串变量。 D:第一个字符

  51. 以下程序的输出结果是( )。
    main()
    {char *s1,*s2,m;
    s1=s2=(char*)malloc(sizeof(char));
    *s1=15;
    *s2=20;
    m=*s1+*s2;
    printf(“%d\n”,m);
    }

  52. A:20 B:35 C:40 D:30

  53. 若x=2,y=3,则x&y的结果是( )。

  54. A:0 B:2 C:5 D:3

  55. 下面程序执行后输出的结果是( )。
    int m=13:
    int fun(int x,int y)
    {int m=3;
    return(x*y-m);
    }
    main()
    {int a=7,b=5;
    printf(“%d\n”,fun(a,b)/m);
    }

  56. A:2 B:3 C:1 D:4

  57. 下列程序段的输出结果是( )
    int x=0;
    while(++x<3)
    printf("%4d",x);

  58. A:4 B:0 1 2 C:1 2 D:3
    AI参考:程序段的输出结果是:B:0 1 2。解释:在while循环中,使用了自增运算符`++x`来递增变量x的值,直到x的值大于等于3时,循环结束。在循环体中,使用了printf函数来输出变量x的值,由于使用了`%4d`格式控制符,输出的数字会左对齐并至少占据4个字符宽度。因此,输出结果为从左到右依次为0、1、2。选项A、D显然不符合题意,选项C缺少输出项。因此,答案为B。'
  59. 组a和b进行如下初始化:
    char a[] = “ABCDEF”;
    char b[] = {‘A’,‘B’,‘C’,‘D’,‘E’,‘F’};
    则以下叙述正确的是( )

  60. A:a与b完全相同 B:a与b中都存放字符串 C:a与b长度相同 D:a数组比b数组长度长
    AI参考:根据题目描述,`char a[] = “ABCDEF”;` 这一行代码是将字符串 ABCDEF 赋值给数组 `a`,而 `char b[] = {‘A’,‘B’,‘C’,‘D’,‘E’,‘F’};` 这一行代码是将字符 A 到 F 分别赋值给数组 `b`。因此,数组 `a` 和 `b` 的内容并不完全相同,因为字符串 ABCDEF 是一个以 null 结尾的字符数组,而数组 `b` 中的字符是独立的元素,并没有使用 null 字符来分隔。另外,由于字符串 ABCDEF 包含了一个额外的 null 字符,所以 `a` 的长度比 `b` 长。因此,选项 D 是正确的。"
  61. 若有定义int a[ ]={1,3,5,7,9,11}, *p=a;,则能够正确引用该数组元素的是( )。

  62. A:*(--p) B:a[6] C:a D:*(p--)

  63. 循环结束后,count 的值是( )
    count=1;
    while(count<=145)
    {
    a=a+7;
    count++;
    }

  64. A:146 B:1 C:145 D:144
    AI参考:答案:D解析:这道题不需要过多解释,由于每次循环结束后count会自增1,同时a的值会加7,循环进行到count大于等于145时,循环结束,所以最后count的值应该是144。因此选项D为正确答案。另外需要注意的是,此题中的a没有初始化,如果a是一个变量,那么在循环开始前需要对其进行初始化。否则在循环过程中可能会出现未定义的行为。'
  65. 有如下程序片段:
    int i = 0;
    while(i++ <= 2);
    printf("%d", i);
    则正确的执行结果是( )

  66. A:4 B:2 C:3

  67. 已知程序中已经定义了函数test,其原型是int test(int, int, int);则下列重载形式中错误的是( )

  68. A:double test(int, int, double); B:int test(int, int); C:float test(int, int, float=3.5F); D:char test(int, int, int);

  69. 已知year为整型变量,不能使表达式(year%4==0&&year%100!=0)||year%400==0的值为“真”的数据是( )。

  70. A:1990 B:1996 C:1992 D:2000

  71. 以下合法的定义是( )。

  72. A:char *p; strcpy(p, "China"); B:str[]={"China"}; C:char *p="China"; D:char str[13]; str[]="China";

  73. 宏定义#define PI 3.14中的宏名PI代替( )

  74. A:不确定类型的数 B:一个字符串 C:一个双精度实数 D:一个单精度实数

  75. 设有语句char a= ‘\172’;,则变量a( )

  76. A:包含3个字符 B:说明不合法 C:包含1个字符 D:包含2个字符

  77. 如果p是一个整型数,下列表达式始终为真的是( )。

  78. A:p && p B:p || !p C:p || p D:p && !p

  79. C语言规定:简单变量做实参时,它和对应形参之间的数据传递方式是( )。

  80. A:由实参传给形参,再由形参传回给实参 B:由用户指定的传递方式 C:单向值传递 D:地址传递

  81. 函数的形式参数隐含的存储类型说明是( )。

  82. A:auto B:register C:static D:extern

  83. 若x,i,j和k都是int型变量,则执行下面表达式后x的值为( )。
    x=(i=4,j=16,k=32)

  84. A:4 B:32 C:52 D:16
    AI参考:答案为C:52。在这个表达式中,逗号运算符是按照从左到右的顺序进行计算的。首先,变量i被赋值为4,然后j被赋值为16,此时i的值不再改变,因此x的值变为4。接着,k被赋值为32,此时j的值也不再改变。因此,最终x的值为52。所以正确答案是C。'
  85. 下面叙述中不正确的是( )

  86. A:声明函数时必须明确其参数类型和返回类型 B:函数可以返回一个值,也可以什么值也不返回 C:用户若需调用标准库函数,调用前要使用预编译命令将该函数所在文件包括到用户源文件中 D:空函数不完成任何操作,所以在程序设计中没有用处

  87. 下面程序的运行结果是( )。
    #include<stdio.h>
    main()
    {int a=1,b=10;
    do
    {b-=a;a++;}while(b--<0);
    printf("a=%d,b=%d\n",a,b);
    }

  88. A:a=2,b=8 B:a=1,b=-1 C:a=4,b=9 D:a=3,b=11

  89. C语言源程序的基本单位是( )。

  90. A:过程 B:函数 C:子程序 D:标识符

  91. 有如下函数原型和变量定义:
    void fix(int, float &);
    int someInt;
    float someFloat;
    下列最适合的函数调用是( )。

  92. A:fix(somInt, someFloat); B:fix(24,6.85); C:sumeFloat=0.3*fix(someInt,6.85);
    AI参考:答案:C。解释:1. 函数fix(int, float &)的参数是int和float的引用,所以应该传入的是变量someInt和someFloat的引用,即C选项中的sumeFloat=0.3*fix(someInt,6.85);是正确的调用方式。选项A和B中,传入的参数为整型变量直接数值(如int,24)或者浮点数(如float,6.85),与函数原型不符。所以答案为C。'
  93. 若变量已正确定义且 k 的值是 4,计算表达式 ( j =4, k--) 后,j和k的值为( )

  94. A:j=4, k=3 B:j=3, k=3 C:j=3, k=4 D:j=4, k=4

  95. 以下常量中,能够代表逻辑“真”值的常量是( )。



  96. 设变量定义为 int a[3]={1,4,7},*p=&a[2], 则*p的值是( )。

  97. A:1 B:4 C:7 D:&a[2]

  98. C语言中不可以嵌套的是( )。

  99. A:函数定义 B:循环语句 C:选择语句 D:函数调用

温馨提示支付 ¥2.35 元后可查看付费内容,请先翻页预览!
点赞(1) dxwkbang
返回
顶部