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

C语言程序设计

  1. 以下关于函数的叙述中正确的是( )。

  2. A:在一个函数内部可以定义另一个函数 B:每个函数都可以被单独编译 C:每个函数都可以单独运行 D:每个函数都可以被其他函数调用(包括main 函数)
    答案:C语言规定必须用main做主函数名,程序将从此开始执行,在此结束
  3. 利用fseek函数可实现的操作( )。

  4. A:fseek(文件类型指针,起始点,位移量); B:fseek(fp,位移量,起始点); C:fseek(起始点,位移量,文件类型指针); D:fseek(位移量,起始点,fp);
    答案:改变文件的位置指针
  5. C语言经过链接后生成的文件的后缀是( )。

  6. A:.cpp B:.exe C:.obj D:.c
    答案:[".obj",".exe"]AI参考:正确选项是B:.exe。链接是将用C语言编写的源代码编译成可执行文件,生成的文件后缀为.exe。其他选项不符合链接后生成文件的后缀。'
  7. 设ch是char型变量,其值为‘A’,则下面表达式的值是( )。
    ch=(ch>=‘A’&&ch<=‘Z’)?(ch+32):ch

  8. A:‘z’ B:‘A’ C:‘Z’ D:‘a’
    答案:a
  9. char a[3][10]={"BeiJing","ShangHai","TianJin"}, *pa=a;不能正确显示字符串"ShangHai"的语句是( )。 



  10. A:printf("%s",*(a+1)); B:printf("%s",&a[1][0]); C:printf("%s",a+1); D:printf("%s",*a+1);
    答案:printf("%s",*a+1);
  11. C语言经过编译后生成的文件的后缀是( )。

  12. A:.cpp B:.exe C:.c D:.obj
    AI参考:正确选项是D:.obj。C语言经过编译后生成的对象文件的后缀是.obj。这些文件包含了源代码编译后的机器语言以及编译过程中使用的各种信息。它们通常被链接器用来生成可执行文件。因此,D选项是正确答案。'
  13. 有以下程序
    main() { int k=5,n=0; while(k>0)
    { switch(k)
    { default : break; case 1: n+=k; case 2: case 3: n+=k; }
    k- -; } printf("%d\n",n); }
    程序运行后的输出结果是( )。

  14. A:4 B:0 C:6 D:7

  15. 已知int a[3][4];则对数组元素引用正确的是(  )。



  16. A:a[2][4] B:a(2)(1) C:a[1,3] D:a[2][0] 

  17. 若已定义char s[10];则在下面表达式中不表示s[1]的地址是( )。



  18. A:&s[1] B:&s[0]+1  C:s++  D:s+1

  19. 以下程序的输出结果是( A)。
    #include<stdio.h>
    subl(char a,char b) {char c;c=a;a=b;b=c;}
    sub2(char *a,char b){ char c;c=*a;*a=b;b=c;}
    sub3(char *a,char *b) { char c;c=*a;*a=*b;*b=c;}
    main() { char a, b;
    a=‘A’; b=‘B’;sub3(&a,&b); putchar(a); putchar( );
    a=‘A’;b=‘B’ ;sub2(&a,b);putchar(a); putcha( );
    a=‘A’; b=‘B’; sub1(a,b); putchar(a);putchar( ); }

  20. A:ABBBBA B:BABBAB C:BABABA D:BAABBA

  21. 以下程序的输出结果是( )。
    #include <stdio.h>
    main() { int a,b,d=241; a=d/100%9; b=(-1)&&(-1);
    printf("%d,%d\n",a,b); }

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

  23. C语言中的语句需要( )符号作为结尾。

  24. A:: B:; C:。 D://

  25. 以下程序段的输出结果是( )。

    int y=7;

    printf("%d,%d,%d\n",++y,--y,y++);



  26. A:7,8,8 B:8,7,7 C:7,8,7 D:8,7,8

  27. C语言编译程序的首要工作是( )。

  28. A:检查C语言程序的逻辑错误 B:同时检查语法和逻辑错误 C:检查C语言程序的语法错误 D:检查程序的完整性

  29. 设x为整型变量,不能正确表达数学关系 1<x<5 的C++逻辑表达式是( )。

  30. A:1< x <5 B:! (x<=1)&&! (x>=5) C:x==2||x==3||x==4 D:1
  31. 有以下程序段
    int m=0,n=0; char c='a';
    scanf("%d%c%d",&m,&c,&n);
    printf("%d,%c,%d\n",m,c,n);
    若从键盘上输入�1A�1<回车>则输出结果是( )。

  32. A:10,a,10 B:10,A,0 C:10,A,10 D:10,a,0

  33. 关于数组和指针,以下说法错误的是( )。


  34. A:指针可以指向同类型的数组中的任意一个元素 B:可以将指针指向一个同类型的数组   C:数组名本身就是一个指针,指向数组内存的起始地址 D:既可以读入数据到数组中,也可以读入数据到未赋初值的指针中   

  35. 以下关于简单程序设计的步骤和顺序的说法中正确的是( )。

  36. A:先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构 B:先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档 C:确定算法后,整理并写出文档,最后进行编码和上机调试 D:首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档

  37. 若有以下定义,则值为3的表达式是( )。
    int a[]= {1,2,3,4,5,6,7,8,9,10},*p=a;

  38. A:p+=3,*p++ B:p+=2,* ++p C:p+=2,++ *p D:p+=2,*(p++)

  39. 下面程序的输出结果是( )。
    #include<stdio.h>
    main( )
    { int a[ ]={1,2,3,4,5,6,7,8,9,0},*p; p=a; printf(“%d”,*p+9);}

  40. A:0 B:9 C:10 D:1

  41. 以下程序的结果是( )。
    #include<stdio.h>
    main()
    {int k=2,m=4,n=6; int *pk=&k,*pm=&m,*p; *(p=&n)=*pk*(*pm); printf(“%d”,n);}

  42. A:10 B:4 C:6 D:8

  43. C语言中函数返回值的类型是由( )决定的。

  44. A:return语句中的表达式类型 B:调用该函数时的实参的数据类型 C:形参的数据类型 D:函数定义时指定的类型

  45. 变量的指针,其含义是指该变量的( )。

  46. A:地址 B:名 C:一个标志 D:值

  47. 编辑程序是( )。

  48. A:命令计算机执行指定的操作 B:建立并修改程序 C:调试程序 D:将C 源程序编译成目标程序
    AI参考:正确选项是【D:将C 源程序编译成目标程序】。编辑程序的主要功能是将C源程序编译成目标程序,即将高级语言编写的源程序翻译成机器语言能识别的目标程序。因此,选项D是正确的。选项A、B、C虽然也与编程相关,但它们不是编辑程序的主要功能。'
  49. 有以下程序段 int k=0; while (k=1) k++; while循环执行的次数是( )。

  50. A:执行一次 B:一次也不执行 C:有语法错,不能执行 D:无限次
    AI参考:答案:D.无限次解析:while (k=1) k++这个判断语句是一个赋值表达式,它的值取决于等号右边的值,即k的值。在第一次循环中,k的值为0,所以表达式k=1为假,循环终止。在第二次循环开始时,k的值变为1,表达式k=1为真,继续循环。此后,每次循环结束后,k的值都会增加1,直到某次循环结束时k的值不再满足条件k=1为真,此时循环才会终止。因此,该循环将无限次执行。注:虽然这个循环不会导致程序异常终止,但它仍然是一个糟糕的编程习惯,因为它会造成无限循环,占用系统资源。在实际编程中,应该避免使用这种形式的无限循环。'
  51. 已定义结构体struct  

    { int num;  char name[10]; }x[3]={1,"china",2,"USA",3,"England"};  

    则语句printf("\n%d,%s",x[1].num,x[2].name)的输出结果为( )。



  52. A:3,England   B:2,USA  C:1,china   D:2,England 

  53. 假定w、x、y、z、m均为int型变量,有如下程序段w=�1;x=;y=3;z=4; m=(w<x)?w:x; m=(m<y)?m:y; m=(m<z)?m:z;
    则该程序执行后m的值是( )。

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

  55. 运行下面程序时,若从键盘输入"3,4 <CR>",则程序的输出结果是( )。
    #include <stdio.h>
    void main( ) { int a,b,s; scanf("%d,%d",&a,&b); s=a;
    if (s<b) s=b; s=s*s; printf("%d\n",s) ; }

  56. A:18 B:20 C:14 D:16

  57. 以下程序的输出结果是( )。
    int f()
    { static int i=0; int s=1;
    s+=i; i++; return s; }
    main()
    { int i,a=0;
    for(i=0;i<5;i++)
    a+=f(); printf("%d\n",a);
    }

  58. A:15 B:24 C:25 D:20

  59. 下列说法中正确的是( )。

  60. A:局部变量在一定范围内有效,且可与该范围外的变量同名。 B:局部变量缺省情况下都是静态变量。 C:如果一个源文件中,全局变量与局部变量同名,则在局部变量范围内,局部变量不起作用。 D:函数体内的局部静态变量,在函数体外也有效。

  61. 以下程序的输出结果是( )。
    main( ) { int k=17; printf("%d,%o,%x \n",k,k,k); }

  62. A:17,17,17 B:17,0x11,021 C:17,21,11 D:17,021,0x11

  63. C语言中( )函数的递归调用。


  64. A:不允许 B:不知道 C:允许

  65. 正确的自定义标识符是( )。

  66. A:a=2 B:name C:default D:a+b

  67. 执行语句{for(j=0;j<=3;j++) a=1;}后变量j的值是( )。

  68. A:0 B:4 C:3 D:1

  69. 若有定义“int a=1,b=2,c=3,d=4,m=2,n=2;”,则执行“(m=a>b)&&(n=c>d)”后n的值是( )。

  70. A:3 B:0 C:4 D:2

  71. 在C语言中合法的长整型常数是( )。

  72. A:0L B:216D C:324562& D:4962710

  73. 若有说明:int a[][3]={{1,2,3},{4,5},{6,7}}; 则数组a的第一维的大小为: (  )。 



  74. A:2 B:无确定值 C:4 D:3

  75. 在C语言的循环语句for、while、do-while,用于结束本次循环,继续执行下一次循环的语句是( )。

  76. A:break B:continue C:switch D:goto

  77. 以下程序段形成死循环的是( )。

  78. A:int i=3; for(; i; i-- ) B:int x; for( x=0; x<3; ) { x++; }; C:int k = 0; do { ++k; } while( k>=0 ); D:int a=5; while( a ) { a--; };

  79. 以下程序的运行结果是( )。

    #include<stdio.h>

    main()

    {  int a=1,b=3,c=5;

          int *p1=&a,*p2=&b,*p=&c;

          *p=*p1*(*p2);

          printf("%d\n",c);

    }



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

  81. 求字符串“ab\x41\\34cd\102y”的长度是( )。

  82. A:12 B:14 C:10 D:18

  83. 以下程序的输出结果是(  )。  

    union myun { struct { int x, y, z; } u; int k; } a; 

    main( ){  a.u.x=4;  a.u.y=5;  a.u.z=6;  a.k=0;  

    printf(" %d\n",a.u.x);  }



  84. A:0 B:5 C:4 D:6
    AI参考:正确答案是【C:4】。首先定义了一个联合体myun,它包含一个结构体和一个整数k。在main函数中,首先将结构体中的x字段设置为4,y字段设置为5,z字段设置为6,并将k字段设置为0。在printf函数中,输出的是a.u.x的值,也就是结构体中的x字段的值,所以输出结果为4。因此选项C是正确答案。'
  85. 假定a和b为int型变量,则执行以下语句后b的值为( )。
    a=1; b=10; do {b-=a; a++; }while(b--<0);

  86. A:9 B:-2 C:8 D:-1

  87. 已知如下定义的函数: fun1(a) { printf("\n%d",a); } 则该函数的数据类型是( )。

  88. A:与参数a的类型相同 B:void型 C:没有返回值 D:无法确定

  89. 设i,j,k均为int型变量,则执行完下面的for循环后,k的值为( )。for(i=0,j=10;i<=j;i++,j--) k=i+j;


  90. A:12 B:10 C:11 D:9

  91. 有如下程序
    main() { int a; char c=10; float f=100.0; double x;
    a=f/=c*=(x=6.5); printf("%d %d %3.1f%3.1f\n",a,c,f,x); }
    程序运行后输出结果是( )。

  92. A:1 65 1.5 6.5 B:1 65 1.0 6.5 C:2 65 1.5 6.5 D:1 65 1 6.5

  93. 假定所有变量均已正确说明,下列程序段运行后x的值是(B )。 a=b=c=0;x=35; if(!a) x--; else if(b) ; if( ) x=3; else x=4;

  94. A:35 B:4 C:34 D:3

  95. 以下关于逻辑运算符两侧运算对象的叙述中正确的是( )。

  96. A:只能是整数0或非0整数 B:可以是结构体类型的数据 C:只能是整数0或1 D:可以是任意合法的表达式

  97. 对于下列程序段,当输入“welcome”时,程序的输出结果是( )。

    char m[20];

        char n[30]=”You are”;

        gets(m);

        strcat(n,m);

        puts(n);



  98. A:You are welcome B:welcone are You C:welcone You are D:You arewelcome
    AI参考:正确答案是 C:welcone You are。程序段中首先定义了一个长度为20的字符数组m,然后定义了一个长度为30的字符数组n并初始化为“You are”。接着使用gets函数从标准输入读取一个字符串存储到m中,再使用strcat函数将m中的字符串追加到n的末尾,最后使用puts函数输出n的内容。当输入“welcome”时,程序会将“welcome”追加到“You are”后面,最终输出“welcone You are”。因此,选项C是正确的。'
  99. 语句while (!e);中的条件!e等价于( )。

  100. A:~e B:e!=0 C:e!=1 D:e==0

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