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

C君带你玩编程

  1. 执行以下程序段后,x的值为______。
    int a=14,b=15,x;
    char c='A';
    x=(a && b) && (c <  'B');


  2. A:false B:0 C:1 D:true
    答案:1
  3. 以下不构成无限循环的语句或语句组是________


  4. A:n=0;while (1) { n++;} B:for(n=0,i=1;  ; i++) n+=i; C:n=0;do {++n;} while (n < = 0); D:n=10;while (n); {n--;}
    答案:n=0;  do{++n;}while(n<=0);
  5. 若有定义“int a[5],*p=a;”,则对a数组元素不正确的引用是______。

  6. A:*(a+0) B:*&a[4] C:a+2 D:*(p+2)
    答案:a+2
  7. 设有两字符串“Good”、“Morning”分别存放在字符数组 str1[10]、str2[10]中,下面语句中能把“Morning”连接到“Good”之后的是______。


  8. A:strcpy(str1,str2); B:strcat(str1, "Morning"); C:strcpy(str1, "Morning"); D:strcat("Good" ,str2);
    答案:strcat(str1,"Morning");
  9. 有以下程序:
    #include"stdio.h"
    int f(int x);
    void main()
    { int n=1,m;
     m=f(f(f(n))); printf("%d ",m);
    }
    int f(int x)
    { return x*2; }
    程序运行后的输出结果是_______。


  10. A:8 B:1 C:2 D:4
    答案:8
  11. 以下叙述中错误的是_________。

  12. A:printf是C语言提供的输出语句。 B:函数通常分为库函数和用户自定义函数两种。 C:函数体一般由一组C语句序列组成。 D:函数是C程序的基本组成单位。
    AI参考:正确选项是【A:printf是C语言提供的输出语句。】解释:A选项中说printf是C语言提供的输出语句,实际上printf是C语言中的一个库函数,用于格式化输出。它不是C语言提供的输出语句,因此这个叙述是错误的。其他选项都是正确的,B选项说明了函数的分类,C选项描述了函数体的构成,D选项表明了函数在C程序中的地位,它是基本组成单位。'
  13. if语句的基本形式是:if (表达式) 语句,以下关于“表达式”值的叙述中正确的是______。

  14. A:必须是逻辑值 B:可以是任意合法的数值 C:必须是正数 D:必须是整数值

  15. fp已定义,执行语句fp=fopen("file","w");后,以下针对文本文件file操作的叙述中,正确的是______


  16. A:只能写不能读 B:写操作结束后可以从头开始读 C:可以随意读和写 D:可以在原有内容后追加

  17. 以下程序的执行结果是__________。
    #include"stdio.h"
    void main()
    {int a[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};
    int i,s=0;
    for(i=0;i < 4;i++)
    s+=a[i][1];
    printf("%d",s);
    }


  18. A:13 B:20 C:19 D:11
    AI参考:程序的执行结果是**C:19**。程序中定义了一个4x4的整数数组,然后遍历数组,并将每行的第二个元素(从0开始计数)加到变量s中。最后一行输出s的值,即19。这个程序的逻辑是打印数组每行的第二个元素之和,选项C是唯一满足这个条件的选项。'
  19. 定义:int a=7; float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/-4的值是______

  20. A:2.500000 B:3.500000 C:2.000000 D:0.000000

  21. 如果将一个函数的返回值类型说明为void,则表示_________。

  22. A:该函数是main函数,是程序运行的起点。 B:该函数不能返回任何值。 C:该函数可以返回基本类型的值。 D:该函数可以返回任意类型的值。

  23. 已知字符′A′ASCII码值是65,字符变量c1的值是′A′c2的值是′D′。执行语句printf("%d,%c",c1,c2-2);,输出结果是______


  24. A:A,68 B:A,B C:65,B D:65,66

  25. 有以下程序:
    #include"stdio.h"
    void main()
    { int i, t[][3]={9,8,7,6,5,4,3,2,1};
     for(i=0;i < 3;i++)
    printf("%d ",t[2-i][i]);
    }
    程序运行后的输出结果是__________。


  26. A:3 5 7 B:7 5 1 C:3 6 9 D:7 5 3

  27. 定义变量“int x, *y=&x;”,则下列函数调用中错误的是_____。


  28. A:scanf("%d", &y); B:printf("%d", *y); C:printf("%d", x); D:scanf("%d", &x);
    AI参考:正确答案是D: scanf("%d", &x);。在题目中定义了变量x和y,其中y是指向x的指针。因此,变量x的值可以通过y来访问和修改。对于选项A、B和C,由于变量x和y之间是通过指针关联的,所以这些函数调用都是正确的。而选项D中的scanf("%d", &x);是将x作为整型变量而不是作为指针进行读取,所以会报错。因此,答案为D。'
  29. 有以下程序:
    #include"stdio.h"
    #define N 4
    void main()
    { int x[N][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},y[N],i;
     for(i=0;i < N;i++)
            y[i]=x[i][i]-x[i][N-1-i];
     for(i=0;i < N;i++)
            printf("%d, ", y[i]);
    }
    程序运行后的输出结果是__________。


  30. A:0, 1, 2, 3, B:-12, -3, 0, 0, C:-3, -1, 1, 3, D:-3, -3, -3, -3,

  31. 以下程序段的输出结果是______
    char  ch=A;
    int   k=012;
    printf("%c,%d,",ch,ch,k);  
    printf("k=%d ",k);


  32. A:输出项与格式描述符个数不符,输出为零值或不定值。 B:A,65,k=10 C:A,65,12k=12 D:因变量类型与格式描述符的类型不匹配输出无定值。

  33. 以下叙述正确的是________

  34. A:do-while语句和while-do构成的循环功能相同。 B:while-do语句构成的循环,当while语句中的表达式值为非0时结束循环。 C:do-while语句构成的循环,必须用break语句退出循环。 D:do-while语句构成的循环,当while语句中的表达式值为0时结束循环。
    AI参考:正确选项是:B:while-do语句构成的循环,当while语句中的表达式值为非0时结束循环。解释:A选项中的do-while语句和while-do语句构成的循环虽然都是循环结构,但它们的执行方式是不同的。do-while循环会在执行一次while后面的语句后再判断条件,只要条件满足就会一直循环,直到遇到break或者循环条件不再满足为止。而while-do循环则会先判断条件,再执行语句,只要条件不满足就会停止循环。所以A选项错误。C选项中,do-while循环在循环体中不会主动使用break语句退出循环,除非遇到异常或者需要提前结束循环的情况。如果需要退出do-while循环,只能是在while后面的表达式值为0时结束循环。所以C选项错误。D选项中,while-do循环只有在while后面的表达式值为0时才会停止循环,否则会一直执行循环体中的语句,直到表达式值为0为止。而do-while循环会在执行一次while后面的语句后再判断条件,只要条件满足就会一直循环,当表达式值为0时结束循环。所以D选项错误。因此,只有B选项是正确的。B选项中描述了while-do语句构成的循环的执行方式,即当while后面的表达式值为非0时,会执行循环体中的语句,直到表达式值为0为止。这与do-while循环的执行方式相似,因此B选项是正确的。'
  35. 有以下程序
    #include"stdio.h"
    void main()
    {
    int x=23;
    do
    {
    printf("%2d", x--);
    } while( !x );
    }
    程序的执行结果是_______。


  36. A:不输出任何内容 B:陷入无限循环 C:输出23 D:输出321

  37. 执行下面的_______操作后,文件的读写指针不指向文件首。

  38. A:rewind(fp) B:fseek(fp,0L,2) C:fopen("f1.c","r") D:fseek(fp,0L,0)

  39. 以下叙述中正确的是_________

  40. A:结构体类型中各个成员的类型必须是一致的。 B:一个结构体类型可以由多类型相同或不同的成员组成。 C:结构体类型中的成员只能是C语言中预先定义的基本数据类型。 D:在定义结构体类型时,编译程序就为它分配了内存空间。
    AI参考:正确选项是B:一个结构体类型可以由多类型相同或不同的成员组成。解释:A选项描述的是结构体成员的类型一致性,但未明确说明是否可以是不同类型。C选项描述的是结构体成员的基本数据类型限制,但未考虑到其他类型,如自定义类型等。D选项描述的是结构体类型的内存分配,但未明确指出在定义时是否已经分配。而B选项明确指出一个结构体类型可以由多类型相同或不同的成员组成,这是符合C++语言中结构体定义的规则的。当定义一个结构体类型时,编译器并不会为其分配内存空间,只有在创建该类型的对象时,才会为其分配内存空间。因此,B选项是正确的。'
  41. 有以下程序段:
    char name[20];
    int num;
    scanf("name=%s  num=%d",name, &num);
    当执行上述程序段,并从键盘输入:name=Lili  num=1001 < 回车 >后,name的值为__________。


  42. A:Lili  num= B:name=Lili C:name=Lili  num=1001 D:Lili

  43. 下面程序段的运行结果是______。
    char a[]="language",*p;
    p=a;
    while(*p!='u')  {
       printf("%c",*p-32);  
       p++;
    }


  44. A:LANGUAGE B:LANG C:langUAGE D:language

  45. 已知 char a=222;执行语句a=a&052;后,变量a的值是______

  46. A:245 B:10 C:244 D:222

  47. 设有如下函数定义
    int fun( int k )
    { if (k < 1)
               return 0;
     else if(k==1)  
                   return 1;
           else
                 return  fun(k-1)+1;
    }
    若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是_______。


  48. A:5 B:4 C:3 D:2

  49. 若有定义语句:
    char s[10]="1234567";
    则strlen(s)的值是__________。


  50. A:8 B:9 C:7 D:10

  51. 执行下面程序段的输出结果为______
    int x=13,y=5;
    printf("%d",x%=(y/=2));


  52. A:0 B:3 C:2 D:1
    AI参考:输出结果为:C:2。解释:在执行 printf 函数时,x%=(y/=2) 这一行代码,y/=2 表示将 y 除以 2 并赋值给 y,相当于 y = y / 2。由于 x%=(y/=2) 的作用是将 x 对 y 取余数后再赋值给 x,所以这个语句的执行结果是先将 x 的值取模运算得到 x % 2,然后将 x 的值再次赋值为 x % 2 取模的结果。根据 C 语言中取模运算的规则,x % 2 的结果为 1,所以最终 x 的值为 13 % 2 = 1,而 y 的值为 5 / 2 = 2。因此,输出结果为 2。'
  53. 有以下程序:
    #include"stdio.h"
    #define N 4
    void main()
    { int x[][N]={{1,2,3},{4},{5,6,7,8},{9,10}},y[N],i;
     for(i=0;i < N;i++)
               y[i]=x[i][i];
     for(i=0;i < N; i++)
               printf("%d,", y[i]);
    }
    程序运行后的输出结果是__________。


  54. A:1,2,3,4, B:1,4,5,9, C:3,4,8,10, D:1,0,7,0,

  55. 有如下程序段
    for(i=0;i < 10;i++)
           if(i > 5)  break;
    则循环结束后i的值为______。


  56. A:6 B:10 C:9 D:5
    AI参考:答案:D解析:程序段为for循环,循环条件为i小于10,当i大于5时,执行break跳出循环,所以循环结束后i的值为5。'
  57. 表达式 “a=3*4,a*5,a+18 ”的值是______。


  58. A:78 B:60 C:12 D:30

  59. 有关文件是否结束检测函数feof()的说法中,正确的是______。

  60. A:可用于二进制文件也可用于文本文件 B:只用于二进制文件 C:不能用于二进制文件 D:只能用于文本文件

  61. do...while语句的循环体至少执行1次,whilefor循环的循环体可能一次也不执行。

  62. A:错 B:对

  63. 在ISO/ANSI 1999规定中,允许将变量声明放在程序中的任何位置。

  64. A:对 B:错

  65. 用scanf()函数输入浮点数时,可以在格式说明符中指定数据宽度和小数位数。

  66. A:错 B:对

  67. 表达式 c=(fgetc(fp))!=EOF的功能是从fp指向的文件中读取字符并判断文件是否结束。

  68. A:对 B:错

  69. 在switch语句中,每一个case后的常量表达式的值不能相同,因为选择结构中只允许一个分支所对应的语句组被执行。

  70. A:错 B:对

  71. 如果某个函数在定义时省略了返回值类型,则默认的返回值类型是int

  72. A:对 B:错

  73. 在使用函数scanf输入数据时必须与函数参数指定的输入格式一致。

  74. A:错 B:对

  75. 一个共用体变量可以有多个数据成员,这些数据成员共享同一个存储空间,但如果空间不够用可以临时由系统分配。

  76. A:错 B:对

  77. 定义一维数组并同时进行全部数组元素初始化时,可以省略数组的长度说明。

  78. A:错 B:对

  79. 在循环外的语句不受循环的控制,在循环内的语句也不受循环的控制。


  80. A:对 B:错

  81. 用"rb"方式打开的文件必须是已经存在的文件。


  82. A:对 B:错

  83. 默认形式的实型常量为float类型。

  84. A:错 B:对

  85. (ch >='0' ) && (ch< ='9')是判断字符变量ch的值是否为数字字符的表达式。


  86. A:对 B:错
    AI参考:这个表达式是对字符变量 `ch` 进行判断的表达式,其含义是:判断 `ch` 是否是一个数字字符。如果 `ch` 的值大于等于 0 小于等于 9(数字字符的范围),则该表达式结果为真,否则为假。因此,正确答案是 【B】错。这个表达式不能完全判断 `ch` 是否为数字字符,因为它只考虑了数字字符的范围,而忽略了其他可能的字符。为了更准确地判断 `ch` 是否为数字字符,应该使用特定的字符判断函数或方法。"
  87. float定义的浮点型变量(ANSI标准)在内存占4个字节,输入/输出格式符是%f

  88. A:错 B:对
    AI参考:这个问题的正确答案是A,错误。float在内存中占用的字节数可能因系统和平台而异,一般情况下,在许多系统上,它通常占用4个字节。然而,这个数字并非恒定不变的,而且标准并不保证它一定为4个字节。所以该说法是不准确的。另外,输入/输出格式符是%f,这是对的。但要注意的是,浮点数变量的输入/输出格式符%f仅适用于输出浮点数,而不能用于输入浮点数。输入浮点数时应该使用%f或%lf(用于double类型)。所以答案为A,错误。'
  89. 若有定义:int a[10];,使用数组元素时,下标的最小值是1,最大值是10。


  90. A:对 B:错

  91. 复合语句中可以定义变量,还可以嵌套使用复合语句。

  92. A:对 B:错

  93. 不同函数的形式参数不能使用相同名称的标识符。

  94. A:错 B:对

  95. 使用转义字符可输出ASCII码表中的任一字符。

  96. A:对 B:错

  97. 所有关系运算符的运算优先级相同。


  98. A:错 B:对

  99. C语言中,所用自定义的函数,在使用前均需进行函数说明。

  100. A:错 B:对

  101. C语言中,扩展名为.h的文件称为头文件,常用于组织C标准函数库中的函数。

  102. A:对 B:错

  103. 机器语言与硬件平台相关,但汇编语言和高级语言与硬件平台无关。

  104. A:错 B:对

  105. 预处理命令的前面必须加一个#号。

  106. A:对 B:错

  107. 条件可以是任何类型的表达式,如逻辑型,关系型,数值型等,单个已赋过值的变量或常量也可以作为表达式的特例。

  108. A:错 B:对

  109. void 类型的指针不指向某种类型的数据,所以没有意义。

  110. A:错 B:对

  111. 共用体可以作为结构体的成员,但结构体不能作为共用体的成员。

  112. A:对 B:错

  113. int i=1;while(1) i++; 是一个死循环。

  114. A:对 B:错

  115. 二元运算符均可以和赋值运算符构成复合的赋值运算符。


  116. A:错 B:对

  117. C语言中,do-while语句构成的循环只能用break语句退出。

  118. A:错 B:对

  119. 执行语句for(i=1;i++< 4; );后,变量i的值是4


  120. A:对 B:错

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