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

C语言程序设计(商洛学院)

  1. C语言规定,必须用【 】作为主函数名。

  2. A:Function B:main C:stdio D:include
    答案:程序书写格式严格限制,一行内必须写一个语句,并要有行号
  3. 语句char str[20];说明str是一个字符串,最多能表示 【】。

  4. A:21个字符 B:19个字符 C:18个字符 D:20个字符
    答案:19
  5. 由系统分配和控制的标准输出文件为【】。

  6. A:打印机 B:磁盘 C:显示器 D:键盘
    答案:显示器
  7. 执行下面的程序时,将1、2、3、4分别赋给a、b、c、d,正确的输入是【 】。

    #include <stdio.h>

    main( )

    {int a,b,c,d;

       scanf("%d,%d,%d%d",&a,&b,&c,&d);

       …

    }



  8. A:1  2  3  4 B:1,2,3  4 C:1  2  3,4 D:1,2,3,4
    答案:1,2,3 4
  9. 若定义有:int *p,str[ ]={1,2,3,4,5,6,7,8,910};下列写法中不合法的是 【 】。


  10. A: p = &str; B:str[5] = str[2];   C:p = str;  D:str[4]=*str+2; 
    答案:-3AI参考:这个问题的答案是B:str[5] = str[2];。选项B中,str是一个数组,而数组的索引是从0开始的,所以str[5]是不存在的元素,赋值操作会导致编译错误。而其他选项A、C、D都是合法的指针赋值或数组元素赋值操作。选项A中将p指向str是一个将地址赋给指针的操作,选项C中将整个数组赋给了指针p,选项D中将数组的第3个元素(即*str+2)的值赋给了数组的第4个元素(即str[4])。'
  11. 以下不是关键字的是【 】。

  12. A:continue B:If C:char D:default
    AI参考:正确答案是C:char。关键字是指在编程语言中具有特殊含义的词汇或词语,如continue、if、default等。而char不是编程语言中的关键字,它通常用于定义字符型变量。因此,选项C是正确答案。'
  13. 在 C 语言中,有关函数的说法,以下正确的是【 】。

  14. A:函数不可嵌套定义,但可嵌套调用 B:函数可嵌套定义,也可嵌套调用 C:函数不可嵌套定义,也不可嵌套调用 D:函数可嵌套定义,但不可嵌套调用

  15. 若有以下说明:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为6的表达式是【 】。

  16. A:p B:*(p+5) C:*(p+6) D:*p+6

  17. 设char ch='A';则ch=(ch>='A'&&ch<='Z')?(ch+32):ch的值是【 】。

  18. A:A B:z C:a D:Z

  19. 在C语言中,函数的数据类型是指【 】。

  20. A:函数形参的数据类型 B:调用该函数时的实参的数据类型 C:任意指定的数据类型 D:函数返回值的数据类型

  21. x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是【 】。

  22. A:read("%d%d%d",&x,&y,&z); B:scanf("%d%d%d",&x,&y,&z); C:AINPUT x、y、z; D:scanf("%d%d%d",x,y,z);

  23. 下列运算符中优先级最高的是【 】。

  24. A:!= B: C:+ D:%
    AI参考:答案:D。%是除法运算和求余数运算符,在算术运算符中优先级仅次于乘幂运算符,高于其他的比较运算符和算术运算符。故选D。'
  25. 在C语言程序中,表达式5%2的结果是【 】。

  26. A:2.5 B:2 C:3 D:1

  27. 有以下程序
    #include<stdio.h>
    main( )
    { char c1,c2;
      c1='A'+'8'-'4';
      c2='A'+'8'-'5';
      printf('%c,%d',c1,c2);}
    程序运行后的输出结果是【  】。


  28. A:E,68 B:输出无定值 C:E,D D:D,69

  29. 以下对二维整形数组a的正确定义是【 】。


  30. A:double a[2][4];  B:float a(3)(4);  C:float a(3,4);   D:int a[  ][4]; 

  31. 若有以下程序段,
      int c1=1,c2=2,c3;
      c3=1.0/c2*c1;
     则执行后,c3中的值是【】。

  32. A:0 B:1 C:0.5 D:2

  33. 若有定义:int a[2][3],则对a数组的第i行第j列元素地址的正确引用为【 】。

  34. A:a[i]+j B:*(a[i]+j) C:(a+i) D:*(a+j)

  35. C语言中【 】。

  36. A:不能使用do-while语句构成的循环 B:do-while语句构成的循环,当while语句中的表达式值为零时结束循环 C:do-while语句构成的循环必须用break语句才能退出 D:do-while语句构成的循环,当while语句中的表达式值为非零时结束循环
    AI参考:正确选项是【D:do-while语句构成的循环,当while语句中的表达式值为非零时结束循环】。do-while循环是一种循环结构,它会在执行完一次循环体后,再检查while语句中的表达式是否为真。如果表达式值为非零,则继续循环;如果表达式值为零,则结束循环。因此,选项D是正确的。其他选项都不正确,因为do-while循环不需要使用break语句退出,也不需要排除do-while循环中使用do-while循环。'
  37. 下面是一个初始化指针的语句:int *px = &a;其中指针变量的名字应该是【】。

  38. A:px B:*pz C:a D:&a

  39. 有以下程序段
    #include <stdio.h>

    main( )
    { 
    int k=0;
     while(k=1) k++;
    }
    则while循环执行的次数是【 】。


  40. A:执行1次 B:无限次 C:一次也不执行 D:有语法错,不能执行 

  41. 有定义语句:int x,y;若要通过scanf("%d,%d",&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,正确的有【】。

  42. A:11,12 B:11, 12 C:11 12 D:11,12

  43. 以下选项中,合法的字符常量是【】。



  44. 设有语句float ave(int a[10]);float f;int w[10];则正确的函数调用形式是【】。




  45. 以下叙述中正确的是【】。

  46. A:一个C源程序可由一个或多个函数组成 B:C源程序的基本组成单位是函数 C:在C源程序中,注释说明只能位于一条语句的最后 D:一个C源程序必须包含一个main()函数
    AI参考:正确选项为BCD。A选项错误,一个C源程序可以由一个或多个函数组成,这是正确的,但是并不是C源程序的基本组成单位。C源程序的基本组成单位是语句,函数只是语句的一种组织形式。C选项错误,注释说明不仅可以位于一条语句的最后,也可以放在代码的任何位置,但是不能放在函数定义或者声明之前。D选项正确,一个C源程序必须包含一个main()函数,这是C语言程序的入口点。因此,本题答案为BCD。'
  47. 下列语句能够求出1+2+3+...+100的和的语句是【】。

  48. A:i=1;sum=0;for(;i B:i=1;sum=0;if(i++ C:i=1;sum=0;do{sum+=i;}while(i D:i=1;sum=0;while(i++ E:for(i=1,sum=0;i

  49. 下列对逻辑运算符两侧的运算对象的数据类型描述不正确的是【】。

  50. A:只能是0或1 B:可以是任何类型的数据 C:只能是0或非0正数 D:可以是整型或字符型数据

  51. 可以不要进行函数原型声明的函数是【】。

  52. A:被调用函数的数据类型是char B:被调用函数定义的位置在调用函数之前 C:被调用函数的数据类型是float D:主函数main() E:被调用函数的数据类型是int
    AI参考:正确选项是:B、C、E。这三个选项的函数可以被调用,但是它们没有进行函数原型声明。函数原型声明是指在调用函数之前声明该函数的函数名和参数类型,以便编译器能够正确地识别和编译该函数。选项A和D中的函数类型是char和主函数main(),它们不需要进行函数原型声明,因为它们是系统定义的类型和函数,编译器会自动识别它们的类型。选项D中的主函数main()是程序的入口点,不需要进行函数原型声明。因此,正确选项为B、C、E。'
  53. 下列运算符中右结合的是【】。

  54. A:++ B:! C:?: D:>= E:+
    AI参考:选项 C:?: 是一个右结合的运算符。其他选项的解释:* A:++ 是自增运算符,是左结合的。* B:! 是逻辑非运算符,是右结合的。* D:>= 是大于等于运算符,是左结合的。* E:+ 是加法运算符,是左结合的。所以,正确答案是C:?:。'
  55. 以下选项中不是C语言合法整数的是【】。

  56. A:0386 B:0Xffa C:x2a2 D:10110
    AI参考:正确选项是:C语言合法整数的是:A:0386 B:0Xffa D:10110。解释如下:* A选项中的“0386”是一个合法的十进制整数,因为数字前面有一个零,表示它是正数。* B选项中的“0Xffa”是一个合法的十六进制整数,因为前面有一个零表示它是正数。* D选项中的“10110”是一个二进制整数,也是一个合法的整数。C选项中的“x2a2”并不是一个合法的整数,因为它既不是十进制、十六进制,也不是二进制,它只是一个表示字符串的符号,不符合C语言中整数的格式要求。'
  57. 下列语句正确初始化的是【】。


  58. AI参考:对于这个问题,根据上下文理解,似乎是在询问关于初始化语句的正确选项。考虑到这种情况,以下语句被认为正确初始化了:1. 变量声明并赋值:int x = 0;2. 数组初始化:int[] arr = new int[]{1, 2, 3};3. 对象初始化:Person person = new Person("John Doe");4. 字符串初始化:String str = "Hello, world!";请注意,这些语句只是给出了一个例子,具体答案可能会根据上下文和使用的编程语言而变化。如果提供更多的上下文信息,可能会有更准确的答案。'
  59. 以下选项中合法的表达式是【】。

  60. A:(char)(65+3) B:i=j==0 C:x+1=x+1 D:0

  61. 已定义c为字符型变量,则下列语句中错误的是【】。



  62. 设有以下定义:int a=0;double b=1.25;char c='A';#define d 2 则下面语句中正确的是【】

  63. A:d++ B:c++ C:b++ D:a++

  64. 关系表达式的结果可以是【】。

  65. A:0 B:非0值 C:true D:false E:1
    AI参考:正确选项为:B:非零值,C:true,D:false。关系表达式的结果取决于两个操作数之间的关系。如果两个操作数相等,则结果为true;如果两个操作数不等,则结果为false。非零值在大多数编程语言中通常被视为非零值,因此可以作为关系表达式的结果。而0通常被视为false,因此也可以作为关系表达式的结果之一。因此,选项B和C是正确的。在某些编程语言中,true和false通常用于表示逻辑真和假,因此选项D也是正确的。因此,正确选项为B、C、D。'
  66. 以下关于数组描述错误的是【】。

  67. A:数组的大小是可变的,但所有数组元素的类型必须相同 B:数组的大小是固定的,所有数组元素的类型必须相同 C:数组的大小是固定的,但可以有不同的类型的数组元素 D:数组的大小是可变的,可以有不同的类型的数组元素

  68. 下列整型常数表示正确的是【】。

  69. A:0x123 B:0123 C:123L D:123Ul E:123u

  70. 以下4个选项中,可以看作是一条语句的有【】。

  71. A:{;} B:if(b==0) m=1;n=2; C:if(a>0) D:a=0,b=0,c=0;
    AI参考:正确选项为B:if(b==0) m=1;n=2;原因解释:A:{;}:这个语句格式是一个空语句,不执行任何操作。C:if(a>0):这是一个完整的条件语句,但是如果只写这个,不会执行任何操作,需要配合后面的语句块来执行具体的操作。D:a=0,b=0,c=0;:这个语句格式并不是一条语句,而是一个复合语句,它包含三个赋值操作,需要使用花括号 {} 来包围起来。只有B:if(b==0) m=1;n=2;是一个完整的语句,它包含一个条件判断和一个赋值操作,满足语句的基本格式和要求。因此,B是唯一可以看作是一条语句的选项。'
  72. 下列选项中是C语言合法标志符的有【】。

  73. A:main B:8abc C:good_morning D:stdio.h

  74. 下列属于双目运算符的是【】。

  75. A:> B:+= C:, D:>> E:?:
    AI参考:选项B,D是双目运算符。B:+= 是双目运算符,表示把左操作数加上右操作数的值,并将结果存储在左操作数中。D:>> 是位移运算符,表示将一个数字的所有二进制位向右移动指定的位数。它是一个双目运算符,需要两个操作数。其他选项中,A:大于符号是一个单目运算符,它只对一个操作数起作用。C:逗号运算符在C和Java等语言中是存在的,但在许多其他语言中可能并不存在。它通常用于分组和返回最后一个表达式的值。E:条件运算符是一个三目运算符,它只有在满足某个条件时才返回某个结果。它不是双目运算符。因此,根据题目要求,只有B和D是双目运算符。所以答案是 B和D。'
  76. 若有以下程序段,并且w和k都是整型变量:for(w=1;w<=k;w++)
    printf("*");
    则与上面程序段等价的循环语句是【】。

  77. A:for(k=1;kprintf("*"); B:w=k;do {w--;printf("*");} while(w!=0); C:for(w=k;w;--w)printf("*");w=k; D:w=k;while(w--!=0)printf("*"); E:for(w=k;w!=0;w--)printf("*");
    AI参考:正确选项是【E:for(w=k;w!=0;w--)printf("*");】。这段程序段是一个for循环,其功能是打印从1到k的星号(*)。选项E中的for循环与原程序段的功能相同,也是从k开始,每次循环输出一个星号,直到w不再等于0为止。因此,选项E是与原程序段等价的循环语句。其他选项中,A、B、C和D中的循环语句都存在一些问题,例如变量赋值错误、循环条件不正确等。'
  78. 在do一while循环体中,一定要有能使while后表达式值变为零("假")的操作()

  79. A:错 B:对

  80. 空语句可以用来作流程的转向点,即流程从程序其他地方转到此语句处。 ()

  81. A:对 B:错

  82. 变量的三要素是:变量名、变量类型、变量的值。()

  83. A:错 B:对

  84. 函数的实参和形参可以同名,但代表不同存储单元。()

  85. A:对 B:错

  86. 只有在a为真(非 0)时,表达式 a&b才需要判断b的值。 ()

  87. A:对 B:错

  88. 在C语言中,常数045跟45等值。 ()

  89. A:错 B:对

  90. C语言中,字符数据用格式说明"%s"来输出,字符串数据用格式说明"%c"来输出。()

  91. A:错 B:对

  92. 函数的实参和形参可以使用相同的名字。()

  93. A:对 B:错

  94. C程序一行只能写一个语句。 ()

  95. A:错 B:对

  96. 表达式1/4*3的值是0.75。()

  97. A:对 B:错

  98. if 语句的嵌套是指在 if 语句中又包含一个或多个 if 语句。()

  99. A:对 B:错

  100. continue 语句的作用是使程序的执行流程跳出包含它的所有循环 ()

  101. A:错 B:对

  102. 设有int a;float f=5.75;在执行语句a=(int)f;后,f变成了int型。()

  103. A:对 B:错

  104. continue 语句的作用是结束整个循环的执行。 ()

  105. A:错 B:对

  106. 自增,自减运算符既可以用于变量又可用于常量和表达式。 ()

  107. A:错 B:对

  108. 在赋值表达式中,赋值运算符=的左边可以是表达式,例如a+b=5。()

  109. A:错 B:对

  110. 条件运算符?和:是一对运算符,不能分开单独使用。()

  111. A:对 B:错

  112. 变量可以先使用后定义。 ()

  113. A:错 B:对

  114. if语句不可以嵌套。()

  115. A:对 B:错

  116. 在赋值运算中,赋值号两边的数据类型不同时,赋值号右边的类型将自动转换为左边变量的类型。 ()

  117. A:对 B:错

  118. a=b+c=1 是正确的赋值表达式 ()

  119. A:对 B:错

  120. 用标识符来表示的常量称为符号常量。 ()

  121. A:错 B:对

  122. 字符型数据可以和整数数据一起进行算术运算。()


  123. A:错 B:对

  124. C语言中普通字符型变量在内存中占1个字节。()

  125. A:错 B:对

  126. C语言中允许同一行内书写多个语句。()

  127. A:对 B:错
    AI参考:答案是B:错。在C语言中,通常不允许在同一行内书写多个语句,需要使用分号(;)来分隔每个语句。因此,这个说法是错误的。'
  128. #include命令不能包含用户自己建立的头文件。()

  129. A:错 B:对

  130. (int)x+y 的作用是把 x+y 的结果转换成整型。 ()

  131. A:错 B:对

  132. 后缀为f 或F的数为浮点数。 ()

  133. A:错 B:对

  134. 语句if(a=5)printf("%d",a);是合法的。()

  135. A:对 B:错
    AI参考:题目中的语句`if (a=5)`是一个赋值和条件判断的复合语句。在这个语句中,`a`被赋值为`5`,然后再判断这个值是否等于`5`。因为等于运算符(`==`)在C语言中是双赋值运算符,它等同于`=`,所以这里实际上是在执行一次赋值操作后再判断`a`是否为`5`。由于`a`已经被赋值为`5`,所以这个条件判断语句的结果总是为真,无论`a`原本的值是什么。因此,无论`a`原本的值是什么,这段代码都会输出`5`。所以,这段代码是合法的。答案是A,对。'
  136. 在结构化程序设计中,循环结构就是无休止地反复执行某一部分的操作。()

  137. A:对 B:错

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