上海电力大学
  1. 关于函数的叙述中正确的是( )。

  2. A:在C语言程序中,被调用的函数必须在main函数中定义 B:在C语言程序中,函数的定义不能嵌套 C:在C语言程序中,函数的调用可以嵌套 D:C程序是函数的集合,包括标准库函数和用户自定义函数
    答案:在C语言程序中,函数的定义不能嵌套###C程序是函数的集合,包括标准库函数和用户自定义函数###在C语言程序中,函数的调用可以嵌套
  3. 若已定义的函数有返回值,则关于该函数调用的叙述中正确的是:(  )

  4. A:函数调用可以作为独立的语句存在 B:函数调用可以作为一个函数的形参 C:函数调用可以作为一个函数的实参 D:函数调用可以出现在表达式中
    答案:函数调用可以作为独立的语句存在###函数调用可以作为一个函数的实参###函数调用可以出现在表达式中
  5. 若有int x; float y; double z;则表达式的值为4的是( )。

  6. A:sizeof(x) B:sizeof(z) C:sizeof(int) D:sizeof(y)
    答案:sizeof(int)###sizeof(x)###sizeof(y)
  7. 程序输出的结果是( ) 。  #include   main( )  { char  str[ ]="1a2b3c";  int  i;    for(i=0;str[i]!='\0';i++)      if(str[i]<'0' || str[i]>'9')  printf("%c",str[i]);    printf("\n"); }

  8. A:123 B:123456789 C:abc D:1a2b3c
    答案:abc
  9. 设在主函数中有定义和函数调用语句,且fun函数为void类型;正确的fun函数的首部应为( )(要求形参名为b)。 int main() { double s[10][22];    int n;      ∶      ∶    fun(s);      ∶      ∶return 0;  }

  10. A:void fun(double b[][])     B:void fun(double b[][22]) C:void fun(double b[22][]) D:void fun(double b[22])    
    答案:void fun(double b[][22])
  11. 有函数fun(char *a,char *b) { while((*a!='\0')&&(*b!='\0')&&(*a==*b))   {  a++;b++; } return(*a-*b); }该函数的功能是( )。

  12. A:将b所指字符串连接到a所指字符串后面 B:比较a和b所指字符串的大小 C:计算a和b所指字符串的长度之差 D:将b所指字符串连接到a所指字符串中
    答案:比较a和b所指字符串的大小
  13. 若当A的值为奇数时,表达式的值为"真",A的值为偶数时,表达式的值为"假",则下面不能满足要求的表达式是( )。

  14. A:!(A%2) B:!(A%2==0) C:A%2 D:A%2==1
    答案:!(A%2)
  15. 条件表达式中能完全等价于条件表达式if(x)的是( )。

  16. A:if(x!=1) B:if(x==1) C:if(x==0) D:if(x!=0)
    答案:if(x!=0)
  17. 4个变量定义中,定义p为指针数组的是( )。

  18. A:int (*p)[10]; B:int (*p)( ); C:int **p; D:int *p[10];
    答案:int *p[10];
  19. 若i,j已定义为int型,则]程序段中循环体的总的执行次数是( )for(i=5;i;i--)  for(j=0;j<4;j++){ }

  20. A:24 B:30 C:20 D:25
  21. 设有数组定义:char array[]="China";则strlen(array)的值为(  )。

  22. A:7 B:5 C:4 D:6
  23. 运行下面程序时,从键盘输入"1605",则输出结果是( )#includeint  main( ){    int t,h,m;    scanf("%d",&t);    h=(t/100)%12;    if (h==0) h=12;    printf("%d:",h);    m=t%100;    if (m<10)  printf("0");    printf("%d",m);    if (t<1200||t==2400)        printf("AM");    else  printf("PM");    printf("\n");    return 0;}

  24. A:6:05PM B:16:05AM C:4:05PM D:12:05AM
  25. 若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为( )。

  26. A:a=0 B:a<>0 C:a D:!a
  27. 有如下程序int a[10]={1,2,3,4,5,6,7,8,9,10},*P=a;则数值为9的表达式是( )。

  28. A:*P+=9 B:*P+9 C:P+8 D:*(P+8)
  29. 符合C语言语法的实型常量是( )。

  30. A:3.14E B:.5E-3 C:1.2E0.5 D:E8
  31. 对于变量定义int a;  float b;语句scanf("%2d%*c%f",&a,&b);在运行时输入123c4.678,则b获得的值为( )。

  32. A:3.000000 B:4.678000 C:0.000000 D:报错
  33. 在C语言中,全局变量的存储类别是:(  )

  34. A:void B:extern C:static     D:register
  35. 程序的功能是:按顺序读入10名学生的4门课程的成绩,计算出每位学生的平均分并输出,程序如下:main(){int n,k;float score,sum,ave;sum=0.0;for(n=1;n<=10;n++){for(k=1;k<=4;k++){scanf("%f",&score);sum+=score};}ave=sum/4.0;printf("NO%d:%f\n",n,ave);}}程序有一条语句出现在程序的位置不正确。这条语句是( )

  36. A:sum+=score; B:ave=sum/4.0; C:sum=0.0; D:printf("NO%d:%f\n",n,ave);
  37. 关闭文件的操作函数为( )。

  38. A:fscanf() B:fopen() C:fclose() D:fprintf()
  39. 程序的输出结果是( )。main(){ char s[]={"12134211"}; int v[4]={0,0,0,0},k,i;  for(k=0;s[k];k++)  { switch(s[k])    { case '1':i=0;break;      case '2':i=1;break;      case '3':i=2;break;      case '4':i=3;      }    v[i]++;    }  for(k=0;k<4;k++) printf("%d  ",v[k]);  }

  40. A:8 8 8 8 B:4 2 1 1 C:0 0 0 8 D:4 6 7 8
  41. 若有 int x=9; float y; 则执行语句y=x/4; 输出的结果是( )。

  42. A:2.250000 B:2.3 C:2 D:2.000000
  43. 设有类型说明 enum color {red,yellow,black=100,blue },则执行语句:   printf(“%d”, yellow);输出结果是( )。

  44. A:yellow B:1 C:99 D:不确定
  45. 程序的功能是:将无符号八进制数字构成的字符串转换为十进制整数。例如,输入的字符串为:556,则输出十进制整数366,划线处应填( )。#include main(){ char s[6];     int n,j;  gets(s);  if(s[0]!='\0')  n=s[0]-'0';  j=1;  while(s[j++]!='\0') ____;  printf("%d\n",n);  }

  46. A:n=n*8+s[j-1]-'0' B:n=n*8+s[j]-'\0' C:n=n*8+s[j] D:n=n*8+s[j-1]-'\0'
  47. 对结构变量stul中成员age的非法引用是( )。struct student{    int age;    int num;}stu1,*p;p=&stu1;

  48. A:stu1.age B:p->age C:student.age D:(*p).age
  49. 定义结构体数组:struet St{char name[15];int age;)a[10]={”ZHANG”,14,”WANG”,15,”LIU”,16,”ZHANG”,17);执行语句printf(”%d,%c”,a[2].age,*(a[3].name+2))的输出结果为( )。

  50. A:17,H B:16,H         C:16,A         D:15,A     
  51. 若有定义:struct link{ int 有int;struck link *next;}a,b,c,*p=&a,*q=&c;且变量a和b之间已有如下图所示的链表结构:a             bdata next   data next┌──┬──┐  ┌──┬──┐│ 5 │ ──> │ 9│ 0 │└──┴──┘  └──┴──┘则能够把c插入到a和b 之间并形成新的链表的语句组是_______( )。

  52. A:p->next=&c; q->next=p->next; B:(*p).next=q; (*q).next=&b; C:a.next=c; c.next=b; D:p.next=q; q.next=p.next;
  53. 若有说明:int n=2,*p=&n,*q=p,则非法的赋值语句是( )。

  54. A:n=*q B:*p=*q C:p=n D:p=q
  55. 已知int a=010, b=0x10, c=10;则printf("%d,%d,%d\n",a,b,c);的输出结果为( )。

  56. A:8,16,10 B:8,10,10 C:8,8,10 D:10,10,10
  57. 程序段如下int k=0; while(k++<=2)  printf("%d\n",k);则执行结果是( )

  58. A:0 B:1

    2

    3

    C:1 D:2
  59. 对于变量定义char ch='\141';请问语句printf("%c",ch);的输出结果为( )。

  60. A:‘a’ B:141 C:报错 D:‘b’
  61. 设有数组定义:char array[]='China';则数组array所占的存储空间为(  )。

  62. A:5个字节 B:4个字节 C:6个字节 D:7个字节
  63. 对于变量定义int a;  float b;语句scanf("%2d%f",&a,&b);在运行时输入1235.6,则a获得的值为( )。

  64. A:12 B:123 C:报错 D:1235
  65. 程序段( )x=-1;  do  { x=x * x;}    while(!x);

  66. A:循环执行二次   B:是死循环 C:有语法错误 D:循环执行一次
  67. 程序执行后的输出结果是( ) 。(设a[0][0] 是数组a中的第1个元素)  #include   main( )  { int a[4][5]={1,2,4,8,10,-1,-2,-4,-8,-10,3,5,7,9,11};    int i,j,n=9;    i=n/5;  j=n-i*5-1;    printf("NO.  %d: %d,%d is %d\n",n,i,j,a[i][j]); }

  68. A:第i行的最大元素所在的行和列及其最大值 B:第n行的最大元素所在的行和列及其最大值 C:第n个元素所在的行和列及其该元素的值 D:都不对
  69. 程序的输出结果是( )。  struct  HAR  {  int x;     int y;     struct HAR  *p; }h[2]; int  main() {   h[0].x=1;      h[0].y=2;     h[1].x=3;     h[1].y=4;     h[0].p=&h[1];      h[1].p=h;     printf("%d%d\n",(h[0].p)->x,(h[1].p)->y);  }

  70. A:23 B:32 C:12 D:14
  71. 程序执行后的输出结果是(  )。main(){ int i,j,a[3][3];  for(i=0;i<3;i++)    for(j=0;j<=i;j++)  a[i][j]=i*j;  printf("%d,%d\n",a[1][2],a[2][1]);  }

  72. A:2,2 B:2 C:不定值,2 D:2,0
  73. 如果c为字符型变量,空格字符的ASCII码为十进制数32,判断c是否为空格不能使用( )。

  74. A:if(c=='  ') B:if(c==32) C:if(c=='\040') D:if(c=='32')
  75. 若有定义语句:char  s[100],d[100]; int j=0,i=0; ,且s中已赋字符串,实现将字符串s中的内容拷贝到字符串d中,划线处语句为( )。(注意:不得使用逗号表达式)  while(s[i]) { d[j]=__; j++; }  d[j]=0;

  76. A:s[j] B:s[i++] C:s[++i] D:s[i]
  77. 执行下面的程序段后,变量k中的值为(  )。int k=3,s[2];s[0]=k; k=s[1]*10;

  78. A:10 B:30 C:33 D:不定值
  79. 假设有结构体定义如下:struct Date    {   int  month;  int  day;  int  year; }; struct Stu   {   int num;char name[20];   char sex;int age;       struct Date birthday;     }a;  int year ;语句中,错误的语句是( )。

  80. A:a.name=”zhang” B:a.age=10; C:a.birthday.month=12; D:year=a.birthday.year=2020;
  81. 当输入为"quert?"时,下面程序的执行结果是( )#includemain(){char c;c=getchar();while((c=getchar())!='?')   putchar(++c);}

  82. A:rvfsu B:quert? C:Quert D:rvfsu? 
  83. 假设有结构体定义如下:struct student{    int   num;   char  name[20];  char  coursename[20];     }stu1= ={1001,"李芳","C语言程序设计"},stu2;语句中,正确的语句是( )。

  84. A:printf(“%d%s%s \n”,stu1);    B:scanf ("%d%s%s”,&stu1); C:stu2={1002,"张林","高等数学"}; D:stu2=stu1;
  85. 不正确的定义是( )。

  86. A:int i,*p=&i; B:int *p=&i,i; C:int *p,i; D:int i,*p;
  87. 输出sin30度的值对应代码为:printf("\tsin(%lf)=%lf\n",30,sin(30));。( )

  88. A:对 B:错
  89. 若有定义float x;则为变量x在内存中分配的字节数是4( )

  90. A:对 B:错
  91. 在C语言中,一个函数一般由两个部分组成,它们是函数首部和函数体。( )

  92. A:对 B:错
  93. 函数的函数体可以是空语句。( )

  94. A:对 B:错
  95. 23.5E3为合法的浮点型常量( )

  96. A:对 B:错
  97. 已知char ch;则getchar(ch)可以实现ch变量的输入。( )

  98. A:对 B:错
  99. unsigned char型变量的取值范围为:-27~27-1( )

  100. A:错 B:对

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