C基础笔试题

会员上传 分享 更新时间: 发布时间: 加入收藏 点赞

C基础笔试题

  C语言适用范围大:适合于多种操作系统,如Windows、linux、DOS、UNIX等等;也适用于多种机型。下面就由范文网小编为大家介绍一下C基础笔试题的文章,欢迎阅读。

  C基础笔试题篇1

  1.[单选题]一个C程序的执行是从( A )

  A:本程序的main函数开始,到main函数结束

  B:本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

  C:本程序的main函数开始,到本程序文件的最后一个函数结束

  D:本程序文件的第一个函数开始,到本程序main函数结束

  2.[单选题]在C语言中,要求运算数必须是整型的运算符是( D )

  A:/

  B:++

  C:!=

  D:%

  3.[单选题]C语言中,逻辑"真"等价于( C )

  A:大于零的数

  B:大于零的整数

  C:非零的数

  D:非零的整数

  4.[单选题]若希望当A的值为奇数时,表达式的值为"真",A的值为偶数时,表达式的值为"假"。则以下不能满足要求的表达式为( C )

  A:A%2 == 1

  B:! (A%2==0)

  C:! (A%2)

  D:A%2

  5.[单选题]以下程序的运行结果是( B )。

  int main( void ){

  int m = 5;

  if ( m++ > 5) printf("%d/n", m);

  else printf("%d/n", --m);

  }

  A:4

  B:5

  C:6

  D:7

  6.[单选题]以下对一维整型数组a的正确说明是( D )

  A:int a(10)

  B:int n = 10, a[n]

  C:int n

  scanf("%d", &n)

  int a[n]

  D:#define SIZE 10

  int a[SIZE]

  7.[单选题]若有说明:int a[3][4];则对a数组元素的非法引用是( D )

  A:a[0][2*1]

  B:a[1][3]

  C:a[4-2][0]

  D:a[0][4]

  C基础笔试题篇2

  1.[单选题]若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为( A )

  A:i * m + j

  B:j * m + i

  C:i * m + j - 1

  D:i * m + j + 1

  2.[单选题]以下程序的功能是将字符串s中所有的字符c删除,那么空白处缺少的语句为:( A )。

  #include

  int main(void)

  {

  char s[80] ;

  int i, j ;

  gets(s) ;

  for ( i = j = 0 ; s [i] != ‘/0' ; i++ )

  if ( s [i] != ‘c' )

  ;

  s [ j ] = ‘/0' ;

  puts ( s ) ;

  return 0 ;

  }

  A: s [ j++] = s [ i ]

  B:s [ ++j ] = s [ i ]

  C:s [ j ] = s [ i ]; j++

  D:s [ j ] = s [ i ]

  3.[单选题]下面程序的功能是将已按升序排好序的两个字符串a和b中的字符,按升序归并到字符串c中,请为程序中的空白处选择适当的语句。 第一空答案( A )

  #include

  int main(void)

  {

  char a[ ] = "acegikm";

  char b[ ] = "bdfhjlnpq";

  char c[80], *p;

  int i = 0, j= 0, k = 0;

  while( a[i] != '/0' && b[j] != ‘/0' )

  {

  if ( a[i] < b[j] ) { ( ① ) }

  else { ( ② ) }

  k++;

  }

  c[k] = ‘/0';

  if ( ③ ) p = b + j;

  else p = a + i;

  strcat ( c , p );

  puts ( c );

  }

  A:c[k] = a[i]; i++

  B:c[k] = b[j]; i++

  C:c[k] = a[i]; j++

  D:c[k] = a[j]; j++

  C基础笔试题篇3

  1.[单选题]下面程序的功能是将已按升序排好序的两个字符串a和b中的字符,按升序归并到字符串c中,请为程序中的空白处选择适当的语句。第二空答案( D )

  #include

  int main(void)

  {

  char a[ ] = "acegikm";

  char b[ ] = "bdfhjlnpq";

  char c[80], *p;

  int i = 0, j= 0, k = 0;

  while( a[i] != '/0' && b[j] != ‘/0' )

  {

  if ( a[i] < b[j] ) { ( ① ) }

  else { ( ② ) }

  k++;

  }

  c[k] = ‘/0';

  if ( ③ ) p = b + j;

  else p = a + i;

  strcat ( c , p );

  puts ( c );

  }

  A:c[k] = a[i]; i++

  B:c[k] = b[j]; i++

  C:c[k] = a[i]; j++

  D:c[k] = b[j]; j++

  2.[单选题]在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是( D )

  A:extern

  B:register

  C:auto

  D:static

  3.[单选题]以下程序的正确运行结果是( D )。

  #include

  int f(int a);

  int main(void)

  {

  int a = 2, i;

  for( i = 0; i < 3; i++ ) printf("%4d",f(a));

  }

  int f(int a)

  {

  int b = 0;

  static int c = 3;

  b++; c++;

  return(a+b+c);

  }

  A:7 7 7

  B:7 10 13

  C:7 9 11

  D:7 8 9

  4.[单选题]以下程序的运行结果为( B )。

  void sub(int x, int y, int *z)

  { *z = y - x ; }

  int main(void)

  {

  int a,b,c ;

  sub(10, 5, &a) ;

  sub(7, a, &b) ;

  sub(a, b, &c) ;

  printf( "%4d,%4d, %4d/n",a,b,c);

  }

  A:5, 2, 3

  B:-5, -12, -7

  C:-5, -12, -17

  D:5, -2, -7

  5.[单选题]有如下语句int a = 10, b = 20, *p1, *p2; p1 = &a; p2 = &b;变量与指针的关系如图1所示;若要实现图2所示的存储结构,可选用的赋值语句为( 没图 可能是 B或A )

  A:*p1 = *p2

  B:p1 = p2

  C:p1 = *p2

  D:*p1 = p2

  6.[单选题]若已建立下面的链表结构,指针p、q分别指向图中所示结点,则不能将q所指的结点插入到链表末尾的一组语句是( )

  A:q -> next = NULL; p = p -> next; p -> next = q

  B:p = p -> next; q -> next = p -> next; p -> next = q

  C:p = p -> next; q -> next = p; p -> next = q

  D:p = (*p).next; (*q).next = (*p).next; (*p).next = q

  7.[单选题]以下程序的功能是:读入一行字符(如:a,b,... y,z),按输入时的逆序建立一个链接式的结点序列,即先输入的位于链表尾(如下图),然后再按输入的相反顺序输出,并释放全部结点。请在空白处为程序选择适当的代码。 第一空答案( B )

  #include

  #define getnode(type) ① malloc(sizeof(type))

  int main(void)

  {

  struct node{

  char info;

  struct node *link;

  }*top,*p;

  char c;

  top = NULL;

  while( ( c = getchar( ) ② )

  {

  p = getnode ( struct node );

  p -> info = c;

  p -> link = top;

  top = p;

  }

  while ( top )

  {

  ③ ;

  top = top -> link;

  putchar ( p -> info );

  free ( p );

  }

  }

  A:(type)

  B:(type *)

  C:type

  D:type *

  8.[单选题]以下程序的功能是:读入一行字符(如:a,b,... y,z),按输入时的逆序建立一个链接式的结点序列,即先输入的位于链表尾(如下图),然后再按输入的相反顺序输出,并释放全部结点。请在空白处为程序选择适当的代码。第二空答案(D )

  #include

  #define getnode(type) ① malloc(sizeof(type))

  int main(void)

  {

  struct node{

  char info;

  struct node *link;

  }*top,*p;

  char c;

  top = NULL;

  while( ( c = getchar( ) ② )

  {

  p = getnode ( struct node );

  p -> info = c;

  p -> link = top;

  top = p;

  }

  while ( top )

  {

  ③ ;

  top = top -> link;

  putchar ( p -> info );

  free ( p );

  }

  }

  A:=='/0'

  B:!='/0'

  C:=='/n'

  D:!='/n'

  9.[单选题]以下程序的功能是:读入一行字符(如:a,b,... y,z),按输入时的逆序建立一个链接式的结点序列,即先输入的位于链表尾(如下图),然后再按输入的相反顺序输出,并释放全部结点。请在空白处为程序选择适当的代码。第三空答案( B)

  #include

  #define getnode(type) ① malloc(sizeof(type))

  int main(void)

  {

  struct node{

  char info;

  struct node *link;

  }*top,*p;

  char c;

  top = NULL;

  while( ( c = getchar( ) ② )

  {

  p = getnode ( struct node );

  p -> info = c;

  p -> link = top;

  top = p;

  }

  while ( top )

  {

  ③ ;

  top = top -> link;

  putchar ( p -> info );

  free ( p );

  }

  }

  A:top = p

  B:p = top

  C:p == top

  D:top == p

  10.[单选题]以下程序的输出结果是( C )

  #include

  #define M 5

  #define N M+M

  main

  {

  int k;

  k=N*N*5; printf("%d/n",k);

  }

  A:500

  B:125

  C:55

  D:100

推荐阅读:

  前台文员简历表格2023

  2023年工业电气自动化专业求职简历表格

  2023高中教师个人简历表格

  临床护理专业个人简历表格范文

  大学生互联网络求职方法

  交行校招管理培训生网申试题

C基础笔试题.docx

将本信息的Word文档下载到电脑

推荐度:

点击下载文档

文档为docx格式
221381
C基础笔试题