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

程序设计基础

  1. 系统默认的C语言源程序扩展名为.c,需经过( )之后,生成exe文件,才能运行。

  2. A:编译、连接 B:编辑、连接 C:编辑、改错 D:编辑、编译
    答案:编译、链接
  3. int x1,x2; char y1,y2;
    scanf("%d%d",&x1,&x2); scanf("%c%c", &y1,&y2);
    有上述程序,若要求x1、x2、y1、y2的值分别为10、20、A、B,正确的数据输入是(注:└┘代表空格)( )。

  4. A:10└┘20└┘ABC B:10└┘20AB C:10└┘20<回车>AB D:1020AB
    答案:10A└┘20BAI参考:正确答案是C: 10└┘20<回车>AB。程序中使用了scanf函数来读取输入的数据,其中"%d%d"表示读取两个整数,"%c%c"表示读取两个字符。根据题目要求,x1和x2的值分别为10和20,y1和y2的值分别为A和B。在选项C中,输入了"10└┘20<回车>AB",其中"<回车>"表示换行符,确保两个整数之间有一个空格,符合scanf函数的输入要求。因此,选项C是正确的。选项A、B、D中的输入方式不符合scanf函数的输入要求,因此是错误的。'
  5. 以下正确的函数定义形式是( )

  6. A:float fun(int x;int y) B:float fun(x,y) C:float fun(int x, y) D:float fun(int x,int y)
    答案:doublefun(intx,inty)
  7. 下面说法正确的是( )。

  8. A:char *s=”GDUT”; 等价于 char *s; s=”GDUT” ; B:char *a=”GDUT”; 等价于 char *a; *a=”GDUT” ; C:char c[4]=”abc”,d[4]=”abc”; 等价于 char c[4]=d[4]=”abc” ; D:char str[10]={“GDUT”}; 等价于 char str[10]; str[10 ]={“GDUT”;}
    AI参考:正确答案是D。选项D是正确的。在C语言中,字符串常量被存储为字符数组,因此选项D中的“GDUT”会被存储为一个字符数组,而不是一个字符指针。选项A和B都是错误的,因为它们没有正确地使用指针变量。选项C也是错误的,因为两个数组初始化语句应该使用相同的初始化方式,而不是单独赋值给数组的每个元素。因此,正确答案是D:char str[10]={“GDUT”}; 等价于 char str[10]; str[10]={“GDUT”;}。'
  9. int a[10];给数组a的所有元素分别赋值为1、2、3、……的语句是( )。

  10. A:for(i=1;i<11;i++)a[0]=1; B:for(i=1;i<11;i++)a[i-1]=i; C:for(i=1;i<11;i++)a[i]=i; D:for(i=1;i<11;i++)a[i+1]=i;
    答案:

    for(i=1;i<11;i++)a[i-1]=i;


  11. 以下变量命名中,不合法的是( )。

  12. A:_A_ B:float C:A3! D:K818K
    答案:2userAI参考:不合法的是C:A3!。在Python等编程语言中,变量命名的一般规则包括:不能以数字开头,不能使用Python的保留字,通常使用小写字母和下划线。选项A和D符合这些规则,选项B是一个合法的浮点数类型命名。C选项中,A3!这样的命名是不合法的,因为不允许使用数字开头。因此,正确答案是C:A3!。'
  13. C 语言中函数的隐含存储类型是( )。

  14. A:auto B:static C:extern D:无存储类型

  15. 已有定义char k=2; char *ptr1,*ptr2;且ptr1和ptr2均已指向变量k,下面不能正确执行的赋值语句是( )。

  16. A:*k=*ptr1*(*ptr2) B:*ptr2=k+2 C:*ptr1=*ptr2 D:k=*ptr1+*ptr2
    AI参考:正确答案是B:*ptr2=k+2。在C语言中,指针变量可以用来指向内存中的某个地址,通过指针变量可以对该地址进行读写操作。对于本题中的指针变量ptr1和ptr2,它们都指向变量k,因此可以对k进行赋值操作。选项A和D都是正确的赋值语句,选项C也是正确的赋值语句,因为ptr1和ptr2指向的是同一个地址。而选项B中,由于ptr2指向的是变量k,因此不能直接对ptr2所指向的地址进行赋值操作,否则会导致程序出错。所以选项B不能正确执行。'
  17. 对于(1) while(1);,(2) for(; ;);两条代码,描述正确的是( )。

  18. A:(1)循环一次,(2)错误 B:(1)是无限循环,(2)错误 C:(1) (2) 都是无限循环 D:(1) (2) 皆错误
    AI参考:正确答案是C:(1)(2) 都是无限循环。(1)while(1);是一个无限循环,因为while循环的条件永远为真,所以会一直循环下去。(2)for(; ;);也是一个无限循环,因为for循环的条件没有设定具体的终止条件,所以会一直循环下去。因此,这两个代码都会导致无限循环。其他选项A、B、D都是不正确的描述。因此,答案为C。'
  19. 执行完循环语句for(i=1;i++<10;);后,变量i的值是多少?循环体被执行了多少次?( )。

  20. A:i的值是9,循环体执行了10次 B:i的值是10,循环体执行了10次 C:i的值是8,循环体执行了9次 D:i的值是11,循环体执行了9次

  21. 若有定义int a[4][6];则能正确表示a数组中元素a[i][j](i,j均在有效范围内)地址的表达式( )。

  22. A:&a[0][0]+4*j+i B:&a[0][0]+6*i+j C:&a[0][0]+6*j+i D:&a[0][0]+4*i+j

  23. C语言的程序一行写不下时,可以( )。

  24. A:用回车符换行 B:用分号换行 C:用逗号换行 D:用双引号换行

  25. 以下正确的说法是( )。

  26. A:return后边的值不能为表达式 B:定义函数时,形参的类型说明可以放在函数体内 C:如果形参与实参类型不一致,以实参类型为准 D:如果函数值的类型与返回值类型不一致,以函数值类型为准
    AI参考:正确选项是B:定义函数时,形参的类型说明可以放在函数体内。在函数定义中,形参的类型说明可以放在函数体内,这是正确的。其他选项中,A选项错误,因为return语句后面可以是一个表达式,也可以是一个变量;C选项错误,如果形参与实参类型不一致,会触发类型转换,优先使用函数参数的类型;D选项也错误,因为返回值类型会按照规则进行类型转换,除非两种类型能够互相兼容。所以B选项是唯一正确的选项。'
  27. C语言中循环的说法正确的是( )。

  28. A:do-while的循环体至少无条件执行一次 B:循环体不能是空语句 C:循环不能提前结束 D:do-while语句构成的循环,当while语句中的表达式值为非零时结束循环
    AI参考:正确答案是D:do-while语句构成的循环,当while语句中的表达式值为非零时结束循环。do-while循环至少执行一次循环体,但是循环体可以没有条件直接执行,所以A错误。循环体可以是空语句,所以B错误。do-while循环可以提前结束,所以C错误。do-while循环的特点是先执行一次循环体,然后再判断条件是否满足,如果条件满足则继续循环,否则跳出循环。因此,do-while语句构成的循环,当while语句中的表达式值为非零时结束循环,所以D正确。'
  29. #include <stdio.h>
    void main()
    { int i,j;
    for(i=1;i<5;i++)
    for(j=2;j<=i;j++)
    putchar(‘#’); }
    执行上述程序后,输出‟#‟的个数是( )。

  30. A:4 B:8 C:6 D:2

  31. 语句int a=1,b=3,m; for (m=1; a/b*m<=1; ++m); 执行循环次数是( )。

  32. A:2 B:无限次 C:3 D:1
    AI参考:答案:B解析:首先m的初始值为1,条件为a/b*m<=1,因为a=1,b=3,所以a/b*m<=1等价于m<=3,因此循环次数是无限的。'
  33. 在每个_______的最后必须有一个分号( )。

  34. A:数据声明和语句 B:数据声明 C:语句 D:大括号
    AI参考:正确选项是【A:数据声明和语句】。在编程中,数据声明和语句通常会以分号(;)结尾,表示语句的结束。其他选项中,数据声明通常用冒号(:)分隔,大括号({})通常用于表示代码块或结构,而分号(;)是用来分隔不同的语句的。因此,在每个数据声明和语句的最后必须有一个分号。'
  35. 在一个源程序文件中定义的全局变量的有效范围是( )。

  36. A:从定义变量的位置开始到源程序文件结束 B:C程序的所有源程序文件 C:本源程序文件的全部范围 D:不能被其他源程序文件所使用

  37. C语言是由( )组成的。


  38. A:过程 B:函数 C:库文件 D:子程序
    AI参考:正确答案是B,函数。C语言是由函数组成的。在C语言中,程序由若干个函数组成,每个函数负责实现程序的一个特定功能。函数可以包含变量、语句和函数调用等,从而实现特定的计算或操作。C语言中的函数是面向过程编程的一种重要概念。其他选项如过程、库文件和子程序虽然也是C语言中的一部分,但它们不是由C语言的基本组成部分。'
  39. 若已定义int a=3, b=2, c=1; 则以下表达式值为真的是( )。

  40. A:a>b>c B:a&&!b-c C:a==b==1 D:a’&&!a

  41. 若有定义语句:int x=10;,则表达式x-=x+x的值为( )。

  42. A:-20 B:10 C:-10 D:0

  43. while循环语句中,当while后面的圆括号中表达式的值为( )时,循环结束。

  44. A:!0 B:1 C:-1 D:0

  45. 若定义:int a[7][9];则a数组的第i行第j列元素地址的正确引用是( )。

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

  47. 对循环语句: for(表达式1;表达式2;表达式3)语句,以下叙述正确的是( )。

  48. A:for语句中的循环体可以是一个复合语句 B:for语句只能用于循环次数已经确定的情况 C:for语句中的三个表达式一个都不能少 D:for语句中的循环体至少要被执行一次

  49. 一个C程序一定包括( )。

  50. A:流程图 B:注释 C:宏定义 D:main函数
    AI参考:正确选项是D:main函数。在C语言中,程序从main函数开始执行,它是程序的入口点。一个C程序一定包含一个main函数,因此选项D是正确答案。流程图、注释和宏定义都不是所有C程序都必须包含的内容。流程图是用来描述程序流程的工具,注释是用来对代码进行解释和说明的,宏定义是用来定义一些常用的常量或函数。'
  51. 若有说明:int *p,m=5,n;以下正确的程序段是( )。

  52. A:scanf("%d",&n);*p=n; B:p=*p=m; C:p= scanf("%d",&p); D:p= scanf("%d",*p);

  53. 在C语言中,多分支选择结构语句为:
    switch(c)
    {case 常量表达式1:语句1; ……
    case 常量表达式 n-1: 语句 n-1;
    default: 语句 n;}
    则括号内表达式c的类型允许的是( )。

  54. A:整型或字符型 B:任意类型 C:整型或实型 D:只能是整型

  55. 合法的数组定义是( )。

  56. A:int a[ ] = ”ABC”; B:char a[3]=”ABC”; C:char a = ”ABC”; D:char a[ ] = {‘A’,’B’,’C’};

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

  58. A:no.1 B:_ok C:_123_ D:abc123

  59. 在C语言中,一个变量的指针就是( )。

  60. A:变量的名称 B:变量的值 C:变量的类型 D:变量的地址

  61. 通过return语句,函数可以带回一个或一个以上的返回值。( )

  62. A:错 B:对
    AI参考:正确答案是【B:对】。通过return语句,函数可以带回一个或一个以上的返回值,这是正确的。在函数中,return语句用于结束函数的执行,并返回一个值给调用该函数的代码。如果函数需要返回多个值,可以使用多个return语句或使用元组等数据类型来返回多个值。因此,该判断题是正确的。'
  63. C语言的switch语句中case后可为变量或变量表达式。( )

  64. A:对 B:错

  65. 在定义int a[5][6]; 后,数组中的第10个元素是a[2][5]。( )

  66. A:对 B:错

  67. 一个数组可以存放不同类型的值。( )

  68. A:对 B:错

  69. do-while语句构成的循环,当while语句中的表达式值为零时结束循环。( )

  70. A:对 B:错
    AI参考:答案是B:错。do-while循环在循环体执行完毕后才会检查while语句中的表达式,所以如果表达式值为零,循环会继续执行,直到循环体执行完毕或者while语句中的表达式不再为零为止。因此,do-while循环不会在while语句中的表达式值为零时结束循环。'
  71. 若有语句:char a[]=”ABC”;,则表达式a==”ABC”的值是1。( )

  72. A:对 B:错
    AI参考:答案是B:错。在C/C++语言中,字符串字面值应该用双引号括起来,而不是单引号。因此,语句char a[] = "ABC"是错误的,因为它没有正确地初始化字符数组a。正确的初始化方式应该是char a[] = {"ABC"};,这样a数组就会被正确地初始化为一个包含三个字符的字符串。因此,表达式a == "ABC"的值是0,因为a数组的值与"ABC"字符串的值不相等。所以这个判断题是错误的。'
  73. C语言需要经过编译链接后才能运行。


  74. A:错 B:对
    AI参考:正确答案是B:对。C语言需要经过编译链接后才能运行,这是因为C语言是一种高级语言,需要转换成机器语言才能在计算机上运行。在编译链接过程中,会将C语言代码转换成机器语言,并且将各个源文件中的函数和变量链接起来,形成一个可执行文件。因此,选项B是正确的。选项A错误,因为C语言可以直接在计算机上运行,不需要经过编译链接过程。选项C错误,因为C语言是一种高级语言,不是汇编语言。'
  75. 在定义函数时,形参的类型说明可以放在函数体内。( )

  76. A:错 B:对

  77. 已知i为整型变量,表达式语句 (i+3)--; 写法正确。( )

  78. A:错 B:对
    AI参考:答案是B:对。表达式语句 (i+3)--; 写法正确,表示先执行 i+3 的运算,得到 i 的值加上 3 的结果,然后再执行减 1 操作,最终得到 i 的值减 3 后再减 1 的结果。这个表达式语句是合法的,符合 C/C++ 语言的语法规则。'
  79. #define和printf都是C语句。( )

  80. A:错 B:对

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